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

Uploaded Source

Built Distribution

mymask-0.1.6-py3-none-any.whl (39.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mymask-0.1.6.tar.gz
  • Upload date:
  • Size: 41.9 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.6.tar.gz
Algorithm Hash digest
SHA256 d7acaeca2755f05492ddd9c8223b61276ef1cdbf27c7cba92a50e7d1600e5e93
MD5 a7894b8d5788a93b5508336e051e0f95
BLAKE2b-256 e8545d9915fdd5816ce9e06ed380098c7ea692700156476dca826a388cea8448

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mymask-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 39.7 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9885c35a08a27a542e3198c3ce937311ebcd48e7fdc8fb37d2abd2ab81ffb970
MD5 dc3942553c3dc3ab1efd407f500cb4d9
BLAKE2b-256 5c58e517f33b7adcf63051297254cbceccf76fd1b14aa5a5617edd31c71e0c7d

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