Git Product home page Git Product logo

hi8's Introduction

hi8
hi8

See Earth from Himawari-8 on your desktop every 10 minutes.

Stability Version Build Status Code Style

About

"Himawari" (ひまわり) is Japanese for "sunflower". 🌻

Himawari 8 is a geostationary weather satellite deployed by the Japan Meteorological Agency. It takes photographs of Earth every 10 minutes.

hi8 is a macOS menubar app that sets the latest image from Himawari-8 as your desktop background every 10 minutes.

desktop screenshot

This project is alpha quality, please report any bugs! and maybe fix them! 😁

Install

In the future, hi8 will be packaged as an app and downloadable via the releases page.

For now, you can install hi8 via npm.

npm install -g hi8

Requirements

GraphicsMagick is an image processing library that helps stitch together the satellite images to produce a full picture of Earth.

The high resolution satellite images from Himawari-8 come in fragments like this one. At the resolution hi8 uses, there are sixteen images that need to be stitched together to create a full picture of Earth.

If you have homebrew, you can just brew install graphicsmagick.

If you know of a better (dependency-free) way to process the images (or package imagemagick and graphicsmagick with the application), please let me know!

Usage

Once hi8 and GraphicsMagick have been installed, all you need to do is run the hi8 command from a terminal.

menubar screenshot

hi8 will start in the background and from there it can be managed from the menubar.

menubar screenshot

Contributing

Contributions welcome! Please read the contributing guidelines first.

Change Log

This project has a change log!

Credit

Sunflower icon created by Federico Panzano from Noun Project. Used under the CC BY 3.0 US license.

Resources

Here are some useful links if you're interested in learning more about the Himawari-8 satellite.

Official

Related Projects

  • Glittering Blue: A hi-res video of one day's rotation of Earth viewed from Himawari-8.
  • celoyd/hi8: Tools for making animations from Himawari-8 P-Tree data.
  • himawari-8-chrome: Himawari 8 New Tab Page (Chrome Extension).
  • himawari.js: Download real-time images of Earth from the Himawari-8 satellite.
  • himawari-bg: Set the latest image from Himawari 8 as your desktop background.
  • himawari-urls: Get URLs for Himawari 8 image tiles based on a given date.
  • himawari-history: Download all Himawari 8 images in a date range.
  • Himawari-8 animation tutorial: A way to make Himawari-8 animations.
  • hi8-deband.py: Python script for correcting noise along scanlines for Himawari-8 images.
  • makeday.sh: Bash script for downloading and processing a day's worth of Himawari-8 images.

License

ISC

hi8's People

Contributors

domoritz avatar ungoldman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hi8's Issues

bundle or replace magick

imagemagick and graphicsmagick are burdensome external dependencies that don't work well with distributing a bundled desktop application.

The options I see are:

  1. find a way to bundle them with the application distribution
  2. find a suitable replacement that doesn't require native bindings
  3. create a web service to proxy calls to JPA's servers

I'm leaning towards 3 because I feel like if this ever picks up steam it might be the equivalent of a small DDoS attack on JPA's himawari-8 servers, which would not be very nice at all.

What I'm imagining is a server that:

  1. gets the latest hi-res images from http://himawari8-dl.nict.go.jp/himawari8 and stitches them together (maybe even doing some color correction based on @celoyd's work) on a cron job or something equivalent
  2. accepts a request for the latest Himawari-8 image and returns a cached image that's already been processed

This could probably be accomplished suitably with nginx caching plus a small service to fetch the latest cached image on each request.

MacOS 10.13.5?

I can't get this to install on 10.13.5 I assume its because it's trying to create objects in directories protected by apples high security module. Anyone's thoughts?

Auto run on login

Hi nice menubar app 🎉 , do you guys know how to make it run everytime i logged in my OSX?

add note about node v6 required

May want to add a note that v6 is required:

Attempting to run in v4:

/Users/flet/.nvm/versions/node/v4.2.6/lib/node_modules/hi8/bin.js:18
let proc = spawn(electron, [ hi8 ], { stdio: 'inherit' })
^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Function.Module.runMain (module.js:442:10)
    at startup (node.js:136:18)
    at node.js:966:3

無法運行。

最新版brew安裝後,在以前從未安裝過npm的情況下根據首頁說明安裝了npm,然後
當運行 hi8命令後直接報異常了,如下:

child_process.js:430
    throw new ERR_INVALID_ARG_TYPE('options.cwd', 'string', options.cwd);
    ^

TypeError [ERR_INVALID_ARG_TYPE]: The "options.cwd" property must be of type string. Received function wrappedCwd
    at normalizeSpawnArguments (child_process.js:430:11)
    at Object.spawn (child_process.js:546:13)
    at Function.module.exports.daemon (/usr/local/lib/node_modules/hi8/node_modules/daemon/index.js:50:31)
    at module.exports (/usr/local/lib/node_modules/hi8/node_modules/daemon/index.js:25:20)
    at Object.<anonymous> (/usr/local/lib/node_modules/hi8/bin.js:8:3)
    at Module._compile (internal/modules/cjs/loader.js:1144:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1164:10)
    at Module.load (internal/modules/cjs/loader.js:993:32)
    at Function.Module._load (internal/modules/cjs/loader.js:892:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) {
  code: 'ERR_INVALID_ARG_TYPE'
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.