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.2.tar.gz (11.5 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.2-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hanuman-0.1.2.tar.gz
  • Upload date:
  • Size: 11.5 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.2.tar.gz
Algorithm Hash digest
SHA256 e12f43d425030c1279548f796de5a4e77a10c90182c9569807393aec30d757ea
MD5 00d30048fd1d38d6f671a95e85904cf4
BLAKE2b-256 22244262ad6f849fa20fcc233c9c99067b9d3791f063e5b4e1a7f669b8414a45

See more details on using hashes here.

File details

Details for the file Hanuman-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: Hanuman-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 11.6 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5f21a290e0263537fc16a8f61551a5ca951cbe4a01764dbfd8b736a5899f1c0e
MD5 c779432f958114e2d7c597e5cdcefbe8
BLAKE2b-256 01a0088fda13b935cb05a2af1455f4a281dc883ad0e5af378246b03c1b6c43f0

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