The Computational Morphometry Toolkit
==========================================================================
Release Notes -- CMTK 2.2.1
===========================
This is a service release that fixes a single bug - CMTK 2.2.0 installed (and
packaged) the entire source code tree, rather than just the Licenses/
directory as intended. This problem has been fixed.
Release Notes -- CMTK 2.2.0
===========================
This release adds significant new functionality to CMTK. The library now
supports fitting transformations (linear and B-spline) to landmark sets. This
is used to support image unwarping based on structural phantom scans. In
particular, CMTK now supports detection (via "detect_adni_phantom") and use
(via "unwarp_image_phantom") of the Magphan(R) EMR051 Quantitative imaging
Phantom (a.k.a. "ADNI Phantom").
Numerous new classes have also been added to the CMTK libraries in the process,
such as a fast FFT-based NCC sphere finding filter, Otsu thresholding, and
regression-based polynomial bias field estimation.
Also new in CMTK are two tools, "fibxform" and "fib2image", to spatially
transform and visualize, respectively, DTI fiber tracts stored in .fib
produced by the UNC Fiber Tracker.
CMTK now requires at least CMake 2.8.0 to build. For FFT-based functions
(including phantom landmark detection) CMTK must be build with FFTW support
(new option CMTK_USE_FFTW).
For a complete list of changes, fixes, and additions, consult the CHANGELOG
file.
CMTK has been built and tested on the following platforms:
- Linux 32bit (Fedora 15), gcc 4.6.1
- Linux 64bit (Fedora 15), gcc 4.6.1
- Linux 32bit (Fedora 16), gcc 4.6.2
- Linux 64bit (Fedora 16), gcc 4.6.2, CUDA 3.2
- Linux, i386, Oracle Solaris Studio 12.3 C++ 5.12 2011/11/16
- MacOSX 10.6, x86_64, gcc 4.2.1, CUDA 4.1
- MacOSX 10.6, x86_64, MacPorts gcc 4.7.0, CUDA 4.1
- MacOSX 10.6, x86_64, llvm-gcc-4.2.1
- MacOSX 10.6, x86_64, clang 2.0
- Cygwin, gcc 4.5.3
- Windows XP, VisualStudio 10SP1 (2010 Express Edition), CUDA 4.1
Platform-Specific Issues
========================
MacOS-X
-------
- Code coverage tests are only supported with gcc compiler and SDK 10.6. Older
SDKs or the clang and llvm compiler front-ends do not support code coverage.
http://www.nitrc.org/tracker/index.php?func=detail&aid=5450&group_id=212&atid=877
- To use a pre-compiled binary distribution of CMTK on MacOS, the following
MacPorts packages have to be installed under /opt/local:
- qt4
- sqlite3
- dcmtk
SolarisStudio Compiler, Linux/Intel
-----------------------------------
- SolarisStudio C++ 12.2 crashes when compiling the "Numerics" library with
full optimization, -O3. A bug report has been filed with, and accepted by,
Oracle:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6989625
Workaround: build "MinSizeRel" configuration, which sets optimization level
to O2. Note that OpenMP must be disabled, because otherwise optimization
is bumped back to O3 by default.
This problem is also fixed in SolarisStudio 12.3, but see next issue.
- SolarisStudio C++ 12.3 crashes when compiling the file
"cmtkEchoPlanarUnwarpFunctional.cxx" with OpenMP support turned on.
Workaround: set "CMTK_USE_OPENMP" configuration option to "OFF"; this will
lead to much of CMTK's functionality executing single-threaded.
Open64 Compiler
---------------
- CMTK does not build in Release mode with the Open64 compiler due to internal
compiler errors.
==========================================================================
This software is available from
http://www.nitrc.org/projects/cmtk/
==========================================================================
Changes:
Release CMTK-2.2.1 (2012-05-07):
(r4313) Fixed: previous release accidentally installed and packaged the entire
source tree, rather than just the Licenses/ directory. This has been fixed.
Release CMTK-2.2.0 (2012-05-04):
(r4280) Updated: bundled MiniXML (mxml) library is now version 2.7
(r4256) Changed: the "search" and "replace" parts of the CMTK_MOUNTPOINTS
variable have been switched. The new order is far more intuitive.
(r4240) Fixed: one of the functions computing Jacobian matrices for B-spline
FFD transformations was broken, leading to slightly skewed inverse
transformations in various tools. Due to direct optimization of the
inversion error, the actual inversion results were still accurate within
the given tolerance.
(r4195) Added: tool for unwarping images using B-spline free-form deformation
computed from a reference scan of the ADNI phantom.
(r4180) Added: detection of the landmarks in the Magphan EMR051 structural
imaging phantom (a.k.a. "ADNI Phantom"). Both as a library class and as a
command line tool ("detect_adni_phantom").
(r4158) Added: Otsu single-threshold binarization in library as well as
"convertx" tool.
(r4131) Added: sphere detection filter based on FFT-based fast bipolar filter
kernel convolution. Requires CMTK to be configured with FFTW support.
(r4096) Added: new tool, "fit_affine_xform_landmarks" to fit affine
transformations to sets of landmark pairs. Also added supporting classes
for fitting and landmark I/O.
(r4090) Added: two new tools, "fibxform" and "fib2image", for applying
transformation sequences to UNC Fber Tracking outputs and for marking
fibers in discrete images.
(r4074) Fixed: "dcm2image" no longer accepts printf-style substitution code
"%d" for image index. This was never safe, as format string is supplied by
user (Issue #6203).
(r4068) Added: CMTK now comes with a built-in model of the ADNI structural
imaging phantom (a.k.a. Magphan EMR051). The new tool "mk_adni_phantom"
can be used to create a digital image of the phantom for testing and
potentially registration purposes.
(r4052) Added: "epiunwarp" tool can now initialize deformation by matching
centers of mass for each row. This seems to greatly improve unwarping
results.
(r4050) Changed: "dcm2image" now defaults to "sort-by-instance" file ordering;
this seems more generally useful than sorting by file names. Also changed
names of the command line options.
(r4048) Fixed: system DCMTK (from MacPorts) can now be properly configured on
MacOS.
(r4041) Fixed: get correct image origin for Siemens mosaic DICOM files from
CSA header.
(r4036) Added: the "dcm2image" tool now ooptionally creates an XML sidecar
file for each stacked image, which contains imaging parameters including
b-values and diffusion-weighting vectors for DW-MRI.
(r4024) Obsolete: removed unused 2d/2d registration classes.
(r4016) Refactored: finally merged old-style SMP and non-SMP elastic voxel
matching functional classes.
(r4004) Fixed: full OpenMP support now available on MacOS.
(r3984) Changed: "dcm2image" tool no longer accepts "--ge-extensions" command
line option. Instead, all supported vendor-specific extensions are now
automatically activated based on the vendor tag in the actual input files.
(r3981) Fixed: numerous Visual C++ 2010 compiler warnings, including
potentially serious use of "this" pointer in member initialization.
(r3969) Added: cmtk::RegressionTracker class for checksum-based tracking down
of regression problems.
(r3964) Fixed: cmtk::ImagePairSimilarityJointHistogram constructor was using
"this" pointer before properly constructing object (Visual C++ warning).