Page MenuHomePhabricator

Make MITK compatible with ITK 4.0
Closed, ResolvedPublic

Description

ITK 4.0 has officially been released.

MITK should be adapted accordingly to configure,build and run with the new version of ITK.

Event Timeline

First fixes are committed in bug branch "bug-10925-Linux-fixes".
But, there are still some more major errors...

New remote branch pushed: bug-10925-ITK4

New remote branch pushed: bug-10925-ITK4Migration

New remote branch pushed: bug-10925-ITK4MigrationLinuxFixes

New remote branch pushed: bug-10925-Connectomics-to-itk4

New remote branch pushed: bug-10925-DiffusionCore-to-itk4

New remote branch pushed: bug-10925-ITK4MigrationToF

New remote branch pushed: bug-10925-ITK4ToFIntegration

New remote branch pushed: bug-10925-ITK4MigrationNew

New remote branch pushed: bug-10925-dwiPhantomGeneration-to-itk4

New remote branch pushed: bug-10925-diffusionPlugin-to-ITK4

New remote branch pushed: bug-10925-ITK4MigrationNew-Diffusion-Integration

New remote branch pushed: bug-10925-Diffusion-ITK4-Integration

New remote branch pushed: bug-10925-ITK4Segmentation2DInterpolationFix

We need a core modification flag for the final merge. After the merge, I would suggest to close this bug and open new ones for the individual issues.

I suggest to do a documentation and review of all the core changes once the migration is complete.

[6d089b]: Merge branch 'bug-10925-ITK4MigrationNew'

Merged commits:

2013-04-24 01:37:16 Sascha Zelzer [c53534]
Download GDCM and ITK from mitk.org.


2013-04-24 01:36:32 Sascha Zelzer [1aa38d]
Renamed BaseProcess to BaseDataSource and added common methods.


2013-04-23 15:11:48 Sascha Zelzer [d6f99e]
Create a dummy planar figure output.

Previously, a itk::Object was created, leading to segfaults due to
wrong static_cast to itk::DataObject.


2013-04-23 15:10:10 Sascha Zelzer [192735]
Disable DICOM test data due to T14954.


2013-04-19 14:42:43 Jan Hering [1fed61]
Merge remote-tracking branch 'origin/bug-10925-ITK4ToFIntegration' into bug-10925-ITK4MigrationNew

Conflicts:
Modules/DeformableRegistration/mitkSymmetricForcesDemonsRegistration.cpp
Modules/OpenCVVideoSupport/UI/QmitkOpenCVVideoControls.cpp
Modules/OpenCVVideoSupport/mitkOpenCVToMitkImageFilter.cpp
Modules/US/USModel/mitkUSDevice.cpp


2013-04-18 14:51:23 Jan Hering [4d2a5a]
Merge branch 'bug-14998-DiffusionImagingMigration' into bug-10925-ITK4MigrationNew


2013-04-18 14:50:17 Jan Hering [5e5f1c]
Final adaptation for DiffusionImaging


2013-04-18 14:43:33 Jan Hering [250232]
Merge branch 'bug-14980-ITKv4-Migration-RegsitrationModules' into bug-10925-ITK4MigrationNew


2013-04-18 11:52:50 Andreas Fetzer [764a79]
Merge branch 'bug-14979-migrate-examples-to-itk4' into bug-10925-ITK4MigrationNew


2013-04-18 11:51:51 Jan Hering [e0fecb]
Correcting expected return type from Geometry3D::Clone()


2013-04-17 17:40:01 Joseph Görres [1ee9cf]
fixed missing 2d segmentation interpolation contours


2013-04-17 17:29:56 Andreas Fetzer [06f03e]
Fixed gdcm linking error on mac und linux


2013-04-17 17:27:34 Andreas Fetzer [1f73ff]
Some fixes for examples plugin


2013-04-17 16:37:40 Jan Hering [9b94f9]
Merge branch 'bug-10925-Diffusion-ITK4-Integration' into bug-10925-ITK4MigrationNew

Conflicts:
Core/Code/IO/mitkImageGenerator.h


2013-04-17 16:22:28 Thomas Kilgus [fb5fb0]
Merge branch 'bug-14984-MovieMakerITK4' into bug-10925-ITK4MigrationNew


