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.

Example

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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mymask-0.1.7.tar.gz
  • Upload date:
  • Size: 519.2 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.7.tar.gz
Algorithm Hash digest
SHA256 f73874a4d11103850427b0ad24f2a0704d3f49da5c6cfa7ecca6c0d1fcc1f082
MD5 b0c610d3616612a842011d6b33faa6b0
BLAKE2b-256 f5025875ac5391ee9d35b9815ece4b585a9a2381bac684ad186c95ce4fbdfc6d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mymask-0.1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f0e1c52fe4acc227ed06030bbea1c3a4e67bc0c1e710acb372b3e277302f917b
MD5 d42de8606ce615083f8f189b96c0c4e6
BLAKE2b-256 53355132eea4049d7eca2d9d3f825afd23aa0dd0d976a4d2325989cd6c87844a

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