Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: Update ITK from v4.13 to v5.0rc1, Update BRAINSTools and SimpleITK #1096

Closed
wants to merge 1 commit into from

Conversation

phcerdan
Copy link

@phcerdan phcerdan commented Mar 6, 2019

To help extension developers transition their code base, a migration guide is also
available on the wiki.
See https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/MigrationGuide/ITK4-to-ITK5

This commit implements the following changes

  • Compatibility with refactor of threading models in ITK: Fix compilation
    using ProcessingThreader class instead of PlatformMultiThreader.
    ITKv5 reorganized the multi-threading capabilities of ITK into a more modular organization
    and naming to support several modern parallelism paradigms.

    Note that these changes allow Slicer to compile with ITKv5, but does not take advantage
    of any enhancement supporting new threading models. ProcessingThreader
    is still the old-renamed PlatformMultiThreader.

    These changes were originally associated with PR FastMarching crashes when applied to segment two different volumes in a row Slicer#1057

  • Fix compilation issue related to ComputeJacobianWithRespectToPosition parameter mismatch.

    ITKv5 change the argument of some transform functions from JacobianType to JacobianPositionType.
    This fixes the new signatures.

    These changes were originally associated with PR about loading DTI dicom Siemens 3T images in Diffusion MR Slicer3 analysis Slicer#1055

List of BRAINSTools changes:

$ git shortlog --no-merges b045970..ac4dafaa

[...]

List of SimpleITK changes:

$ git shortlog --no-merges v1.1.0..dc5c1a1d
[...]

Co-authored-by: Pablo Hernandez-Cerdan [email protected]
Co-authored-by: Hans Johnson [email protected]
Co-authored-by: Sam Horvath [email protected]
Co-authored-by: Jean-Christophe Fillion-Robin [email protected]

@hjmjohnson
Copy link
Member

@phcerdan Thanks for pushing this forward. It is long overdue.

@phcerdan phcerdan force-pushed the test_itkv5 branch 2 times, most recently from be05204 to 6f6edd6 Compare March 6, 2019 15:01
@jcfr
Copy link
Member

jcfr commented Mar 6, 2019

Thanks 👍

I suggest to move the update of CMake version into its own Pr that will integrate asap.

The Next steps part of the commit message should be moved into the description part of this PR.

Here is a suggested commit message:

ENH: Update ITK from v4.13 to v5.0rc1, Update BRAINSTools

To help extension developers transition their code base, a migration guide is also
available on the wiki.
See https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/MigrationGuide/ITK4-to-ITK5

This commit implements the following changes

- Compatibility with refactor of threading models in ITK: Fix compilation
  using ProcessingThreader class instead of PlatformMultiThreader.
  ITKv5 reorganized the multi-threading capabilities of ITK into a more modular organization
  and naming to support several modern parallelism paradigms.
  
  Note that these changes allow Slicer to compile with ITKv5, but does not take advantage
  of any enhancement supporting new threading models. ProcessingThreader
  is still the old-renamed PlatformMultiThreader.

  These changes were originally associated with PR https://github.com/Slicer/Slicer/pull/1057

- Fix compilation issue related to ComputeJacobianWithRespectToPosition parameter mismatch.

  ITKv5 change the argument of some transform functions from JacobianType to JacobianPositionType.
  This fixes the new signatures.

  These changes were originally associated with PR https://github.com/Slicer/Slicer/pull/1055

List of BRAINSTools changes:

[...]


Co-authored-by: Hans Johnson <[email protected]>

@jcfr
Copy link
Member

jcfr commented Mar 6, 2019

Should SimpleITK be also updated at the same time ?

@dzenanz
Copy link
Member

dzenanz commented Mar 6, 2019

I think that SimpleITK build against both ITKv4 and ITKv5. If so, it does not have to be updated. @blowekamp is that correct?

@phcerdan
Copy link
Author

phcerdan commented Mar 6, 2019

CMake update of internal projects moved new PR: #1097

@blowekamp
Copy link

blowekamp commented Mar 6, 2019

SimpleITK v1.1 will not work against ITKv5. It will need to be updated to v1.2.0 release. ( Note: there is also [this patch ] (SimpleITK/SimpleITK@88f9e7b) on the SimpleITK release brach which addresses some build issues with the latest XCode which should be included too. )

@phcerdan
Copy link
Author

phcerdan commented Mar 6, 2019

Thanks @blowekamp! I am testing with SimpleITK OFF for now. But will use v1.2.0 release plus the patch. By the way, your link contained a spurious: )on . Fixed: SimpleITK/SimpleITK@88f9e7b