2013-04-17 16:11:23 Thomas Kilgus [b2d1ad]
According to Stephan, Christoph did a search & replace on "GetOuput()" to make ITK4 work. This does not apply for VTK methods which I revereted here.


2013-04-17 14:43:38 Jan Hering [dfb651]
Merge branch 'bug-14975-ITKv4-Migration-OpenCL' into bug-10925-ITK4MigrationNew


2013-04-17 14:42:28 Jan Hering [32fcd7]
Adapted calls to GetOutput() in test


2013-04-17 13:58:46 Christoph Kolb [b5e897]
Merge branch 'bug-14978-compatibilityOfOpenCVDependentModules' into bug-10925-ITK4MigrationNew


2013-04-17 13:56:25 Christoph Kolb [3597cd]
calls of itk::Math::Round and obsolete implementations of makeOutput fixed


2013-04-11 11:29:13 Sven Mersmann [115c97]
Image writing error for .nrrd files fixed.


2013-04-10 16:07:37 Sven Mersmann [b63862]
Changes in different modules for ITKv4 integration.


2013-04-10 15:42:23 Andreas Fetzer [4e9d37]
Made some renaming as written in the migration guide: especially deformation into displacement


2013-04-10 15:40:24 Andreas Fetzer [95fa39]
Removed unused include which actually does not exists in itk 4 anymore and made some renaming


2013-04-10 15:39:37 Andreas Fetzer [e67bfc]
Replaced itkRigid3DTransform with itkVersorRigid3DTransform (same as two commits earlier)


2013-04-10 15:38:48 Andreas Fetzer [7507a4]
Fixed build error due to missing transform_type


2013-04-10 15:38:10 Andreas Fetzer [fb8891]
Replaced itkRigid3DTransform with itkVersorRigid3DTransform as recommended by itk

Rigid3DTransform is now the base class of all transforms and hence has no New() macro
any more. There is a legacy transform the itkv3Rigid3DTransform but in its class
documentation the itkVersorRigid3DTransform is recommended


2013-04-10 15:01:36 Sven Mersmann [65f6e8]
some changes.


2013-04-10 12:48:19 Sven Mersmann [71be26]
Merge remote-tracking branch 'remotes/origin/bug-10925-ITK4MigrationNew' into bug-10925-ITK4ToFIntegration


2013-04-10 11:44:53 Sven Mersmann [965eb1]
Changes in filter classes due to ITK4 ProcessObject changes.


2013-04-08 17:15:21 Jonas Cordes [4b45ee]
Fix MakeOutput parameter list for TBBS Images


2013-04-05 13:46:24 Jonas Cordes [ba5066]
add missing template declarations


2013-04-05 13:45:59 Jonas Cordes [a625cb]
geOutput need an argument


2013-04-05 13:45:23 Jonas Cordes [6a9816]
itk::LightObject::Pointer InternalClone() in EnumerationProperty
now protected in stead of private (needed by itk macro)


2013-04-05 13:44:03 Jonas Cordes [38f530]
fix method parameter
unsigned int to DataObjectPointerArraySizeType


2013-04-05 10:39:58 Sascha Zelzer [60fa6f]
Started to harmonize source class APIs.


2013-04-05 10:39:14 Sascha Zelzer [282c48]
Aligned the mitk::ImageSource API with the ITK4 itk::ImageSource API.


2013-04-05 10:38:43 Sascha Zelzer [986fb6]
Removed temporary fix for Windows XP GetThreadId problem.


2013-04-05 10:38:18 Sascha Zelzer [3d74fe]
Removed obsolete class + some style changes.


2013-04-04 12:10:52 Sascha Zelzer [8c8c1f]
Default constructor of statistics iterators are private in ITK4.


2013-04-04 12:09:55 Sascha Zelzer [7664f5]
Use correct spacing type in mitk::ImageGenerator.


2013-04-04 12:09:18 Sascha Zelzer [eba596]
Fixed mitk::ImageWriter and mitk::PixelType for ITK4.


2013-04-04 11:45:49 Sascha Zelzer [1930ca]
Properly overload ThreadedGenerateData for ITK4.


