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
VisualizationManager uses 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
ImageManager with structured export capabilities
- Create
VisualizationExporter class for formatted outputs
- Use file system watchers for "hot folder" workflow
- Optional: napari plugin that watches output directory
Key Files
gently/agent/visualization.py
gently/agent/image_manager.py
- New:
gently/agent/visualization_exporter.py
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/napariRequirements
1. File-Based Image Delivery
2. Copilot Integration
3. Structured Output Organization
4. Image Queue Management
Technical Approach
ImageManagerwith structured export capabilitiesVisualizationExporterclass for formatted outputsKey Files
gently/agent/visualization.pygently/agent/image_manager.pygently/agent/visualization_exporter.py