Name | mdaviz JSON |
Version |
1.1.4
JSON |
| download |
home_page | None |
Summary | Python Qt5 application to visualize MDA data. |
upload_time | 2025-07-28 18:50:25 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.14,>=3.10 |
license | None |
keywords |
bluesky
databroker
tiled
catalog
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# mdaviz
Python Qt6 application to visualize mda data.
## Status Badges
CI/CD | Code Quality | Documentation | Package
--- | --- | --- | ---
[](https://github.com/BCDA-APS/mdaviz/actions/workflows/ci.yml) | [](https://github.com/astral-sh/ruff) | [](https://bcda-aps.github.io/mdaviz/) | [](https://badge.fury.io/py/mdaviz) [](https://github.com/BCDA-APS/mdaviz/releases)
Coverage | License | Python | Pre-commit
--- | --- | --- | ---
[](https://codecov.io/gh/BCDA-APS/mdaviz) | [](LICENSE.txt) | [](https://www.python.org/downloads/) | [](https://github.com/pre-commit/pre-commit)
## Features
- **Auto-Load Folders**: The application automatically loads the first valid folder from your recent folders list when it starts, providing a seamless experience without requiring manual folder selection. You can toggle this feature on/off from the preferences window.
- **Recent Folders**: Remembers your recently opened folders for quick access.
- **Lazy Loading**: Efficient folder scanning with progress indicators for large datasets.
- **Curve Management**: Add, remove, and style multiple data curves.
- **Axis Selection**: Select X-axis (positioners), Y-axis (detectors), I0 normalization, and curve unscaling using checkboxes. Axis selection is saved from one file to the next.
- **Curve Unscaling**: Rescale curves to match the range of other Y curves for better comparison.
- **Log Scale**: Toggle between linear and logarithmic scales for both X and Y axes.
- **Data Analysis**: Basic statistics, cursor measurements, and curve fitting.
- **PyQt6 Migration**: Complete migration to PyQt6 for future compatibility with Python 3.13+.
## Quickstart
### Conda environment
It is strongly recommended to use the provided conda environment for development and running the application. This ensures all dependencies (including PyQt6) are available and compatible.
```bash
conda env create -f env.yml
conda activate mdaviz
pip install PyQt6 Qt6
```
Always activate the environment before running, testing, or using pre-commit hooks.
**Note**: PyQt6 and Qt6 are installed via pip as they are not available in conda-forge for all platforms.
### Install & run the application
Mdaviz is available on PyPI:
```bash
$ conda activate mdaviz
$ pip install mdaviz
```
Once installed, you can run the application at any time using:
```bash
$ conda activate mdaviz
$ mdaviz
```
### Run the application in developer mode
```bash
# Clone the repo
$ git clone https://github.com/BCDA-APS/mdaviz.git
$ cd mdaviz
# Install with development dependencies
$ conda activate mdaviz
$ pip install -e .
# Run the application
$ mdaviz
```
## Usage
### Basic Operation
1. **Load Data**: Select a folder containing MDA files
2. **Select Axes**: Use the checkboxes in the data table to select:
- **X**: Positioner for the x-axis (only one can be selected)
- **Y**: Detectors for the y-axis (multiple can be selected)
- **I0**: Normalization detector (only one can be selected)
- **Un**: Unscale curves to match the range of other Y curves (requires Y selection on same row)
3. **Plot Data**: Data will automatically plot based on your selection mode
### Plot Controls
- **Log Scale**: Use the "LogX" and "LogY" checkboxes to switch between linear and logarithmic scales
- **Curve Styling**: Select different line styles and markers for your curves
- **Data Manipulation**: Apply offset and scaling factors to individual curves
- **Data Analysis**: Basic statistics, cursor measurements, and curve fitting.
### Plotting Modes
- **Auto-add**: New curves are added to existing plots
- **Auto-replace**: New curves replace existing plots
- **Auto-off**: Manual plotting using buttons
## Development
### Testing
Run all tests:
```bash
pytest src/tests
```
Current test status:
- **130 tests passing** with 46% coverage
- **26 failed tests** (mostly GUI tests needing fixes)
- **54 skipped tests** (GUI tests in headless environment)
- **5 test errors** (import and setup issues)
### Code Quality
The project uses pre-commit hooks for code quality. Run them before committing:
```bash
pre-commit run --all-files
```
## Contributing
1. Fork and clone the repository.
2. Create a new branch for your feature or bugfix.
3. Make your changes and add tests.
4. Run pre-commit and pytest to ensure all checks pass.
5. Submit a pull request.
For a complete installation guide, see [https://bcda-aps.github.io/mdaviz/](https://bcda-aps.github.io/mdaviz/).
## Acknowledgements
"This product includes software produced by UChicago Argonne, LLC
under Contract No. DE-AC02-06CH11357 with the Department of Energy."
Raw data
{
"_id": null,
"home_page": null,
"name": "mdaviz",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.14,>=3.10",
"maintainer_email": "Fanny Rodolakis <rodolakis@anl.gov>, Pete Jemian <prjemian@gmail.com>, Rafael Vescovi <ravescovi@anl.gov>, Eric Codrea <ecodrea@anl.gov>",
"keywords": "bluesky, databroker, tiled, catalog",
"author": null,
"author_email": "Fanny Rodolakis <rodolakis@anl.gov>, Pete Jemian <prjemian@gmail.com>, Rafael Vescovi <ravescovi@anl.gov>, Eric Codrea <ecodrea@anl.gov>",
"download_url": "https://files.pythonhosted.org/packages/6d/76/45c91d51956e4e9be4d73de59426a28927f552604c022a57b8a7a4d17e77/mdaviz-1.1.4.tar.gz",
"platform": null,
"description": "# mdaviz\n\nPython Qt6 application to visualize mda data.\n\n## Status Badges\n\nCI/CD | Code Quality | Documentation | Package\n--- | --- | --- | ---\n[](https://github.com/BCDA-APS/mdaviz/actions/workflows/ci.yml) | [](https://github.com/astral-sh/ruff) | [](https://bcda-aps.github.io/mdaviz/) | [](https://badge.fury.io/py/mdaviz) [](https://github.com/BCDA-APS/mdaviz/releases)\n\nCoverage | License | Python | Pre-commit\n--- | --- | --- | ---\n[](https://codecov.io/gh/BCDA-APS/mdaviz) | [](LICENSE.txt) | [](https://www.python.org/downloads/) | [](https://github.com/pre-commit/pre-commit)\n\n## Features\n\n- **Auto-Load Folders**: The application automatically loads the first valid folder from your recent folders list when it starts, providing a seamless experience without requiring manual folder selection. You can toggle this feature on/off from the preferences window.\n- **Recent Folders**: Remembers your recently opened folders for quick access.\n- **Lazy Loading**: Efficient folder scanning with progress indicators for large datasets.\n- **Curve Management**: Add, remove, and style multiple data curves.\n- **Axis Selection**: Select X-axis (positioners), Y-axis (detectors), I0 normalization, and curve unscaling using checkboxes. Axis selection is saved from one file to the next.\n- **Curve Unscaling**: Rescale curves to match the range of other Y curves for better comparison.\n- **Log Scale**: Toggle between linear and logarithmic scales for both X and Y axes.\n- **Data Analysis**: Basic statistics, cursor measurements, and curve fitting.\n- **PyQt6 Migration**: Complete migration to PyQt6 for future compatibility with Python 3.13+.\n\n## Quickstart\n\n### Conda environment\nIt is strongly recommended to use the provided conda environment for development and running the application. This ensures all dependencies (including PyQt6) are available and compatible.\n\n```bash\nconda env create -f env.yml\nconda activate mdaviz\npip install PyQt6 Qt6\n```\n\nAlways activate the environment before running, testing, or using pre-commit hooks.\n\n**Note**: PyQt6 and Qt6 are installed via pip as they are not available in conda-forge for all platforms.\n\n### Install & run the application\n\nMdaviz is available on PyPI:\n```bash\n$ conda activate mdaviz\n$ pip install mdaviz\n```\n\nOnce installed, you can run the application at any time using:\n```bash\n$ conda activate mdaviz\n$ mdaviz\n```\n\n### Run the application in developer mode\n\n```bash\n# Clone the repo\n$ git clone https://github.com/BCDA-APS/mdaviz.git\n$ cd mdaviz\n\n# Install with development dependencies\n$ conda activate mdaviz\n$ pip install -e .\n\n# Run the application\n$ mdaviz\n```\n\n## Usage\n\n### Basic Operation\n\n1. **Load Data**: Select a folder containing MDA files\n2. **Select Axes**: Use the checkboxes in the data table to select:\n - **X**: Positioner for the x-axis (only one can be selected)\n - **Y**: Detectors for the y-axis (multiple can be selected)\n - **I0**: Normalization detector (only one can be selected)\n - **Un**: Unscale curves to match the range of other Y curves (requires Y selection on same row)\n3. **Plot Data**: Data will automatically plot based on your selection mode\n\n### Plot Controls\n\n- **Log Scale**: Use the \"LogX\" and \"LogY\" checkboxes to switch between linear and logarithmic scales\n- **Curve Styling**: Select different line styles and markers for your curves\n- **Data Manipulation**: Apply offset and scaling factors to individual curves\n- **Data Analysis**: Basic statistics, cursor measurements, and curve fitting.\n\n### Plotting Modes\n\n- **Auto-add**: New curves are added to existing plots\n- **Auto-replace**: New curves replace existing plots\n- **Auto-off**: Manual plotting using buttons\n\n## Development\n\n### Testing\n\nRun all tests:\n```bash\npytest src/tests\n```\n\nCurrent test status:\n- **130 tests passing** with 46% coverage\n- **26 failed tests** (mostly GUI tests needing fixes)\n- **54 skipped tests** (GUI tests in headless environment)\n- **5 test errors** (import and setup issues)\n\n### Code Quality\n\nThe project uses pre-commit hooks for code quality. Run them before committing:\n```bash\npre-commit run --all-files\n```\n\n## Contributing\n\n1. Fork and clone the repository.\n2. Create a new branch for your feature or bugfix.\n3. Make your changes and add tests.\n4. Run pre-commit and pytest to ensure all checks pass.\n5. Submit a pull request.\n\nFor a complete installation guide, see [https://bcda-aps.github.io/mdaviz/](https://bcda-aps.github.io/mdaviz/).\n\n## Acknowledgements\n\n\"This product includes software produced by UChicago Argonne, LLC\nunder Contract No. DE-AC02-06CH11357 with the Department of Energy.\"\n",
"bugtrack_url": null,
"license": null,
"summary": "Python Qt5 application to visualize MDA data.",
"version": "1.1.4",
"project_urls": {
"Bug Tracker": "https://github.com/BCDA-APS/mdaviz/issues",
"Homepage": "https://github.com/BCDA-APS/mdaviz"
},
"split_keywords": [
"bluesky",
" databroker",
" tiled",
" catalog"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3f0d1c6e1d21ea5d868fa84584f743683c7b6d9ecb8124a9736ccbd51ad9ac6e",
"md5": "8f6507e66af6ef9e488f25acf5c5f800",
"sha256": "9bc4b41ed52f25b87284e4abedee2684bfd3595d9b32be10096d36b04018937d"
},
"downloads": -1,
"filename": "mdaviz-1.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8f6507e66af6ef9e488f25acf5c5f800",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14,>=3.10",
"size": 680596,
"upload_time": "2025-07-28T18:50:24",
"upload_time_iso_8601": "2025-07-28T18:50:24.479107Z",
"url": "https://files.pythonhosted.org/packages/3f/0d/1c6e1d21ea5d868fa84584f743683c7b6d9ecb8124a9736ccbd51ad9ac6e/mdaviz-1.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6d7645c91d51956e4e9be4d73de59426a28927f552604c022a57b8a7a4d17e77",
"md5": "60d36ed32668e19d7b0b9e0c29737be4",
"sha256": "26930afda78391188d473c8c2b26bad41364d9cfd42963823a2141744e2e2366"
},
"downloads": -1,
"filename": "mdaviz-1.1.4.tar.gz",
"has_sig": false,
"md5_digest": "60d36ed32668e19d7b0b9e0c29737be4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.10",
"size": 1865236,
"upload_time": "2025-07-28T18:50:25",
"upload_time_iso_8601": "2025-07-28T18:50:25.948709Z",
"url": "https://files.pythonhosted.org/packages/6d/76/45c91d51956e4e9be4d73de59426a28927f552604c022a57b8a7a4d17e77/mdaviz-1.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-28 18:50:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "BCDA-APS",
"github_project": "mdaviz",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "mdaviz"
}