2013-04-03 16:54:20 Christoph Kolb [924a10]
fixed image tests


2013-04-03 16:20:28 Caspar Goch [a8530c]
Reverted blanket replacement of GetOuput() by GetOutput(0) for some files


2013-04-03 15:20:49 Christoph Kolb [2fb4e8]
Deleted Weakpointer problem workaround


2013-04-03 15:19:17 Caspar Goch [2b4896]
Merging Jonas changes to make the diffusion plugin ITK 4 ready#


2013-04-03 14:17:05 Sascha Zelzer [e07f19]
Use ITK4 clone methods.


2013-04-03 14:16:35 Sascha Zelzer [7426ef]
Merge remote-tracking branch 'origin/releases/2013-03' into bug-10925-ITK4MigrationNew

Conflicts:
Core/Code/DataManagement/mitkTimeSlicedGeometry.h
Plugins/org.mitk.gui.qt.diffusionimaging/src/internal/QmitkDiffusionDicomImportView.cpp
Plugins/org.mitk.gui.qt.diffusionimaging/src/internal/QmitkFiberProcessingView.cpp
Plugins/org.mitk.gui.qt.segmentation/src/internal/QmitkOtsuAction.cpp
Plugins/org.mitk.gui.qt.ultrasound/src/internal/UltrasoundSupport.cpp


2013-03-27 17:23:18 Christoph Kolb [494658]
fixed some self-induced errors


2013-03-26 16:42:45 Jonas Cordes [d69507]
fix dll exportmacro conflicts by inlining


2013-03-20 15:40:14 Christoph Kolb [55399d]
fix getoutput and getInput calls


2013-03-20 15:39:48 Christoph Kolb [bf8854]
remove rigidregistration3d from rigidregistration module


2013-03-20 14:35:21 Christoph Kolb [a9760d]
fix errors in mitkExt


2013-03-15 22:04:36 Jonas Cordes [6ec81b]
Replace spacing vecor type mitk::Vector3D with itk::Vector<double>


2013-03-15 22:03:21 Jonas Cordes [78634a]
Replace FFTComplexConjugateToRealImageFilter with VnlInverseFFTImageFilter


2013-03-15 11:29:32 Jonas Cordes [6b5a63]
fix itkSetInputMacro macro-call and RealTimeClock usage


2013-03-15 11:28:22 Jonas Cordes [8913f0]
fix spacing Vector-Type float to double
inf Files:
OdfMaximaExtractionFilter
DiffusionTensorPrincipalDirectionImageFilter
FiniteDiffOdfMaximaExtractionFilter
FslPeakImageConverter
FslShCoefficientImageConverter
MrtrixPeakImageConverter
TractDensityImageFilter
TractsToFiberEndingsImageFilter
TractsToRgbaImageFilter
QmitkFiberProcessingView
QmitkPartialVolumeAnalysisView


2013-03-15 09:12:28 Jonas Cordes [09c039]
Merge branch 'bug-10925-dwiPhantomGeneration-to-itk4' into bug-10925-Tracking-to-itk4


2013-03-15 09:11:40 Jonas Cordes [0fb834]
change Vector-PixelType from float to double, image-FillBuffer passed OutputImageType::PixelType instead of type double


2013-03-13 17:06:28 Stefan Kislinskiy [661b05]
Fixed some GetOutput bugs.


2013-03-13 16:10:10 Stefan Kislinskiy [96e151]
Fixed several GetOutput bugs.


2013-03-13 15:12:02 Christoph Kolb [9f4bf0]
added getOutput to PointSetSource, getOutput() to GetOutput(0)


2013-03-13 14:52:08 Christoph Kolb [c861f4]
Merge branch 'bug-10925-ITK4MigrationLinuxFixes' into bug-10925-ITK4MigrationNew

