WrapITK: Enhanced languages support for the Insight Toolkit

Lehmann, Gaetan1*,Pincus, Zachary,Regrain, Benoit
1.INRA
Abstract

Abstract

ITK is a huge image analysis library, which contains lots of state of the arts algorithms implementations. However, using it in C++ can be difficult and is definitively bad suited for prototyping. WrapITK aims to allow classes from ITK (and custom, classes that interact with ITK) to be "wrapped" for use with languages like Python, Tcl, and Java.

Keywords

Manuscript
Source Code and Data

Source Code and Data

WrapITKAlgorithms.NoDartCoverageCMakeLists.txt321 Bwrap_itkAnisotropicFourthOrderLevelSetImageFilter.cmake179 Bwrap_itkBinaryMinMaxCurvatureFlowImageFilter.cmake174 Bwrap_itkAntiAliasBinaryImageFilter.cmake164 Bwrap_itkBinaryThinningImageFilter.cmake166 Bwrap_itkCannySegmentationLevelSetImageFilter.cmake.notwrapped173 Bwrap_itkCollidingFrontsImageFilter.cmake164 Bwrap_itkCurvatureFlowImageFilter.cmake162 Bwrap_itkCurvesLevelSetImageFilter.cmake.notwrapped162 Bwrap_itkDemonsRegistrationFilter.cmake.notwrapped1.4 KBwrap_itkDenseFiniteDifferenceImageFilter.cmake.notwrapped1.2 KBwrap_itkFastChamferDistanceImageFilter.cmake164 Bwrap_itkGeodesicActiveContourLevelSetImageFilter.cmake392 Bwrap_itkGeodesicActiveContourShapePriorLevelSetImageFilter.cmake.notwrapped203 Bwrap_itkHistogramMatchingImageFilter.cmake166 Bwrap_itkImageMomentsCalculator.cmake156 Bwrap_itkImageRegistrationMethod.cmake166 Bwrap_itkImageToImageMetric.cmake161 Bwrap_itkIsolatedWatershedImageFilter.cmake162 Bwrap_itkLabelVotingImageFilter.cmake158 Bwrap_itkLevelSetFunction.cmake154 Bwrap_itkLaplacianSegmentationLevelSetImageFilter.cmake.notwrapped177 Bwrap_itkMeanReciprocalSquareDifferenceImageToImageMetric.cmake191 Bwrap_itkMattesMutualInformationImageToImageMetric.cmake184 Bwrap_itkMeanSquaresImageToImageMetric.cmake172 Bwrap_itkMinMaxCurvatureFlowImageFilter.cmake168 Bwrap_itkMultiResolutionPyramidImageFilter.cmake171 Bwrap_itkMultiResolutionImageRegistrationMethod.cmake181 Bwrap_itkMutualInformationImageToImageMetric.cmake178 Bwrap_itkNarrowBandCurvesLevelSetImageFilter.cmake.notwrapped172 Bwrap_itkNarrowBandLevelSetImageFilter.cmake293 Bwrap_itkNarrowBandThresholdSegmentationLevelSetImageFilter.cmake410 Bwrap_itkNormalizedCorrelationImageToImageMetric.cmake182 Bwrap_itkOtsuMultipleThresholdsImageFilter.cmake167 Bwrap_itkOtsuThresholdImageCalculator.cmake162 Bwrap_itkOtsuThresholdImageFilter.cmake158 Bwrap_itkPDEDeformableRegistrationFilter.cmake.notwrapped1.4 KBwrap_itkRecursiveMultiResolutionPyramidImageFilter.cmake180 Bwrap_itkSTAPLEImageFilter.cmake155 Bwrap_itkSegmentationLevelSetImageFilter.cmake295 Bwrap_itkShapeDetectionLevelSetImageFilter.cmake297 Bwrap_itkSymmetricForcesDemonsRegistrationFilter.cmake.notwrapped1.4 KBwrap_itkThresholdSegmentationLevelSetImageFilter.cmake304 Bwrap_itkVoronoiSegmentationImageFilter.cmake.notwrapped2.3 KBwrap_itkWatershedImageFilter.cmake154 BBasicFiltersA.NoDartCoveragewrap_itkAnisotropicDiffusionImageFilter.cmake164 BCMakeLists.txt250 Bwrap_itkBinaryDilateImageFilter.cmake297 Bwrap_itkBinaryErodeImageFilter.cmake280 Bwrap_itkBinaryThresholdImageFilter.cmake617 Bwrap_itkBinaryPruningImageFilter.cmake128 Bwrap_itkCannyEdgeDetectionImageFilter.cmake.notwrapped106 Bwrap_itkCastImageFilter.cmake315 Bwrap_itkChangeInformationImageFilter.cmake160 Bwrap_itkConfidenceConnectedImageFilter.cmake162 Bwrap_itkConnectedThresholdImageFilter.cmake162 Bwrap_itkConstrainedValueAdditionImageFilter.cmake184 Bwrap_itkConstrainedValueDifferenceImageFilter.cmake186 Bwrap_itkCosImageFilter.cmake103 Bwrap_itkCropImageFilter.cmake148 Bwrap_itkCurvatureAnisotropicDiffusionImageFilter.cmake173 Bwrap_itkDanielssonDistanceMapImageFilter.cmake165 Bwrap_itkDilateObjectMorphologyImageFilter.cmake307 Bwrap_itkDoubleThresholdImageFilter.cmake292 Bwrap_itkExtractImageFilter.cmake515 Bwrap_itkErodeObjectMorphologyImageFilter.cmake290 Bwrap_itkFlipImageFilter.cmake148 Bwrap_itkFastMarchingImageFilter.cmake156 Bwrap_itkGradientAnisotropicDiffusionImageFilter.cmake113 Bwrap_itkGradientMagnitudeImageFilter.cmake160 Bwrap_itkGrayscaleConnectedClosingImageFilter.cmake168 Bwrap_itkGrayscaleConnectedOpeningImageFilter.cmake168 Bwrap_itkGrayscaleDilateImageFilter.cmake284 Bwrap_itkGrayscaleErodeImageFilter.cmake283 Bwrap_itkGrayscaleFillholeImageFilter.cmake160 Bwrap_itkGrayscaleFunctionDilateImageFilter.cmake308 Bwrap_itkGrayscaleFunctionErodeImageFilter.cmake291 Bwrap_itkGrayscaleGeodesicDilateImageFilter.cmake166 Bwrap_itkGrayscaleGeodesicErodeImageFilter.cmake165 Bwrap_itkGrayscaleGrindPeakImageFilter.cmake161 Bwrap_itkGrayscaleMorphologicalClosingImageFilter.cmake298 Bwrap_itkGrayscaleMorphologicalOpeningImageFilter.cmake298 Bwrap_itkHConvexImageFilter.cmake150 Bwrap_itkHConcaveImageFilter.cmake151 Bwrap_itkHMaximaImageFilter.cmake150 Bwrap_itkHMinimaImageFilter.cmake150 Bwrap_itkIsolatedConnectedImageFilter.cmake160 Bwrap_itkImportImageFilter.cmake223 Bwrap_itkLaplacianImageFilter.cmake93 Bwrap_itkMinimumMaximumImageCalculator.cmake162 Bwrap_itkNeighborhoodConnectedImageFilter.cmake164 Bwrap_itkNarrowBand.cmake545 Bwrap_itkRelabelComponentImageFilter.cmake405 Bwrap_itkSobelEdgeDetectionImageFilter.cmake102 Bwrap_itkSquareImageFilter.cmake165 Bwrap_itkSqrtImageFilter.cmake163 Bwrap_itkSquaredDifferenceImageFilter.cmake176 Bwrap_itkSubtractImageFilter.cmake167 Bwrap_itkTanImageFilter.cmake103 Bwrap_itkTernaryMagnitudeImageFilter.cmake175 Bwrap_itkWhiteTopHatImageFilter.cmake280 Bwrap_itkXorImageFilter.cmake134 BBasicFiltersB.NoDartCoverageCMakeLists.txt270 Bwrap_itkAsinImageFilter.cmake165 Bwrap_itkAtanImageFilter.cmake104 Bwrap_itkAtan2ImageFilter.cmake105 Bwrap_itkBilateralImageFilter.cmake.notwrapped154 Bwrap_itkConnectedComponentImageFilter.cmake342 Bwrap_itkConstantPadImageFilter.cmake172 Bwrap_itkDerivativeImageFilter.cmake156 Bwrap_itkDivideImageFilter.cmake167 Bwrap_itkExpImageFilter.cmake164 Bwrap_itkExpNegativeImageFilter.cmake172 Bwrap_itkExpandImageFilter.cmake151 Bwrap_itkGradientRecursiveGaussianImageFilter.cmake.notwrapped169 Bwrap_itkGradientMagnitudeRecursiveGaussianImageFilter.cmake.notwrapped178 Bwrap_itkIntensityWindowingImageFilter.cmake179 Bwrap_itkLabelStatisticsImageFilter.cmake350 Bwrap_itkLaplacianRecursiveGaussianImageFilter.cmake180 Bwrap_itkLaplacianSharpeningImageFilter.cmake164 Bwrap_itkLog10ImageFilter.cmake166 Bwrap_itkLogImageFilter.cmake164 Bwrap_itkMaximumImageFilter.cmake168 Bwrap_itkMeanImageFilter.cmake149 Bwrap_itkMedianImageFilter.cmake151 Bwrap_itkMinimumImageFilter.cmake168 Bwrap_itkMinimumMaximumImageFilter.cmake159 Bwrap_itkMirrorPadImageFilter.cmake154 Bwrap_itkMultiplyImageFilter.cmake169 Bwrap_itkNaryAddImageFilter.cmake168 Bwrap_itkNoiseImageFilter.cmake150 Bwrap_itkNotImageFilter.cmake164 Bwrap_itkOrImageFilter.cmake135 Bwrap_itkOrientImageFilter.cmake163 Bwrap_itkParallelSparseFieldLevelSetImageFilter.cmake176 Bwrap_itkPasteImageFilter.cmake150 Bwrap_itkPermuteAxesImageFilter.cmake156 Bwrap_itkRandomImageSource.cmake151 Bwrap_itkRecursiveGaussianImageFilter.cmake162 Bwrap_itkRecursiveSeparableImageFilter.cmake163 Bwrap_itkReflectImageFilter.cmake152 Bwrap_itkRegionOfInterestImageFilter.cmake161 Bwrap_itkResampleImageFilter.cmake153 Bwrap_itkRescaleIntensityImageFilter.cmake361 Bwrap_itkShiftScaleImageFilter.cmake155 Bwrap_itkShrinkImageFilter.cmake151 Bwrap_itkSigmoidImageFilter.cmake168 Bwrap_itkSimpleContourExtractorImageFilter.cmake169 Bwrap_itkSignedDanielssonDistanceMapImageFilter.cmake145 Bwrap_itkSinImageFilter.cmake103 Bwrap_itkSmoothingRecursiveGaussianImageFilter.cmake180 Bwrap_itkSparseFieldFourthOrderLevelSetImageFilter.cmake702 Bwrap_itkSparseFieldLevelSetImageFilter.cmake168 Bwrap_itkStatisticsImageFilter.cmake155 Bwrap_itkStreamingImageFilter.cmake154 Bwrap_itkThresholdImageFilter.cmake154 Bwrap_itkThresholdLabelerImageFilter.cmake177 Bwrap_itkVTKImageExport.cmake208 Bwrap_itkVTKImageImport.cmake149 BBasicFiltersCwrap_itkAbsImageFilter.cmake164 BCMakeLists.txt249 Bwrap_itkAbsoluteValueDifferenceImageFilter.cmake184 Bwrap_itkAccumulateImageFilter.cmake153 Bwrap_itkAcosImageFilter.cmake165 Bwrap_itkAdaptiveHistogramEqualizationImageFilter.cmake174 Bwrap_itkAddImageFilter.cmake164 Bwrap_itkAndImageFilter.cmake136 Bwrap_itkApproximateSignedDistanceMapImageFilter.cmake175 Bwrap_itkBSplineDecompositionImageFilter.cmake165 Bwrap_itkBSplineDownsampleImageFilter.cmake178 Bwrap_itkBSplineUpsampleImageFilter.cmake160 Bwrap_itkBinaryMagnitudeImageFilter.cmake176 Bwrap_itkBinaryMedianImageFilter.cmake157 Bwrap_itkBinomialBlurImageFilter.cmake157 Bwrap_itkBlackTopHatImageFilter.cmake280 Bwrap_itkBoundedReciprocalImageFilter.cmake178 Bwrap_itkChangeLabelImageFilter.cmake279 Bwrap_itkCheckerBoardImageFilter.cmake256 Bwrap_itkClosingByReconstructionImageFilter.cmake292 Bwrap_itkComposeRGBImageFilter.cmake377 Bwrap_itkContourDirectedMeanDistanceImageFilter.cmake172 Bwrap_itkContourMeanDistanceImageFilter.cmake164 Bwrap_itkDirectedHausdorffDistanceImageFilter.cmake170 Bwrap_itkDiscreteGaussianImageFilter.cmake.notwrapped161 Bwrap_itkHausdorffDistanceImageFilter.cmake162 Bwrap_itkInterpolateImageFilter.cmake154 Bwrap_itkInvertIntensityImageFilter.cmake117 Bwrap_itkIsotropicResolutionImageFilter.cmake.notwrapped164 Bwrap_itkJoinSeriesImageFilter.cmake429 Bwrap_itkLabelShapeImageFilter.cmake.notwrapped157 Bwrap_itkMaskImageFilter.cmake165 Bwrap_itkMaskNegatedImageFilter.cmake172 Bwrap_itkModulusImageFilter.cmake138 Bwrap_itkMorphologicalGradientImageFilter.cmake290 Bwrap_itkNarrowBandImageFilterBase.cmake163 Bwrap_itkNaryMaximumImageFilter.cmake172 Bwrap_itkNormalizeImageFilter.cmake154 Bwrap_itkOpeningByReconstructionImageFilter.cmake292 Bwrap_itkRGBToLuminanceImageFilter.cmake381 Bwrap_itkReconstructionByDilationImageFilter.cmake169 Bwrap_itkSimilarityIndexImageFilter.cmake160 Bwrap_itkReconstructionByErosionImageFilter.cmake168 Bwrap_itkTernaryAddImageFilter.cmake171 Bwrap_itkTernaryMagnitudeSquaredImageFilter.cmake184 Bwrap_itkTileImageFilter.cmake149 Bwrap_itkTobogganImageFilter.cmake153 Bwrap_itkVotingBinaryHoleFillingImageFilter.cmake168 Bwrap_itkVectorIndexSelectionCastImageFilter.cmake940 Bwrap_itkVotingBinaryImageFilter.cmake157 Bwrap_itkVotingBinaryIterativeHoleFillingImageFilter.cmake177 Bwrap_itkWeightedAddImageFilter.cmake174 Bwrap_itkZeroCrossingBasedEdgeDetectionImageFilter.cmake.notwrapped148 Bwrap_itkZeroCrossingImageFilter.cmake130 BCMakeLists.txt7.8 KBCMakeUtilityFunctions.cmake5.7 KBCommonA.NoDartCoverageCMakeLists.txt637 BSwigExtras.i1.5 KBitkConstantBoundaryConditionStub.h2.1 KBitkMultiThreaderStub.h2.3 KBitkStringStream.cxx1.4 KBitkStringStream.h1.3 KBwrap_ITKCommonBase.cmake1.3 KBwrap_ITKInterpolators.cmake1.5 KBwrap_ITKRegions.cmake208 Bwrap_SwigExtras.cmake281 Bwrap_SwigExtras.h198 Bwrap_itkArray.cmake87 Bwrap_itkBinaryBallStructuringElement.cmake123 Bwrap_itkContinuousIndex.cmake107 Bwrap_itkDefaultStaticMeshTraits.cmake417 Bwrap_itkDenseFiniteDifferenceImageFilter.cmake238 Bwrap_itkDifferenceImageFilter.cmake231 Bwrap_itkFiniteDifferenceFunction.cmake230 Bwrap_itkEventObjects.cmake824 Bwrap_itkFixedArray.cmake95 Bwrap_itkFiniteDifferenceImageFilter.cmake233 Bwrap_itkFunctionBase.cmake736 Bwrap_itkImage.cmake230 Bwrap_itkImageBoundaryCondition.cmake1.4 KBwrap_itkImageConstIterator.cmake243 Bwrap_itkImageConstIteratorWithIndex.cmake252 Bwrap_itkImageFunction.cmake356 Bwrap_itkImageIterator.cmake238 Bwrap_itkImageIteratorWithIndex.cmake247 Bwrap_itkImageLinearConstIteratorWithIndex.cmake258 Bwrap_itkImageLinearIteratorWithIndex.cmake253 Bwrap_itkImageRandomConstIteratorWithIndex.cmake258 Bwrap_itkImageRandomIteratorWithIndex.cmake253 Bwrap_itkImageRandomNonRepeatingConstIteratorWithIndex.cmake270 Bwrap_itkImageRandomNonRepeatingIteratorWithIndex.cmake265 Bwrap_itkImageRegionConstIterator.cmake249 Bwrap_itkImageRegionConstIteratorWithIndex.cmake258 Bwrap_itkImageRegionIterator.cmake244 Bwrap_itkImageRegionIteratorWithIndex.cmake253 Bwrap_itkImageSource.cmake441 Bwrap_itkImageToImageFilter.cmake2.2 KBwrap_itkInPlaceImageFilter.cmake1.7 KBwrap_itkIndex.cmake119 Bwrap_itkLevelSet.cmake267 Bwrap_itkMatrix.cmake328 Bwrap_itkNeighborhood.cmake435 Bwrap_itkOffset.cmake87 Bwrap_itkPoint.cmake87 Bwrap_itkRGBPixel.cmake94 Bwrap_itkPointSet.cmake289 Bwrap_itkSimpleDataObjectDecorator.cmake463 Bwrap_itkSize.cmake118 Bwrap_itkVariableLengthVector.cmake117 Bwrap_itkVector.cmake197 Bwrap_itkVectorImage.cmake123 Bwrap_itkVectorContainer.cmake327 Bwrap_itkVectorImageToImageAdaptor.cmake.notwrapped296 Bwrap_itkVersor.cmake80 BCommonB.NoDartCoveragewrap_ITKKernelDeformableTransforms.cmake1 KBCMakeLists.txt211 Bwrap_ITKSimilarityTransforms.cmake107 Bwrap_ITKRigidTransforms.cmake878 Bwrap_itkAffineTransform.cmake158 Bwrap_itkAzimuthElevationToCartesianTransform.cmake179 Bwrap_itkBSplineDeformableTransform.cmake178 Bwrap_itkIdentityTransform.cmake160 Bwrap_itkMatrixOffsetTransformBase.cmake177 Bwrap_itkScaleTransform.cmake326 Bwrap_itkTransform.cmake399 Bwrap_itkTranslationTransform.cmake163 Bwrap_itkVersorTransform.cmake144 BConfigurationInputsFindWrapITK.cmake.in555 BLanguageSupportExternalProjectConfig.py.in111 BModuleConfig.py.in93 BModuleLoader.py.in70 BMaster.mdx.in28 BWrapITKConfig.cmake.in4.4 KBempty.depend.intypemaps.swg.in119 Bgcc_xml.inc.in29 Bwrap_.cxx.in202 Bwrap_ITK.cxx.in866 Bwrap_ITKLang.cxx.in144 BConfigureWrapping.cmake11.4 KBCreateCableSwigInputs.cmake29.6 KBCreateLanguageSupport.cmake22.6 KBDocumentationGuide.txt18.9 KBSampleCMakeLists.txt4.4 KBCreateWrapperLibrary.cmake20.8 KBExternalProjectsItkVtkGlueCMakeLists.txt711 BWrappingCMakeLists.txt583 BPythonTestsCannyEdgeDetectionImageFilter.py1.7 KBitkvtk.py311 Bitkvtk.swg1.4 KBwrap_itkImageToVTKImageFilter.cmake153 Bwrap_itkVTKImageToImageFilter.cmake153 Bwrap_itkvtk.cxx1001 Bwrap_itkvtkPython.cxx67 BsrcitkImageToVTKImageFilter.h3.9 KBitkImageToVTKImageFilter.txx3.1 KBitkVTKImageToImageFilter.h3.3 KBitkVTKImageToImageFilter.txx3.1 KBPyBufferCMakeLists.txt398 BFindNUMARRAY.cmake1.1 KBitkPyBuffer.h2.8 KBitkPyBuffer.txx5 KBwrap_itkPyBuffer.cmake132 BIO.NoDartCoverageCMakeLists.txt228 Bwrap_ITKIOBase.cmake789 Bwrap_itkImageFileReader.cmake386 Bwrap_itkImageFileWriter.cmake386 Bwrap_itkImageSeriesReader.cmake177 Bwrap_itkImageSeriesWriter.cmake513 BJavaCWDCMakeLists.txt909 BJavaCWD.h133 BJavaCWD.cxx846 BJavaCWD.i68 BCMakeLists.txt3.9 KBITKJavaJarDummyLibrary.c34 BREADME.txt366 BitkCommand.i192 BitkJavaCommand.h373 BitkJavaCommand.i2.2 KBitkbase.java.in2.6 KBNumerics.NoDartCoverageCMakeLists.txt242 Bwrap_ITKCostFunctions.cmake118 Bwrap_ITKOptimizers.cmake1.1 KBwrap_itkSample.cmake463 Bwrap_itkScalarImageToHistogramGenerator.cmake175 BPatentedCMakeLists.txt2.1 KBwrap_itkSimpleFuzzyConnectednessImageFilterBase.cmake172 Bwrap_itkSimpleFuzzyConnectednessScalarImageFilter.cmake174 BPythonCMakeLists.txt5.9 KBPyUtilsCMakeLists.txt430 BitkPyCommand.cxx2.6 KBitkPyCommand.h2.2 KBwrap_PyCommand.cmake50 BTestsfilterCoverage.py1.4 KBfindEmptyClasses.py958 Bitk-functions.py2.3 KBmodule2module.py2.1 KBreturnedTypeCoverage.py5 KBsimple_pipeline.py447 Btemplate.py3.7 KBtypemaps.py1.5 KBWrapITK.pth.in82 Bitk.py8.6 KBitkBase.py9.3 KBitkConfig.py.in1.6 KBitkTemplate.py13.7 KBitkTypes.py955 Bitkdata.py1.2 KBitktesting.py1.2 KBmake_doxygen_config.py.in20.3 KBREADME139 BSpatialObject.NoDartCoverageCMakeLists.txt301 Bwrap_itkSpatialObjectBase.cmake137 Bwrap_itkSpatialObjectTreeNode.cmake119 Bwrap_itkTreeNodeSO.cmake153 BSwigRuntime.NoDartCoverageCMakeLists.txt1.5 KBswigrun.h97 BTcl.NoDartCoverageCMakeLists.txt2.9 KBSwigGetTclInterp.i342 BTCLGetInterp.i2.2 KBitkTclAppInit.cxx6.9 KBitkTclCommand.cxx2.6 KBitkTclCommand.h2.1 KBitkTclConfigure.h.in314 BitkTkImageViewer2D.cxx4.4 KBitkTkImageViewer2D.h2.7 KBitkdata.tcl1.4 KBitkinteraction.tcl4.6 KBitktesting.tcl1.8 KBitkutils.tcl2.8 KBitkwish.in3.2 KBpkgIndex.tcl.in3.6 KBwrap_ITKTclUtils.cmake51 Bwrap_itkTkImageViewer2D.cmake.notwrapped56 BTestingCMakeLists.txt56 BTestsJavacannyEdgeDetectionImageFilter.java1.1 KBCMakeLists.txt13 BPythoncannyEdgeDetectionImageFilter.py509 BtestDirectory.py157 BtestObject.py50 BtestPrint.py259 BtestTemplate.py1.1 KBtestTemplateUse.py687 BTclCMakeLists.txt302 BPrintAll.tcl419 BrandomImage.tcl2.4 KBtestDirectory.tcl161 BtestObject.tcl73 BVXLNumerics.NoDartCoveragewrap_vcl_complex.cmake1003 BCMakeLists.txt165 Bwrap_vcl_complex.cxx1.1 KBwrap_vnl_c_vector.cmake834 Bwrap_vnl_file_matrix.cmake303 Bwrap_vnl_diag_matrix.cmake551 Bwrap_vnl_file_vector.cmake262 Bwrap_vnl_fortran_copy.cmake437 Bwrap_vnl_matrix.cmake863 Bwrap_vnl_matrix_fixed.cmake666 Bwrap_vnl_matrix_fixed_ref.cmake576 Bwrap_vnl_matrix_ref.cmake301 Bwrap_vnl_vector.cmake863 Bwrap_vnl_vector_ref.cmake301 BWrapBasicTypes.cmake3.5 KBWrapITKTypes.cmake6.8 KBarticleArticle.bib2.1 KBInsightArticle.cls3.9 KBArticle.tex48 KBInsightJournal.sty35 KBInsightJournal.bib155.8 KBalgorithm.sty2.2 KBMakefile1.7 KBalgorithmic.sty5.4 KBamssymb.sty14.9 KBfancyhdr.sty14.4 KBfloatflt.sty10.8 KBfncychap.sty10.1 KBtimes.sty857 Bimagescapture1.png455.2 KBcthead1.png192.6 KBpatchREADME1.1 KBold_itk_compatibilityitkDefaultConvertPixelTraits.h616 BitkChangeLabelImageFilter.h567 BitkImageRegionConstIterator.h1.7 KBitkImageRegionIterator.h949 BitkImageRegionIterator.txx717 BitkSpatialObject.h1.2 KBitkSpatialObjectTreeNode.h533 BitkTernaryFunctorImageFilter.h680 Boptionalpython-interface-patches.patch4.8 KBwrapping-convenience-patches.patch7 KBitk.swg2.9 KBwrapitk.spec11.1 KB

