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.5.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

mymask-0.1.5-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mymask-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 a0cc936540ee8797dd0b1399ad6be0099a46ca94e075f539583a5bfad73ba1fb
MD5 7dc5d1d0bd0fb6f33f8096a729c9aa40
BLAKE2b-256 006315056df8ba100d0892a206c86bd29e3e55807c88996e1de84910b864a500

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mymask-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 18.5 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 371210caf8b70f52ac6b9ac2cf5870600f6c7912e3cadb155f1a13cf9dfc9b99
MD5 29ff5c9f1532e667ba6e97f50e2153a9
BLAKE2b-256 df05b0245ec3955ff7ebdd30a651aff8b945f0361b2ad4097fb8e40683884ad7

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