From f7e0820f952a49293365eb4ef8256a356503b2e9 Mon Sep 17 00:00:00 2001 From: Stephen Aylward Date: Wed, 26 Jun 2024 19:51:57 -0400 Subject: [PATCH] COMP: Address warnings Fixed unused variables, functions hidden by derived classes, and variable types. Also fixed lurking bugs related to variables being used before being set. --- .../itktubeAnisotropicDiffusionTensorFunction.h | 1 + .../itktubeAnisotropicDiffusionTensorFunction.hxx | 3 +++ .../itktubeShrinkWithBlendingImageFilter.hxx | 8 ++++---- src/Filtering/itktubeSpatialObjectFilter.h | 8 ++++++-- .../itktubeSpatialObjectToSpatialObjectFilter.h | 4 ++++ ...itktubeSymmetricEigenVectorAnalysisImageFilter.h | 1 + src/MetaIO/itktubeMetaClassPDF.cxx | 5 +---- .../itktubeObjectDocumentToImageFilter.hxx | 13 ++++++++----- .../itkBSplineImageToImageRegistrationMethod.hxx | 5 ----- .../itktubeMergeAdjacentImagesFilter.hxx | 4 ++-- src/Segmentation/itktubeRadiusExtractor2.hxx | 1 - src/Segmentation/itktubeRadiusExtractor3.hxx | 2 +- .../itktubeSubSampleSpatialObjectFilterTest.cxx | 1 - .../itktubeSpatialObjectToImageRegistrationTest.cxx | 1 - test/Segmentation/itktubeRidgeExtractorTest2.cxx | 4 ++-- 15 files changed, 33 insertions(+), 28 deletions(-) diff --git a/src/Filtering/itktubeAnisotropicDiffusionTensorFunction.h b/src/Filtering/itktubeAnisotropicDiffusionTensorFunction.h index c930ab93a..6cbc34247 100644 --- a/src/Filtering/itktubeAnisotropicDiffusionTensorFunction.h +++ b/src/Filtering/itktubeAnisotropicDiffusionTensorFunction.h @@ -259,6 +259,7 @@ class AnisotropicDiffusionTensorFunction TimeStepType m_TimeStep; bool m_UseImageSpacing; + SpacingType m_Spacing{1}; }; // End class AnisotropicDiffusionTensorFunction diff --git a/src/Filtering/itktubeAnisotropicDiffusionTensorFunction.hxx b/src/Filtering/itktubeAnisotropicDiffusionTensorFunction.hxx index 827a2b9bf..a1574d7d8 100644 --- a/src/Filtering/itktubeAnisotropicDiffusionTensorFunction.hxx +++ b/src/Filtering/itktubeAnisotropicDiffusionTensorFunction.hxx @@ -90,6 +90,7 @@ AnisotropicDiffusionTensorFunction< TImageType > { DiffusionTensorNeighborhoodType tensorNeighborhood; SpacingType spacing; + spacing = m_Spacing; return this->ComputeUpdate( neighborhood, tensorNeighborhood, spacing, @@ -314,6 +315,7 @@ AnisotropicDiffusionTensorFunction if( useImageSpacing ) { minSpacing = input->GetSpacing()[0]; + m_Spacing = input->GetSpacing(); for( unsigned int i = 1; i < ImageDimension; i++ ) { if( input->GetSpacing()[i] < minSpacing ) @@ -325,6 +327,7 @@ AnisotropicDiffusionTensorFunction else { minSpacing = 1.0; + m_Spacing.Fill(1.0); } // TODO plus 1? diff --git a/src/Filtering/itktubeShrinkWithBlendingImageFilter.hxx b/src/Filtering/itktubeShrinkWithBlendingImageFilter.hxx index 1128b32ff..a1f1ecf24 100644 --- a/src/Filtering/itktubeShrinkWithBlendingImageFilter.hxx +++ b/src/Filtering/itktubeShrinkWithBlendingImageFilter.hxx @@ -161,7 +161,7 @@ ShrinkWithBlendingImageFilter< TInputImage, TOutputImage > // We wish to perform the following mapping of outputIndex to // inputIndex on all points in our region outputPtr->TransformIndexToPhysicalPoint( outputIndex, tempPoint ); - bool isInside = inputPtr->TransformPhysicalPointToIndex( tempPoint, inputIndex ); + std::ignore = inputPtr->TransformPhysicalPointToIndex( tempPoint, inputIndex ); // Support progress methods/callbacks ProgressReporter progress( this, threadId, @@ -205,7 +205,7 @@ ShrinkWithBlendingImageFilter< TInputImage, TOutputImage > curMipPoint[i] = inputMipPointItPtr->Get()[i]; } - isInside = inputPtr->TransformPhysicalPointToIndex( curMipPoint, inputIndex ); + std::ignore = inputPtr->TransformPhysicalPointToIndex( curMipPoint, inputIndex ); // set output pixel intensity as intensity of input pixel at mip point outIt.Set( inputPtr->GetPixel( inputIndex ) ); @@ -225,7 +225,7 @@ ShrinkWithBlendingImageFilter< TInputImage, TOutputImage > outputIndex = outIt.GetIndex(); outputPtr->TransformIndexToPhysicalPoint( outputIndex, tempPoint ); - isInside = inputPtr->TransformPhysicalPointToIndex( tempPoint, inputIndex ); + std::ignore = inputPtr->TransformPhysicalPointToIndex( tempPoint, inputIndex ); for( unsigned int i = 0; i < ImageDimension; ++i ) { @@ -484,7 +484,7 @@ ShrinkWithBlendingImageFilter< TInputImage, TOutputImage > outputPtr->TransformIndexToPhysicalPoint( outputRequestedRegionStartIndex, tempPoint ); - bool isInside = inputPtr->TransformPhysicalPointToIndex( tempPoint, + std::ignore = inputPtr->TransformPhysicalPointToIndex( tempPoint, inputRequestedRegionStartIndex ); for( unsigned int i = 0; i < TInputImage::ImageDimension; i++ ) { diff --git a/src/Filtering/itktubeSpatialObjectFilter.h b/src/Filtering/itktubeSpatialObjectFilter.h index 3e0b1c62d..76aebf8aa 100644 --- a/src/Filtering/itktubeSpatialObjectFilter.h +++ b/src/Filtering/itktubeSpatialObjectFilter.h @@ -63,10 +63,14 @@ class SpatialObjectFilter SpatialObjectFilter( void ); virtual ~SpatialObjectFilter( void ) {} - // To remove warning "was hidden [-Woverloaded-virtual]" - void SetInput( const typename Superclass::DataObjectIdentifierType &, + // from itkProcessObject + virtual void SetInput( const + itk::ProcessObject::DataObjectIdentifierType &, itk::DataObject * ) override {}; + virtual void SetInput( unsigned int, const SpatialObjectType * + ) override {}; + private: // purposely not implemented SpatialObjectFilter( const Self & ); diff --git a/src/Filtering/itktubeSpatialObjectToSpatialObjectFilter.h b/src/Filtering/itktubeSpatialObjectToSpatialObjectFilter.h index 6c477d414..f743ac4ce 100644 --- a/src/Filtering/itktubeSpatialObjectToSpatialObjectFilter.h +++ b/src/Filtering/itktubeSpatialObjectToSpatialObjectFilter.h @@ -70,6 +70,10 @@ class SpatialObjectToSpatialObjectFilter SpatialObjectToSpatialObjectFilter( void ); virtual ~SpatialObjectToSpatialObjectFilter( void ) {} + // To remove warning "was hidden [-Woverloaded-virtual]" + //void SetInput( const typename Superclass::DataObjectIdentifierType &, + //itk::DataObject * ) override {}; + private: // purposely not implemented SpatialObjectToSpatialObjectFilter( const Self & ); diff --git a/src/Filtering/itktubeSymmetricEigenVectorAnalysisImageFilter.h b/src/Filtering/itktubeSymmetricEigenVectorAnalysisImageFilter.h index fb63e48b6..f52d6d1ec 100644 --- a/src/Filtering/itktubeSymmetricEigenVectorAnalysisImageFilter.h +++ b/src/Filtering/itktubeSymmetricEigenVectorAnalysisImageFilter.h @@ -66,6 +66,7 @@ class SymmetricEigenVectorAnalysisFunction inline TMatrix operator()( const TInput & x ) { TOutput eigenValues; + eigenValues.Fill(0); TMatrix eigenVectorMatrix; m_Calculator.ComputeEigenValuesAndVectors( x, eigenValues, eigenVectorMatrix ); diff --git a/src/MetaIO/itktubeMetaClassPDF.cxx b/src/MetaIO/itktubeMetaClassPDF.cxx index 48134fd36..8f184b994 100644 --- a/src/MetaIO/itktubeMetaClassPDF.cxx +++ b/src/MetaIO/itktubeMetaClassPDF.cxx @@ -169,7 +169,7 @@ PrintInfo( void ) const if( ! m_ObjectId.empty() ) { std::cout << m_ObjectId[0]; - for( int i = 1; i < m_ObjectId.size(); i++ ) + for( std::vector::size_type i = 1; i < m_ObjectId.size(); i++ ) { std::cout << ", " << m_ObjectId[i]; } @@ -878,9 +878,6 @@ M_Read( void ) } } - unsigned int nFeatures = static_cast< unsigned int >( - MetaImage::NDims() ); - MET_FieldRecordType * mF = MET_GetFieldRecord( "NObjects", &m_Fields ); unsigned int nObjects = ( unsigned int )mF->value[0]; diff --git a/src/ObjectDocuments/itktubeObjectDocumentToImageFilter.hxx b/src/ObjectDocuments/itktubeObjectDocumentToImageFilter.hxx index 497283f2f..8eba556dc 100644 --- a/src/ObjectDocuments/itktubeObjectDocumentToImageFilter.hxx +++ b/src/ObjectDocuments/itktubeObjectDocumentToImageFilter.hxx @@ -137,10 +137,16 @@ ObjectDocumentToImageFilter< TObjectDocument, TImageType > PointType & origin ) const { SizeType size = image->GetLargestPossibleRegion().GetSize(); + PointType point; PointType maximum; - // Fill origin ( minimum value with large number ). - origin.Fill( 9999999 ); + typename ImageType::IndexType index; + index.Fill(0); + image->TransformIndexToPhysicalPoint( index, point ); + point = transform->TransformPoint( point ); + + origin = point; + maximum = point; // Transform all of the image corners and determine the minimum bounding // box. @@ -150,14 +156,11 @@ ObjectDocumentToImageFilter< TObjectDocument, TImageType > { for( unsigned int z = 0; z <= size[2]; z += size[2] ) { - typename ImageType::IndexType index; index[0] = x; index[1] = y; index[2] = z; - PointType point; - image->TransformIndexToPhysicalPoint( index, point ); point = transform->TransformPoint( point ); diff --git a/src/Registration/itkBSplineImageToImageRegistrationMethod.hxx b/src/Registration/itkBSplineImageToImageRegistrationMethod.hxx index 85e25a591..d6b3a91d5 100644 --- a/src/Registration/itkBSplineImageToImageRegistrationMethod.hxx +++ b/src/Registration/itkBSplineImageToImageRegistrationMethod.hxx @@ -472,11 +472,6 @@ BSplineImageToImageRegistrationMethod fixedPyramid->SetNumberOfLevels( numberOfLevelsUsing ); movingPyramid->SetNumberOfLevels( numberOfLevelsUsing ); - typename ImageType::SpacingType fixedSpacing = - this->GetFixedImage()->GetSpacing(); - typename ImageType::SpacingType movingSpacing = - this->GetFixedImage()->GetSpacing(); - typename PyramidType::ScheduleType fixedSchedule = fixedPyramid->GetSchedule(); typename PyramidType::ScheduleType movingSchedule = diff --git a/src/Registration/itktubeMergeAdjacentImagesFilter.hxx b/src/Registration/itktubeMergeAdjacentImagesFilter.hxx index c999296d8..4aaa12dda 100644 --- a/src/Registration/itktubeMergeAdjacentImagesFilter.hxx +++ b/src/Registration/itktubeMergeAdjacentImagesFilter.hxx @@ -220,7 +220,7 @@ MergeAdjacentImagesFilter< TImage > pointX = m_InitialTransform->GetInverseTransform()->TransformPoint( pointX ); } - bool isInside = m_Input1->TransformPhysicalPointToIndex( pointX, minX2 ); + std::ignore = m_Input1->TransformPhysicalPointToIndex( pointX, minX2 ); typename ImageType::SizeType size2 = m_Input2->GetLargestPossibleRegion().GetSize(); @@ -243,7 +243,7 @@ MergeAdjacentImagesFilter< TImage > { pointX = m_InitialTransform->GetInverseTransform()->TransformPoint( pointX ); } - isInside = m_Input1->TransformPhysicalPointToIndex( pointX, maxX2 ); + std::ignore = m_Input1->TransformPhysicalPointToIndex( pointX, maxX2 ); // compute min-max coord and size of output for( unsigned int i = 0; i < ImageDimension; i++ ) diff --git a/src/Segmentation/itktubeRadiusExtractor2.hxx b/src/Segmentation/itktubeRadiusExtractor2.hxx index 55418c0da..8ef77a88d 100644 --- a/src/Segmentation/itktubeRadiusExtractor2.hxx +++ b/src/Segmentation/itktubeRadiusExtractor2.hxx @@ -303,7 +303,6 @@ RadiusExtractor2 int tempI; while( pntIter != m_KernelTube->GetPoints().end() ) { - IndexType kernelPointI; if( !m_InputImage->TransformPhysicalPointToIndex( pntIter->GetPositionInObjectSpace(), kernelPointI ) ) { diff --git a/src/Segmentation/itktubeRadiusExtractor3.hxx b/src/Segmentation/itktubeRadiusExtractor3.hxx index e85f62633..2a57eb1bf 100644 --- a/src/Segmentation/itktubeRadiusExtractor3.hxx +++ b/src/Segmentation/itktubeRadiusExtractor3.hxx @@ -400,7 +400,7 @@ RadiusExtractor3 while( pntIter != m_KernelTube->GetPoints().end() ) { p = pntIter->GetPositionInObjectSpace(); - bool isInside = m_InputImage->TransformPhysicalPointToIndex( p, kernelPointIndex ); + isInside = m_InputImage->TransformPhysicalPointToIndex( p, kernelPointIndex ); if( !isInside ) { ++pntIter; diff --git a/test/Filtering/itktubeSubSampleSpatialObjectFilterTest.cxx b/test/Filtering/itktubeSubSampleSpatialObjectFilterTest.cxx index ff9c2d267..2a3ef46eb 100644 --- a/test/Filtering/itktubeSubSampleSpatialObjectFilterTest.cxx +++ b/test/Filtering/itktubeSubSampleSpatialObjectFilterTest.cxx @@ -39,7 +39,6 @@ int itktubeSubSampleSpatialObjectFilterTest( int argc, char * argv[] ) const char * outputTubeNetwork = argv[2]; enum { Dimension = 3 }; - typedef itk::TubeSpatialObject< Dimension > TubeSpatialObjectType; typedef itk::GroupSpatialObject< Dimension > GroupSpatialObjectType; // Read input tube tree. diff --git a/test/Registration/itktubeSpatialObjectToImageRegistrationTest.cxx b/test/Registration/itktubeSpatialObjectToImageRegistrationTest.cxx index 20825340c..b678cbd31 100644 --- a/test/Registration/itktubeSpatialObjectToImageRegistrationTest.cxx +++ b/test/Registration/itktubeSpatialObjectToImageRegistrationTest.cxx @@ -55,7 +55,6 @@ int itktubeSpatialObjectToImageRegistrationTest( int argc, char * argv[] ) enum { ObjectDimension = 3 }; typedef double FloatType; - typedef itk::TubeSpatialObject< ObjectDimension > TubeType; typedef itk::GroupSpatialObject< ObjectDimension > GroupType; typedef itk::SpatialObjectReader< ObjectDimension > SOReaderType; typedef itk::Image< FloatType, ObjectDimension > ImageType; diff --git a/test/Segmentation/itktubeRidgeExtractorTest2.cxx b/test/Segmentation/itktubeRidgeExtractorTest2.cxx index 3d4e2abf9..a60be827e 100644 --- a/test/Segmentation/itktubeRidgeExtractorTest2.cxx +++ b/test/Segmentation/itktubeRidgeExtractorTest2.cxx @@ -187,7 +187,7 @@ int itktubeRidgeExtractorTest2( int argc, char * argv[] ) if( ridgeOp->LocalRidge( xRidgePnt ) != RidgeOpType::SUCCESS ) { RidgeOpType::ContinuousIndexType xRidgeContI; - bool isInside = im->TransformPhysicalPointToContinuousIndex( xRidgePnt, + std::ignore = im->TransformPhysicalPointToContinuousIndex( xRidgePnt, xRidgeContI ); std::cout << "*** FAILURE: Local ridge test failed. No ridge found." << std::endl; @@ -205,7 +205,7 @@ int itktubeRidgeExtractorTest2( int argc, char * argv[] ) continue; } RidgeOpType::ContinuousIndexType xRidgeContI; - bool isInside = im->TransformPhysicalPointToContinuousIndex( xRidgePnt, + std::ignore = im->TransformPhysicalPointToContinuousIndex( xRidgePnt, xRidgeContI ); double diff = 0;