@jcfr
Copy link
Member

jcfr commented Mar 6, 2019

In addition of the suggested commit message update, consider adding @sjh26 as a co-author too:

Co-authored-by: Sam Horvath <[email protected]>

@phcerdan
Copy link
Author

phcerdan commented Mar 6, 2019

Hey @dzenanz, @jcfr are the two commits on top of BRAINSTools here: https://github.com/Slicer/BRAINSTools/commits/slicer-2017-12-09-v4.7.1-b045970 planned to be merged upstream?

@phcerdan phcerdan force-pushed the test_itkv5 branch 2 times, most recently from e8aefa5 to 1326c34 Compare March 6, 2019 18:27
@phcerdan phcerdan changed the title ENH: Add ITKv5 and remove ITKv4 support ENH: Update ITK from v4.13 to v5.0rc1, Update BRAINSTools and SimpleITK Mar 6, 2019
@jcfr
Copy link
Member

jcfr commented Mar 6, 2019

are the two commits on top of BRAINSTools here: https://github.com/Slicer/BRAINSTools/commits/slicer-2017-12-09-v4.7.1-b045970 planned to be merged upstream?

They have already. See BRAINSia/BRAINSTools@a9045b9 and BRAINSia/BRAINSTools@a1e7fab

Next time, we will make sure to label the commit in the fork with [backport]

@dzenanz
Copy link
Member

dzenanz commented Mar 6, 2019

Since you will be moving to the latest ITK, and don't need to provide option to build against ITK 4.x, you might as well move to the latest version of BRAINSTools. @hjmjohnson what do you think?

@jcfr
Copy link
Member

jcfr commented Mar 6, 2019

@dzenanz Thanks for the review 👍

you might as well move to the latest version of BRAINSTools. @hjmjohnson what do you think?

That is the plan. @phcerdan will push an updated branch shortly 🚀

@phcerdan phcerdan force-pushed the test_itkv5 branch 2 times, most recently from 4a0583e to 5d57836 Compare March 6, 2019 21:14
@phcerdan
Copy link
Author

phcerdan commented Mar 6, 2019

Created branches in Slicer for ITK, BRAINSTools and SimpleITK

ITK: updated to rc01 + 1DCMTK patch
BRAINSTools: updated to current master
SimpleITK: update to 1.2.0 + patches (points to current SimpleITK release branch)

@hjmjohnson
Copy link
Member

FYI: I'll do my best to make any changes to BRAINSTools that are necessary.

@jcfr
Copy link
Member

jcfr commented Mar 6, 2019

The rational behind creating branches in the Slicer forks is to avoid full rebuild when applying changes that are being reviewed in the upstream project.

Indeed, changing GIT_REPOSITORY causes the source tree to be removed and cloned again, whereas updating GIT_TAG lead to an update.

@phcerdan
Copy link
Author

phcerdan commented Mar 7, 2019

Testing locally:
Windows:
Problems with ITK module: ITKDeprecated.

"D:\T\Pablo\S-R\ITK-build\Modules\Compatibility\Deprecated\src\ITKDeprecated.vcxproj" (default target) (32) ->
         (Link target) -> 
    10>itkConditionVariable.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) const itk::ConditionVariable::`vftable'" (__imp_??_7ConditionVariable@itk@@6B@) referenced in function "protected: __cdecl itk::ConditionVariable::ConditionVariable(void)" (??0ConditionVariable@itk@@IEAA@XZ) [D:\T\Pablo\S-R\ITK-build\Modules\Compatibility\Deprecated\src\ITKDeprecated.vcxproj] [D:\T\Pablo\S-R\ITK.vcxproj]
    10>itkMutexLock.obj : error LNK2001: unresolved external symbol "public: virtual char const * __cdecl itk::SimpleMutexLock::GetNameOfClass(void)" (?GetNameOfClass@SimpleMutexLock@itk@@UEAAPEBDXZ) [D:\T\Pablo\S-R\ITK-build\Modules\Compatibility\Deprecated\src\ITKDeprecated.vcxproj] [D:\T\Pablo\S-R\ITK.vcxproj]
    10>itkMutexLock.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) const itk::SimpleMutexLock::`vftable'" (__imp_??_7SimpleMutexLock@itk@@6B@) referenced in function "public: __cdecl itk::SimpleMutexLock::SimpleMutexLock(void)" (??0SimpleMutexLock@itk@@QEAA@XZ) [D:\T\Pablo\S-R\ITK-build\Modules\Compatibility\Deprecated\src\ITKDeprecated.vcxproj] [D:\T\Pablo\S-R\ITK.vcxproj]
    10>D:\T\Pablo\S-R\ITK-build\bin\Release\ITKDeprecated-5.0.dll : fatal error LNK1120: 3 unresolved externals [D:\T\Pablo\S-R\ITK-build\Modules\Compatibility\Deprecated\src\ITKDeprecated.vcxproj] [D:\T\Pablo\S-R\ITK.vcxproj]