Conflicts:
Core/Code/DataManagement/mitkSurface.cpp
Core/Code/DataManagement/mitkSurface.h
Core/Code/Rendering/mitkVtkMapper3D.cpp
Core/Code/Rendering/vtkMitkApplyLevelWindowToRGBFilter.cpp
Examples/Tutorial/Step10.cpp
Modules/ImageStatistics/mitkImageStatisticsCalculator.cpp
Modules/ToFProcessing/Testing/mitkToFDistanceImageToPointSetFilterTest.cpp
Modules/ToFProcessing/mitkToFTestingCommon.h
Plugins/org.mitk.gui.qt.diffusionimaging/src/internal/QmitkOdfMaximaExtractionView.cpp
Plugins/org.mitk.gui.qt.segmentation/src/internal/QmitkBooleanOperationsView.cpp


2013-03-13 14:06:09 Christoph Kolb [93212d]
Merge branch 'bug-10925-ITK4ToFIntegration' into bug-10925-ITK4MigrationNew


2013-03-07 18:03:28 Sven Mersmann [e76c73]
Added defines for windows version, since ITK 4 sets them to an inapproriate value


2013-03-06 17:21:13 Christoph Kolb [eebe2e]
changed getOutput() to GetOutput(0) in Plugins


2013-03-06 17:20:45 Christoph Kolb [67db80]
changed getOutput() to GetOutput(0) in Modules


2013-03-06 17:19:39 Christoph Kolb [7379b6]
change getOutput() to getOutput(0) in core


2013-03-06 16:58:54 Sven Mersmann [102c72]
Merge branch 'bug-10925-ITK4MigrationToF' into bug-10925-ITK4ToFIntegration

Conflicts:
Core/Code/Testing/files.cmake


2013-03-04 08:29:56 Christoph Kolb [5b9378]
revove get and set output


2013-02-27 17:04:37 Sven Mersmann [c38f90]
Migration of ToF and IGT module to ITK 4. Intensive testing is required!!


2013-02-27 16:51:13 Caspar Goch [cb6d3c]
Merge branch 'bug-10925-Connectomics-to-itk4' into bug-10925-ITK4Migration


2013-02-27 16:50:55 Caspar Goch [fecd4a]
Merge branch 'bug-10925-DiffusionCore-to-itk4' into bug-10925-ITK4Migration


2013-02-27 16:47:55 Caspar Goch [85662a]
Merge remote-tracking branch 'origin/bug-14600-ITK4NrrdTensorImageReader' into bug-10925-DiffusionCore-to-itk4


2013-02-27 16:41:53 iamtoostupidtosetmyname [99acae]
add caster Methode for MatrixType to DiffusionTensor3D


2013-02-27 15:57:04 Thomas van Bruggen [848e68]
replaced deprecated orientatedImage with the normal itk image


2013-02-27 15:43:43 Caspar Goch [e9c0de]
Adapted histogram to new/renamed ITK classes (Needs to be tested)


2013-02-27 15:34:13 Caspar Goch [55d011]
Adapted histogram to new/renamed ITK classes (Needs to be tested)


2013-02-27 14:30:34 Caspar Goch [d55cdf]
Removed Export due to C2487


2013-02-27 14:29:58 Caspar Goch [542c4c]
fixed vxl include paths


2013-02-27 14:01:16 Sven Mersmann [f491e4]
Merge remote-tracking branch 'remotes/origin/bug-11484-RenameIGTTimeStampForITK4Compatibility' into bug-10925-ITK4MigrationToF


2013-02-15 16:37:25 Christoph Kolb [cff5e9]
delete setOutput, add const to SetRequestedRegion


2013-02-14 19:04:48 Christoph Kolb [10e085]
changed unsigned int to DataObjectPointerArraySizeType, added new interface methods


2013-02-13 16:27:14 Stefan Kislinskiy [4eae92]
Fixed most mitk::ImportItkImage() bugs (added Clone()).


2013-02-13 15:25:44 Stefan Kislinskiy [04fa66]
Fixed Otsu segmentation.


2013-02-13 15:01:04 Stefan Kislinskiy [f42793]
Fixed RegionGrower view.


2013-02-06 16:26:56 Stefan Kislinskiy [e05633]
Made segmentation plugin working again.


2013-01-23 17:00:49 Stefan Kislinskiy [0124a9]
Updated to ITV 4.3.1.


2013-01-16 16:18:57 Stefan Kislinskiy [2cf476]
Merge branch 'bug-10925-ITK4Migration' of mitk.org:MITK into bug-10925-ITK4Migration


