Metadata-Version: 2.4
Name: imspy-vis
Version: 0.4.0
Summary: Lightweight visualization tools for timsTOF proteomics data.
License-Expression: MIT
Author: theGreatHerrLebert
Author-email: davidteschner@googlemail.com
Requires-Python: >=3.11,<3.14
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: notebook
Requires-Dist: imageio (>=2.25)
Requires-Dist: imageio-ffmpeg (>=0.4)
Requires-Dist: imspy-core (>=0.4.0)
Requires-Dist: ipywidgets (>=8.0)
Requires-Dist: jupyter (>=1.0) ; extra == "notebook"
Requires-Dist: matplotlib (>=3.5)
Requires-Dist: notebook (>=7.0) ; extra == "notebook"
Requires-Dist: numpy (>=1.24)
Requires-Dist: pandas (>=2.0)
Requires-Dist: plotly (>=5.0)
Requires-Dist: tqdm (>=4.66)
Description-Content-Type: text/markdown

# imspy-vis

Lightweight visualization tools for timsTOF proteomics data.

## Installation

```bash
pip install imspy-vis
```

For Jupyter notebook support:

```bash
pip install imspy-vis[notebook]
```

## Features

- **Frame Rendering**: DDA and DIA frame visualization with annotation overlays
- **Point Cloud Visualization**: Interactive 3D visualization using Plotly
- **Video Generation**: Generate preview videos from timsTOF datasets
- **Jupyter Integration**: Interactive widgets for notebook-based exploration

## Quick Start

### Frame Rendering

```python
from imspy_vis import DDAFrameRenderer, DIAFrameRenderer, generate_preview_video

# Generate a quick preview video
generate_preview_video(
    '/path/to/data.d',
    '/path/to/output.mp4',
    mode='dda',
    max_frames=100,
    fps=10
)

# Or use the renderer directly
renderer = DDAFrameRenderer('/path/to/data.d')
renderer.render_to_video('/path/to/output.mp4', max_frames=50)
```

### Point Cloud Visualization (Jupyter)

```python
from imspy_vis import DDAPrecursorPointCloudVis

# In a Jupyter notebook
visualizer = DDAPrecursorPointCloudVis(precursor_data)
visualizer.display_widgets()
```

## Modules

- **pointcloud**: Interactive 3D point cloud visualization using Plotly
- **frame_rendering**: Frame-by-frame rendering and video generation

## Dependencies

- **imspy-core**: Core data structures (required)
- **plotly**: Interactive plotting
- **matplotlib**: Static plotting and frame rendering
- **imageio**: Video generation
- **ipywidgets**: Jupyter notebook widgets

## Related Packages

- **imspy-core**: Core data structures and timsTOF readers
- **imspy-predictors**: ML-based predictors
- **imspy-simulation**: TimSim simulation tools
- **imspy-search**: Database search functionality

## License

MIT License - see LICENSE file for details.

