Skip to main content

A python toolbox based on PyTorch which utilized neural network for rain estimation and classification from commercial microwave link (CMLs) data.

Project description

PyNNcml

A python toolbox based on PyTorch which utilized neural network for rain estimation and classification from commercial microwave link (CMLs) data. This toolbox provides an implementation of algorithms for extracting rain-rate using neural networks and CMLs. Addinaly this project provides an example dataset with data from two CMLs and implementation of performance and robustness metrics.

This project was initially create as part of the M.Sc. thesis of Hai Victor Habi, under the supervision of Prof. Hagit Messer at Tel Aviv University. Now this project is maintained by Hai Victor Habi and the Cellular Environmental Monitoring and Processing Lab at Tel Aviv University. plot

  • The figure above was create by Jonatan Ostrometzky.

Getting Started

Installation

PyNNcml is available on PyPI. To install, run the following command:

pip install pynncml

Supported Python Versions

Python Version Status
Python 3.8 Run Tests
Python 3.9 Run Tests
Python 3.10 Run Tests
Python 3.11 Run Tests

PyNNcml Features

Task and Algorithms

  1. Wet Dry Classification (RNN[1,2,3] and STD Window[6])
  2. Rain Estimation (Constant Baseline [6], Dynamic Baseline [5], Direct RNN Estimation [4,3])
  3. Rain Field Generation (RainGAN )
  4. Rain Field Interpolation (IDW, GMZ [9])

Datasets

This repository includes an example of a dataset with a reference rain gauge. In addition, this repository provide PyTorch version of the OpenMRG dataset [10].

Examples and Tutorials

This repository includes examples of how to use the PyNNcml library to obtain various whether monotoning information using CMLs data. Please see the examples directory for more information.

Model Zoo

In this project we supply a set of trained networks in our Model Zoo, this networks are trained on our own dataset which is not publicly available. The model contains three types of networks: Wet-dry classification network, one-step network (rain estimation only) and two-step network (rain estimation and wet-dry classification). Moreover, we have provided all of these networks with a various number of RNN cells (1, 2, 3). From more details about network structure and results see the publication list.

Contributing

PyNNCMLs aims at keeping a more up-to-date fork and welcomes contributions from anyone.

If you would like to contribute, please follow the contribution guidelines.

References

Please cite one of following paper if you found our neural network model useful. Thanks!

[1] Habi, Hai Victor and Messer, Hagit. "Wet-Dry Classification Using LSTM and Commercial Microwave Links"

[2] Habi, Hai Victor and Messer, Hagit. "RNN MODELS FOR RAIN DETECTION"

[3] Habi, Hai Victor. "Rain Detection and Estimation Using Recurrent Neural Network and Commercial Microwave Links"

[4] Habi, Hai Victor, and Hagit Messer. "Recurrent neural network for rain estimation using commercial microwave links." IEEE Transactions on Geoscience and Remote Sensing 59.5 (2020): 3672-3681.

Also, this package contains the implementations of the following papers:

[5] J. Ostrometzky and H. Messer, “Dynamic determination of the baselinelevel in microwave links for rain monitoring from minimum attenuationvalues,”IEEE Journal of Selected Topics in Applied Earth Observationsand Remote Sensing, vol. 11, no. 1, pp. 24–33, Jan 2018.

[6] M. Schleiss and A. Berne, “Identification of dry and rainy periods using telecommunication microwave links,”IEEE Geoscience and RemoteSensing Letters, vol. 7, no. 3, pp. 611–615, 2010

[7] Jonatan Ostrometzky, Adam Eshel, Pinhas Alpert, and Hagit Messer. Induced bias in attenuation measurements taken from commercial microwave links. In 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pages 3744–3748. IEEE,2017.

[8] Jonatan Ostrometzky, Roi Raich, Adam Eshel, and Hagit Messer. Calibration of the attenuation-rain rate power-law parameters using measurements from commercial microwave networks. In 2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pages 3736–3740. IEEE, 2016.

[9] Goldshtein, Oren, Hagit Messer, and Artem Zinevich. "Rain rate estimation using measurements from commercial telecommunications links." IEEE Transactions on signal processing 57.4 (2009): 1616-1625.

And include PyTorch implementation of the OpenMRG dataset:

[10] van de Beek, Remco CZ, et al. OpenMRG: Open data from Microwave links, Radar, and Gauges for rainfall quantification in Gothenburg, Sweden. No. EGU23-14295. Copernicus Meetings, 2023.

If you found one of those methods usefully please cite.

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

pynncml-0.3.4.tar.gz (3.1 MB view details)

Uploaded Source

Built Distribution

pynncml-0.3.4-py3-none-any.whl (3.1 MB view details)

Uploaded Python 3

File details

Details for the file pynncml-0.3.4.tar.gz.

File metadata

  • Download URL: pynncml-0.3.4.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.18

File hashes

Hashes for pynncml-0.3.4.tar.gz
Algorithm Hash digest
SHA256 06e85444bcc887b754f718de6edf4bace723ab571c03885eae3748fb7e6435bc
MD5 eaddb554aabc8c2fd384b3e9e4cdc740
BLAKE2b-256 a4bb4c5e2f5c3cc7238c3da76569115eeaeddb68fef477c9a997661c16d82b10

See more details on using hashes here.

File details

Details for the file pynncml-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: pynncml-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.18

File hashes

Hashes for pynncml-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8bbea5d71505386b98841be8432adadc119bc0636422e7153ab780cf882df2e1
MD5 3ff0fcc6d593b692da19626b9abf2775
BLAKE2b-256 856f1a738c3977cc287c8c06a23d042ec0bca1d59c82af6d4c4ee4bb7352164a

See more details on using hashes here.

Supported by

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