[ITK-dev] [ANN] ITK 4.10 Release Candidate 1 is ready for testing!

Matt McCormick matt.mccormick at kitware.com
Thu May 12 14:53:22 EDT 2016


On behalf of the Insight Toolkit community, we are proud to announce
that ITK 4.10 release candidate 1 has been tagged and is available for
testing! Please take this opportunity to test the new features in the
release candidate.


To obtain the source code,

  git clone http://itk.org/ITK.git
  cd ITK
  git checkout -q --detach v4.10rc01

For more details, please see the Git documentation [1].


A few selected highlights for this release:

- New Remote module: TwoProjectionRegistration performs simultaneous
registration of two projection images to a 3D image volume, which is
useful for external beam radiotherapy and other applications. It uses
Powell’s method for optimization and the Siddon-Jacobs fast
ray-tracing algorithm.
- First update to internal VNL in five years. Many improvements were
made to upstream VNL. We now push patches upstream and stay in sync
via a Git subtree workflow.
- Windows builds now support processing 4GB+ images by default
- GDCM updated for better DICOM support

Additionally, in the Python wrapping, type specification is no longer
necessary during the creation of most filters. The required type is
inferred from a primary input passed on filter creation. For example,
instead of the explicit type specification:

  median = itk.MedianImageFilter[ImageType, ImageType].New()
  median.SetInput(reader.GetOutput())

It is now possible to call:

  median = itk.MedianImageFilter.New(Input=reader.GetOutput())

Or, the shortened:

  median = itk.MedianImageFilter.New(reader.GetOutput())

Or:

  median = itk.MedianImageFliter.New(reader)

An itk.ImageFileReader can be created by specifying the FileName
during instantiation:

  reader = itk.ImageFileReader.New(FileName=’inputFile.mha’)


Please test the release candidate and share your experiences on the
mailing list, issue tracker, and Gerrit Code Review.

An Experimental build, which demonstrates how the test suite performs
on your local build system, can be submitted to the dashboard [2]
with:

  mkdir ../ITK-build
  cd ../ITK-build
  cmake ../ITK
  ctest -j 4 -M Experimental  -T Configure -T Build -T Test -T Submit

Visual Studio builds must also add “-C Release” to the ctest command.

Notify the mailing list if there are any unexpected failures.  Testing
your own applications against the RC is also appreciated.


Congratulations and well done to the 26 contributors to this release.
We would especially like to recognize the new contributors: Andrey
Fedorov, Sujin Philip, Francois Budin, and b'Alvaro Sanchez.

The 4.10.0 final release is scheduled for the end of May.


[1] http://www.itk.org/Wiki/ITK/Git

[2] http://open.cdash.org/index.php?project=Insight



New Features
---------------------

* Wrapping improvements
- ITK_USE_64BITS_IDS supported on Windows
- Faster builds (CastXML calls and build targets reduced by half)
- Faster runtime loading and smaller binary size due to hidden symbol visibility
- Wrapping with BUILD_SHARED_LIBS disabled is supported
- Do not link to libpython when possible
- Filter types do not need to be specified when “Input=inputImage” is
specified in the constructor
- Improved wrapping class coverage
- Visual Studio 2015 Update 2 Supported

* New Remote Module
- TwoProjectionRegistration
  - 2D-3D registration designed for radiotherapy
  - http://hdl.handle.net/10380/3245

* Core Improvements
- Data and build tool downloads now over HTTPS
- Extended constexpr usage with ITK_CONSTEXPR and ITKCONSTEXPR_FUNC macros
- ITK_USE_64BITS_IDS, required to process 4GB+ images on Windows, now
enabled by default
- VNL updated and modernized
  - CMake configuration major modernization
  - vcl has been removed in favor of the standard libraries
  - vnl_math_ function avoided in favor of std:: and itk::Math
  - VNL had suppressed integer data conversion warnings on Visual
Studio (C4257); this suppression has been removed and all warnings
addressed
- Various improvements for building a module externally against an ITK
build tree
- CMAKE_POSITION_INDEPENDENT_CODE is enabled by default
- Improved EXERCISE_BASIC_OBJECT_METHODS testing macro