Select a file to preview

Reviews

Reviews

Dan Mueller

Tuesday 11 July 2006

Summary: This paper describes the implementation of an enhanced wrapping system for ITK. The wrappers allow access to ITK filters, algorithms and pipelines using Python (TCL and Java are on the way: waiting for other contributers/helpers).

Hypothesis: This paper suggests that the proposed wrapping system is easier to use, better documented, and more Python friendly than the current wrapping system.

Evidence: The authors present an easy to follow installation guide, a developers guide, and various examples demonstrating usage. The code is easy to understand and the Python functionality really streamlines prototyping with ITK. I have not personally used the existing wrapping system, but my experience with WrapITK has been extremely positivie. The claims made by the authors (ease of use, good documentation, and Python friendly) are well supported from the article examples and my own usage/exploration.

Open Science: The authors provide the cmake files for the wrapping system and point to other required software - all publically available (ie. CMake, ITK, and CableSwig).

Reproducibility: I was able to download, configure, and compile WrapITK (with some minor issues - see below).

My system configuration was as follows:

  • Operating System=Windows XP SP2
  • CMake=CMake 2.4.2
  • Compiler=Microsoft.NET 2003 (7.1.3088)
  • ITK=InsightToolkit-2.8.1
  • CableSwig=CVS checkout on 10th July 2006, 9:30AM (GMT+10:00)
  • WrapITK=Nightly archive from http://voxel.jouy.inra.fr/darcs/contrib-itk/WrapITK/WrapITK.tar.gz downloaded on 10th July 2006, 8:45AM (GMT+10:00)
  • Python=Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on win32

