|
Introduction
Platforms
Download
Documentation
Sequences
Manual
Browse Code
Search Code
Mailing List
Authors
Search:
Screenshots:
|
Hello World
Welcome to the ODIN homepage! ODIN is a C++ software framework to
develop, simulate and run magnetic resonance sequences on different platforms.
It is
State-of-the-Art:
Contemporary magnetic resonance imaging techniques are available, for example sequence modules for
echo-planar imaging and spiral-imaging, parallel imaging with GRAPPA reconstruction, two-dimensional pulses
and field-map-based distortion corrections.
Easy-to-Use:
All common steps, from compiling your sequence to plotting or simulating it,
can be performed within a graphical user interface.
Hardware Independent:
ODIN runs on a variety of operating systems and scanners.
Once you develop a sequence, it can be executed/simulated on very different
hardware, ranging from a real-time sequence controller to your personal workstation.
Truly Object-Oriented:
Written in C++ with an object-oriented design, ODIN is very modular, flexible
and requires very little code to write: The sequences
that come with ODIN are easy to understand and modify.
Open Source:
ODIN is free software: Download it, use it, modify it, all free of charge!
Some Features
Plotting of the sequence timecourse in a graphical user interface.
Simulating the spin-physics of the sequence (Bloch-Torrey equations)
using a virtual phantom to generate a virtual MR signal.
System imperfections (eddy currents, B1 inhomogeneity, noise)
can be switched on/off at will during the simulation.
Visualization of the k-space trajectory.
Calculation of gradient moments (k-space) and diffusion weighting.
ODIN Components
Odin [Screenshot] [Screenshot]
The control center for developing, testing, visualizing and
simulating NMR sequences. It is a front-end to the ODIN libraries,
allowing interactive editing, recompiling and dynamic linking
of sequence modules.
Pulsar [Screenshot]
A graphical user interface for the generation and simulation of RF pulses
is provided by the Pulsar program. Parameters of the pulse can be edited
interactively and the corresponding excitation profile is displayed
simultaneously. A modular approach is used for maximum flexibility:
The pulse shape, k-space trajectory and filter function of the pulse are
generated by independent functions. They can be combined in many ways,
e.g. a box-shaped pulse can be generated using any of the spiral trajectories
and any of the filter functions.
The functions of the pulse are implemented using a plug-in mechanism
(abstract C++ base classes where the functions are implemented in the
derived classes).
Thus new pulse shapes, trajectories and filter functions can be added easily by
defining new function classes.
MiView [Screenshot]
A command line driven data viewer that supports the following formats:
ANALYZE
ASCII
DICOM
GNU-Zip container for other formats
JCAMP-DX data sets
JCAMP-DX image format
Matlab ascii 2D data matrix
MetaImage
NIFTI, dialects: fsl
Vista, dialects: common odin lipsia xlipsia
Visualization Toolkit
double raw data
float raw data
signed 16 bit raw data
signed 32 bit raw data
signed 8 bit raw data
unsigned 16 bit raw data
unsigned 32 bit raw data
unsigned 8 bit raw data
x-y positions of non-zeroes in ASCII
Display properties (contrast, brightness) can be adjusted. The value of regions
and single points can be retrieved and scan-line profiles can be generated interactively.
Geoedit [Screenshot]
A lightweight geometry editor that exports the selected geometry parameters
to the ODIN sequence development framework.
Many Useful Command-Line Utilities
The main functionality of ODIN can be found in a couple of libraries:
tjutils
This library contains various helper classes and functions that are
not specific to MR.
odinpara
Library to handle MR parameters, such as system properties, scan geometry,
sequence parameters. Input/output of parameters is achieved via JCAMP-DX file
format.
odinseq
This library contains the interface for sequence programming. It also contains
the hardware specific driver routines.
odindata
The Blitz++ library is used for handling multidimensional arrays in ODIN.
In addition, many MR-specific routines (FFT, phase correction) were added
and placed in this library.
|
|
Feedback
|
|
If you have any questions, bug-reports or improvements,
if you need professional support with ODIN,
or if you know how to make a better web page than this,
please do not hesitate to contact me (Thies Jochimsen)
or post your request on the mailing list.
|
|
Licensing
|
|
ODIN is published under the terms of the GNU General
Public License.
|
|