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

Uploaded Source

Built Distribution

mymask-0.1.2-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mymask-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 257e2392ef9a0a6c7b663bfe23626d959d79a3c73f19086b5aeb6484554ef5e1
MD5 fbcc4bc3cfd63a750782f10363bda970
BLAKE2b-256 a2c065c544ae0aed5577d254d5c07835152d71ab7bd439b621f4633d8c935a3d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mymask-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 18.4 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 af9f8683375774265e9cee71f1162a3174ae0c0831264587f74c375bef2002b4
MD5 eae601b2a4358b7795dd50c6c0353df8
BLAKE2b-256 269ee0b6a6b352b3af3aeafdfc5882bb4e0a0839e37b4b845406651338ef2bd8

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