Notes:

Release Name: 2.2.1

Notes:

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).