open-source toolbox for clinical-translational mri research€¦ · “mode” = chain of...
TRANSCRIPT
![Page 1: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/1.jpg)
Open-Source Toolbox for
Clinical-Translational MRI Research
Center for Advanced Imaging Innovation and Research (CAI2R)
New York University School of Medicine
Klinik für Radiologie und Nuklearmedizin
Universitätsspital Basel
![Page 2: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/2.jpg)
Agenda
▪ Demo will only cover the Offline Reconstruction Pipeline
▪ Information on Raw-Data Collection & Workflow Monitoring:
http://yarraframework.com
![Page 3: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/3.jpg)
Agenda
1. Overview & server requirements
2. Developing Yarra modules
3. How to integrate Matlab-written algorithms
4. How to integrate a BART module
5. How to package and share your algorithm
![Page 4: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/4.jpg)
Overview
![Page 5: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/5.jpg)
Yarra Offline Reconstruction Pipeline
▪ Aim: Run demanding algorithms on external Linux server(s)
PACS
Network
Share
MR Scanner
Workstation
ORT
Client
SAC
Client
Linux Server
YarraServer
Processing Modules
Raw Data (Twix)
+Task Definition
Queue
![Page 6: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/6.jpg)
Yarra Offline Reconstruction Pipeline
▪ Aim: Run demanding algorithms on external Linux server(s)
PACS
Network
Share
MR Scanner
Workstation
ORT
Client
SAC
Client
Linux Server
YarraServer
Processing Modules
Raw Data (Twix)
+Task Definition
Queue
![Page 7: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/7.jpg)
Yarra Offline Reconstruction Pipeline
▪ Aim: Run demanding algorithms on external Linux server(s)
PACS
Network
Share
MR Scanner
Workstation
ORT
Client
SAC
Client
Linux Server
YarraServer
Processing Modules
Raw Data (Twix)
+Task Definition
Queue
![Page 8: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/8.jpg)
▪ On scanner: “ORT Client”
▪ Select patient scan
▪ On workstation: “SAC Client”
▪ Select saved Twix file
Yarra Offline Reconstruction Pipeline
![Page 9: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/9.jpg)
Yarra Offline Reconstruction Pipeline
▪ YarraServer executes one “Reconstruction Mode” per task
▪ “Mode” = Chain of processing modules + Settings
▪ Modes configured centrally on server
▪ Yarra Client assigns mode during submission of task
(via protocol name or manual selection)
PreprocessingPreprocessingPre-Processing Reconstruction PreprocessingPreprocessingPost-ProcessingggTransfer
0 – 20 1 0 – 20 1 – 20
![Page 10: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/10.jpg)
Yarra Offline Reconstruction Pipeline
▪ “Module” can be any program running on Linux
▪ Server organizes data and executes modules in right order
▪ Server monitors modules to ensure high server availability
▪ Termination if unreasonable behavior detected
1. Excessive memory usage (to avoid “swap-to-death”)
2. Too long processing duration
3. No output for too long time
▪ Thresholds can be configured / disabled
![Page 11: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/11.jpg)
Yarra Offline Reconstruction Pipeline
▪ Terminated tasks moved to “Failed Folder”
▪ Successful tasks moved to “Completed Folder”
▪ Can be restarted by user, or archived for later processing
▪ Output of all modules captured in log file
▪ Facilitates debugging of modules
▪ Email notification service
(log-file attached)
![Page 12: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/12.jpg)
Yarra Server Requirements
▪ Ubuntu Linux (16.04 or newer recommended)
▪ Server process running as daemon
▪ Incoming tasks received via Samba share
▪ Step-by-step installation instructions: http://yarraframework.com
▪ Configuration & server control done via Yarra WebGUI
![Page 13: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/13.jpg)
Yarra WebGUI
▪ Typically running on port :8080
▪ Also works on smartphones
▪ User login with different access:
Level 1 = View task status
Level 2 = Modify or restart tasks
Level 3 = Control server and
configure modes
![Page 14: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/14.jpg)
Yarra WebGUI – Demo
Open Browser
![Page 15: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/15.jpg)
Developing Yarra Modules
![Page 16: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/16.jpg)
What is a Yarra Module?
▪ Can be any program that runs on Linux
▪ Task information passed to module as command-line arguments
▪ Arguments for binary calls defined in “Reconstruction Mode”
▪ Simple “helper macros” to write module calls
▪ Interpreted by YarraServer when executing modules
![Page 17: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/17.jpg)
Different Module Types
▪ Reconstruction Modules
▪ Transfer Modules
▪ Post-Processing Modules
▪ Pre-Processing Modules
PreprocessingPreprocessingPre-Processing Reconstruction PreprocessingPreprocessingPost-ProcessingggTransfer
0 – 20 1 0 – 20 1 – 20
![Page 18: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/18.jpg)
Reconstruction Modules
▪ Purpose: Perform reconstruction of submitted raw data
▪ Duties: 1. Read given raw-data file
2. Run algorithm
3. Write results into given output folder (as DICOMs)
▪ Not necessary to fill DICOM tags (done by “SetDCMTags”)
▪ Can use given temporary folder if needed
▪ One reconstruction module per modeReconstruction
![Page 19: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/19.jpg)
Transfer Modules
▪ Purpose: Transfer results to storage location (e.g. PACS)
▪ Duties: 1. Process files in given transfer folder
▪ Files in folder must not be deleted or modified
▪ One to 20 transfer modules per mode (executed sequentially)
ggTransfer
![Page 20: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/20.jpg)
Post-Processing Modules
PreprocessingPreprocessingPost-Processing
▪ Purpose: Analyze or modify results (e.g. calculate subtractions)
▪ Duties: 1. Analyze files in given input folder
2. Create modified or additional results in output folder
3. Move other to-be-kept files to output folder
▪ Only files in output folder will be passed on
▪ Files in input folder will be discarded
▪ Zero to 20 post-processing modules (chain)
![Page 21: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/21.jpg)
Pre-Processing Modules
▪ Purpose: Prepare information or settings for reconstruction
▪ Duties: 1. Analyze given raw-data file
2. Write information into given work folder
▪ Example: Convert raw data to ISMRMD format
▪ Created files accessible by all subsequent modules
▪ Zero to 20 pre-processing modules (sequential chain)
PreprocessingPreprocessingPre-Processing
![Page 22: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/22.jpg)
Included Modules
Name Type Description
PACSTransfer Transfer Sends results to PACS or workstation
DriveTransfer Transfer Stores results on network share
SetDCMTags Post-Processing Fills DICOM tags of reconstructed images from Twix file
Subtraction Post-Processing Calculates subtractions from reconstructed images
IniPatch Pre-Processing Patches settings in configuration (ini) files
GRASP Reconstruction CS-based DCE-MRI reconstruction (available via C2P)
![Page 23: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/23.jpg)
Defining Reconstruction Modes
▪ “Mode” defines which modules are executed + settings
▪ Edited in WebGUI or with external text editor
▪ Text file with “.ini format” (in folder /yarra/modes)
▪ Required sections:
[ClientConfig]
[Options]
[PreProcessing]
[Reconstruction]
[PostProcessing]
[Transfer]
Binary paths and arguments for
module calls
Client-related settings, e.g. readable name
Additional server processing options
![Page 24: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/24.jpg)
Defining Reconstruction Modes
▪ “Mode” defines which modules are executed + settings
▪ Edited in WebGUI or with external text editor
▪ Text file with “.ini format” (in folder /yarra/modes)
▪ Required sections:
[ClientConfig]
[Options]
[PreProcessing]
[Reconstruction]
[PostProcessing]
[Transfer]
Binary paths and arguments for
module calls
Client-related settings, e.g. readable name
Additional server processing options
![Page 25: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/25.jpg)
Example: GRASP Reconstruction;## YarraServer -- Reconstruction Mode Definition
;##
[ClientConfig]
Name=GRASP Abdomen
Tag=_YB
SortIndex=10
[Options]
KeepRawdata=true
[Reconstruction]
Bin=%bu/GRASP/GraspR
Args=%rid/%rif %rid/settings.ini %rod %tmp %vacc
[Transfer]
Bin=%bd/DriveTransfer
Args=%mc %td %vuid
[DriveTransfer]
TargetPath=/home/yarraserver/output
Settings for the client
Options for the server
Selection of recon module
Selection of transfer module
Module-specific settings
![Page 26: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/26.jpg)
Example: GRASP Reconstruction
[Transfer]
Bin=%bd/DriveTransfer
Args=%mc %td %vuid
Linux binary
to-be-executed
Command-line
arguments
![Page 27: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/27.jpg)
Example: GRASP Reconstruction
[Transfer]
Bin1=%bd/DriveTransfer
Args1=%mc %td %vuid
Bin2=%bd/PACSTransfer
Args2=%mc %td
Linux binary
to-be-executed
Command-line
arguments
Helper macros
▪ Required arguments depend on the individual module
![Page 28: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/28.jpg)
Helper Macros
▪ Used to pass file/folder names to modules
▪ Make mode definitions independent from installation paths
▪ Examples:
%rif = Name of raw-data (Twix) file to-be-reconstructed%rif → grasp_abdomen#SAvantoFit#F146888#M117#D240419#T082316.dat
%hmb = Installation path of Matlab binary%hmb → /usr/local/bin/matlab
![Page 29: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/29.jpg)
Available Macros
▪ List of available
macros shown
in WebGUI by
pressing “Help”
button
![Page 30: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/30.jpg)
▪ Information used by Yarra clients for task submission
[ClientConfig]
Name=GRASP Abdomen
Tag=_YB
SortIndex=10
RequiresACC=true
RequiresAdjScans=true
“ClientConfig“ Section
▪ Mode automatically assigned if “tag” found in protocol name:
GRASP ax_YB
![Page 31: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/31.jpg)
▪ Information used by Yarra clients for task submission
[ClientConfig]
Name=GRASP Abdomen
Tag=_YB
SortIndex=10
RequiresACC=true
RequiresAdjScans=true
“ClientConfig“ Section
▪ Mode automatically assigned if “tag” found in protocol name:
GRASP ax_YB
![Page 32: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/32.jpg)
User-Selected Parameters
▪ Client can ask for “parameter” during submission
▪ Enables user to manually select reconstruction setting
[ClientConfig]
Name=GRASP Abdomen
Tag=_YB
ParamLabel=Spokes
ParamDescription=Number of spokes per frame
ParamMin=5
ParamMax=9999
ParamDefault=21
▪ Value accessible via helper macro %vparam
![Page 33: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/33.jpg)
How to Develop Yarra Module?
▪ Step 1: Choose language / framework (e.g. Matlab, BART)
▪ Step 2: Implement “entry function” as interface:
function MyRecon(raw_file, output_folder, temp_folder)
▪ Step 3: Write mode file that calls function (using helper macros):
MyRecon(%rid/%rif, %rod, %tmp)
▪ Step 4: Package module & deploy
![Page 34: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/34.jpg)
Integration of Matlab Code
![Page 35: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/35.jpg)
Demo Algorithm
▪ Example: Simple FFT reconstruction for 3D GRE scans
▪ Step 1: Write Matlab function with algorithm
1. Load Twix data
2. Perform 3D FFT for each channel
3. Calculate sum-of-squares images
4. Crop center (to remove 2x readout oversampling)
5. Write images as DICOMs (without tags)
![Page 36: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/36.jpg)
Demo Algorithm
▪ Step 2: Write mode definition that executes Matlab
1. Call Matlab function as reconstruction
2. Call SetDCMTags module to populate DICOM tags
3. Call DriveTransfer module to store images
![Page 37: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/37.jpg)
Writing the Matlab Function
▪ “mapVBVD” package for reading Twix files
▪ Matlab “dicomwrite” function for saving images
Open Matlab Function
![Page 38: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/38.jpg)
Writing the Mode File
▪ Matlab started in non-UI mode (“-nodesktop -nosplash -nojvm”)
▪ Function launched via “-r” argument
▪ Here: Matlab command wrapped in script “entrypoint.sh”
Open Mode File
Open Entry-Point Script
![Page 39: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/39.jpg)
Testing it!
▪ YarraServer running in virtual machine (VirtualBox)
▪ Task submitted using Yarra SAC Client
▪ Reconstructed images stored on Samba share
Open SAC
Open Browser
Open DICOM Viewer
![Page 40: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/40.jpg)
Integration of BART Modules
![Page 41: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/41.jpg)
About BART
▪ MRI reconstruction toolbox developed by research groups of
Martin Uecker (Göttingen) and Michael Lustig (Berkeley)
▪ Implements many calibration and reconstruction algorithms
for parallel imaging and compressed sensing
▪ http://mrirecon.github.io/bart
▪ Yarra can be used to make BART algorithms
available on clinical scanners
![Page 42: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/42.jpg)
BART Integration
▪ BART provides Linux command-line tools
▪ Scriptable using Bash shell scripts
▪ Script can be launched as Yarra reconstruction module
Open Recon Script
Open Entry Function
Open Mode File
![Page 43: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/43.jpg)
Demo
Open SAC
Open Browser
Open DICOM Viewer
![Page 44: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/44.jpg)
Module Packaging
![Page 45: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/45.jpg)
Integrated Module Installer
▪ Installation & update of modules possible via WebGUI
▪ Similar to WordPress plugin installation
▪ Folder created in:
/yarra/modules_user
▪ Helper macro: %bu
![Page 46: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/46.jpg)
Manifest File
▪ Packaged module = ZIP archive with manifest file
▪ Text file with extension .yml (.ini format)
▪ Used for version management & info display in WebGUI
[YarraModule]
Name=Matlab Sample
Description=Simple example that shows how to integrate Matlab
Version=1
Author=Roy Wiggins
Homepage=yarraframework.com
RequiresMatlab=true
![Page 47: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/47.jpg)
Demo
Open Folder
Open Browser
![Page 48: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/48.jpg)
Multi Server Operation
![Page 49: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/49.jpg)
Load Balancing
▪ YarraServer processes 1 task per time (“max-out resources”)
▪ Many scans → tasks waiting in queue
▪ Distribution of tasks to multiple servers possible
▪ Simple load-balancer integrated in Yarra ORT client
▪ Server list read from “seed server”
▪ “Round robin” strategy for sending tasks to servers
![Page 50: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/50.jpg)
Task Routing
▪ Servers can declare “features” (e.g. GPU) in server list
▪ Reconstruction modes can request server features
▪ Yarra client routes tasks to server with feature
▪ If multiple servers, load balancing within suited servers
![Page 51: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/51.jpg)
Outlook: Cloud Processing
![Page 52: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/52.jpg)
YarraCloud Reconstruction Service
▪ Cloud-driven reconstruction service running on AWS
▪ Eliminates need to purchase & install server
▪ Pay-per-use model → scales with institutional demand
▪ Containerized version of YarraServer
▪ PHI removal prior to cloud upload
▪ More information: http://yarracloud.com
![Page 53: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/53.jpg)
▪ Documentation: http://yarraframework.com
▪ Source code: http://bitbucket.org/yarra-dev
▪ All code released under GNU Public License (GPL)
▪ Please contribute!
▪ Support chat: https://gitter.im/yarra-dev
▪ Please use instead of email
Support and Resources
![Page 54: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/54.jpg)
▪ Documentation: http://yarraframework.com
▪ Source code: http://bitbucket.org/yarra-dev
▪ All code released under GNU Public License (GPL)
▪ Please contribute!
▪ Support chat: https://gitter.im/yarra-dev
▪ Please use instead of email
Support and Resources
![Page 55: Open-Source Toolbox for Clinical-Translational MRI Research€¦ · “Mode” = Chain of processing modules + Settings Modes configured centrally on server Yarra Client assigns mode](https://reader034.vdocuments.mx/reader034/viewer/2022042923/5f7396983ebb185e16260c8c/html5/thumbnails/55.jpg)
h t t p : / / ya r r a f r a m e w o r k . c o m