[ITK-users] [ANN] ITK 4.10 Release Candidate 2 is ready for testing!

Matt McCormick matt.mccormick at kitware.com
Thu May 19 15:20:52 EDT 2016


On behalf of the Insight Toolkit community, we are proud to announce
that ITK 4.10 release candidate 2 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 https://itk.org/ITK.git
 cd ITK
 git checkout -q --detach v4.10rc02

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 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.10rc01..v4.10rc02
------------------------------------------------

Davis Vigneault (1):
     BUG: Improve error checking and testing for ConnectedRegionsMesh

Hyun Jae Kang (2):
     BUG: Address the issue of "Missing Delete" within SwapZeroCornerToIRP.
     COMP: Fixed Mac OSX wrapping configuration warning

Matthew McCormick (6):
     BUG: The ImageFileReader internal pipeline methods should be protected.
     BUG: Use new VNL include directory variables.
     COMP: Add missing NeighborhoodAccessor methods to PhasedArray3D image.
     BUG: Adjust itk.org ExternalData URL.
     COMP: Do not use target_include_directories with CMake 2.8.11.2.
     BUG: Address missing shared_ptr for VS9


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-users mailing list