Insight Toolkit (ITK) is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration

ITK - The Insight Toolkit

ITK: The Insight Toolkit

GitHub release PyPI Wheels License DOI Powered by NumFOCUS

C++ Python
Linux Build Status Build Status
macOS Build Status Build Status
Windows Build Status Build Status
Linux (Code coverage) Build Status

Links

About

The Insight Toolkit (ITK) is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration. Segmentation is the process of identifying and classifying data found in a digitally sampled representation. Typically the sampled representation is an image acquired from such medical instrumentation as CT or MRI scanners. Registration is the task of aligning or developing correspondences between data. For example, in the medical environment, a CT scan may be aligned with a MRI scan in order to combine the information contained in both.

The ITK project uses an open governance model and is fiscally sponsored by NumFOCUS. Consider making a tax-deductible donation to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.


ITK is distributed in binary Python packages. To install:

pip install itk

or

conda install -c conda-forge itk

The cross-platform, C++ core of the toolkit may be built from source using CMake.

Copyright

NumFOCUS holds the copyright of this software. NumFOCUS is a non-profit entity that promotes the use of open source scientific software for educational and research purposes. NumFOCUS delegates project governance to the Insight Software Consortium Council, an educational consortium dedicated to promoting and maintaining open-source, freely available software for medical image analysis. This includes promoting such software in teaching, research, and commercial applications, and maintaining webpages and user and developer communities. ITK is distributed under a license that enables use for both non-commercial and commercial applications. See LICENSE and NOTICE files for details.

Supporting ITK

ITK is a fiscally sponsored project of NumFOCUS, a non-profit dedicated to supporting the open source scientific computing community. If you want to support ITK's mission to develop and maintain open-source, reproducible scientific image analysis software for education and research, please consider making a donation to support our efforts.

NumFOCUS is 501(c)(3) non-profit charity in the United States; as such, donations to NumFOCUS are tax-deductible as allowed by law. As with any donation, you should consult with your personal tax adviser or the IRS about your particular tax situation.

Professional Services

Kitware provides professional services for ITK, including custom solution creation, collaborative research and development, development support, and training.

Citation

To cite ITK, please reference, as appropriate:

The papers

McCormick M, Liu X, Jomier J, Marion C, Ibanez L. ITK: enabling reproducible research and open science. Front Neuroinform. 2014;8:13. Published 2014 Feb 20. doi:10.3389/fninf.2014.00013

Yoo TS, Ackerman MJ, Lorensen WE, Schroeder W, Chalana V, Aylward S, Metaxas D, Whitaker R. Engineering and Algorithm Design for an Image Processing API: A Technical Report on ITK – The Insight Toolkit. In Proc. of Medicine Meets Virtual Reality, J. Westwood, ed., IOS Press Amsterdam pp 586-592 (2002).

The books

Johnson, McCormick, Ibanez. "The ITK Software Guide: Design and Functionality." Fourth Edition. Published by Kitware, Inc. 2015 ISBN: 9781-930934-28-3.

Johnson, McCormick, Ibanez. "The ITK Software Guide: Introduction and Development Guidelines." Fourth Edition. Published by Kitware, Inc. 2015 ISBN: 9781-930934-27-6.

Specific software version

DOI

Once your work has been published, please create a pull request to add the publication to the ITKBibliography.bib file.