2013-01-16 16:17:54 Stefan Kislinskiy [103d4f]
Workbench should be ready to run.


2013-01-16 14:14:41 Stefan Kislinskiy [e69075]
Fixed various smaller ITKv4 migration bugs.


2013-01-09 17:32:50 Stefan Kislinskiy [d07ce1]
Extended ITK4 Migration to QmitkExt


2012-11-21 16:04:51 Stefan Kislinskiy [b9c9e4]
Adapted MITKScalarImageToHistogramGenerator to new/renamed ITK classes (MUST BE TESTED!).


2012-11-21 15:48:23 Stefan Kislinskiy [6ec4b5]
Fixed another clone method related bug I missed in commit 81afebdb5184959e392a177ce60e1cfcbb947bf9 (core).


2012-11-21 15:35:09 Stefan Kislinskiy [3818b2]
Added missing virtual keyword to pure abstract methods of BaseData (core).


2012-11-21 15:31:34 Stefan Kislinskiy [5c1712]
Replaced [Get/Set]_vnl_vector() by [Get/Set]VnlVector() in core.


2012-11-21 15:25:50 Stefan Kislinskiy [13b48c]
ExpAdded types to calls to templated methods where the compiler can't deduce them anymore (core).


2012-11-21 15:13:16 Stefan Kislinskiy [84b203]
Removed wrong "return NULL" in Geometry3D::GetCornerPoint().


2012-11-21 15:07:57 Stefan Kislinskiy [0f56a0]
Replaced inclusions of itkExceptionObject.h by itkMacro.h in core.


2012-11-21 15:04:05 Stefan Kislinskiy [f72ddc]
Replaced itk::OStringStream by std::ostringstream in core.


2012-11-21 14:57:16 Stefan Kislinskiy [df147d]
Fixed clone methods in core.

Since ITK introduced clone methods in their base classes MITK clone methods
collide with them. I adapted the mitkCloneMacro to be compatible with ITK.
All "Clone()" methods were renamed to "InternalClone()" and return a
pointer to a LightObject instead of an AffineGeometryFrame3D.
InternalClone() is called by ITK's Clone().


2012-11-14 17:39:40 Stefan Kislinskiy [f3aee4]
Updated GDCM to version 2.2.1 and ITK to version 4.2.1 in superbuild.

Wrote patch for ITK 4.2.1 to work with external GDCM 2.2.1.


2013-01-16 14:14:41 Stefan Kislinskiy [b0e72f]
Fixed various smaller ITKv4 migration bugs.


2013-01-09 17:32:50 Stefan Kislinskiy [6ba5fe]
Extended ITK4 Migration to QmitkExt


2012-11-21 16:04:51 Stefan Kislinskiy [0b0983]
Adapted MITKScalarImageToHistogramGenerator to new/renamed ITK classes (MUST BE TESTED!).


2012-11-21 15:48:23 Stefan Kislinskiy [73dd6e]
Fixed another clone method related bug I missed in commit 81afebdb5184959e392a177ce60e1cfcbb947bf9 (core).


2012-11-21 15:35:09 Stefan Kislinskiy [7bf6dd]
Added missing virtual keyword to pure abstract methods of BaseData (core).


2012-11-21 15:31:34 Stefan Kislinskiy [e3bd3c]
Replaced [Get/Set]_vnl_vector() by [Get/Set]VnlVector() in core.


2012-11-21 15:25:50 Stefan Kislinskiy [9d9157]
ExpAdded types to calls to templated methods where the compiler can't deduce them anymore (core).


2012-11-21 15:13:16 Stefan Kislinskiy [e036a5]
Removed wrong "return NULL" in Geometry3D::GetCornerPoint().


2012-11-21 15:07:57 Stefan Kislinskiy [ae2543]
Replaced inclusions of itkExceptionObject.h by itkMacro.h in core.


2012-11-21 15:04:05 Stefan Kislinskiy [41b1bd]
Replaced itk::OStringStream by std::ostringstream in core.


2012-11-21 14:57:16 Stefan Kislinskiy [81afeb]
Fixed clone methods in core.