* Filtering Improvements
- RGB pixel support added to itk::ImageToVTKImageFilter
- itk::Box* filters moved out of the Review module
- itk::GaussianDerivativeOperator moved out of the Review module
- MaskLabel is deprecated in N4BiasFieldCorrectionFilter in favor any
non-zero pixel

* Registration Improvements
- Fixed and moving masks added to the v4 registration methods

* Documentation Improvements
- Updates to the Software Guide, Doxygen, Wiki and Sphinx Examples

* Third Party Library Updates
- pygccxml updated to v1.7.3
- GDCM updated to the release branch latest
- VNL updated to latest upstream
- MINC updated to the latest upstream
- SWIG updated to v3.0.8
- PCRE update to v8.38

* Improved code coverage -- we are at 85.0%!

* *Lots* of important bug fixes

* And much more! See details in the log below.


Changes from v4.9.0..v4.10rc01
------------------------------------------------

Alvaro Sanchez (1):
      STYLE: moved itkKappaSigmaThresholdImageFilter/Calculator from
Nonunit/Review

Andrey Fedorov (2):
      BUG: Add missing itk_expat_mangle.h install target
      BUG: fix typo in file name

Bill Hoffman (2):
      COMP: fix shared build on Windows when Review is on.
      COMP: work around for VS 2015 optimizer bug causing test failures.

Bill Lorensen (6):
      ENH: Bump version for style fixups.
      ENH: Bump wiki examples version, new remote module process
      ENH: Bump wiki examples version, new remote module process
      STYLE: SuperClass should be Superclass
      COMP: Resolve clang linkage issue
      BUG: Valgrind detected an invalid read

Bradley Lowekamp (21):
      BUG: Compilation problem with GCC 4.1 and explicit instantiation
      ENH: Update Insight Journal handle links to https
      ENH: Adding const qualifier to results
      BUG: Adding missing const qualifier for GetConfusionMatrix method
      BUG: Use Set/GetMacros, fix const correctness and PrintSelf.
      ENH: added inlined Zero and one values for integer NumericTraits
      ENH: Use constexpr for floating point NumericTraits
      ENH: Make NumericTraits functions constexpr for intrinsic
      BUG: Add definition of static constexpr NumericTrait members
      BUG: Declared static constexpr members need to be defined as constexpr
      ENH: ITK_CONSTEXPR_FUNC implies inline
      BUG: Addressing VS10 and VS11 NumericTraits linkage issue
      BUG: Use LargestPossible region for BSpline domain
      BUG: Remove errant file
      COMP: Address warning about this usage in initializer list
      ENH: Prefer ZeroValue function over variable
      STYLE: Use consistent path for try_compiles binary directory
      BUG: Don't use "=" in cmake variable name
      ENH: Test address of NumericTraits One and Zero constexpr
      ENH: Use ITK_USE_64BITS_IDS for windows 64 by default
      ENH: Enable run-time dependency on Python library

Davis Vigneault (4):
      ENH: Update itkFileTools to allow std::string arguments.
      ENH: Add Floored and Truncated Modulus to VNL
      ENH: Add Ternary Operator Image Filter
      STYLE: Prefer static cast

Dženan Zukić (1):
      ENH: CovariantVector's Normalize returns the norm.

Francois Budin (6):
      PERF: Simplify itkTemplate New() input type identification.
      ENH: Avoid template type specification for image reader in Python wrapping
      BUG: Missing IOPixelType strings in ImageIOBase
      BUG: Wrapping intermediate files were not automatically updated
      ENH: Reduce number of dependencies for XML files generated for wrapping
      BUG: GCC is limited when calling overloaded base class functions

GCC-XML Upstream (1):
      ENH: pygccxml v1.7.3 (reduced)

GDCM Upstream (1):
      GDCM 2015-09-02 (1efe9e28)

