Skip to main content

A tool to generate typhoon season animation videos.

Project description

Hanuman

Hanuman is a Python tool designed to generate animated videos of typhoon seasons. It processes typhoon data from a CSV file and overlays the trajectories on a world map, creating visually engaging animations that depict the paths and intensities of typhoons over time.

Features

  • Visualize Typhoon Trajectories: Overlay typhoon paths on an equirectangular world map.
  • Dynamic Animation: Generate smooth animations showing the progression of typhoons.
  • Categorization: Categorize typhoons based on wind speeds, with distinct visual markers.
  • Customizable Parameters: Adjust map cropping, frame rates, icon sizes, and more.
  • Command-Line Interface: Easy-to-use CLI for generating animations with custom configurations.

Installation

Ensure you have Python 3.6 or higher installed. You can install Hanuman directly from PyPI using pip:

pip install hanuman

Alternatively, if you prefer to install from source, clone the repository and install the package:

git clone https://github.com/yourusername/Hanuman.git
cd Hanuman
pip install .

Usage

Hanuman provides a command-line interface to generate typhoon animation videos. Below is a basic example of how to use the tool.

Basic Command

hanuman --csv typhoon202411.csv --map world_map.png --output typhoon_season_a13.mp4

And the detailed command-line arguments is below:

hanuman \
    --csv typhoon202411.csv \
    --map world_map.png \
    --output typhoon_season_a13.mp4 \
    --nw_min_lat 0.0 \
    --nw_max_lat 45.0 \
    --nw_min_lon 100.0 \
    --nw_max_lon 180.0 \
    --crop_width 1280 \
    --crop_height 720 \
    --frames_per_3h 15 \
    --fps 30 \
    --ty_icon_radius 24 \
    --ex_threshold_lat 22.0 \
    --empty_speedup_factor 25 \
    --static_frames_after_end 300

Arguments Description

  • --csv: (Required) Path to the typhoon data CSV file.
  • --map: (Required) Path to the world map image file (e.g., PNG).
  • --output: (Optional) Name of the output video file. Default is typhoon_season_a13.mp4.
  • --nw_min_lat: (Optional) NW Pacific minimum latitude. Default is 0.0.
  • --nw_max_lat: (Optional) NW Pacific maximum latitude. Default is 45.0.
  • --nw_min_lon: (Optional) NW Pacific minimum longitude. Default is 100.0.
  • --nw_max_lon: (Optional) NW Pacific maximum longitude. Default is 180.0.
  • --crop_width: (Optional) Output canvas width in pixels. Default is 1280.
  • --crop_height: (Optional) Output canvas height in pixels. Default is 720.
  • --frames_per_3h: (Optional) Frames per 3-hour interpolation interval. Default is 15.
  • --fps: (Optional) Video frame rate. Default is 30.
  • --ty_icon_radius: (Optional) Radius of the typhoon icon in pixels. Default is 24.
  • --ex_threshold_lat: (Optional) Latitude threshold to change category to EX. Default is 22.0.
  • --empty_speedup_factor: (Optional) Speedup factor when no typhoon is present. Default is 25.
  • --static_frames_after_end: (Optional) Number of static frames after the video ends. Default is 300.

Example

Assuming you have a CSV file named typhoon202411.csv and a world map image world_map.png, you can generate a video as follows:

bash


复制代码
hanuman --csv typhoon202411.csv --map world_map.png --output typhoon_season_a13.mp4

Dependencies

Hanuman relies on the following Python packages:

  • OpenCV (opencv-python)
  • NumPy
  • tqdm

These dependencies are automatically installed when you install Hanuman via pip.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.

Acknowledgements

Hanuman was created by CZHanoi in memory of a friend of Hinnamnor. Special thanks to the contributors and the open-source community for their invaluable tools and libraries.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hanuman-0.1.4.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hanuman-0.1.4-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file hanuman-0.1.4.tar.gz.

File metadata

  • Download URL: hanuman-0.1.4.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.4

File hashes

Hashes for hanuman-0.1.4.tar.gz
Algorithm Hash digest
SHA256 191fc5ec87da9a5e9962a969d48cc839c3c0c3264f1918844561876e45a6fcaf
MD5 f712c7ae6320253029c0843d3d7d84b9
BLAKE2b-256 72b6cd0292df7ffe8625b6ff50a8f32a4911a788086f64591bd1075094ac76ea

See more details on using hashes here.

File details

Details for the file hanuman-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: hanuman-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.4

File hashes

Hashes for hanuman-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c70dc8c5190c89a6da298447b544772ede5afcd2f7cad6917111a98e67ab0f3b
MD5 3f9b0f1d1f6f5608e40124acbd6268ef
BLAKE2b-256 4c224cae9bed34c52c33fdf20e8f5afe613f53918742cd9c7fa3c9affd557cf6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page