MacOS:
BRAINSTools requires an increase on the OS_DEPLOYMENT_TARGET to 10.11:
CMAKE_OS_DEPLOYMENT_TARGET=10.11
(Rebuilding)

@jcfr
Copy link
Member

jcfr commented Mar 7, 2019

MacOS: BRAINSTools requires an increase on the OS_DEPLOYMENT_TARGET to 10.11

For reference:

image

@hjmjohnson
Copy link
Member

Note that in TBB 2018 and higher we do not support OS X 10.9, and it is not tested anymore. TBB team recommends you to either switch to 10.11 or stay at an older version of TBB.

As I am trying to incorporate newer versions of TBB to accelerate some processing, I choose to use 10.11 as the base deployment target.

@hjmjohnson
Copy link
Member

From the TBB Changelog file:

Increased minimally supported version of macOS*
(MACOSX_DEPLOYMENT_TARGET) to 10.11.

@jcfr
Copy link
Member

jcfr commented Mar 7, 2019

From the TBB Changelog file:

Increased minimally supported version of macOS*
(MACOSX_DEPLOYMENT_TARGET) to 10.11.

Makes sense. We will most likely target 10.11 as well.

To get an idea of the user base, I also setup a poll. When you have a chance, would appreciate your input:
https://discourse.slicer.org/t/which-version-of-macos-do-you-use-to-run-slicer/6055

To help extension developers transition their code base, a migration guide is also
available on the wiki.
See https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/MigrationGuide/ITK4-to-ITK5

This commit implements the following changes

- Compatibility with refactor of threading models in ITK: Fix compilation
  using ProcessingThreader class instead of PlatformMultiThreader.
  ITKv5 reorganized the multi-threading capabilities of ITK into a more modular organization
  and naming to support several modern parallelism paradigms.

  Note that these changes allow Slicer to compile with ITKv5, but does not take advantage
  of any enhancement supporting new threading models. ProcessingThreader
  is still the old-renamed PlatformMultiThreader.

  These changes were originally associated with PR Slicer/Slicer#1057

- Fix compilation issue related to ComputeJacobianWithRespectToPosition parameter mismatch.

  ITKv5 change the argument of some transform functions from JacobianType to JacobianPositionType.
  This fixes the new signatures.

  These changes were originally associated with PR Slicer/Slicer#1055

List of BRAINSTools changes:

```
git shortlog --no-merges b045970..ac4dafaa
```
```
Alexander Leinoff (1):
      COMP: Allow cmake generation on OSX without XCode

David Ellis (2):
      ENH: Adds logismosb interfaces and workflows
      ENH: Nipype recon-all workflow added

Hans J. Johnson (196):
      ENH: Prefer to build everything as static to avoid libary dependancies.
      ENH: Force the NO_MODULE for RTK.
      ENH: Resyncronized with Slicer packages.
      ENH: Update Opencv
      ENH: Propagate CXX settings to all sub-projects
      ENH: ITK Intermediate update.
      STYLE: Name ITKv5 as target name for dependancies
      ENH: Turn off ITK_LEGACY to prep for ITKv5
      ENH: Update ANTS,RTK and SlicerExecutionModel checkout tags
      COMP: Set VTK version identifier.
      ENH: Updated VTK with C++11 override instrumentation.
      BUG: UseImageSpacing should be defaulted to On
      ENH: Add github templates for PR and ISSUES
      COMP: Disable floating point exceptions checking
      BUG: New ITK enhanced random needs consistency in test.
      ENH: Set random number generated to historical ITK values
      COMP: Make tests pass
      BUG: Fix incorrect DATA{} syntax.
      ENH: Fix pre-mature exit when writing debug image
      STYLE: Minor code organization
      ENH: Setting min cmake version number.
      STYLE: Remove CMake-language block-end command arguments
      STYLE: Convert CMake-language commands to lower case
      COMP: Use recommended const interfaces
      ENH: Explicitly use parameters instead of defaults.
      ENH: Instrument to identify test failures
      COMP: Link to correct version of zlib
      COMP:  Use C++11 nullptr directly
      COMP: Identify null pointer assignments
      COMP:  Use C++11 override directly
      STYLE: Setting override for overriden member functions.
      BUG: Missing data dependancies for test suite
      COMP:  Remove compiler warnings from cnpy
      COMP: BRAINSSurfaceTools are not compiling currently.
      COMP: Remove outdated policies for CMP0017.
      STYLE: Use override statements for C++11
      ENH: Change to https from git download.
      ENH: Set BRAINSABC to always build.
      COMP: Update to new version of tbb
      ENH: Use C++ headers instead of C headers.
      COMP: Missing dependancy on ITKv5
      ENH: Setting deployment target to 10.9 for mac
      ENH: Put BRAINSSuperResolution code together.
      COMP: Attempt to build BRAINSTools for redistribution.
      STYLE: Push parts of codebase into an ARCHIVE dir
      BUG: Provide mechanism to move some modules to the ARCHIVAL status.
      COMP: Remove outdated cmake policy behavior
      ENH: Move old programs to an archive directory
      COMP: Remove shadowed typedefs by using explit namespaces
      ENH: Move BRAINSTalairach to the ARCHIVE Directory.
      ENH: Move BRAINSRefacer to the archive directory.
      ENH: Set ARHIVE project to on if ARCHIVE builds choosen.
      ENH: Add old DicomSignature program to archive
      COMP: Fix building against new GDCM version.
      Update NOTICE
      ENH: Use file introspection to determine BVec file format
      ENH: Remove unnecessary manual read file type flag
      ENH: Add thicknes from spacing when converting from FSL to NRRD.
      ENH: use constant scale factor initialization
      BUG: ITK_VERSION_MAJOR version checking
      ENH: Remove redundant ExternalData.cmake that overrode CMake version.
      STYLE: Prefer constexpr for const numeric literals
      STYLE: Replace itkStaticConstMacro with static constexpr
      STYLE: Prefer constexpr for const numeric literals
      STYLE: Do not use itkGetStaticConstMacro in ITK
      ENH: Update to ITKv5 with using over typedefs.
      ENH: Update dependancies for BRAINSTools.
      COMP: Wrong name specified for target_properties.
      BUG: regex substitution failure for const
      COMP: Silence build warning about unused CMAKE_EXPORT_COMPILE_COMMANDS
      COMP: Cleanup build options for BRAINSTools
      ENH: Organized for project name setting.
      ENH: Improve CXX_STANDARDS checking logic
      ENH: Remove outdated ITKv3 configuration checking.
      ENH: Set GENERATECLP_USE_MD5 unconditionally.
      STYLE: Organize build default settings.
      ENH: Use explicit named mark_as_superbuild parameters.
      ENH: Add better debugging to version checking.
      ENH: Improve version settings for BRAINSTools
      ENH: Use MultiThreaderBase to get GlobalVariables.
      ENH: Provide new baseline for BRAINSFitTest_RigidRotGeomNoMasks
      ENH: Prevent constant changes as patches are added
      BUG: Prevent constant changes as patches are added
      ENH: Fixed tests failures due to incorrect testing environments
      ENH: Syncronized external superbuilds with Slicer.
      ENH: Convert BRAINSCut python to python 3
      ENH: Convert all python code to python 3 conformance
      ENH: Version 5.0.0 of BRAINSTools
      ENH: Allow for compressed transform files.
      ENH: Reorganize python code to be compliant with Python3 modules
      BUG: New versions of ANTs have slightly different options
      BUG: Fix new nipype behavior of data sink with missing values.
      ENH: Consolodate duplicate functions
      ENH: Fix simple itk usage failure.
      STYLE: Update comments.
      BUG: Nipype needs OrderedDict for hash consistency
      ENH: Passing dict() or OrderedDict() through pipeline causes hashing issues
      BUG: Incorrect debugging option retained for None images
      ENH: Allow for possiblility of compiling with ITKv4
      ENH: Update ITKv5 to version with UseCompression for transforms.
      ENH: Update to latest version of boost.
      BUG: Fix bug in mark_as_superbuild PROJECT->PROJECTS
      BUG: Error in caused mark_as_superbuild items to be missed
      ENH: Sync with slicer mark_as_superbuild options.
      ENH: Re-organize build option settings
      STYLE: Reviewed and cleaned up superbuild
      ENH: Updated  static version string setting.
      COMP: Add quick -march=native compiler flag adding
      ENH: Remove unnecessary build code for superbuild.
      ENH: Syncronized with NAMICExternalProjects build.
      ENH: Propogate default /lib /bin directories to all projects
      BUG: Bad hash for scan3Mask1.nii.gz.md5.
      ENH: Unlink ITK from VTK GUI build.
      COMP: HD5 changed API for printing Errors.
      COMP: Remove unused variables.
      COMP: ITKv5 updates for JPEG2000.
      ENH: Updated packages for improved C++11.
      ENH: Add azure testing scripts.
      COMP: Fix KWStyle compilation fixes.
      BUG: Mismatch type for CovariantVector initialization.
      COMP: virtual designation is redundant with override designation.
      COMP: ITKv5 multi-threading model compatibility.
      COMP: ITKv5 uses std::mutex directly.
      COMP: Only configure inner BRAINSTools
      COMP: Fix function signature for override
      COMP: Future proof vnl_math_XXX function usage.
      COMP: Replace vcl_XXX items with std::XXX
      COMP: Remove unused variable.
      ENH: ITKv5 itkMultiThreader.h -> itkMultiThreaderBase.h
      STYLE: Replace itkStaticConstMacro with static constexpr
      STYLE: Use "typename" for template parameters
      STYLE: Prefer error checked std::sto[id] over ato[if]
      COMP: Prefer C++ headers to C99 headers.
      COMP:  Use C++11 nullptr directly
      COMP: Use and move ITK_DISALLOW_COPY_AND_ASSIGN calls to public section.
      ENH: Update external packages C++11 compliance
      ENH: ITKv5 Threading Model changes needed for testing
      STYLE: Prefer C++11 type alias over typedef
      DOC: Add documentation for newer OS versions.
      ENH: Comment out tests that do not work due to missing data
      ENH: Disable building of BRAINSSurfaceTools
      COMP: Remove compiler warnings.
      COMP: Make VerifyInputInformation a const function (ITKv5)
      ENH: Update to 2019_U2 to fix TBB issues with mac min version compilations.
      ENH: Propagate MAC_OS_X_VERSION_MIN_REQUIRED to TBB build.
      ENH: Improve TBB versioning selection.
      COMP: Update new reference data after VXL ITKv5 updates.
      ENH: Updated BCD baselines for ITKv5
      COMP: ITKv5 backward compatibility fixess.
      ENH: Update BRAINSFit baselines for ITKv5
      ENH: Try to make random number generation consistent.
      ENH: Update ANTs and ITKv5 for more test coverage.
      ENH: Update data regression.
      COMP: Remove compiler warnings.
      ENH: Duplicate names for testing
      BUG: Failing test updated after visual review
      COMP: Cleanup compiler warnings.
      ENH: UPdate ITK to include vxl explicit instantiations.
      COMP: Remove deprecated SetUseFixedSampledPointSet
      COMP: SetNumberOfThreads -> SetNumberOfWorkUnits
      ENH: Update reference data to sha512 on new data source.
      ENH: Remove duplicate md5 signatures.
      BUG: Failed uploads fixed for sha512
      COMP: Valgrind un-initialized memory reads
      STYLE: Prefer error checked std::sto[id] over ato[if]
      ENH: Adding an editor config for BRAINSTools.
      ENH: Add extra landmark Eye sanity checking for BCD.
      ENH: Add component testing for valid values to workflow running.
      STYLE: Remove trailing whitespace from files
      COMP: Add missing iostream header.
      STYLE: Remove unused file and directory ExternalSources.
      ENH: Fix dependency ordering for new project() syntax.
      ENH: Use range of new CMake features.
      ENH: Update to latest TBB build 2019_U3 for 10.14 compatibility.
      ENH: Update to latest version of packages
      ENH: Temporary ITK branch for dcmtk api compatibility.
      ENH: Add Travis pull request builds.
      ENH: Add helper file for configuring BRAINSTools for IDE.
      COMP: Errors with VTK TBB building in superbuild mode.
      STYLE: Fix naming of variables for DWIConverter class.
      ENH: Force clean ITKv5 building, remove legacy modes.
      ENH: ITKv5 const fix for duplicater image filter.
      ENH: ITKv5 fix for duplicater image filter.
      COMP: Allow building with C++ > 11
      ENH: Fix failing CI .travis.yml syntax.
      ENH: Add diagnostics for failed TBB download.
      ENH: Test for extra long test times.
      COMP: Moved my.cdash.org only supports https now.
      ENH: The maximum cmake version is only for policies
      ENH: Fix backward compatibility with OpenCV4.
      COMP: Match types for loops.
      BUG: Python set inclusion syntax error fixed.
      ENH: The maximum cmake version is only for policies
      ENH: Update wts reference file to have comment line.
      ENH: Wts file has header line to be ignored.
      BUG: Simple ITK does not currently expose SetNumberOfWorkUnits

Hui-Xie (6):
      COMP:  change VTK min version
      ENH: Add support for r/w Dicom, FSL, Nrrd formats
      BUG: erase unnecessary cmake config
      BUG: erase unnecessary lib in CMake file
      ENH: add DWI file convert utility interfaces
      BUG: stat uses ITK KWSys wrapper interface

Isaiah Norton (4):
      BUG: DWIConverter hard-coded transpose/FSLBy3Rows setting
      ENH: don't allow matching bvec and bval file names
      ENH: DWIConvert, Philips: also check supplement 49 b value field
      Bump ITK to v5b1 to resolve FFTW broken download

Jean-Christophe Fillion-Robin (4):
      Add License file
      STYLE: Add Notice file
      ENH: Improve build targets organization in IDE that support folders
      ENH: Use a single data management target and support customizing its name

Johan Andruejol (1):
      BUG: Add try/catch around BrainsFitHelper update

Regina EY Kim (2):
      BUG: Add a missing header
      ENH: fix the probabilityMap RegistrationToSubject option

azure-pipelines[bot] (1):
      Set up CI with Azure Pipelines
```