Since ITK introduced clone methods in their base classes MITK clone methods
collide with them. I adapted the mitkCloneMacro to be compatible with ITK.
All "Clone()" methods were renamed to "InternalClone()" and return a
pointer to a LightObject instead of an AffineGeometryFrame3D.
InternalClone() is called by ITK's Clone().


2012-11-14 17:39:40 Stefan Kislinskiy [46ca3f]
Updated GDCM to version 2.2.1 and ITK to version 4.2.1 in superbuild.

Wrote patch for ITK 4.2.1 to work with external GDCM 2.2.1.

[937d32]: Merge branch 'bug-10925-Diffusion-ITK4-Integration-Fixes'

Merged commits:

2013-04-24 11:58:58 Jan Hering [97865f]
COMP: Fixed calls to ProcessObject::GetOutput

[2fd6a5]: Merge branch 'bug-10925-ITK4MigrationNew'

Merged commits:

2013-04-24 12:11:42 Sascha Zelzer [08d3cf]
COMP: Add missing typedef for old gcc

[85c79c]: Merge branch 'bug-10925-OpenCVRelated-Migration-Fixes'

Merged commits:

2013-04-24 13:00:49 Jan Hering [7708d6]
COMP: Fixed GetOutput usage in US + Testing


2013-04-24 13:00:19 Jan Hering [a4bb97]
COMP: Fixed GetOutput usage in OpenCV Filter

[40399e]: Merge branch 'bug-10925-ITK4MigrationNew'

Merged commits:

2013-04-24 13:06:08 Sascha Zelzer [bbe5d4]
COMP: Another typedef fix for old gcc

[8d109d]: COMP: Merge branch 'bug-10925-DiffusionFixesForITKv4'

Merged commits:

2013-04-24 14:28:45 Andreas Fetzer [c2d9cf]
Implemented missing MakeOutput method


2013-04-24 14:28:20 Andreas Fetzer [b1e7c7]
Fixing GetOutput usage.


2013-04-24 14:26:36 Andreas Fetzer [238452]
Deactivating GroupDiffusionHeaderFilter which was not used at all

[38126e]: Merge branch 'bug-10925-Diffusion-ITK4-Integration-Fix'

Merged commits:

2013-04-24 14:56:46 Jan Hering [ec129e]
COMP: Providing GetOutput() for TbssImageSource

[cdb924]: Merge branch 'bug-10925-FixForRigidRegistration'

Merged commits:

2013-04-24 15:49:59 Andreas Fetzer [9baf08]
COMP: Removed unused include

[16cce0]: Merge branch 'bug-10925-DiffusionFixesForITKv4'

Merged commits:

2013-04-24 16:24:19 Andreas Fetzer [26aeb7]
COMP: Some code cleaning

[604061]: Merge branch 'bug-10925-DiffusionFixesForITKv4'

Merged commits:

2013-04-24 16:50:06 Andreas Fetzer [136324]
COMP: Made fixes for GetOutput call

[0d8e19]: Merge branch 'bug-10925-ITK4MigrationNew'

Merged commits:

2013-04-26 14:12:40 Tobias Schroeder [cdcf4f]
COMP: Temporarily removed SegmentationInterpolationTest

[ee7f59]: Merge branch 'bug-10925-TmpOutputOfPlaneGeometryTest'

Merged commits:

2013-04-26 14:23:12 Thomas Kilgus [b1c60b]
COMP: Added additional output to PlaneGeometryTest in order to see why the win continous fails.

[d80862]: Merge branch 'bug-10925-ITK4MigrationNew'

Merged commits:

2013-04-26 14:28:27 Tobias Schroeder [09257c]
COMP: Temporarily removed SegmentationInterpolationTest

[241b39]: Merge branch 'bug-10925-TmpOutputOfPlaneGeometryTest'

Merged commits:

2013-04-26 15:21:24 Thomas Kilgus [7c0ef6]
COMP: Temporarily adjusted eps to 10*eps to account for high inaccuracy. Check T15037 for details.

[d034a4]: Merge branch 'bug-10925-TmpOutputOfPlaneGeometryTest'

Merged commits:

2013-04-26 16:14:29 Thomas Kilgus [7e4902]
COMP: Adapted eps for all testcases. See T15037 for details.

ITK 4 migration is finished the dashboard is green again.