Hans Johnson (27):
      COMP: Static analysis warning
      COMP: Incorrect delete found by static analysis
      PERF:  Avoid temporary std:vector copying.
      COMP: Provide VXL backward compatible includes
      COMP: ITK requires legacy methods
      ENH: Need propagate ITK_LIBRARY_PROPERTIES
      ENH: Added UpdateFromUpstream.sh for VNL
      ENH: Manual copy from vxl/master
      STYLE: vnl_math_[min|max] -> std::[min|max]
      STYLE: Text files should end with a newline
      COMP: Prefer C++11 constexpr when possible
      COMP: Prefer C++11 constexpr when possible
      ENH: Simplify std:: math function definitions
      COMP: Error in constexpr usage
      COMP: Add const to previous const variables
      COMP: SizeValueType can has different definition for itkArray
      ENH: Added utility for modernizing vcl_ to std::
      ENH: Reference vnl_math.h constants directly
      ENH: Avoid using vnl_math_ functions
      COMP: Missing symbol for itkStaticConstMacro
      COMP: Function override missing in BioCell
      ENH: Convert vcl_ to std::
      BUG: Windows vcl_snprintf failures addressed
      COMP: Disabmiguate function calls to SetData
      ENH: Provided static code API for external applications
      COMP: Remove possible type conversion warnings
      ENH: Merge GDCM release branch

Hyun Jae Kang (25):
      COMP: Fixed the compiler error of ITKCommon2TestDriver on OSX 10.6
      BUG: Fixed the runtime crash of VideoSourceTest on OSX 10.6
      BUG: Fixed the runtime crash of itkTimeProbeTest2
      BUG: Fixed the runtime crash of ITKFastMarchingTestDriver's
tests on OSX 10.6
      BUG: Fixed the runtime crash of ITKReviewTestDriver on OSX 10.6
      COMP: Fixed the data conversion warning messages of itkResourceProbe
      BUG: Fixed the runtime crash of itkLabelOverlapMeasuresImageFilterTest
      BUG: Fixed the runtime crash of ITKStatisticsTestDriver tests on OSX 10.6
      BUG: Fixed the runtime crash of itkMRIBiasFieldCorrectionFilterTest
      BUG: Fixed the runtime crash of itkBinaryShapeOpeningImageFilterTest1
      BUG: Fixed the runtime crash of vnl_test_complex on OSX 10.6
      BUG: Fixed the runtime crash of vnl_test_numeric_traits
      BUG: Fixed the runtime crash of test_pow_log on OSX 10.6
      BUG: Exclude a test code of ITKLabelMapTestDriver on OSX 10.6
      BUG: Fixed the failed test case of itkSTLThreadTest on OS X 10.8
      COMP: Update KWStyle to utilize the latest boost library
      COMP: Fixed the compiler error of ITK on Mingw-w64
      COMP: Temporarily suppress the warning messages of data-conversion on VS14
      COMP: Put back the disappeared option of "BUILD EXAMPLES".
      BUG: Fix segmentation faults on mingw-W64 x86_64.
      BUG: Fix the failed test of itkCastImageFilterTest on mingw-w64 compiler.
      COMP: Fixed the cmake configuration for ITK_WRAP_DOC
      COMP: Fixed the warning messages on VS14.
      COMP: Add a missing head file at itkNumericTraitsStdVector.h
      COMP: Fix the wraning message of data-conversion

Jean-Christophe Fillion-Robin (4):
      COMP: ITKExternalModule: Support building module without test directory.
      STYLE: Facilitate maintenance of CastXML generator refactoring CMakeLists
      COMP: Allow use of multiple "ITK external modules" in the same project.
      STYLE: UseITK: Document static registration of ITK IO factories. See #3393

Jon Haitz Legarreta (7):
      COMP: Delete unused variable compiler warning.
      ENH: Refactored itkBioCellTest
      ENH: Exercise non-tested itk::Math methods.
      ENH: Improve MersenneTwister class and test.
      ENH: Improve itkFEMLoadPoint coverage.
      ENH: Improve itkVersion class code coverage.
      ENH: Perform class name checks in test macro

KWSys Robot (1):
      KWSys 2016-03-09 (36d8666f)

Lucas Gandel (9):
      ENH: Implement GetNumberOfParameter() in ImageToSpatialObjectMetric
      COMP: Enable wrapping of multiple "ITK external modules" in the
same project
      COMP: Fix CASTXML_EXECUTABLE value for multiple external module
      COMP: Fix external module testing
      COMP: Fix git protocol setup
      ENH: Conditionally add testing for External Modules
      BUG: Fix call to std::max() with different variable types

Manuel Grizonnet (1):
      COMP: add ITKCommon_EXPORT to fix link issues with external applications