List of SimpleITK changes:

```
git shortlog --no-merges v1.1.0..dc5c1a1d
```
```
ASVBPREAUBV github_user (1):
      Update DicomSeriesReadModifySeriesWrite.R

Bradley Lowekamp (164):
      Bumping version to 1.2 for development
      Adding Python wheel downloads for v1.1.0 from SourceForge
      Fix template generator custom method with multiple parameters
      Add docs for set methods
      Add SetRegionOfInterest method
      Document conventions for Image Regions
      Add GetRegion method to LabelMap based statistics filters
      Correct RegionOfInterest doxygen from proper ITK class
      Adding wrapping for filters from remote LabelErodeDilate module
      Use named inputs for the paste image filter
      Adding wrapping for StochasticFractalDimensionImageFilter
      Add names inputs for FFTConvolutionImageFilter
      Update JSON python scripts to end files with newline
      Add ExternalData step to building Sphinx documentation
      Adding Readme for Sphinx images directory
      Adding Readme to white list of files
      Correct code-block indentation
      Add overflow and underflow count to ShiftScaleImageFilter
      Adding wrapping for the BSplineDecompositionImageFilter
      Add interpolator enum for the BSplineResampleImageFunction
      Fix documentation for GetCoefficientImages method
      Adding test for resampling with the BSplineResampler iterpolator
      Add specification of ITK ImageIO used to read image
      Use return self macro
      Adding testing for setting ImageIO
      Adding baseline hash for LabelSetErode filter
      Update require CMake version to 3.10
      Remove CMake version checks for version before required version
      Remove local CMake GTest module, use gtest_discover_tests
      Set pointer to null after deleting
      Correct interpolate for ruby bspline_resample test
      Only label unstable on apple systems
      Correct capitalization style for ruby enum
      Update SimpleITK Version in Sphinx
      Adding support for ImageBase types to ImageTypeToPixelIDValue
      Add a descriptive error message for image casting failure
      Add propagation of CMake job pool variables in Superbuild
      Remove deprecated midas3 from external download URLs
      Remove unused variable value
      Remove imported CMake ExternalData module
      Update referenced json
      Update name field and reference script used for doc fields
      Add doc for itk_module json field
      Adding R language to CircleCI testing
      Only add R dependencies for R job
      Adding R Unit tests when R is built as a project
      Add junit test formatting for python and R
      Make and use separate environment anchor
      Update documented CMake required version
      Add wrapping for Toboggan filter
      Update ITK superbuild version along ITK v41.3 release
      Make variables, functions, and structs local scope
      Add support for VectorImages to the Tile filter
      Specifying Toboggan output types as uint32_t for portability
      Just link the SimpleITK on Sourceforge, not the versioned sub-directory.
      Reduce CircleCI dependencies, and use system SWIG
      Correcting link to Java visual guide
      Improve doxygen documentation for the Image class
      Fix tense per code review
      Use standard find_package for ITK in SimpleITK Config
      Use modern CMake IN_LIST if operator
      Remove legacy BasicFiltersN loop code
      Correct variable name used to disable building documentation
      Update Superbuild ITK version along 4.13 release branch
      Set CircleCI to use Github for ITK repo
      Add wrapping for SLICImageFilter from SimpleITKFilters module
      Correct Github ITK repo in CircleCI CMake configuration
      Specify data root as SimpleITK root project
      Add BUILD_EXAMPLES option to standalone language builds
      Enable CircleCI testing of examples when language is built
      ENH: Support passing ITKV4_COMPATIBILITY to ITK superbuild
      Enable ITK_LEGACY_REMOVE to be overridden
      Explicitly specify stretch docker image add python 3.6 for testing
      Explicitly use python to invoke pip, print python version
      COMP: Lengthen GTest discovery timeout
      Adding Java build to CircleCI
      Add testing for Java stand-alone project
      No CI for languages on next branch
      Remove BUILD_DOCUMENTS CMake option
      Exclude files leading with a '.' from globs
      Add Update data link for R man documents
      Add TransformVector method to Transform class
      Update Superbuild ITK version to 4.13.1
      This data file hash is neither used nor does it exit
      Update links for downloads in tarball generation
      Adding data links from ContentLinkSynchronization.sh execution
      If ITKv5 map number of threads to number of "Work Units"
      Add access to number of valid point used during registration
      Fix Python index test with empty comparison
      Fix recursive option with GetGDCMSeriesFileNames
      Adding Transform method to flatten composites transforms
      Add mirror of SimpleITK External Data repository
      Documentation tweaks
      Remove dimension limitations form GetImageFromNumpy
      Improve exception for unsupported Image size
      Use baseline images for testing
      Set the default CMake policy to 3.10
      Adding request of IO region to ImageFileReader
      Adding testing for reading an extraction region
      Update ITK superbuild along 4.13 release branch
      Adding vector image support to Mean and Sum projection image filters
      Improve documentation for SetExtractSize
      Add new 5d test image
      Add IO extract direction matrix behavior documentation
      Add IO extraction test with 5d file
      Fix size shortening warning
      Remove uint64 to uint copy to avoid warnings
      Add Doxygen grouping to ImageReaderBase::Set/GetImageIO
      Create common method to create ImageIO by string name
      Fix indentation in ImageFileWriter
      Add SetImageIO method to ImageFileWriter
      Add option to set ImageIO to the series writer
      Add debugging information to ReadInformation
      Remove typename outside of template
      Add support for vector images to the clamp image filter
      Improve documentation of some RegistrationMethod methods.
      Add method to access the metric's sampling percentage.
      Add testing for GetMetricSamplingPercentagePerLevel method
      ITK superbuild version along the 4.13 release branch
      Address implicit conversion warnings from float to double
      Adding construction of BSpline transform from coefficient images
      Add testing of constructing BSpline Transform from images
      Add methods to transform class to get number of parameters
      Improve image registration per level documentation
      Add registration support for multi-resolution bspline transform
      Add unit testing of BSpline parameters
      Fix reassigning initial transform issue
      Adding testing of BSplineTransform registration in place
      Update the ITK superbuild version along release-4.13
      ENH: Adding example of multi-resolution bspline registration
      Adding prose document to BSpline3 example
      Adding C++ BSpline3 example
      Add labels to docs referenced from BSpline3
      Quote function name and remove extraneous prose fragment.
      Use the official ITK Github repo
      Restore needed storage option to increase default size
      Update manylinux to use CMake 3.11.4
      Update manylinux openssl to 1.0.2q
      Create wheel even when tests fail
      Update JSON documentation from ITK release-4.13
      Updating Java and Python docstrings from current build
      Updating ITK version with BSpline mesh parameter fix
      Add test for BSplineTransform copy on write
      Add multi-resolution BSpline registration test non-inplace
      Adding option to procedure ReadImage to specify the ImageIO
      Sort the json descriptions to maintain order
      Update Sphinx filter descriptions via script.
      Fix conversion warning
      Update the FAQ
      Fix up in wording in FAQ
      Update SwigDocStrings for Python and Java
      Update R documentation files
      Add missing parameter documentation to the ReadImage method
      Update from SwigDocUpdate.sh with latest changes
      Update R documentation archive
      Change broken quote to bash code block.
      Update R Rd document files with manual fix
      Applied correction to escape % in R documentation.
      Apply escape sequence to all occurrences of %
      Add isysroot as require flag in non-cmake superbuild projects
      Don't use CMAKE_OSX_SYSROOT is empty string
      Update ITK Superbuild version along 4.13 release  branch
      Remove extraneous CMake message statement
      Adding Azure Pipelines configuration from master branch

Dave Chen (11):
      Large refactor of GenerateDoc.py
      Ran JSONBeautify.py
      Ran new GenerateDoc.py on JSON files
      GenerateDoc.py fixed to handle Unicode input
      Added test of default ResampleImageFilter params
      Fixed wrong method.
      Missing '&' on Windows
      Fixed memory leak
      Improved testing of the ImageViewer class
      Modified test to improve code coverage
      Fix for hang in Show function on Windows

David T. Chen (19):
      Fixed some formatting, adjusted a few other things.
      Use TextOutput for OutputWindow
      Fix string comparison bug
      ENH: Initial check-in of the ImageViewer class
      Use ImageViewer class
      Fix for ITK code style
      More code fixes
      Print more defaults it ToString
      Added SetGlobalDefaultDebugOn/Off methods
      Fix type warning on Windows
      Added 'command' param to SetApplication.
      Fix for Show w/o ImageJ or Fiji
      Improve test coverage for ImageViewer class.
      Removed ImageJ stuff from Installation doc
      Updated the building.rst doc
      A few small fixes
      Updated for Python 3
      Re-run for SimpleITK v1.2rc1
      Fix R documentation warning

Jean-Christophe Fillion-Robin (2):
      circleci: Fix and simplify install of CMake
      circleci: Install scikit-ci-addons to ensure ctest_junit_formatter is available

Kasper Marstal (2):
      ENH: Use return instead of raising StopIteration (PEP 479)
      ENH: Add empty image Python indexing test

Richard Beare (25):
      Vignette update
      R package DESCRIPTION update
      moved methods import to namespace and referenced the dll
      Modified generation of namespace file
      R version check during configuration
      Installation of R from CRAN for circleci testing
      R package rules don't allow non standard file formats in the data directory.
      Add index entry to latex preamble of vignette
      Update formatting of license field in R DESCRIPTION file
      use Rd note section instead of usage as the latter requires R code
      Formulas processed to avoid breaking latex after conversion
      place holders in empty sections for procedural interface
      tidied up testing for missing fields
      importFrom for utils package in NAMESPACE file
      updated instructions for documentation
      Add as.image to index entry
      Add text to empty fields and allow additional sectiondef
      Modified creation of filenames of R documentation
      Add documentation file for S4 methods.
      Add replacement R functions.
      Add better support for R namespaces and documentation
      Fix: spurious bracket in script
      ENH: Improving formatting of DESCRIPTION file according to --as-cran checks
      Fix: C++11 style init causing problems with RTools(windows) c++
      Modified functions exported by R package.

Seungkyoon Bong (24):
      Updated tutorial link for SimpleITK
      Translated the common conventions page from the Doxygen
      Deleted the .rst change
      Added hyperlinks and inline markups for code
      Created a page with SimpleITK Filters
      Changed the HTML template of the documentation
      Added Relevant Resources and link to paper to index.rst
      Corrected LaTeX notation in Registration Overview
      Create image and transformation IO page
      Translate and Update Page for Eclipse Set Up
      Translate and Update Visual Studio Set Up
      Convert pngs to web-optimized jpgs
      Restore simpleitk_logo.png.md5
      Translate N4BiasFieldCorrection R Example
      Create filter and slicing operator comparison
      Translate DemonsRegistration1 R Example
      Translate DemonsRegistration2 R Example
      Translate DicomSeriesFromArray R Example
      Translate ImageRegistrationMethodBSpline1-2 R Example
      Fix spelling error in N4BiasFieldCorrection
      Translate 2 ImageRegistrationMethod R Examples
      Translate ImageRegistrationMethod2-4 R Example
      Remove internal function in ImageRegistrationMethod1
      Remove internal functions in DemonsRegistration1-2

Ziv Yaniv (18):
      Adding support for vector images in as.image conversion.
      Adding test to the patch (moving between R array 2 image 2 R array).
      Adding read the docs sphinx fundamental concepts documentation.
      Adding concepts of channels and resampling.
      Adding section on resampling and updating the images location.
      Adding reference to image md5 for download.
      Typo in example, comma instead of bar in the specification of Instance Number.
      ImageJ not found in expected location FAQ information.
      Updatind publication citation list.
      Adding the tutorials and course page to the documentation.
      Adding introductory information with respect to tutorials.
      Corrected backslash not visible in documentation of windows path.
      Renamed the example to reflect its content.
      Adding image viewing example.
      ENH: Adding new example illustrating new SimpleITK IO.
      ENH: separated the example in two based on code review.
      Upadated readme file to match our current state (rc1.2).
      Adding the SPIE course to the tutorials' list.
```

List of ITK changes:

```
```

Co-authored-by: Pablo Hernandez-Cerdan <[email protected]>
Co-authored-by: Hans Johnson <[email protected]>
Co-authored-by: Sam Horvath <[email protected]>
Co-authored-by: Jean-Christophe Fillion-Robin <[email protected]>
@jcfr
Copy link
Member

jcfr commented Mar 9, 2019

Closing. This is superseded by Slicer/Slicer#1103

@jcfr jcfr closed this Mar 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

5 participants