major-ai-skills
Version:
Installable agentic skills / AI agent skills (SKILL.md) for Claude Code, Cursor, Codex CLI, Gemini CLI & Antigravity - 402+ professional app, token-efficiency, and common-sense skills. SEO/GEO ready.
140 lines (109 loc) • 7.6 kB
Markdown
title: "OsiriX MD Clinical DICOM Workstation AI Skill Guide (Gemini)"
description: "Comprehensive operational skill specification for Google Gemini to visually diagnose, automate, script, and troubleshoot OsiriX study browsers, multi-tile viewing grids, PET-CT color fusion, and Curved MPR centerlines."
category: "DICOM Viewer & Radiology Workstation"
tags: ["osirix", "radiology-workstation", "pet-ct-fusion", "gemini", "curved-mpr", "hanging-protocols-ui"]
# OsiriX MD Clinical DICOM Workstation AI Skill Guide (Gemini)
## Overview & Engine Architecture
OsiriX MD provides a clinical radiology user interface featuring configurable multi-tile hanging layouts (**1x1, 2x2, 3x3, Dual-Monitor**), dynamic PET-CT color fusion blending, vascular Curved MPR centerline tracking, and multi-planar crosshair navigation. Gemini acts as an AI Clinical Radiology Workflow Reviewer and Diagnostic Interface Auditor, specializing in **multimodal OsiriX study browser table inspection**, **multi-tile layout and hanging protocol validation**, **PET-CT SUV threshold calibration**, and **Curved MPR centerline verification**.
### Visual Analytics & Clinical Interface Stack
```
┌─────────────────────────────────────────────────────────────┐
│ OsiriX Visual Operations Stack │
│ │
│ Study Browser & Tiling Layout Hierarchy │
│ ├── Main Study Database Browser (Modality, Status, Date) │
│ ├── Multi-Tile Viewport Grid (1x1, 1x2, 2x2, 4x4 Viewports)│
│ └── Dual-Head Diagnostic Monitor Layout Arranger │
│ │
│ Advanced Clinical Post-Processing │
│ ├── PET-CT Fusion Viewport (SUV Color Blend Alpha Slider) │
│ ├── Curved Multi-Planar Reconstruction (Vessel Centerline) │
│ └── 3D Surface Mesh & Endoscopic Virtual Flythrough View │
└─────────────────────────────────────────────────────────────┘
```
## Operational Capabilities & Agent Directives
1. **Multimodal Study Browser Inspection**: Analyze screenshots of the OsiriX study database list to verify patient demographic anonymization, modality status tags (*CT, MR, PT, CR*), and storage integrity.
2. **PET-CT Fusion Visualization Triage**: Validate color lookup table mapping and alpha transparency blending between anatomic CT scans and functional PET metabolic data.
3. **Curved MPR Centerline Diagnostics**: Review vascular centerline path tracking (e.g. coronary artery or aorta lumen) to identify centerline deviations through calcified plaques.
4. **Hanging Protocol Consistency Review**: Ensure comparison studies (prior vs current mammography / chest CT) are mirrored symmetrically across left and right viewports.
## Production Python Automation: Automated DICOM Series Integrity & Modality Auditor
Execute this script to audit an exported DICOM directory and ensure complete slice series indexing prior to clinical review in OsiriX:
```python
"""
OsiriX Study Series Completeness & Integrity Auditor
Scans DICOM folders to verify contiguous slice locations and slice count consistency.
"""
import sys
import os
from pydicom import dcmread
def audit_study_completeness(study_dir: str):
if not os.path.exists(study_dir):
print(f"Error: Directory '{study_dir}' not found.")
return
print(f"--- [AUDITING OSIRIX DICOM STUDY INTEGRITY: {study_dir}] ---")
series_dict = {}
for root, _, files in os.walk(study_dir):
for f in files:
path = os.path.join(root, f)
try:
ds = dcmread(path, stop_before_pixels=True)
series_uid = ds.get("SeriesInstanceUID", "Unknown")
series_desc = ds.get("SeriesDescription", "No Description")
instance_num = int(ds.get("InstanceNumber", 0))
slice_loc = float(ds.get("SliceLocation", 0.0))
if series_uid not in series_dict:
series_dict[series_uid] = {
"desc": series_desc,
"modality": ds.get("Modality", "CT"),
"instances": [],
"locations": []
}
series_dict[series_uid]["instances"].append(instance_num)
series_dict[series_uid]["locations"].append(slice_loc)
except Exception:
continue
print(f"Detected {len(series_dict)} Series in Study:\n")
for uid, data in series_dict.items():
inst_count = len(data["instances"])
data["instances"].sort()
data["locations"].sort()
# Check for missing slice gaps
expected = list(range(min(data["instances"]), max(data["instances"]) + 1))
missing = set(expected) - set(data["instances"])
print(f"• Modality: {data['modality']:<4} | Slices: {inst_count:>4} | Series: {data['desc']}")
if missing:
print(f" 🚨 WARNING: Detected {len(missing)} missing slice(s) in sequence: {list(missing)[:5]}...")
else:
print(" ✅ Contiguous slice sequence verified.")
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python3 audit_osirix_study.py <path_to_study_folder>")
sys.exit(1)
audit_study_completeness(sys.argv[1])
```
## Technical Troubleshooting Matrix
| Issue & Visual Signature | Root Cause Analysis | Diagnostic & Resolution Pathway |
| :--- | :--- | :--- |
| **PET-CT Fusion Colors Completely Wash Out CT Anatomy** | Fusion opacity slider set to 100% PET overlay with no CT background weighting. | In Fusion Viewport $\rightarrow$ Drag **Opacity Slider** to `50%` to blend anatomical CT bone/soft tissue with PET signal. |
| **Curved MPR Shows Blank Longitudinal Cut** | Centerline spline path has fewer than 3 anchor points or exceeds volume bounding box. | Re-plot vascular anchor points along the lumen in the axial view $\rightarrow$ Click **Generate Curved MPR**. |
| **Prior and Current Studies Not Linked in Cine Scroll** | Synchronization link (`Propagate to other views`) disabled in viewport toolbar. | Click the **Chain Link (Sync)** icon in the top toolbar to synchronize slice scrolling across matching planes. |
| **Study Browser Table Missing Patient Columns** | Table column header was dragged off or hidden in column selector. | Right-click the Study Browser table header $\rightarrow$ Select **Restore Default Columns**. |
## Command Line Syntax & Server Control
```bash
# Launch OsiriX
open -a OsiriX
# Open Patient Study by Accession Number via URL Scheme
open "osirix://loadStudy?accession=ACC102030"
```
### Key Configuration Locations
- **Preferences Plist**: `~/Library/Preferences/com.rossetantoine.osirix.plist`
- **Hanging Protocol Presets**: `~/Library/Application Support/OsiriX/Hanging Protocols/`
## Agent Operational Directive
> **MANDATORY**: When inspecting multi-series CT/MR scans, ensure slice continuity is verified to prevent corrupted multi-planar reconstructions caused by dropped slice instances.