-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or requestpriority-mediumImportant but not blockingImportant but not blockingvisualizationImage display/streamingImage display/streaming
Milestone
Description
Description
Build a dedicated visualization service that delivers images on-demand to users based on copilot orchestrator requests. Images are delivered via file system to be viewed in external tools (e.g., napari, ImageJ, vi notes).
Current State
VisualizationManageruses subprocess-based matplotlib/napari- Images saved to disk, optional viewer launch
- No structured delivery mechanism
Requirements
1. File-Based Image Delivery
- Organized output directory structure for user review
- Automatic naming conventions (embryo_id, timepoint, timestamp)
- Support for 2D images and 3D volume projections (MIP, orthogonal slices)
- Multiple formats: TIFF (full data), JPEG (preview), PNG (annotated)
2. Copilot Integration
- API for copilot to request "send this image to user"
- Support for annotations (embryo labels, ROIs, measurements) burned into exports
- Comparison exports (side-by-side, montages, time series strips)
3. Structured Output Organization
D:\Gently\visualization_output\
├── latest/ # Symlinks/copies to most recent images per embryo
├── by_embryo/
│ ├── embryo_001/
│ │ ├── timepoint_001.tiff
│ │ └── timepoint_001_annotated.png
│ └── ...
├── comparisons/ # Side-by-side, montages
└── exports/ # User-requested exports
4. Image Queue Management
- Queue images for batch export
- Manifest file listing pending/exported images
- Integration with external viewers via file watching
Technical Approach
- Enhance
ImageManagerwith structured export capabilities - Create
VisualizationExporterclass for formatted outputs - Use file system watchers for "hot folder" workflow
- Optional: napari plugin that watches output directory
Key Files
gently/agent/visualization.pygently/agent/image_manager.py- New:
gently/agent/visualization_exporter.py
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestpriority-mediumImportant but not blockingImportant but not blockingvisualizationImage display/streamingImage display/streaming