Owner
Insight Software Consortium
Community development of the Insight Toolkit (ITK)
Insight Software Consortium
Comments
  • Hdf5 1 12 1

    Hdf5 1 12 1

    PR Checklist

    • [x] No API changes were made (or the changes have been approved)
    • [x] No major design changes were made (or the changes have been approved)
    • [ ] Added test (or behavior not changed)
    • [ ] Updated API documentation (or API not changed)
    • [ ] Added license to new files (if any)
    • [ ] Added Python wrapping to new files (if any) as described in ITK Software Guide Section 9.5
    • [ ] Added ITK examples for all new major features (if any)

    Refer to the ITK Software Guide for further development details if necessary.

  • BUG: Fix failing isAffine check due to insuffcient precision in calculations

    BUG: Fix failing isAffine check due to insuffcient precision in calculations

    Fixes #3333

    Co-authored-by: Vladimir S. FONOV [email protected]

    PR Checklist

    • [x] No API changes were made (or the changes have been approved)

    • [x] No major design changes were made (or the changes have been approved)

    • [x] Updated API documentation (or API not changed)

    • [ ] Added license to new files (if any)

    • [X] Added test

    • NO Added Python wrapping to new files (if any) as described in ITK Software Guide Section 9.5

    • NO Added ITK examples for all new major features (if any)

  • STYLE: Enforce ITK style defined by .clang-format

    STYLE: Enforce ITK style defined by .clang-format

    ITK/Utilities/Maintenance/clang-format.bash
    --clang-format ~/local/llvm/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang-format
    --tracked

    This patch updates the ITK preferred style to one that can be automatically enforced, integrated with many IDE's, and based on externally defined documentation and examples.

    See: https://discourse.itk.org/t/update-coding-style-for-itk/2055

    Most of the changes make inconsistent coding practices consistent throughout the toolkit.

    One large change is changing the {} indentation style from Whitesmiths style https://en.wikipedia.org/wiki/Indentation_style#Whitesmiths_style to an indentation style consistent with many of the other common indentation styles. The primary reason for this change is to overcome the common deficiency of IDE's and formatters to support this uncommon style choice. Completes the work started in #1094

    PR Checklist

    • :no_entry_sign: Makes breaking changes
    • :no_entry_sign: Makes design changes
    • :no_entry_sign: Adds the License notice to new files.
    • :no_entry_sign: Adds Python wrapping.
    • :no_entry_sign: Adds tests and baseline comparison (quantitative).
    • :no_entry_sign: Adds test data.
    • :no_entry_sign: Adds Examples to ITKExamples
    • :no_entry_sign: Adds Documentation.
  • Build with Module_GenericLabelInterpolator:BOOL=ON while avoiding implicit download

    Build with Module_GenericLabelInterpolator:BOOL=ON while avoiding implicit download

    I would like to build ITK with the module. Setting it in the build system attempts to implicitly download it during install. I would like to avoid this, so as to best ensure that only files explicitly known to be needed by the package manager will be downloaded.

     * Package:    sci-libs/itk-5.0.1
     * Repository: chymeric
     * Maintainer: [email protected] [email protected]
     * USE:        abi_x86_64 amd64 elibc_glibc kernel_linux python_single_target_python3_6 python_targets_python2_7 python_targets_python3_6 userland_GNU
     * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
    >>> Unpacking source...
    >>> Unpacking InsightToolkit-5.0.1.tar.gz to /var/tmp/portage/sci-libs/itk-5.0.1/work
    >>> Source unpacked in /var/tmp/portage/sci-libs/itk-5.0.1/work
    >>> Preparing source in /var/tmp/portage/sci-libs/itk-5.0.1/work/InsightToolkit-5.0.1 ...
    >>> Source prepared.
    >>> Configuring source in /var/tmp/portage/sci-libs/itk-5.0.1/work/InsightToolkit-5.0.1 ...
     * cmake-utils_src_prepare has not been run, please open a bug on https://bugs.gentoo.org/
    >>> Working in BUILD_DIR: "/var/tmp/portage/sci-libs/itk-5.0.1/work/itk-5.0.1_build"
    cmake -C /var/tmp/portage/sci-libs/itk-5.0.1/work/itk-5.0.1_build/gentoo_common_config.cmake -G Unix Makefiles -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=ON -DITK_USE_SYSTEM_DCMTK=ON -DGDCM_USE_SYSTEM_OPENJPEG=ON -DITK_USE_SYSTEM_DOUBLECONVERSION=ON -DITK_USE_SYSTEM_CASTXML=ON -DITK_USE_SYSTEM_HDF5=ON -DITK_USE_SYSTEM_JPEG=ON -DITK_USE_SYSTEM_PNG=ON -DITK_USE_SYSTEM_SWIG=ON -DITK_USE_SYSTEM_TIFF=ON -DITK_USE_SYSTEM_ZLIB=ON -DITK_USE_KWSTYLE=OFF -DITK_BUILD_DEFAULT_MODULES=ON -DITK_COMPUTER_MEMORY_SIZE=1 -DWRAP_ITK_JAVA=OFF -DWRAP_ITK_TCL=OFF -Ddouble-conversion_INCLUDE_DIRS=/usr/include/double-conversion -DExternalData_OBJECT_STORES=/var/tmp/portage/sci-libs/itk-5.0.1/work/InsightToolkit-5.0.1/.ExternalData -DModule_GenericLabelInterpolator:BOOL=ON -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=OFF -DITK_INSTALL_LIBRARY_DIR=lib64 -DITK_WRAP_PYTHON=OFF -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/sci-libs/itk-5.0.1/work/itk-5.0.1_build/gentoo_toolchain.cmake  /var/tmp/portage/sci-libs/itk-5.0.1/work/InsightToolkit-5.0.1
    loading initial cache file /var/tmp/portage/sci-libs/itk-5.0.1/work/itk-5.0.1_build/gentoo_common_config.cmake
    -- The CXX compiler identification is GNU 9.1.0
    -- The C compiler identification is GNU 9.1.0
    -- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++
    -- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc
    -- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Found Git: /usr/bin/git (found version "2.22.0") 
    -- Found PythonInterp: /var/tmp/portage/sci-libs/itk-5.0.1/temp/python3.6/bin/python (found version "3.6.9") 
    -- Performing Test C_HAS_WARNING-Wno-uninitialized
    -- Performing Test C_HAS_WARNING-Wno-uninitialized - Success
    -- Performing Test C_HAS_WARNING-Wno-unused-parameter
    -- Performing Test C_HAS_WARNING-Wno-unused-parameter - Success
    -- Performing Test C_HAS_WARNING-Wall
    -- Performing Test C_HAS_WARNING-Wall - Success
    -- Performing Test C_HAS_WARNING-Wno-long-double
    -- Performing Test C_HAS_WARNING-Wno-long-double - Failed
    -- Performing Test C_HAS_WARNING-Wcast-align
    -- Performing Test C_HAS_WARNING-Wcast-align - Success
    -- Performing Test C_HAS_WARNING-Wdisabled-optimization
    -- Performing Test C_HAS_WARNING-Wdisabled-optimization - Success
    -- Performing Test C_HAS_WARNING-Wextra
    -- Performing Test C_HAS_WARNING-Wextra - Success
    -- Performing Test C_HAS_WARNING-Wformat_2
    -- Performing Test C_HAS_WARNING-Wformat_2 - Success
    -- Performing Test C_HAS_WARNING-Winvalid-pch
    -- Performing Test C_HAS_WARNING-Winvalid-pch - Success
    -- Performing Test C_HAS_WARNING-Wno-format-nonliteral
    -- Performing Test C_HAS_WARNING-Wno-format-nonliteral - Success
    -- Performing Test C_HAS_WARNING-Wpointer-arith
    -- Performing Test C_HAS_WARNING-Wpointer-arith - Success
    -- Performing Test C_HAS_WARNING-Wshadow
    -- Performing Test C_HAS_WARNING-Wshadow - Success
    -- Performing Test C_HAS_WARNING-Wunused
    -- Performing Test C_HAS_WARNING-Wunused - Success
    -- Performing Test C_HAS_WARNING-Wwrite-strings
    -- Performing Test C_HAS_WARNING-Wwrite-strings - Success
    -- Performing Test C_HAS_WARNING-funit-at-a-time
    -- Performing Test C_HAS_WARNING-funit-at-a-time - Success
    -- Performing Test C_HAS_WARNING-Wno-strict-overflow
    -- Performing Test C_HAS_WARNING-Wno-strict-overflow - Success
    -- Performing Test CXX_HAS_WARNING-Wall
    -- Performing Test CXX_HAS_WARNING-Wall - Success
    -- Performing Test CXX_HAS_WARNING-Wno-long-double
    -- Performing Test CXX_HAS_WARNING-Wno-long-double - Failed
    -- Performing Test CXX_HAS_WARNING-Wcast-align
    -- Performing Test CXX_HAS_WARNING-Wcast-align - Success
    -- Performing Test CXX_HAS_WARNING-Wdisabled-optimization
    -- Performing Test CXX_HAS_WARNING-Wdisabled-optimization - Success
    -- Performing Test CXX_HAS_WARNING-Wextra
    -- Performing Test CXX_HAS_WARNING-Wextra - Success
    -- Performing Test CXX_HAS_WARNING-Wformat_2
    -- Performing Test CXX_HAS_WARNING-Wformat_2 - Success
    -- Performing Test CXX_HAS_WARNING-Winvalid-pch
    -- Performing Test CXX_HAS_WARNING-Winvalid-pch - Success
    -- Performing Test CXX_HAS_WARNING-Wno-format-nonliteral
    -- Performing Test CXX_HAS_WARNING-Wno-format-nonliteral - Success
    -- Performing Test CXX_HAS_WARNING-Wpointer-arith
    -- Performing Test CXX_HAS_WARNING-Wpointer-arith - Success
    -- Performing Test CXX_HAS_WARNING-Wshadow
    -- Performing Test CXX_HAS_WARNING-Wshadow - Success
    -- Performing Test CXX_HAS_WARNING-Wunused
    -- Performing Test CXX_HAS_WARNING-Wunused - Success
    -- Performing Test CXX_HAS_WARNING-Wwrite-strings
    -- Performing Test CXX_HAS_WARNING-Wwrite-strings - Success
    -- Performing Test CXX_HAS_WARNING-funit-at-a-time
    -- Performing Test CXX_HAS_WARNING-funit-at-a-time - Success
    -- Performing Test CXX_HAS_WARNING-Wno-strict-overflow
    -- Performing Test CXX_HAS_WARNING-Wno-strict-overflow - Success
    -- Performing Test CXX_HAS_WARNING-Wno-deprecated
    -- Performing Test CXX_HAS_WARNING-Wno-deprecated - Success
    -- Performing Test CXX_HAS_WARNING-Wno-invalid-offsetof
    -- Performing Test CXX_HAS_WARNING-Wno-invalid-offsetof - Success
    -- Performing Test CXX_HAS_WARNING-Wno-undefined-var-template
    -- Performing Test CXX_HAS_WARNING-Wno-undefined-var-template - Failed
    -- Performing Test CXX_HAS_WARNING-Woverloaded-virtual
    -- Performing Test CXX_HAS_WARNING-Woverloaded-virtual - Success
    -- Performing Test CXX_HAS_WARNING-Wstrict-null-sentinel
    -- Performing Test CXX_HAS_WARNING-Wstrict-null-sentinel - Success
    -- Performing Test C_HAS_WARNING-mtune_native
    -- Performing Test C_HAS_WARNING-mtune_native - Success
    -- Performing Test C_HAS_WARNING-march_corei7
    -- Performing Test C_HAS_WARNING-march_corei7 - Success
    -- Performing Test CXX_HAS_WARNING-mtune_native
    -- Performing Test CXX_HAS_WARNING-mtune_native - Success
    -- Performing Test CXX_HAS_WARNING-march_corei7
    -- Performing Test CXX_HAS_WARNING-march_corei7 - Success
    -- Performing Test have_gold
    -- Performing Test have_gold - Success
    -- Performing Test CXX_HAS_DISABLE_OPTIMIZATION_FLAG
    -- Performing Test CXX_HAS_DISABLE_OPTIMIZATION_FLAG - Failed
    CMake Error at CMake/ITKModuleRemote.cmake:12 (message):
      Failed to clone repository:
      'https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator.git'
    Call Stack (most recent call first):
      CMake/ITKModuleRemote.cmake:134 (_git_clone)
      CMake/ITKModuleRemote.cmake:197 (_fetch_with_git)
      Modules/Remote/GenericLabelInterpolator.remote.cmake:1 (itk_fetch_module)
      Modules/Remote/CMakeLists.txt:6 (include)
    
    
    -- Configuring incomplete, errors occurred!
    

    What would be the best way to go about this? Should I download and unpack some ITKGenericLabelInterpolator tarball explicitly? If so, then to where? If not, perhaps the ITKGenericLabelInterpolator can be built separately and installed into the appropriate path. But I do not see how this can be done, since the module README only lists the ITK CMake flag as an install instruction.

  • BUG: Half a pixel margin ImageMaskSpatialObject::ComputeMyBoundingBox()

    BUG: Half a pixel margin ImageMaskSpatialObject::ComputeMyBoundingBox()

    Enlarges the bounding box by half a pixel in each direction, to ensure that a point (in object space) whose nearest pixel has a non-zero value is always treated as being inside the object.

    Fixes issue #753 (ImageMaskSpatialObject BoundingBox smaller than before Spatial Object update) and issue #785 (ImageMaskSpatialObject IsInside should not depend on distant pixels). Related to discussion topic "ImageMaskSpatialObject IsInside less than half a pixel away?", https://discourse.itk.org/t/imagemaskspatialobject-isinside-less-than-half-a-pixel-away/1807

  • Apple Silicon support

    Apple Silicon support

    Build and test on the new Apple M1 ARM Silicon processor / system.

    Description

    We will have to work with the newer Xcode / processor / binary system.

    Additional Information

    This is a tracking issue to discuss issues / progress.

    CC: @dzenanz @imikejackson

  • Syntax error in input(3) of itkVectorContainer.i

    Syntax error in input(3) of itkVectorContainer.i

    Description

    I want to build insighttoolkit for openSUSE Tumbleweed on s390x and x86. It is failing with the following error message:

    [ 1239s] /home/abuild/rpmbuild/BUILD/ITK-5.2.1/build/Wrapping/Typedefs/itkVectorContainer.i:177: Error: Syntax error in input(3).
    [ 1239s] ninja: build stopped: subcommand failed.
    
    

    Steps to Reproduce

    %cmake \
      -DITK_INSTALL_LIBRARY_DIR:PATH=%{_lib}/ \
      -DITK_INSTALL_INCLUDE_DIR:PATH=include/%{name}/ \
      -DITK_INSTALL_PACKAGE_DIR:PATH=%{_lib}/cmake/%{name}/ \
      -DITK_INSTALL_RUNTIME_DIR:PATH=%{_bindir} \
      -DITK_INSTALL_DOC_DIR=share/doc/packages/%{name}/ \
      -DBUILD_EXAMPLES:BOOL=ON \
      -DBUILD_SHARED_LIBS:BOOL=ON \
      -DBUILD_TESTING:BOOL=OFF \
      -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON \
      -DITK_USE_FFTWD:BOOL=ON \
      -DITK_USE_FFTWF:BOOL=ON \
      -DITK_USE_SYSTEM_LIBRARIES:BOOL=ON \
      -DITK_USE_SYSTEM_CASTXML:BOOL=ON \
      -DITK_USE_SYSTEM_GDCM:BOOL=ON \
    %if %{without system_eigen}
      -DITK_USE_SYSTEM_EIGEN:BOOL=OFF \
    %endif
      -DITK_USE_SYSTEM_SWIG:BOOL=ON \
      -DITK_USE_SYSTEM_VXL:BOOL=OFF \
      -DVXL_BUILD_CORE_NUMERICS:BOOL=OFF \
      -DVCL_INCLUDE_CXX_0X:BOOL=ON \
      -DITK_FORBID_DOWNLOADS=ON \
      -DITK_WRAP_PYTHON:BOOL=ON
    
    

    Expected behavior

    You can build ITK without any syntax error.

    Actual behavior

    Build of the openSUSE package is failing because of a syntax error.

    Reproducibility

    100% on s390x and x86

    Versions

    5.2.1

    Environment

    openSUSE Tumbleweed architecture: s390x or x86 cpp-12-2.2 cmake-3.23.2-2.1 gcc-12-2.2 gtk2-devel-2.24.33-2.5

    Additional Information

    (see build log: https://build.opensuse.org/public/build/Application:Geo/openSUSE_Factory_zSystems/s390x/insighttoolkit/_log )

  • Building ITK on Windows

    Building ITK on Windows

    Building ITK on Windows (through R)

    I'm trying to build ITK on Windows, through R in the ITKR package (https://github.com/muschellij2/ITKR). I'm testing this through appveyor (https://ci.appveyor.com/project/muschellij2/itkr). I'm getting the following error:

    [ 73%] Building C object Modules/ThirdParty/HDF5/src/itkhdf5/src/CMakeFiles/hdf5-static.dir/H5Defl.c.obj
    In file included from C:\run\ITKR.Rcheck\00_pkg_src\ITKR\src\itks\Modules\ThirdParty\HDF5\src\itkhdf5\src\H5private.h:615:0,
                     from C:\run\ITKR.Rcheck\00_pkg_src\ITKR\src\itks\Modules\ThirdParty\HDF5\src\itkhdf5\src\H5Defl.c:29:
    C:\run\ITKR.Rcheck\00_pkg_src\ITKR\src\itks\Modules\ThirdParty\HDF5\src\itkhdf5\src\H5Defl.c: In function 'H5D__efl_read':
    C:\run\ITKR.Rcheck\00_pkg_src\ITKR\src\itks\Modules\ThirdParty\HDF5\src\itkhdf5\src\H5win32defs.h:57:66: error: expected expression before ')' token
     #define HDopen(S,F,...)       _open(S, F | _O_BINARY, __VA_ARGS__)
                                                                      ^
    C:\run\ITKR.Rcheck\00_pkg_src\ITKR\src\itks\Modules\ThirdParty\HDF5\src\itkhdf5\src\H5Defl.c:291:18: note: in expansion of macro 'HDopen'
             if((fd = HDopen(full_name, O_RDONLY)) < 0)
                      ^
    Modules\ThirdParty\HDF5\src\itkhdf5\src\CMakeFiles\hdf5-static.dir\build.make:770: recipe for target 'Modules/ThirdParty/HDF5/src/itkhdf5/src/CMakeFiles/hdf5-static.dir/H5Defl.c.obj' failed
    

    This worked using commit 4f89edd8334da198099c686b993ec9f9f12dccdf, but not the latest or anything with respect to v5.0.

    Steps to Reproduce

    The steps can be seen here: https://ci.appveyor.com/project/muschellij2/itkr

    1. The main configure script is https://github.com/muschellij2/ITKR/blob/master/configure.win
    2. The make version is mingw32-make, and the Makevars necessary to reproduce are: https://github.com/muschellij2/ITKR/blob/master/src/Makevars.win
    3. See the attached 00install.txt file below.

    Expected behavior

    Successful build such as https://ci.appveyor.com/project/muschellij2/itkr/build/1.0.278

    Actual behavior

    Build failure such as https://ci.appveyor.com/project/muschellij2/itkr/build/1.0.282

    Reproducibility

    100% of the builds with

    Versions

    ITK_VERSION_MAJOR = 5 ITK_VERSION_MINOR = 0 ITK_VERSION_PATCH = 0

    Environment

    Windows on Appveyor (I believe Windows Server 2012 R2 )

    Additional Information

    I've uploaded the CMakeLists and the installation output CMakeLists.txt 00install.txt

  • io factory registration python

    io factory registration python

    Load IO and FFT factories at runtime based on the itk-module.cmake FACTORY_NAMES metadata, as is done with C++ static binary initialization.

    This enables run-time discovery of all Python IO or FFT implementations. Some may be added with remote module Python packages.

    This also addresses Slicer's use case where Slicer is performing initialization of IO factories with static initialization. Only one static binary initialization is intended to be supported per application. Do not perform static binary initialization in the Python modules.

    FFTImageFilter consolidation was finalized, and the required corresponding VnlFFTImageFilterFactory and FFTWFFTImageFilterFactory classes created and wrapped.

    Add the missing required TransformIO wrapping.

  • STYLE: remove unused code from 168c457 in GDCM IO

    STYLE: remove unused code from 168c457 in GDCM IO

    This switch is useless, forced Tag is (0028,0030), so entry is always from dictionary {0x0028,0x0030,VR::DS,VM::VM2,"Pixel Spacing","PixelSpacing",false }, this switch was simply copy/pasted, s. here and dictionary lookup above is useless too, it is loop.

    Edit: m_El.SetLength(entry.GetVM().GetLength() * entry.GetVR().GetSizeof()) is from dictionary and always 2 * 8 = 16.

  • IBM powerpc compile error

    IBM powerpc compile error

    Hi, I am working on Power9 with ppcle-64 arch. I tried to compile it. It shows error.

    Scanning dependencies of target ITKReview-all
    [100%] Built target ITKReview-all
    [100%] Linking CXX static library ../../../../lib/libITKTestKernel-5.1.a
    [100%] Built target ITKTestKernel
    Scanning dependencies of target itkTestDriver
    [100%] Building CXX object Modules/Core/TestKernel/src/CMakeFiles/itkTestDriver.dir/itkTestDriver.cxx.o
    [100%] Linking CXX executable ../../../../bin/itkTestDriver
    ../../../../lib/libitkpng-5.1.a(pngrutil.c.o):pngrutil.c:function itk_png_read_filter_row: error: undefined reference to 'png_init_filter_functions_vsx'
    collect2: error: ld returned 1 exit status
    make[5]: *** [bin/itkTestDriver] Error 1
    make[4]: *** [Modules/Core/TestKernel/src/CMakeFiles/itkTestDriver.dir/all] Error 2
    make[3]: *** [all] Error 2
    make[2]: *** [ITKv5-prefix/src/ITKv5-stamp/ITKv5-build] Error 2
    make[1]: *** [CMakeFiles/ITKv5.dir/all] Error 2
    make: *** [all] Error 2
    
  • i386 build of Alizams fails due to GCC_USE_ASM_64IMPL set in itkMathDetail.h

    i386 build of Alizams fails due to GCC_USE_ASM_64IMPL set in itkMathDetail.h

    Description

    Alizams fails with this error:

    /usr/bin/c++ -DFORCE_PLATFORM_XCB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_SQL_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DTMP_USE_53_SPATIAL_ENUMS -DUSE_WORKSTATION_MODE -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/b -I/usr/local/include/vxl/core -I/usr/local/include/vxl/vcl -I/usr/local/include/vxl/v3p/netlib -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/mdcm/Utilities/mdcmuuid -I/wrkdirs/usr/ports/graphics/alizams/work/.build/mdcm/Utilities/mdcmuuid -I/wrkdirs/usr/ports/graphics/alizams/work/.build/mdcm/Utilities/mdcmzlib -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/mdcm/Utilities/mdcmzlib -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/mdcm/Utilities/mdcmopenjpeg/src/lib/openjp2 -I/wrkdirs/usr/ports/graphics/alizams/work/.build/mdcm/Utilities/mdcmopenjpeg/src/lib/openjp2 -I/wrkdirs/usr/ports/graphics/alizams/work/.build/mdcm/Utilities/mdcmopenjpeg -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/mdcm/Utilities/mdcmcharls -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/mdcm/Source/Common -I/wrkdirs/usr/ports/graphics/alizams/work/.build/mdcm/Source/Common -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/mdcm/Source/DataDictionary -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/mdcm/Source/DataStructureAndEncodingDefinition -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/mdcm/Source/MediaStorageAndFileFormat -I/wrkdirs/usr/ports/graphics/alizams/work/.build/mdcm/Utilities -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/mdcm/Utilities -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/common -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/GUI -I/wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/dicom -I/wrkdirs/usr/ports/graphics/alizams/work/.build -isystem /usr/local/include/ITK-5.3 -isystem /usr/local/include/eigen3 -isystem /usr/local/include/qt5 -isystem /usr/local/include/qt5/QtCore -isystem /usr/local/lib/qt5/mkspecs/freebsd-clang -isystem /usr/local/include/qt5/QtGui -isystem /usr/local/include -isystem /usr/local/include/qt5/QtWidgets -isystem /usr/local/include/qt5/QtPrintSupport -isystem /usr/local/include/qt5/QtSvg -isystem /usr/local/include/qt5/QtSql -O2 -pipe -fstack-protector-strong -fno-strict-aliasing  -msse2  -O2 -pipe -fstack-protector-strong -fno-strict-aliasing  -msse2 -DNDEBUG -fPIC -std=c++14 -MD -MT CMakeFiles/alizams.dir/common/structures.cpp.o -MF CMakeFiles/alizams.dir/common/structures.cpp.o.d -o CMakeFiles/alizams.dir/common/structures.cpp.o -c /wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/common/structures.cpp
    In file included from /wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/common/structures.cpp:1:
    In file included from /wrkdirs/usr/ports/graphics/alizams/work/AlizaMS-1.8.3-34-ge36859b/common/structures.h:8:
    In file included from /usr/local/include/ITK-5.3/itkImage.h:21:
    In file included from /usr/local/include/ITK-5.3/itkImageRegion.h:34:
    In file included from /usr/local/include/ITK-5.3/itkContinuousIndex.h:21:
    In file included from /usr/local/include/ITK-5.3/itkPoint.h:23:
    In file included from /usr/local/include/ITK-5.3/itkVector.h:351:
    In file included from /usr/local/include/ITK-5.3/itkVector.hxx:21:
    In file included from /usr/local/include/ITK-5.3/itkMath.h:32:
    /usr/local/include/ITK-5.3/itkMathDetail.h:317:10: error: use of undeclared identifier '_mm_cvtsd_si64'
      return _mm_cvtsd_si64(_mm_set_sd(x));
             ^
    /usr/local/include/ITK-5.3/itkMathDetail.h:326:10: error: use of undeclared identifier '_mm_cvtss_si64'; did you mean '_mm_cvtss_si32'?
      return _mm_cvtss_si64(_mm_set_ss(x));
             ^
    /usr/lib/clang/14.0.5/include/xmmintrin.h:1306:1: note: '_mm_cvtss_si32' declared here
    _mm_cvtss_si32(__m128 __a)
    ^
    2 errors generated.
    

    Versions

    InsightToolkit-5.3.r04 Alizams-1.8.3-34-ge36859b clang-14 FreeBSD 13.1

  • Arithmetic overflow in nifti_read_subregion_image

    Arithmetic overflow in nifti_read_subregion_image

    S. nifti_read_subregion_image

    int nifti_read_subregion_image( nifti_image * nim,
                                    const int *start_index,
                                    const int *region_size,
                                    void ** data )
    {
    ...
      long int bytes = 0;           /* total # bytes read */
    ...
      return bytes;
    }
    

    The value returned e.g. in itkNiftiLargeImageRegionReadTest is wrong, 2 x 1029 x 1029 x 1017 is larger than int32 can store (in particular case the function returns -2141284702). It has low influence in itkNiftiImageIO because the return value is only checked to be != -1. (But it can have impact if the return value will be accidentally clamped to -1). This could be (not 100% sure) the reason for defects (ILLEGAL, SIGTRAP) detected by the extended (-fstack-protector-all -ftrapv, etc, sanitizer) macOS debug builds (if i remember correctly -ftrapv can detect overflows).

    S. https://github.com/issakomi/nifti_clib/commit/8c425fe4f407f998073e0c01b5ad9ab3bd55e0a3

  • Fix new warning STL4037 raised by VS2022

    Fix new warning STL4037 raised by VS2022

    Example error message:

    M:\Dashboard\ITK\Modules\Core\Common\src\itkNumericTraits.cxx(77,85): warning C4996: 'std::complex<char>::complex': warning STL4037: The effect of instantiating the template std::complex for any type other than float, double, or long double is unspecified. You can define _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING to suppress this warning. [M:\Dashboard\ITK-build\Modules\Core\Common\src\ITKCommon.vcxproj]

    PR Checklist

    • [ ] No API changes were made (or the changes have been approved)
    • [x] No major design changes were made (or the changes have been approved)
    • [ ] Added test (or behavior not changed)
  • Update content links to use Content Identifiers (CIDs)

    Update content links to use Content Identifiers (CIDs)

    Description

    Migrate data to IPFS and remove existing .md5 and .sha512 testing data content link identifiers and use .cid content link identifiers.

    Since every local Git repository contains a copy of the entire project history, it is important to avoid adding large binary files directly to the repository. Large binary files added and removed throughout a project's history will cause the repository to become bloated, take up too much disk space, require excessive time and bandwidth to download, etc.

    A solution to this problem which has been adopted by this project, is to store binary files such as images in a separate location outside the Git repository. Then, download the files at build time with CMake.

    A "content link" file contains an identifying Content Identifier (CID). The content link is stored in the Git repository at the path where the file would exist, but with a .cid` extension appended to the file name. CMake will find these content link files at build time, download them from a list of server resources, and create symlinks or copies of the original files at the corresponding location in the build tree.

    Impact analysis

    The Content Identifier (CID) is self-describing hash following the multiformats standard created by the Interplanetary Filesystem (IPFS) community. A file with a CID for its filename is content-verifable. Locating files according to their CID makes content-addressed, as opposed to location-addressed, data exchange possible. This practice is the foundation of the decentralized web, also known as the dWeb or Web3. By adopting Web3, we gain:

    • Permissionless data uploads
    • Robust, redundant storage
    • Local and peer-to-peer storage
    • Scalability
    • Sustainability

    Expected behavior

    Contributors to the examples upload their data through an easy-to-use, permissionless, free service, web3.storage.

    Data used in the examples Git repository is periodically tracked in a dedicated Datalad repository and stored across redundant locations so it can be retrieved from any of the following:

    • Local IPFS nodes
    • Peer IPFS nodes
    • web3.storage
    • estuary.tech
    • pinata.cloud
    • Kitware's HTTP Server

    Actual behavior

    We currently have to two content links to support two different hash types -- content identifiers naturally support multiple hash types via multiformats.

    Contributing data storage support currently requires permissions.

    We have limited redundancy. The process for uploading redundant data is difficult and time consuming.

    We do not have testing data distributed in semantically meaningful file tree / file names.

    Community members contributing testing data need to use a complicated, time consuming process.

    Versions

    This updates are planned for ITK 5.4.0

    Additional Information

    This is a follow up for the ITK repository what has already proven to work in itk-wasm / ITKSphinxExamples https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/pull/398

    Steps:

    1. [ ] Migrate CID-enabled ExternalData.cmake into its own repository as a commonly updated resource.
    2. [ ] Integrate CID-enabled ExternalData.cmake into ITK
    3. [ ] Migrate content links to .cid
    4. [ ] Distribute across redundant storage
    5. [ ] Create DataLad ITK testing data repository
    6. [ ] Remove old content links
    7. [ ] Update developer documentation
    8. [ ] Create GitHub Action to push updates to DataLad repository on merge to master?
    9. [ ] Create GitHub Action to push to redundant pinning services when DataLad repository is updated?
    10. [ ] Update maintainer release testing data archive documentation
    11. [ ] Remove old content link infrastructure
  • Name of FastMarching 'Base' filters

    Name of FastMarching 'Base' filters

    Description

    I am not sure if this is the right place to ask this, but here it is anyway. Why is itkFastMarchingImageFilterBase named such? When I read 'itk...Base.h' I assume that it is (maybe) an abstract class from which itkFastMarchingFilter is derived, but surprisingly neither of these two assumptions are true! Am I the only one who finds this confusing?

    The Fast marching module essentially implements the Fast Marching algorithm. There are 2 different implementations of the algorithm in the module. First one (lets call this one 'regular') is implemented in classes itkFastMarchingImageFilter etc. and the second more generalizable implementation (lets call it 'base') in classes itkFastMarchingBase and its subclasses. The 'base' implementation essentially implements the same algorithms expect that it works with generic 'nodes' instead of just voxels of images. As a consequence, we have an itkFastMarchingImageFilterBase and an itkFastMarchingQuadMeshFilterBase and others which are sub-classes of the more generic 'base' version. The 'regular' classes on the other hand are subclass of ImageToImageFilter, so only work for images. What is not clear to me is the reason for naming the generic implementation 'base'.

    Expected coding style

    I propose to rename all the fast marching 'Base' classes to something more appropriate. Perhaps something like 'itkFastMarchingImageDomainFilter' , ...QuadMeshDomainFilter.., etc. unless I am missing something here.

    Versions

    5.2.1

    edit: expanded description

  • When many remote modules are enabled configure fails: No such module:

    When many remote modules are enabled configure fails: No such module: "ITKIOPNG"

    Description

    I tried to enable these remote modules:

    
    Module_AdaptiveDenoising
    Module_itkAnalyzeObjectMap
    Module_AnisotropicDiffusionLBR
    Module_BSplineGradient
    Module_BioCell
    Module_BoneEnhancement
    Module_BoneMorphometry
    Module_Cleaver
    Module_Cuberille
    Module_CudaCommon
    Module_FixedPointInverseDisplacementField
    Module_GenericLabelInterpolator
    Module_GrowCut
    Module_HASI
    Module_HigherOrderAccurateGradient
    Module_IOFDF
    Module_IOMeshSTL
    Module_IOMeshSWC
    Module_IOOpenSlide
    Module_IOScanco
    Module_IOTransformDCMTK
    Module_IsotropicWavelets
    Module_LabelErodeDilate
    Module_LesionSizingToolkit
    Module_itkMGHImageIO
    Module_MeshNoise
    Module_MeshToPolyData
    Module_MinimalPathExtraction
    Module_Montage
    Module_MorphologicalContourInterpolation
    Module_MultipleImageIterator
    Module_ParabolicMorphology
    Module_PerformanceBenchmarking
    Module_PhaseSymmetry
    Module_PolarTransform
    Module_PrincipalComponentsAnalysis
    Module_RLEImage
    Module_RTK
    Module_scifio-imageio
    Module_Shape
    Module_SimpleITKFilters
    Module_SkullStrip
    Module_SmoothingRecursiveYvvGaussianFilter
    Module_SphinxExamples
    Module_SplitComponents
    Module_Strain
    Module_itkSubdivisionQuadEdgeMeshFilter
    Module_TextureFeatures
    Module_Thickness3D
    Module_TotalVariation
    Module_TubeTK
    Module_TwoProjectionRegistration
    Module_Ultrasound
    Module_VariationalRegistration
    Module_VkFFTBackend
    Module_itk-wasm
    

    and configure failed:

    ===>  Configuring for InsightToolkit-5.3.r04
    ===>  Performing out-of-source build
    /bin/mkdir -p /disk-samsung/freebsd-ports/science/InsightToolkit/work/.build
    -- The CXX compiler identification is Clang 14.0.5
    -- The C compiler identification is Clang 14.0.5
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/local/libexec/ccache/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/local/libexec/ccache/cc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Found Git: /disk-samsung/freebsd-ports/science/InsightToolkit/work/.bin/git (found version "2.40.0") 
    -- Performing Test C_HAS_WARNING-Wno-uninitialized
    -- Performing Test C_HAS_WARNING-Wno-uninitialized - Success
    -- Performing Test C_HAS_WARNING-Wno-unused-parameter
    -- Performing Test C_HAS_WARNING-Wno-unused-parameter - Success
    -- Performing Test C_HAS_WARNING-Wall
    -- Performing Test C_HAS_WARNING-Wall - Success
    -- Performing Test C_HAS_WARNING-Wno-long-double
    -- Performing Test C_HAS_WARNING-Wno-long-double - Failed
    -- Performing Test C_HAS_WARNING-Wcast-align
    -- Performing Test C_HAS_WARNING-Wcast-align - Success
    -- Performing Test C_HAS_WARNING-Wdisabled-optimization
    -- Performing Test C_HAS_WARNING-Wdisabled-optimization - Success
    -- Performing Test C_HAS_WARNING-Wextra
    -- Performing Test C_HAS_WARNING-Wextra - Success
    -- Performing Test C_HAS_WARNING-Wformat_2
    -- Performing Test C_HAS_WARNING-Wformat_2 - Success
    -- Performing Test C_HAS_WARNING-Winvalid-pch
    -- Performing Test C_HAS_WARNING-Winvalid-pch - Success
    -- Performing Test C_HAS_WARNING-Wno-format-nonliteral
    -- Performing Test C_HAS_WARNING-Wno-format-nonliteral - Success
    -- Performing Test C_HAS_WARNING-Wpointer-arith
    -- Performing Test C_HAS_WARNING-Wpointer-arith - Success
    -- Performing Test C_HAS_WARNING-Wshadow
    -- Performing Test C_HAS_WARNING-Wshadow - Success
    -- Performing Test C_HAS_WARNING-Wunused
    -- Performing Test C_HAS_WARNING-Wunused - Success
    -- Performing Test C_HAS_WARNING-Wwrite-strings
    -- Performing Test C_HAS_WARNING-Wwrite-strings - Success
    -- Performing Test C_HAS_WARNING-funit-at-a-time
    -- Performing Test C_HAS_WARNING-funit-at-a-time - Success
    -- Performing Test C_HAS_WARNING-Wno-strict-overflow
    -- Performing Test C_HAS_WARNING-Wno-strict-overflow - Success
    -- Performing Test CXX_HAS_WARNING-Wall
    -- Performing Test CXX_HAS_WARNING-Wall - Success
    -- Performing Test CXX_HAS_WARNING-Wno-long-double
    -- Performing Test CXX_HAS_WARNING-Wno-long-double - Failed
    -- Performing Test CXX_HAS_WARNING-Wcast-align
    -- Performing Test CXX_HAS_WARNING-Wcast-align - Success
    -- Performing Test CXX_HAS_WARNING-Wdisabled-optimization
    -- Performing Test CXX_HAS_WARNING-Wdisabled-optimization - Success
    -- Performing Test CXX_HAS_WARNING-Wextra
    -- Performing Test CXX_HAS_WARNING-Wextra - Success
    -- Performing Test CXX_HAS_WARNING-Wformat_2
    -- Performing Test CXX_HAS_WARNING-Wformat_2 - Success
    -- Performing Test CXX_HAS_WARNING-Winvalid-pch
    -- Performing Test CXX_HAS_WARNING-Winvalid-pch - Success
    -- Performing Test CXX_HAS_WARNING-Wno-format-nonliteral
    -- Performing Test CXX_HAS_WARNING-Wno-format-nonliteral - Success
    -- Performing Test CXX_HAS_WARNING-Wpointer-arith
    -- Performing Test CXX_HAS_WARNING-Wpointer-arith - Success
    -- Performing Test CXX_HAS_WARNING-Wshadow
    -- Performing Test CXX_HAS_WARNING-Wshadow - Success
    -- Performing Test CXX_HAS_WARNING-Wunused
    -- Performing Test CXX_HAS_WARNING-Wunused - Success
    -- Performing Test CXX_HAS_WARNING-Wwrite-strings
    -- Performing Test CXX_HAS_WARNING-Wwrite-strings - Success
    -- Performing Test CXX_HAS_WARNING-funit-at-a-time
    -- Performing Test CXX_HAS_WARNING-funit-at-a-time - Success
    -- Performing Test CXX_HAS_WARNING-Wno-strict-overflow
    -- Performing Test CXX_HAS_WARNING-Wno-strict-overflow - Success
    -- Performing Test CXX_HAS_WARNING-Wno-deprecated
    -- Performing Test CXX_HAS_WARNING-Wno-deprecated - Success
    -- Performing Test CXX_HAS_WARNING-Wno-invalid-offsetof
    -- Performing Test CXX_HAS_WARNING-Wno-invalid-offsetof - Success
    -- Performing Test CXX_HAS_WARNING-Wno-undefined-var-template
    -- Performing Test CXX_HAS_WARNING-Wno-undefined-var-template - Success
    -- Performing Test CXX_HAS_WARNING-Woverloaded-virtual
    -- Performing Test CXX_HAS_WARNING-Woverloaded-virtual - Success
    -- Performing Test CXX_HAS_WARNING-Wstrict-null-sentinel
    -- Performing Test CXX_HAS_WARNING-Wstrict-null-sentinel - Failed
    --  The remote module: https://github.com/ntustison/ITKAdaptiveDenoising.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/AdaptiveDenoising
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/AnisotropicDiffusionLBR
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKBSplineGradient.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/BSplineGradient
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKBioCell.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/BioCell
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKBoneEnhancement.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/BoneEnhancement
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKBoneMorphometry.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/BoneMorphometry
    --  The remote module: https://github.com/SCIInstitute/ITKCleaver.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/Cleaver
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKCuberille.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/Cuberille
    --  The remote module: https://github.com/SimonRit/ITKCudaCommon.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/CudaCommon
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKFixedPointInverseDisplacementField.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/FixedPointInverseDisplacementField
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/GenericLabelInterpolator
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKGrowCut.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/GrowCut
    --  The remote module: https://github.com/KitwareMedical/HASI.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/HASI
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKHigherOrderAccurateGradient.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/HigherOrderAccurateGradient
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKIOFDF.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/IOFDF
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKIOMeshSTL.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/IOMeshSTL
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKIOMeshSWC.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/IOMeshSWC
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKIOOpenSlide.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/IOOpenSlide
    --  The remote module: https://github.com/KitwareMedical/ITKIOScanco.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/IOScanco
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKIOTransformDCMTK.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/IOTransformDCMTK
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKIsotropicWavelets.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/IsotropicWavelets
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/LabelErodeDilate
    --  The remote module: https://github.com/InsightSoftwareConsortium/LesionSizingToolkit.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/LesionSizingToolkit
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKMeshNoise.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/MeshNoise
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/MeshToPolyData
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKMinimalPathExtraction.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/MinimalPathExtraction
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKMontage.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/Montage
    --  The remote module: https://github.com/KitwareMedical/ITKMorphologicalContourInterpolation.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/MorphologicalContourInterpolation
    --  The remote module: https://github.com/KitwareMedical/MultipleImageIterator.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/MultipleImageIterator
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/ParabolicMorphology
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKPerformanceBenchmarking.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/PerformanceBenchmarking
    --  The remote module: https://github.com/KitwareMedical/ITKPhaseSymmetry.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/PhaseSymmetry
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKPolarTransform.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/PolarTransform
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKPrincipalComponentsAnalysis.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/PrincipalComponentsAnalysis
    --  The remote module: https://github.com/KitwareMedical/ITKRLEImage.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/RLEImage
    --  The remote module: https://github.com/SimonRit/RTK.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/RTK
    --  The remote module: https://github.com/SlicerSALT/ITKShape.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/Shape
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKSimpleITKFilters.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/SimpleITKFilters
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKSkullStrip.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/SkullStrip
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKSmoothingRecursiveYvvGaussianFilter.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/SmoothingRecursiveYvvGaussianFilter
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKSphinxExamples.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/SphinxExamples
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKSplitComponents.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/SplitComponents
    --  The remote module: https://github.com/KitwareMedical/ITKStrain.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/Strain
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKTextureFeatures.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/TextureFeatures
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKThickness3D.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/Thickness3D
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKTotalVariation.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/TotalVariation
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKTubeTK.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/TubeTK
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKTwoProjectionRegistration.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/TwoProjectionRegistration
    --  The remote module: https://github.com/KitwareMedical/ITKUltrasound.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/Ultrasound
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKVariationalRegistration.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/VariationalRegistration
    --  The remote module: https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend.git is cloned into the directory /disk-samsung/freebsd-ports/science/InsightToolkit/work/ITK-5.3rc04/Modules/Remote/VkFFTBackend
    -- Running module dependency checks
    -- Enabled AdaptiveDenoising, requested by Module_AdaptiveDenoising.
    -- Enabled AnisotropicDiffusionLBR, requested by Module_AnisotropicDiffusionLBR.
    -- Enabled BSplineGradient, requested by Module_BSplineGradient.
    -- Enabled BioCell, requested by Module_BioCell.
    -- Enabled BoneEnhancement, requested by Module_BoneEnhancement.
    -- Enabled BoneMorphometry, requested by Module_BoneMorphometry.
    -- Enabled Cleaver, requested by Module_Cleaver.
    -- Enabled Cuberille, requested by Module_Cuberille.
    -- Enabled CudaCommon, requested by Module_CudaCommon.
    -- Enabled FixedPointInverseDisplacementField, requested by Module_FixedPointInverseDisplacementField.
    -- Enabled GenericLabelInterpolator, requested by Module_GenericLabelInterpolator.
    -- Enabled GrowCut, requested by Module_GrowCut.
    -- Enabled HASI, requested by Module_HASI.
    -- Enabled HigherOrderAccurateGradient, requested by Module_HigherOrderAccurateGradient.
    -- Enabled IOFDF, requested by Module_IOFDF.
    -- Enabled IOMeshSTL, requested by Module_IOMeshSTL.
    -- Enabled IOMeshSWC, requested by Module_IOMeshSWC.
    -- Enabled IOOpenSlide, requested by Module_IOOpenSlide.
    -- Enabled IOScanco, requested by Module_IOScanco.
    -- Enabled IOTransformDCMTK, requested by Module_IOTransformDCMTK.
    -- Enabled ITKAnisotropicSmoothing, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKAntiAlias, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKBiasCorrection, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKBinaryMathematicalMorphology, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKClassifiers, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKColormap, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKCommon, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKConnectedComponents, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKConvolution, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKCurvatureFlow, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKDCMTK, needed by [IOTransformDCMTK].
    -- Enabled ITKDICOMParser, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKDeconvolution, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKDeformableMesh, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKDenoising, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKDiffusionTensorImage, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKDisplacementField, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKDistanceMap, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKDoubleConversion, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKEigen, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKEigen3, needed by [ITKCommon;TotalVariation;Ultrasound].
    -- Enabled ITKExpat, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKFFT, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKFastMarching, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKFiniteDifference, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKGDCM, needed by [ITKIOGDCM;RTK].
    -- Enabled ITKGIFTI, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKGPUAnisotropicSmoothing, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKGPUCommon, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKGPUFiniteDifference, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKGPUImageFilterBase, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKGPUPDEDeformableRegistration, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKGPURegistrationCommon, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKGPUSmoothing, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKGPUThresholding, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKGoogleTest, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKHDF5, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOBMP, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOBioRad, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOBruker, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOCSV, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOGDCM, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOGE, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOGIPL, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOHDF5, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOIPL, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOImageBase, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOJPEG, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOJPEG2000, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOLSM, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOMINC, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOMRC, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOMesh, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOMeshBYU, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOMeshBase, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOMeshFreeSurfer, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOMeshGifti, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOMeshOBJ, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOMeshOFF, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOMeshVTK, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOMeta, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIONIFTI, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIONRRD, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOPNG, requested by Module_ITKIOPNG.
    -- Enabled ITKIORAW, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOSiemens, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOSpatialObjects, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOStimulate, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOTIFF, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOTransformBase, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOTransformHDF5, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOTransformInsightLegacy, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOTransformMINC, requested by Module_ITKIOTransformMINC.
    -- Enabled ITKIOTransformMatlab, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOVTK, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIOXML, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageAdaptors, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageCompare, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageCompose, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageFeature, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageFilterBase, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageFrequency, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageFunction, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageFusion, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageGradient, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageGrid, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageIntensity, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageLabel, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageNoise, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageSources, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKImageStatistics, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKIntegratedTest, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKJPEG, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKKLMRegionGrowing, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKKWSys, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKLIBLBFGS, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKLabelMap, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKLabelVoting, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKLevelSets, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKLevelSetsv4, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKMINC, needed by [ITKIOMINC;ITKIOTransformMINC].
    -- Enabled ITKMarkovRandomFieldsClassifiers, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKMathematicalMorphology, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKMesh, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKMetaIO, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKMetricsv4, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKNIFTI, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKNarrowBand, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKNetlib, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKNrrdIO, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKOpenJPEG, needed by [ITKIOJPEG2000;ITKReview].
    -- Enabled ITKOptimizers, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKOptimizersv4, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKPDEDeformableRegistration, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKPNG, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKPath, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKPolynomials, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKQuadEdgeMesh, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKQuadEdgeMeshFiltering, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKRegionGrowing, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKRegistrationCommon, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKRegistrationMethodsv4, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKReview, requested by Module_ITKReview.
    -- Enabled ITKSignedDistanceFunction, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKSmoothing, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKSpatialFunction, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKSpatialObjects, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKStatistics, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKSuperPixel, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKTIFF, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKTestKernel, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKThresholding, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKTransform, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKTransformFactory, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKVNL, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKVNLInstantiation, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKVTK, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKVideoCore, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKVideoFiltering, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKVideoIO, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKVoronoi, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKVtkGlue, needed by [LesionSizingToolkit].
    -- Enabled ITKWatersheds, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled ITKZLIB, requested by ITK_BUILD_DEFAULT_MODULES.
    -- Enabled IsotropicWavelets, requested by Module_IsotropicWavelets.
    -- Enabled LabelErodeDilate, requested by Module_LabelErodeDilate.
    -- Enabled LesionSizingToolkit, requested by Module_LesionSizingToolkit.
    -- Enabled MeshNoise, requested by Module_MeshNoise.
    -- Enabled MeshToPolyData, requested by Module_MeshToPolyData.
    -- Enabled MinimalPathExtraction, requested by Module_MinimalPathExtraction.
    -- Enabled Montage, requested by Module_Montage.
    -- Enabled MorphologicalContourInterpolation, requested by Module_MorphologicalContourInterpolation.
    -- Enabled MultipleImageIterator, requested by Module_MultipleImageIterator.
    -- Enabled ParabolicMorphology, requested by Module_ParabolicMorphology.
    -- Enabled PerformanceBenchmarking, requested by Module_PerformanceBenchmarking.
    -- Enabled PhaseSymmetry, requested by Module_PhaseSymmetry.
    -- Enabled PolarTransform, requested by Module_PolarTransform.
    -- Enabled PrincipalComponentsAnalysis, requested by Module_PrincipalComponentsAnalysis.
    -- Enabled RLEImage, requested by Module_RLEImage.
    -- Enabled RTK, requested by Module_RTK.
    -- Enabled Shape, requested by Module_Shape.
    -- Enabled SimpleITKFilters, requested by Module_SimpleITKFilters.
    -- Enabled SkullStrip, requested by Module_SkullStrip.
    -- Enabled SmoothingRecursiveYvvGaussianFilter, requested by Module_SmoothingRecursiveYvvGaussianFilter.
    -- Enabled SphinxExamples, requested by Module_SphinxExamples.
    -- Enabled SplitComponents, requested by Module_SplitComponents.
    -- Enabled Strain, requested by Module_Strain.
    -- Enabled TextureFeatures, requested by Module_TextureFeatures.
    -- Enabled Thickness3D, requested by Module_Thickness3D.
    -- Enabled TotalVariation, requested by Module_TotalVariation.
    -- Enabled TubeTK, requested by Module_TubeTK.
    -- Enabled TwoProjectionRegistration, requested by Module_TwoProjectionRegistration.
    -- Enabled Ultrasound, requested by Module_Ultrasound.
    -- Enabled VariationalRegistration, requested by Module_VariationalRegistration.
    -- Enabled VkFFTBackend, requested by Module_VkFFTBackend.
    -- Double correction test returned: 89255.0/1e22 = 8.9255e-18
    -- Checking whether wstring is available
    -- Checking whether wstring is available - yes
    -- Checking whether C compiler has ptrdiff_t in stddef.h
    -- Checking whether C compiler has ptrdiff_t in stddef.h - yes
    -- Checking whether C compiler has ssize_t in unistd.h
    -- Checking whether C compiler has ssize_t in unistd.h - yes
    -- Checking whether C compiler has clock_gettime
    -- Checking whether C compiler has clock_gettime - yes
    -- Checking whether CXX compiler has setenv
    -- Checking whether CXX compiler has setenv - yes
    -- Checking whether CXX compiler has unsetenv
    -- Checking whether CXX compiler has unsetenv - yes
    -- Checking whether CXX compiler has environ in stdlib.h
    -- Checking whether CXX compiler has environ in stdlib.h - no
    -- Checking whether CXX compiler has utimes
    -- Checking whether CXX compiler has utimes - yes
    -- Checking whether CXX compiler has utimensat
    -- Checking whether CXX compiler has utimensat - yes
    -- Checking whether CXX compiler struct stat has st_mtim member
    -- Checking whether CXX compiler struct stat has st_mtim member - yes
    -- Checking whether CXX compiler struct stat has st_mtimespec member
    -- Checking whether CXX compiler struct stat has st_mtimespec member - yes
    -- Looking for include files sys/types.h, ifaddrs.h
    -- Looking for include files sys/types.h, ifaddrs.h - found
    -- Looking for include file machine/cpu.h
    -- Looking for include file machine/cpu.h - not found
    -- Checking whether CXX compiler has rlimit64
    -- Checking whether CXX compiler has rlimit64 - no
    -- Looking for C++ include execinfo.h
    -- Looking for C++ include execinfo.h - found
    -- Checking whether backtrace works with this C++ compiler
    -- Checking whether backtrace works with this C++ compiler - yes
    -- Looking for C++ include dlfcn.h
    -- Looking for C++ include dlfcn.h - found
    -- Checking whether dladdr works with this C++ compiler
    -- Checking whether dladdr works with this C++ compiler - yes
    -- Looking for C++ include cxxabi.h
    -- Looking for C++ include cxxabi.h - found
    -- Checking whether cxxabi works with this C++ compiler
    -- Checking whether cxxabi works with this C++ compiler - yes
    -- Checking whether CXX compiler has getloadavg
    -- Checking whether CXX compiler has getloadavg - yes
    -- Checking whether <ext/stdio_filebuf.h> is available
    -- Checking whether <ext/stdio_filebuf.h> is available - no
    -- Performing Test VXL_UNISTD_USLEEP_IS_VOID
    -- Performing Test VXL_UNISTD_USLEEP_IS_VOID - Success
    -- Performing Test VCL_HAS_LFS
    -- Performing Test VCL_HAS_LFS - Success
    -- Performing Test VXL_HAS_DBGHELP_H
    -- Performing Test VXL_HAS_DBGHELP_H - Failed
    -- Performing Test VXL_PIC_COMPATIBLE
    -- Performing Test VXL_PIC_COMPATIBLE - Success
    -- Looking for C++ include emmintrin.h
    -- Looking for C++ include emmintrin.h - found
    -- Looking for include file assert.h
    -- Looking for include file assert.h - found
    -- Looking for include file pthread.h
    -- Looking for include file pthread.h - found
    -- Looking for include file semaphore.h
    -- Looking for include file semaphore.h - found
    -- Looking for include file dlfcn.h
    -- Looking for include file dlfcn.h - found
    -- Looking for include file fcntl.h
    -- Looking for include file fcntl.h - found
    -- Looking for include file inttypes.h
    -- Looking for include file inttypes.h - found
    -- Looking for include file limits.h
    -- Looking for include file limits.h - found
    -- Looking for include file malloc.h
    -- Looking for include file malloc.h - found
    -- Looking for include file memory.h
    -- Looking for include file memory.h - found
    -- Looking for include file search.h
    -- Looking for include file search.h - found
    -- Looking for include file stdint.h
    -- Looking for include file stdint.h - found
    -- Looking for include file stdlib.h
    -- Looking for include file stdlib.h - found
    -- Looking for include file strings.h
    -- Looking for include file strings.h - found
    -- Looking for include file string.h
    -- Looking for include file string.h - found
    -- Looking for include file sys/stat.h
    -- Looking for include file sys/stat.h - found
    -- Looking for include file sys/times.h
    -- Looking for include file sys/times.h - found
    -- Looking for include file sys/types.h
    -- Looking for include file sys/types.h - found
    -- Looking for include file unistd.h
    -- Looking for include file unistd.h - found
    -- Performing Test VXL_HAS_SSE2_HARDWARE_SUPPORT
    -- Performing Test VXL_HAS_SSE2_HARDWARE_SUPPORT - Success
    -- Performing Test VXL_HAS_MM_MALLOC
    -- Performing Test VXL_HAS_MM_MALLOC - Success
    -- Performing Test VXL_HAS_ALIGNED_MALLOC
    -- Performing Test VXL_HAS_ALIGNED_MALLOC - Failed
    -- Performing Test VXL_HAS_MINGW_ALIGNED_MALLOC
    -- Performing Test VXL_HAS_MINGW_ALIGNED_MALLOC - Failed
    -- Performing Test VXL_HAS_POSIX_MEMALIGN
    -- Performing Test VXL_HAS_POSIX_MEMALIGN - Failed
    -- Looking for 8-bit int. [Checking char...]
    -- Looking for 8-bit int. Found char.
    -- Looking for 8-bit int. [Checking short...]
    -- Looking for 8-bit int. [Checking char...]
    -- Looking for 8-bit int. Found char.
    -- Looking for 16-bit int. [Checking char...]
    -- Looking for 16-bit int. [Checking int...]
    -- Looking for 16-bit int. [Checking short...]
    -- Looking for 16-bit int. Found short.
    -- Looking for 32-bit int. [Checking short...]
    -- Looking for 32-bit int. [Checking long...]
    -- Looking for 32-bit int. [Checking int...]
    -- Looking for 32-bit int. Found int.
    -- Looking for 64-bit int. [Checking __int64...]
    -- Looking for 64-bit int. [Checking long long...]
    -- Looking for 64-bit int. [Checking long...]
    -- Looking for 64-bit int. Found long.
    -- Looking for 32-bit float. [Checking long double...]
    -- Looking for 32-bit float. [Checking double...]
    -- Looking for 32-bit float. [Checking float...]
    -- Looking for 32-bit float. Found float.
    -- Looking for 64-bit float. [Checking float...]
    -- Looking for 64-bit float. [Checking long double...]
    -- Looking for 64-bit float. [Checking double...]
    -- Looking for 64-bit float. Found double.
    -- Looking for 96-bit float. [Checking float...]
    -- Looking for 96-bit float. [Checking double...]
    -- Looking for 96-bit float. [Checking long double...]
    -- Looking for 96-bit float. Not found.
    -- Looking for 128-bit float. [Checking float...]
    -- Looking for 128-bit float. [Checking double...]
    -- Looking for 128-bit float. [Checking long double...]
    -- Looking for 128-bit float. Found long double.
    -- Looking for C++ include unistd.h
    -- Looking for C++ include unistd.h - found
    -- Looking for useconds_t
    -- Looking for useconds_t - found
    -- Looking for intptr_t
    -- Looking for intptr_t - found
    -- Looking for ualarm
    -- Looking for ualarm - found
    -- Looking for usleep
    -- Looking for usleep - found
    -- Looking for lchown
    -- Looking for lchown - found
    -- Looking for pread
    -- Looking for pread - found
    -- Looking for pwrite
    -- Looking for pwrite - found
    -- Looking for tell
    -- Looking for tell - not found
    -- Looking for getpid
    -- Looking for getpid - found
    -- Looking for gethostname
    -- Looking for gethostname - found
    -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
    -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
    -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
    -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
    -- Performing Test COMPILER_HAS_DEPRECATED_ATTR
    -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
    -- Looking for pthread_create in pthreads
    -- Looking for pthread_create in pthreads - not found
    -- Looking for pthread_create in pthread
    -- Looking for pthread_create in pthread - found
    -- Found Threads: TRUE  
    -- Checking to see if this platform has the __FUNCTION__ C-Preprocessor directive
    -- Checking to see if this platform supports has the __FUNCTION__ C-Preprocessor directive - yes
    -- Looking for include file fenv.h
    -- Looking for include file fenv.h - found
    -- Performing Test ITK_PRIVATE_DYNAMIC_CAST - Failed
    -- Found ZLIB: /usr/lib/libz.so (found version "1.2.12") 
    -- Found EXPAT: /usr/local/lib/libexpat.so (found version "2.5.0") 
    CMake Error at CMake/ITKModuleAPI.cmake:78 (message):
      No such module: "ITKIOPNG"
    Call Stack (most recent call first):
      CMake/ITKModuleAPI.cmake:31 (itk_module_load)
      CMake/ITKModuleAPI.cmake:129 (_itk_module_config_recurse)
      /disk-samsung/freebsd-ports/science/InsightToolkit/work/.build/CMakeTmp/ITKConfig.cmake:47 (itk_module_config)
      Modules/Remote/AnisotropicDiffusionLBR/examples/CMakeLists.txt:5 (find_package)
    

    Versions

    Version: 5.3rc04 FreeBSD 13.1

the implementations of 'Parzen-Window Based Normalized Mutual Information for Medical Image Registration'

ImageRegistration_NormalisedMutualInformation 代码复现论文《Parzen-Window Based Normalized Mutual Information for Medical Image Registration》 利用归一化互信息对医学图像进行

Apr 4, 2022
An open source iOS framework for GPU-based image and video processing
An open source iOS framework for GPU-based image and video processing

GPUImage Brad Larson http://www.sunsetlakesoftware.com @bradlarson [email protected] Overview The GPUImage framework is a BSD-licensed iO

Nov 25, 2022
Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, C++ machine learning library designed for real-time gesture recognition.

Gesture Recognition Toolkit (GRT) The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, C++ machine learning library designed for re

Nov 27, 2022
Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit

CNTK Chat Windows build status Linux build status The Microsoft Cognitive Toolkit (https://cntk.ai) is a unified deep learning toolkit that describes

Nov 22, 2022
Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit
Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit

The Microsoft Cognitive Toolkit is a unified deep learning toolkit that describes neural networks as a series of computational steps via a directed graph.

Nov 24, 2022
Super Mario Remake using C++, SFML, and Image Processing which was a project for Structure Programming Course, 1st Year
Super Mario Remake using C++, SFML, and Image Processing which was a project for Structure Programming Course, 1st Year

Super Mario Remake We use : C++ in OOP concepts SFML for game animations and sound effects. Image processing (Tensorflow and openCV) to add additional

Sep 28, 2022
NVIDIA Texture Tools samples for compression, image processing, and decompression.

NVTT 3 Samples This repository contains a number of samples showing how to use NVTT 3, a GPU-accelerated texture compression and image processing libr

Nov 16, 2022
A easy-to-use image processing library accelerated with CUDA on GPU.

gpucv Have you used OpenCV on your CPU, and wanted to run it on GPU. Did you try installing OpenCV and get frustrated with its installation. Fret not

Aug 14, 2021
ClanLib is a cross platform C++ toolkit library.

ClanLib ClanLib is a cross platform toolkit library with a primary focus on game creation. The library is Open Source and free for commercial use, und

Nov 24, 2022
Portrait segmentation in your web browser with ncnn and webassembly

ncnn-webassembly-portrait-segmentation open https://nihui.github.io/ncnn-webassembly-portrait-segmentation and enjoy build and deploy Install emscript

Sep 21, 2022
Android face detect and segmentation by ncnn
Android face detect and segmentation by ncnn

Android face detect and segmentation by ncnn

Nov 10, 2022
Ground segmentation and point cloud clustering based on CVC(Curved Voxel Clustering)

my_detection Ground segmentation and point cloud clustering based on CVC(Curved Voxel Clustering) 本项目使用设置地面坡度阈值的方法,滤除地面点,使用三维弯曲体素聚类法完成点云的聚类,包围盒参数由Apol

Jul 15, 2022
A c++ trainable semantic segmentation library based on libtorch (pytorch c++). Backbone: ResNet, ResNext. Architecture: FPN, U-Net, PAN, LinkNet, PSPNet, DeepLab-V3, DeepLab-V3+ by now.
A c++ trainable semantic segmentation library based on libtorch (pytorch c++). Backbone: ResNet, ResNext. Architecture: FPN, U-Net, PAN, LinkNet, PSPNet, DeepLab-V3, DeepLab-V3+ by now.

中文 C++ library with Neural Networks for Image Segmentation based on LibTorch. The main features of this library are: High level API (just a line to cr

Nov 21, 2022
⚡️Real-time portrait segmentation
⚡️Real-time portrait segmentation

ncnn-portrait-segmentation ⚡️ Real-time portrait segmentation This project provides real-time human segmentation based on CPU. Requirements ncnn openc

Oct 27, 2022
Android hair/human segmentation demo by ncnn
Android hair/human segmentation demo by ncnn

ncnn_Android_human Android hair/human segmentation demo by ncnn PS:performance maybe poor.it's just a demo:) Reference: 1.https://github.com/Tencent/n

May 23, 2022
Official page of "Patchwork: Concentric Zone-based Region-wise Ground Segmentation with Ground Likelihood Estimation Using a 3D LiDAR Sensor"
Official page of

Patchwork Official page of "Patchwork: Concentric Zone-based Region-wise Ground Segmentation with Ground Likelihood Estimation Using a 3D LiDAR Sensor

Nov 23, 2022
segformer semantic segmentation infer by tengine
segformer semantic segmentation infer by tengine

Segformer-tengine Segformer semantic segmentation infer by tengine 前言: 记录一下Segformer部署在tengine上的折腾过程 - 小飞飞的文章 - 知乎 https://zhuanlan.zhihu.com/p/397735

Jun 18, 2022
An implementation on Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process.
An implementation on Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process.

An implementation on "Shen Z, Liang H, Lin L, Wang Z, Huang W, Yu J. Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process. Remote Sensing. 2021; 13(16):3239. https://doi.org/10.3390/rs13163239"

Nov 18, 2022
A LiDAR point cloud cluster for panoptic segmentation
A LiDAR point cloud cluster for panoptic segmentation

Divide-and-Merge-LiDAR-Panoptic-Cluster A demo video of our method with semantic prior: More information will be coming soon! As a PhD student, I don'

Nov 24, 2022