Matthew McCormick (73):
      ENH: Add TwoProjectionRegistration Remote Module.
      ENH: Allow ITKVideoBridgeOpenCV to be built externally.
      COMP: Add export specification for itk::ResourceProbe.
      ENH: Do not force shared libraries when wrapping.
      BUG: BUILD_TESTING should be not advanced.
      ENH: Bump ITK version to 4.10.0.
      DOC: Correct ITKImageNoise description spelling.
      ENH: Wrap FFTNormalizedCorrelationImageFilter.
      BUG: Remove Azure ExternalData resource.
      BUG: ExternalData downloads from midas3.kitware.com only supports https.
      BUG: Update ExternalData resource.
      BUG: slicer.kitware.com/midas3/ ExternalData will not support http.
      ENH: Add ITK_CUSTOM_LIBRARY_SUFFIX variable.
      ENH: Wrap PipelineMonitorImageFilter.
      BUG: Update MIDAS url for https in archive testing data script.
      ENH: Wrap std::vector< itk::ImageRegion >.
      BUG: Fix wrapping build with DEFAULT_MODULES OFF.
      ENH: Add RGB pixel support to ImageToVTKImageFilter.
      ENH: Add RGB and vector pixel type wrapping for ImageToVTKImageFilter.
      STYLE: Use PixelType and ImageType in Python tests.
      ENH: Avoid template type specification in Python wrapping.
      COMP: Do not use has_key in itkTemplate New.
      DOC: Emphasize that push access is not required to contribute patches.
      ENH: Download SWIG and PCRE from midas3.kitware.com.
      COMP: Ignore build warning from KWStyle's boost.
      BUG: Remove Azure ExternalData resource.
      BUG: ExternalData downloads from midas3.kitware.com only supports https.
      BUG: slicer.kitware.com/midas3/ ExternalData will not support http.
      ENH: Update the VNL README-ITK.txt subtree commit revision.
      BUG: Mark VXL internal CMake variables as advanced.
      BUG: Run itk_module_target on itknetlib.
      DOC: Direct patches for VXL upstream to the GitHub repository.
      BUG: Run itk_module_target on itknetlib.
      COMP: Account for removal of vcl_* from upstream VXL.
      COMP: Remove itkTypeMacro from BioCellHelper.
      COMP: Convert itkBioCellTest arguments from double to int.
      COMP: Turn off BUILD_DOCUMENTATION for VNL.
      BUG: Install VXL config files to backwards-compatible locations.
      ENH: Remove vcl_complex from the wrapping.
      BUG: Install vnl_export.h and vnl_algo_export.h to previous locations.
      BUG: midas3.kitware.com only supports the https protocol.
      BUG: ImageIOBase SetDimensions should take SizeValueType.
      ENH: Add wrapping for ImagePCAShapeModelEstimator.
      COMP: Do not specify COMPONENTS with find_package(VTK.
      DOC: Fix FFTW warning grammar.
      COMP: Build against system HDF5 1.8.16.
      ENH: Set a default CMAKE_BUILD_TYPE when building a module externally
      COMP: Make initial HDF5 discovery of 1.8.16 quiet.
      ENH: Use hidden symbol visibility for the CPython extension modules.
      ENH: Turn on CMAKE_POSITION_INDEPENDENT_CODE by default.
      BUG: FEMLoadPoint uninitialized value in the constructor.
      BUG: Fix wrapping of complex types in VNL.
      ENH: Bump CMakeLists.txt version 4.9.1.
      COMP: Address ITKCommon Python submodule order.
      BUG: Extend ExternalData_TIMEOUT_ABSOLUTE to 900 seconds.
      BUG: Do not run KWStyle Git config on a release tarball.
      COMP: Ambiguous RGBPixel access in CustomColormapFunction.
      BUG: Prevent division by zero in PhasedArray3DSpecialCoordinatesImage.
      BUG: Initialize azimuth and elevation to pi/2 in PhasedArray3D.
      BUG: Increase MaskLabel backwards compatibility in N4 bias correction.
      ENH: Deprecate MaskLabel in N4BiasFieldCorrectionImageFilter.
      COMP: Update CastXML to support Visual Studio 2015 Update 2.
      COMP: Do not set wrapping library visibility with static builds.
      COMP: Update CastXML to support Visual Studio 2015 Update 2.
      COMP: Broaden the KWStyle warning exception.
      COMP: Update KWStyle version.
      BUG: Do not use the same output file in N4BiasField Test 2,3.
      COMP: Expand EXERCISE_BASIC_OBJECT_METHODS for other GCC versions.
      ENH: Update Cuberille Remote to 2015-05-01.
      ENH: Enable registration of the IOOpenSlide module through CMake.
      ENH: Update itk.org URL's for HTTPS support.
      BUG: Use CastXML built against LLVM with LLVM_ENABLE_TERMINFO OFF.
      BUG: Fix Python wrapping on Windows when ITK_USE_64BIT_IDS is ON.

Michka Popoff (12):
      ENH: Use importlib for python 3.4 instead of imp
      ENH: Update to Swig 3.0.8
      ENH: Update PCRE to version 8.38
      ENH: Wrap RayCastInterpolateImageFunction
      ENH: Wrap RayCastInterpolateImageFunction
      COMP: Remove debug output after vcl_complex removal from wrapping
      ENH: Consolidate .idx file generation with swig .i generation.
      ENH: Update UpdatepygccxmlFromUpstream.sh script
      COMP: Set CastXML path and name for pygccxml 1.7.3
      COMP: Fix RayCastInterpolateImageFunction wrapping for image dim 2
      ENH: Use argparse instead of optparse in igenerator.py
      ENH: Use https URL for OS X castxml binary (for consistency)

Nick Tustison (2):
      ENH:  Add fixed/moving masking in reg. methods.
      ENH:  Making the mask usage consistent with ITK.

Pablo Hernandez-Cerdan (1):
      COMP: Fix warn in FFTW about delete [].

Sean McBride (18):
      COMP: Made script OS X compatible
      COMP: mark GDCM GetSeriesHelper() method as deprecated
      BUG: update script to fetch GDCM from its release-2-4 branch
instead of master
      DOC: Updated comment to reflect new GDCM version
      COMP: Fixed recently introduced build error with deprecated GDCM method
      BUG: Fixed invalid memory access found by ASan
      COMP: Fixed clang warning about macro expansion giving defined
      COMP: Fixed minor dashboards warnings and typos.
      COMP: Fixed a bunch of clang -Wunreachable-code-break warnings
      COMP: fixed some dashboard warnings (dead code, false positive)
      BUG: Fixed off-by-1 error found by ASan
      COMP: Fixed clang -Wcomma warning
      COMP: Introduce ITK_FALLTHROUGH, to suppress switch fall through warnings
      COMP: Fixed -Wwritable-strings warnings
      COMP: Fixed remaining -Wcomma warnings
      ENH: switch gdcm to release branch, not release-2-4
      COMP: Hack HDF5 to build under ASan & UBSan
      COMP: fixed clang -Wdeprecated-writable-strings warning

Shawn Waldon (1):
      STYLE: move itkGaussianDerivativeOperator

Sujin Philip (1):
      STYLE: Move itkBox* Filters

Sumedha Singla (3):
      ENH: Issue: ITK#3363 Replaced assignment in SetParameters function.
      ENH: Remove unnecessary const_cast
      BUG: Fixed the test itkHDF5ImageIOTest

VXL Maintainers (9):
      VNL 2015-11-22 (ea1d60fb)
      VNL 2016-03-02 (cb31149e)
      VNL 2016-03-13 (ae34f0fc)
      VNL 2016-03-15 (751698ab)
      VNL 2016-03-19 (df10fefa)
      VNL 2016-03-25 (f0040231)
      VNL 2016-03-30 (88f50849)
      VNL 2016-04-22 (0ed18124)
      VNL 2016-04-26 (6b168535)

Vladimir S. FONOV (3):
      MINC 2015-12-17 (dcb93a5f)
      MINC 2016-01-30 (783bca38)
      MINC 2016-02-24 (8632513e)

Ziv Yaniv (1):
      BUG: Interpretation of the Euler angles ZYX or ZXY was not exported.


-----------------------------------------------------
Errors or omissions? Please fix them here:

https://docs.google.com/document/d/1n6xDC3phae7bH40OVO-QTECZ6gKRlPr1dwZR3fydzfU/edit


More information about the Insight-developers mailing list