From 16eae15c1bb6cc1bae9fba3e09a3102bdc02e955 Mon Sep 17 00:00:00 2001 From: Bradley Lowekamp Date: Tue, 23 Oct 2018 10:45:17 -0400 Subject: [PATCH] ENH: Make ProcessObject::VerifyInputInformation constant Update the signature of VerifyInputInformation to be constant, as this operations should not modify the class. Change-Id: I80d3b999018ce2ed665dd298013c159dea7fa4cc --- Documentation/ITK5MigrationGuide.md | 6 ++++-- Modules/Core/Common/include/itkImageToImageFilter.h | 2 +- Modules/Core/Common/include/itkImageToImageFilter.hxx | 10 +++++----- Modules/Core/Common/include/itkProcessObject.h | 2 +- Modules/Core/Common/src/itkProcessObject.cxx | 2 +- .../include/itkTestingComparisonImageFilter.h | 2 +- .../include/itkTestingComparisonImageFilter.hxx | 2 +- .../include/itkConvolutionImageFilterBase.h | 2 +- .../itkMaskedFFTNormalizedCorrelationImageFilter.h | 2 +- .../itkMaskedFFTNormalizedCorrelationImageFilter.hxx | 2 +- .../ImageCompose/include/itkJoinSeriesImageFilter.h | 2 +- .../ImageCompose/include/itkJoinSeriesImageFilter.hxx | 2 +- .../include/itkChangeInformationImageFilter.h | 2 +- .../include/itkInterpolateImagePointsFilter.h | 2 +- .../Filtering/ImageGrid/include/itkPasteImageFilter.h | 2 +- .../ImageGrid/include/itkResampleImageFilter.h | 2 +- .../ImageGrid/include/itkSliceBySliceImageFilter.h | 2 +- .../ImageGrid/include/itkSliceBySliceImageFilter.hxx | 2 +- .../Filtering/ImageGrid/include/itkSliceImageFilter.h | 2 +- .../ImageGrid/include/itkSliceImageFilter.hxx | 2 +- .../Filtering/ImageGrid/include/itkTileImageFilter.h | 2 +- .../Filtering/ImageGrid/include/itkTileImageFilter.hxx | 2 +- .../Filtering/ImageGrid/include/itkWarpImageFilter.h | 2 +- .../Filtering/ImageGrid/include/itkWarpImageFilter.hxx | 2 +- .../include/itkHistogramMatchingImageFilter.h | 2 +- Modules/IO/TIFF/src/itkTIFFImageIO.cxx | 2 +- .../include/itkDemonsRegistrationFilter.h | 2 +- .../itkMultiResolutionPDEDeformableRegistration.h | 2 +- .../include/itkIsolatedWatershedImageFilter.h | 2 +- .../include/itkIsolatedWatershedImageFilter.hxx | 2 +- 30 files changed, 37 insertions(+), 35 deletions(-) diff --git a/Documentation/ITK5MigrationGuide.md b/Documentation/ITK5MigrationGuide.md index 64c1dc075b5..d5cd5eabc67 100644 --- a/Documentation/ITK5MigrationGuide.md +++ b/Documentation/ITK5MigrationGuide.md @@ -256,8 +256,10 @@ Otsu filters now return correct threshold (bin's maximum value instead of mid-po To keep old behavior, use `filter->SetReturnBinMidpoint( true );`. This change should be relevant only in tests. -With ITK 5.0, `itk::ProcessObject::VerifyPreconditions()` is declared `const`, so if -you have overridden this virtual member function, make sure that you also add `const`. +With ITK 5.0, `itk::ProcessObject::VerifyPreconditions()` and +`itk::ProcessObject::VerifyInputInformation` are now declared `const`, +so if you have overridden these virtual member function, make sure that you +also add `const`. Update scripts -------------- diff --git a/Modules/Core/Common/include/itkImageToImageFilter.h b/Modules/Core/Common/include/itkImageToImageFilter.h index 850092584ef..65dd4959252 100644 --- a/Modules/Core/Common/include/itkImageToImageFilter.h +++ b/Modules/Core/Common/include/itkImageToImageFilter.h @@ -232,7 +232,7 @@ class ITK_TEMPLATE_EXPORT ImageToImageFilter:public ImageSource< TOutputImage >, * * \sa ProcessObject::VerifyInputInformation */ - void VerifyInputInformation() override; + void VerifyInputInformation() const override; /** What is the input requested region that is required to produce * the output requested region? The base assumption for image diff --git a/Modules/Core/Common/include/itkImageToImageFilter.hxx b/Modules/Core/Common/include/itkImageToImageFilter.hxx index 54680bd45ce..8c9183daadb 100644 --- a/Modules/Core/Common/include/itkImageToImageFilter.hxx +++ b/Modules/Core/Common/include/itkImageToImageFilter.hxx @@ -29,6 +29,7 @@ #define itkImageToImageFilter_hxx #include "itkImageToImageFilter.h" #include "itkInputDataObjectIterator.h" +#include "itkInputDataObjectConstIterator.h" #include @@ -164,13 +165,13 @@ ImageToImageFilter< TInputImage, TOutputImage > template< typename TInputImage, typename TOutputImage > void ImageToImageFilter< TInputImage, TOutputImage > -::VerifyInputInformation() +::VerifyInputInformation() const { - using ImageBaseType = ImageBase< InputImageDimension >; + using ImageBaseType = const ImageBase< InputImageDimension >; ImageBaseType *inputPtr1 = nullptr; - InputDataObjectIterator it(this); + InputDataObjectConstIterator it(this); for(; !it.IsAtEnd(); ++it ) { @@ -187,8 +188,7 @@ ImageToImageFilter< TInputImage, TOutputImage > } } - - for (; !it.IsAtEnd(); ++it ) + for (; !it.IsAtEnd(); ++it ) { auto * inputPtrN = dynamic_cast< ImageBaseType * >( it.GetInput() ); diff --git a/Modules/Core/Common/include/itkProcessObject.h b/Modules/Core/Common/include/itkProcessObject.h index 9821eab2235..8c309684229 100644 --- a/Modules/Core/Common/include/itkProcessObject.h +++ b/Modules/Core/Common/include/itkProcessObject.h @@ -686,7 +686,7 @@ class ITKCommon_EXPORT ProcessObject:public Object * check if all the inputs are in the same coordinate frame. * */ - virtual void VerifyInputInformation(); + virtual void VerifyInputInformation() const; /** What is the input requested region that is required to produce the * output requested region? By default, the largest possible region is diff --git a/Modules/Core/Common/src/itkProcessObject.cxx b/Modules/Core/Common/src/itkProcessObject.cxx index 0276a51e35b..343bf2d4929 100644 --- a/Modules/Core/Common/src/itkProcessObject.cxx +++ b/Modules/Core/Common/src/itkProcessObject.cxx @@ -1446,7 +1446,7 @@ ::VerifyPreconditions() const void ProcessObject -::VerifyInputInformation() +::VerifyInputInformation() const { } diff --git a/Modules/Core/TestKernel/include/itkTestingComparisonImageFilter.h b/Modules/Core/TestKernel/include/itkTestingComparisonImageFilter.h index 1c939f7a7c9..814814ebc7a 100644 --- a/Modules/Core/TestKernel/include/itkTestingComparisonImageFilter.h +++ b/Modules/Core/TestKernel/include/itkTestingComparisonImageFilter.h @@ -129,7 +129,7 @@ class ITK_TEMPLATE_EXPORT ComparisonImageFilter: void AfterThreadedGenerateData() override; - void VerifyInputInformation() override; + void VerifyInputInformation() const override; OutputPixelType m_DifferenceThreshold; diff --git a/Modules/Core/TestKernel/include/itkTestingComparisonImageFilter.hxx b/Modules/Core/TestKernel/include/itkTestingComparisonImageFilter.hxx index 81be4cd4d91..a7450b75bf8 100644 --- a/Modules/Core/TestKernel/include/itkTestingComparisonImageFilter.hxx +++ b/Modules/Core/TestKernel/include/itkTestingComparisonImageFilter.hxx @@ -276,7 +276,7 @@ ComparisonImageFilter< TInputImage, TOutputImage > template< typename TInputImage, typename TOutputImage > void ComparisonImageFilter< TInputImage, TOutputImage > -::VerifyInputInformation() +::VerifyInputInformation() const { if(m_VerifyInputInformation) { diff --git a/Modules/Filtering/Convolution/include/itkConvolutionImageFilterBase.h b/Modules/Filtering/Convolution/include/itkConvolutionImageFilterBase.h index ee509dd9733..b4e2f21ae1b 100644 --- a/Modules/Filtering/Convolution/include/itkConvolutionImageFilterBase.h +++ b/Modules/Filtering/Convolution/include/itkConvolutionImageFilterBase.h @@ -120,7 +120,7 @@ class ITK_TEMPLATE_EXPORT ConvolutionImageFilterBase : /** Default superclass implementation ensures that input images * occupy same physical space. This is not needed for this filter. */ - void VerifyInputInformation() override {}; + void VerifyInputInformation() const override {}; private: bool m_Normalize; diff --git a/Modules/Filtering/Convolution/include/itkMaskedFFTNormalizedCorrelationImageFilter.h b/Modules/Filtering/Convolution/include/itkMaskedFFTNormalizedCorrelationImageFilter.h index 7a274647978..6b99b298648 100644 --- a/Modules/Filtering/Convolution/include/itkMaskedFFTNormalizedCorrelationImageFilter.h +++ b/Modules/Filtering/Convolution/include/itkMaskedFFTNormalizedCorrelationImageFilter.h @@ -242,7 +242,7 @@ class ITK_TEMPLATE_EXPORT MaskedFFTNormalizedCorrelationImageFilter : void PrintSelf(std::ostream& os, Indent indent) const override; /** Overlap the VerifyInputInformation method */ - void VerifyInputInformation() override; + void VerifyInputInformation() const override; /** Standard pipeline method.*/ void GenerateData() override; diff --git a/Modules/Filtering/Convolution/include/itkMaskedFFTNormalizedCorrelationImageFilter.hxx b/Modules/Filtering/Convolution/include/itkMaskedFFTNormalizedCorrelationImageFilter.hxx index a163e6f0308..0ae31e3e87f 100644 --- a/Modules/Filtering/Convolution/include/itkMaskedFFTNormalizedCorrelationImageFilter.hxx +++ b/Modules/Filtering/Convolution/include/itkMaskedFFTNormalizedCorrelationImageFilter.hxx @@ -579,7 +579,7 @@ MaskedFFTNormalizedCorrelationImageFilter template< typename TInputImage, typename TOutputImage, typename TMaskImage > void MaskedFFTNormalizedCorrelationImageFilter -::VerifyInputInformation() +::VerifyInputInformation() const { // Call the superclass' implementation of this method. Superclass::VerifyInputInformation(); diff --git a/Modules/Filtering/ImageCompose/include/itkJoinSeriesImageFilter.h b/Modules/Filtering/ImageCompose/include/itkJoinSeriesImageFilter.h index f739dedbde2..d84fd8f6cab 100644 --- a/Modules/Filtering/ImageCompose/include/itkJoinSeriesImageFilter.h +++ b/Modules/Filtering/ImageCompose/include/itkJoinSeriesImageFilter.h @@ -103,7 +103,7 @@ class ITK_TEMPLATE_EXPORT JoinSeriesImageFilter: * * \sa ProcessObject::VerifyInputInformation */ - void VerifyInputInformation() override; + void VerifyInputInformation() const override; /** Overrides GenerateOutputInformation() in order to produce * an image which has a different information than the first input. diff --git a/Modules/Filtering/ImageCompose/include/itkJoinSeriesImageFilter.hxx b/Modules/Filtering/ImageCompose/include/itkJoinSeriesImageFilter.hxx index 851cfda85fc..b416062b079 100644 --- a/Modules/Filtering/ImageCompose/include/itkJoinSeriesImageFilter.hxx +++ b/Modules/Filtering/ImageCompose/include/itkJoinSeriesImageFilter.hxx @@ -36,7 +36,7 @@ JoinSeriesImageFilter< TInputImage, TOutputImage > template< typename TInputImage, typename TOutputImage > void JoinSeriesImageFilter< TInputImage, TOutputImage > -::VerifyInputInformation() +::VerifyInputInformation() const { Superclass::VerifyInputInformation(); diff --git a/Modules/Filtering/ImageGrid/include/itkChangeInformationImageFilter.h b/Modules/Filtering/ImageGrid/include/itkChangeInformationImageFilter.h index 676b3d320e2..41ef6b91194 100644 --- a/Modules/Filtering/ImageGrid/include/itkChangeInformationImageFilter.h +++ b/Modules/Filtering/ImageGrid/include/itkChangeInformationImageFilter.h @@ -228,7 +228,7 @@ class ITK_TEMPLATE_EXPORT ChangeInformationImageFilter: * * \sa ProcessObject::VerifyInputInformation */ - void VerifyInputInformation() override {} + void VerifyInputInformation() const override {} private: InputImagePointer m_ReferenceImage; diff --git a/Modules/Filtering/ImageGrid/include/itkInterpolateImagePointsFilter.h b/Modules/Filtering/ImageGrid/include/itkInterpolateImagePointsFilter.h index 90a9b1ddfff..b29f968f2b0 100644 --- a/Modules/Filtering/ImageGrid/include/itkInterpolateImagePointsFilter.h +++ b/Modules/Filtering/ImageGrid/include/itkInterpolateImagePointsFilter.h @@ -172,7 +172,7 @@ class ITK_TEMPLATE_EXPORT InterpolateImagePointsFilter: * * \sa ProcessObject::VerifyInputInformation */ - void VerifyInputInformation() override {} + void VerifyInputInformation() const override {} private: diff --git a/Modules/Filtering/ImageGrid/include/itkPasteImageFilter.h b/Modules/Filtering/ImageGrid/include/itkPasteImageFilter.h index ab4b9b37742..847866e4f71 100644 --- a/Modules/Filtering/ImageGrid/include/itkPasteImageFilter.h +++ b/Modules/Filtering/ImageGrid/include/itkPasteImageFilter.h @@ -133,7 +133,7 @@ class ITK_TEMPLATE_EXPORT PasteImageFilter: * * \sa ProcessObject::VerifyInputInformation */ - void VerifyInputInformation() override {} + void VerifyInputInformation() const override {} protected: PasteImageFilter(); diff --git a/Modules/Filtering/ImageGrid/include/itkResampleImageFilter.h b/Modules/Filtering/ImageGrid/include/itkResampleImageFilter.h index b44334cfa66..1178317ff99 100644 --- a/Modules/Filtering/ImageGrid/include/itkResampleImageFilter.h +++ b/Modules/Filtering/ImageGrid/include/itkResampleImageFilter.h @@ -303,7 +303,7 @@ class ITK_TEMPLATE_EXPORT ResampleImageFilter : * * \sa ProcessObject::VerifyInputInformation */ - void VerifyInputInformation() override { } + void VerifyInputInformation() const override { } /** ResampleImageFilter can be implemented as a multithreaded filter. * Therefore, this implementation provides a DynamicThreadedGenerateData() diff --git a/Modules/Filtering/ImageGrid/include/itkSliceBySliceImageFilter.h b/Modules/Filtering/ImageGrid/include/itkSliceBySliceImageFilter.h index d9eca4c7f34..130b25d0791 100644 --- a/Modules/Filtering/ImageGrid/include/itkSliceBySliceImageFilter.h +++ b/Modules/Filtering/ImageGrid/include/itkSliceBySliceImageFilter.h @@ -161,7 +161,7 @@ class ITK_TEMPLATE_EXPORT SliceBySliceImageFilter: SliceBySliceImageFilter(); ~SliceBySliceImageFilter() override = default; - void VerifyInputInformation() override; + void VerifyInputInformation() const override; void GenerateData() override; diff --git a/Modules/Filtering/ImageGrid/include/itkSliceBySliceImageFilter.hxx b/Modules/Filtering/ImageGrid/include/itkSliceBySliceImageFilter.hxx index 7701bdfd472..cadd422689c 100644 --- a/Modules/Filtering/ImageGrid/include/itkSliceBySliceImageFilter.hxx +++ b/Modules/Filtering/ImageGrid/include/itkSliceBySliceImageFilter.hxx @@ -41,7 +41,7 @@ template< typename TInputImage, typename TOutputImage, typename TInputFilter, ty void SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImageType, TInternalOutputImageType > -::VerifyInputInformation() +::VerifyInputInformation() const { Superclass::VerifyInputInformation(); diff --git a/Modules/Filtering/ImageGrid/include/itkSliceImageFilter.h b/Modules/Filtering/ImageGrid/include/itkSliceImageFilter.h index dd826ba5709..5c480e9dd99 100644 --- a/Modules/Filtering/ImageGrid/include/itkSliceImageFilter.h +++ b/Modules/Filtering/ImageGrid/include/itkSliceImageFilter.h @@ -148,7 +148,7 @@ class ITK_TEMPLATE_EXPORT SliceImageFilter: void DynamicThreadedGenerateData(const OutputImageRegionType & outputRegionForThread) override; - void VerifyInputInformation() override; + void VerifyInputInformation() const override; private: IndexType m_Start; diff --git a/Modules/Filtering/ImageGrid/include/itkSliceImageFilter.hxx b/Modules/Filtering/ImageGrid/include/itkSliceImageFilter.hxx index d7b1f8691f0..939cf1c2660 100644 --- a/Modules/Filtering/ImageGrid/include/itkSliceImageFilter.hxx +++ b/Modules/Filtering/ImageGrid/include/itkSliceImageFilter.hxx @@ -318,7 +318,7 @@ SliceImageFilter< TInputImage, TOutputImage > template< class TInputImage, class TOutputImage > void SliceImageFilter< TInputImage, TOutputImage > -::VerifyInputInformation() +::VerifyInputInformation() const { Superclass::VerifyInputInformation(); diff --git a/Modules/Filtering/ImageGrid/include/itkTileImageFilter.h b/Modules/Filtering/ImageGrid/include/itkTileImageFilter.h index 47394607a2b..7025647036d 100644 --- a/Modules/Filtering/ImageGrid/include/itkTileImageFilter.h +++ b/Modules/Filtering/ImageGrid/include/itkTileImageFilter.h @@ -146,7 +146,7 @@ class ITK_TEMPLATE_EXPORT TileImageFilter: * * \sa ProcessObject::VerifyInputInformation */ - void VerifyInputInformation() override; + void VerifyInputInformation() const override; private: typename TileImageType::Pointer m_TileImage; diff --git a/Modules/Filtering/ImageGrid/include/itkTileImageFilter.hxx b/Modules/Filtering/ImageGrid/include/itkTileImageFilter.hxx index 133148701d1..5773b715b2c 100644 --- a/Modules/Filtering/ImageGrid/include/itkTileImageFilter.hxx +++ b/Modules/Filtering/ImageGrid/include/itkTileImageFilter.hxx @@ -368,7 +368,7 @@ TileImageFilter< TInputImage, TOutputImage > template< typename TInputImage, typename TOutputImage > void TileImageFilter< TInputImage, TOutputImage > -::VerifyInputInformation() +::VerifyInputInformation() const { // Do not call superclass's VerifyInputInformation method. diff --git a/Modules/Filtering/ImageGrid/include/itkWarpImageFilter.h b/Modules/Filtering/ImageGrid/include/itkWarpImageFilter.h index e4412b82170..f4c3a71616e 100644 --- a/Modules/Filtering/ImageGrid/include/itkWarpImageFilter.h +++ b/Modules/Filtering/ImageGrid/include/itkWarpImageFilter.h @@ -249,7 +249,7 @@ class ITK_TEMPLATE_EXPORT WarpImageFilter: * * \sa ProcessObject::VerifyInputInformation */ - void VerifyInputInformation() override; + void VerifyInputInformation() const override; /** This function should be in an interpolator but none of the ITK * interpolators at this point handle edge conditions properly diff --git a/Modules/Filtering/ImageGrid/include/itkWarpImageFilter.hxx b/Modules/Filtering/ImageGrid/include/itkWarpImageFilter.hxx index 057c0f43785..7ce48d906bb 100644 --- a/Modules/Filtering/ImageGrid/include/itkWarpImageFilter.hxx +++ b/Modules/Filtering/ImageGrid/include/itkWarpImageFilter.hxx @@ -113,7 +113,7 @@ WarpImageFilter< TInputImage, TOutputImage, TDisplacementField > template< typename TInputImage, typename TOutputImage, typename TDisplacementField > void WarpImageFilter< TInputImage, TOutputImage, TDisplacementField > -::VerifyInputInformation() +::VerifyInputInformation() const { if (ImageDimension != GetDisplacementField()->GetNumberOfComponentsPerPixel()) { diff --git a/Modules/Filtering/ImageIntensity/include/itkHistogramMatchingImageFilter.h b/Modules/Filtering/ImageIntensity/include/itkHistogramMatchingImageFilter.h index ca6c5d782bc..d1d08ae084b 100644 --- a/Modules/Filtering/ImageIntensity/include/itkHistogramMatchingImageFilter.h +++ b/Modules/Filtering/ImageIntensity/include/itkHistogramMatchingImageFilter.h @@ -179,7 +179,7 @@ class ITK_TEMPLATE_EXPORT HistogramMatchingImageFilter: * * \sa ProcessObject::VerifyInputInformation */ - void VerifyInputInformation() override {} + void VerifyInputInformation() const override {} /** Compute min, max and mean of an image. */ void ComputeMinMaxMean(const InputImageType *image, diff --git a/Modules/IO/TIFF/src/itkTIFFImageIO.cxx b/Modules/IO/TIFF/src/itkTIFFImageIO.cxx index 1dcc125fe2d..3b0cba7a455 100644 --- a/Modules/IO/TIFF/src/itkTIFFImageIO.cxx +++ b/Modules/IO/TIFF/src/itkTIFFImageIO.cxx @@ -497,7 +497,7 @@ bool TIFFImageIO::CanWriteFile(const char *name) return false; } - return this->HasSupportedWriteExtension(name); + return this->HasSupportedWriteExtension(name, false); } void TIFFImageIO::WriteImageInformation() diff --git a/Modules/Registration/PDEDeformable/include/itkDemonsRegistrationFilter.h b/Modules/Registration/PDEDeformable/include/itkDemonsRegistrationFilter.h index 582e883fa0e..c2c42dcf678 100644 --- a/Modules/Registration/PDEDeformable/include/itkDemonsRegistrationFilter.h +++ b/Modules/Registration/PDEDeformable/include/itkDemonsRegistrationFilter.h @@ -139,7 +139,7 @@ class ITK_TEMPLATE_EXPORT DemonsRegistrationFilter: * * \sa ProcessObject::VerifyInputInformation */ - void VerifyInputInformation() override {} + void VerifyInputInformation() const override {} private: bool m_UseMovingImageGradient; diff --git a/Modules/Registration/PDEDeformable/include/itkMultiResolutionPDEDeformableRegistration.h b/Modules/Registration/PDEDeformable/include/itkMultiResolutionPDEDeformableRegistration.h index 2a5df27f80f..1d3e2d55076 100644 --- a/Modules/Registration/PDEDeformable/include/itkMultiResolutionPDEDeformableRegistration.h +++ b/Modules/Registration/PDEDeformable/include/itkMultiResolutionPDEDeformableRegistration.h @@ -250,7 +250,7 @@ class ITK_TEMPLATE_EXPORT MultiResolutionPDEDeformableRegistration: * * \sa ProcessObject::VerifyInputInformation */ - void VerifyInputInformation() override {} + void VerifyInputInformation() const override {} private: RegistrationPointer m_RegistrationFilter; diff --git a/Modules/Segmentation/Watersheds/include/itkIsolatedWatershedImageFilter.h b/Modules/Segmentation/Watersheds/include/itkIsolatedWatershedImageFilter.h index c2cf762a215..1b49be093d8 100644 --- a/Modules/Segmentation/Watersheds/include/itkIsolatedWatershedImageFilter.h +++ b/Modules/Segmentation/Watersheds/include/itkIsolatedWatershedImageFilter.h @@ -138,7 +138,7 @@ class ITK_TEMPLATE_EXPORT IsolatedWatershedImageFilter: // Override since the filter produces the entire dataset void EnlargeOutputRequestedRegion(DataObject *output) override; - void VerifyInputInformation() override; + void VerifyInputInformation() const override; void GenerateData() override; }; } // end namespace itk diff --git a/Modules/Segmentation/Watersheds/include/itkIsolatedWatershedImageFilter.hxx b/Modules/Segmentation/Watersheds/include/itkIsolatedWatershedImageFilter.hxx index e7c24413da6..d93472b76f6 100644 --- a/Modules/Segmentation/Watersheds/include/itkIsolatedWatershedImageFilter.hxx +++ b/Modules/Segmentation/Watersheds/include/itkIsolatedWatershedImageFilter.hxx @@ -67,7 +67,7 @@ IsolatedWatershedImageFilter< TInputImage, TOutputImage > template< typename TInputImage, typename TOutputImage > void IsolatedWatershedImageFilter< TInputImage, TOutputImage > -::VerifyInputInformation() +::VerifyInputInformation() const { Superclass::VerifyInputInformation();