I applied the given patches, and I worked through most of the examples and achieved the same/similar results.

Use of Open Source Software: Uses CMake, ITK, CableSwig, GCC_XML, Python.

Open Source Contributions: All source code is provided.

Code Quality: The code is easy to read, and the installation/developer guides are easy to follow.

Applicability to other problems: WrapITK allows for easy prototyping with ITK. I have been using ITK for various image analysis tasks for ~12months, and have found prototyping to be a somewhat tedious task (ie. create a temp CMake project, create main file, add includes, add all input arguments, compile, run, and repeat). Prototyping with WrapITK is very easy and can be achieved using either the command line interpreter or custom scripts. While the setup time may be large (it took me ~1 day to download, configure, and compile all components), I envisage that the time/engery/frustration I will save using WrapITK to prototype will far outweigh this initial outlay of time.

Requests for additional information from authors: The article should be updated to include the itk.echo(.) function and itk.pipeline class from itkExtras/init.py.

Minor issues compiling WrapITK: I encountered some minor issues compiling WrapITK on Windows. I have detailed these in an email sent to on 11th July 2006 (http://public.kitware.com/pipermail/insight-users/2006-July/018621.html).

These issues included:

  1. Error accessing FUNCSIG in itkGDCMSeriesFileNames.h.

  2. Object file format limit exceeded error (C1128) when selecting extra types to wrap (ie. setting WRAP_unsigned_short=ON).

  3. Ambiguous call to overloaded function \‘sqrt\’ in itkSignedMaurerDistanceMapImageFilter.txx

  4. Error accessing protected member EnlargeOutputRequestedRegion(.) in itkScalarConnectedComponentImageFilter.cxx.

  5. Minor error with Python site-packages installation for Windows.

  6. Incorrect string formatting in Python win32.