How 71papahijo/mri_capstone works
MRI4ALL is an MRI console for exam/scan management, sequence-based acquisition, and image reconstruction. The principal workflow is to prepare a scan, execute its sequence on scanner hardware, reconstruct acquired data, and make results available for viewing or export. The tree and excerpts support both standalone acquisition/reconstruction services and an API-hosted in-process pipeline; their exact deployment relationship is not established, so they are shown as distinct paths. Several subsystem links are inferred only where the sampled source or module roles support them.
Main entry points: pipeline.py In-process workers · main.py Imaging UI · app.py HTTP API · sequences Sequence implementations
Components 22
Console and API
- Imaging UI
console/services/ui/main.py - UI controls
console/services/ui/control.py - HTTP API
console/services/api/app.py - Exam session
console/services/api/session.py
Scan workflow
- In-process workers
console/services/api/pipeline.py - Acquisition worker
console/services/acq/main.py - Reconstruction worker
console/services/recon/main.py - Task folders
console/common/queue.py - Scan task data
console/common/task.py
Sequences
- Sequence implementations
console/sequences - Pulseq sequence tools
console/pypulseq/Sequence/sequence.py - Pulseq assembler
console/external/marcos_experiments/pulseq_assembler.py
Reconstruction and results
- Reconstruction runner
console/services/recon/reconstruction.py - MRI recon algorithms
console/external/sigpy/mri/app.py - Image processing
console/recon/recon_utils - Study and scan viewers
console/services/ui/studyviewer.py - DICOM export
console/services/ui/dicomexport.py
Scanner integration
- MaRCoS client
console/external/marcos_client/server_comms.py - MaRCoS server
console/external/marcos_server/src/marcos_server.cpp
Other components
- Operator
- API client
- MRI hardware
Connections 26
- Operator → Imaging UI: operates
- Operator → HTTP API: manages scans
- Imaging UI → UI controls: invokes controls
- Imaging UI → Exam session: presents exam state
- API client → HTTP API: sends requests
- HTTP API → Exam session: manages exams
- HTTP API → In-process workers: starts workers
- In-process workers → Task folders: polls folders
- Acquisition worker → Task folders: polls acquisition
- Reconstruction worker → Task folders: polls reconstruction
- Acquisition worker → Scan task data: reads and updates
- In-process workers → Scan task data: reads and updates
- Acquisition worker → Sequence implementations: runs sequence
- In-process workers → Sequence implementations: runs sequence
- Sequence implementations → Pulseq sequence tools: builds sequences
- Pulseq sequence tools → Pulseq assembler: compiles sequence
- Sequence implementations → MaRCoS client: controls scanner
- MaRCoS client → MaRCoS server: communicates
- MaRCoS server → MRI hardware: commands hardware
- Reconstruction worker → Reconstruction runner: runs reconstruction
- In-process workers → Reconstruction runner: runs reconstruction
- Reconstruction runner → MRI recon algorithms: uses algorithms
- Reconstruction runner → Image processing: processes images
- Reconstruction worker → Task folders: moves completed scans
- Imaging UI → Study and scan viewers: opens results
- Study and scan viewers → DICOM export: exports studies