Skip to main content

An interactive data masking tool for any x-y data

Project description

MyMask - Interactively Mask Your Data.

An interactive tool for masking spectrum (any x-y) data using Matplotlib and PyQt5. This tool allows users to visually mask and unmask points on a spectrum, providing an easy way to manipulate data for further analysis.

Features

  • Load spectrum data from FITS or CSV files.
  • Select which columns to use as X and Y for visualization.
  • Interactively mask points by clicking on them (left-click to mask, right-click to unmask).
  • Automatically save masked data to new CSV or FITS files.
  • Visualize spectrum data in a user-friendly interface with zoom and pan capabilities.

Installation

To install the Interactive Spectrum Mask Tool, use pip:

pip install mymask

Usage

To run the application after installation, use the command:

mymask

Loading Data

  • Click on the "Load Data" button to load your spectrum data.
  • You can load either a CSV file or a FITS file.
  • Once the file is loaded, use the dropdown menus to select the appropriate columns for X and Y.

Masking and Unmasking Points

  • Left-click on a point in the plot to mask it.
  • Right-click on a masked point to unmask it.
  • The masked points will appear in red, while unmasked points will appear in blue.

Saving Data

  • Click on the "Save Mask" button to save your mask.
  • A new .csv file will be created with a suffix _mask containing the mask, including a mask column indicating which points are masked.

Dependencies

The tool requires the following Python packages:

  • numpy
  • pandas
  • astropy
  • PyQt5
  • matplotlib

These dependencies will be automatically installed when you install the tool using pip.

Example

Here is a simple example of how to use the tool:

  1. Run the tool using the command:
    mymask
    
  2. Click "Load Data" to load a CSV or FITS file.
  3. Select the columns to be used as X and Y for plotting.
  4. Interactively mask/unmask data points as needed.
  5. Click "Save Masked Data" to save your modifications.

License

This project is licensed under the GPL License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request on the GitHub repository.

Contact

For any issues or questions, please contact lmytime@hotmail.com.


Enjoy using the Interactive Data Masking Tool to easily analyze and manipulate your data!

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

mymask-0.1.1.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

mymask-0.1.1-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file mymask-0.1.1.tar.gz.

File metadata

  • Download URL: mymask-0.1.1.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.13

File hashes

Hashes for mymask-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5e40263ac67a254f3146554e918fb650a110b80f849eade770c6c19fdd126df4
MD5 0075d01d175565705e0df9efd354a388
BLAKE2b-256 f89c5141a7849dc6b41d5627430515747e7ae7bd1dc90dad54160c69f482ac93

See more details on using hashes here.

File details

Details for the file mymask-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: mymask-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.13

File hashes

Hashes for mymask-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fe83e7bfe580a0f517ec1b4136a908e21c02c2ab5ef2de87b51a1ed37f67116c
MD5 680dde7bf990e1ec1091b6bd96a06213
BLAKE2b-256 8249bc8001d46439fa95b8fe42377f3815c62c51c16df88721ba3d4e89b45892

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