Skip to content

Commit ebf3c6b

Browse files
authored
Merge pull request #144 from phcerdan/rename_structure_tensor
Style: Rename itkStructureTensor to itkStructureTensorImageFilter
2 parents 926baee + 1c28ed0 commit ebf3c6b

7 files changed

+51
-48
lines changed

include/itkStructureTensor.h renamed to include/itkStructureTensorImageFilter.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
* limitations under the License.
1616
*
1717
*=========================================================================*/
18-
#ifndef itkStructureTensor_h
19-
#define itkStructureTensor_h
18+
#ifndef itkStructureTensorImageFilter_h
19+
#define itkStructureTensorImageFilter_h
2020

2121
#include <itkImageToImageFilter.h>
2222
#include <itkImageScanlineConstIterator.h>
@@ -27,7 +27,7 @@
2727
#include <itkGaussianImageSource.h>
2828
namespace itk
2929
{
30-
/** \class StructureTensor
30+
/** \class StructureTensorImageFilter
3131
* Given an array of inputs, StructureTensor computes the linear combination (or direction) of inputs that maximizes the
3232
response for each location in the image.
3333
* Instead of only measuring the response at the pixel of interest, it takes into account a local neighborhood.
@@ -80,14 +80,14 @@ and
8080
*/
8181
template <typename TInputImage,
8282
typename TOutputImage = itk::Image<itk::VariableSizeMatrix<double>, TInputImage::ImageDimension>>
83-
class StructureTensor : public ImageToImageFilter<TInputImage, TOutputImage>
83+
class StructureTensorImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
8484
{
8585
public:
86-
ITK_DISALLOW_COPY_AND_MOVE(StructureTensor);
86+
ITK_DISALLOW_COPY_AND_MOVE(StructureTensorImageFilter);
8787

8888
/** Some convenient type alias. */
8989
/** Standard class type alias. */
90-
using Self = StructureTensor;
90+
using Self = StructureTensorImageFilter;
9191
using Superclass = ImageToImageFilter<TInputImage, TOutputImage>;
9292
using Pointer = SmartPointer<Self>;
9393
using ConstPointer = SmartPointer<const Self>;
@@ -99,7 +99,7 @@ class StructureTensor : public ImageToImageFilter<TInputImage, TOutputImage>
9999
itkNewMacro(Self);
100100

101101
/** Runtime information support. */
102-
itkTypeMacro(StructureTensor, ImageToImageFilter);
102+
itkTypeMacro(StructureTensorImageFilter, ImageToImageFilter);
103103

104104
/** Some convenient type alias. */
105105
using InputImageType = typename Superclass::InputImageType;
@@ -205,8 +205,8 @@ class StructureTensor : public ImageToImageFilter<TInputImage, TOutputImage>
205205
bool reOrderLargestEigenvectorInFirstRow = false) const;
206206

207207
protected:
208-
StructureTensor();
209-
~StructureTensor() override = default;
208+
StructureTensorImageFilter();
209+
~StructureTensorImageFilter() override = default;
210210
void
211211
PrintSelf(std::ostream & os, Indent indent) const override;
212212

@@ -231,7 +231,7 @@ class StructureTensor : public ImageToImageFilter<TInputImage, TOutputImage>
231231
};
232232
} // end namespace itk
233233
#ifndef ITK_MANUAL_INSTANTIATION
234-
# include "itkStructureTensor.hxx"
234+
# include "itkStructureTensorImageFilter.hxx"
235235
#endif
236236

237237
#endif

include/itkStructureTensor.hxx renamed to include/itkStructureTensorImageFilter.hxx

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
* limitations under the License.
1616
*
1717
*=========================================================================*/
18-
#ifndef itkStructureTensor_hxx
19-
#define itkStructureTensor_hxx
20-
#include "itkStructureTensor.h"
18+
#ifndef itkStructureTensorImageFilter_hxx
19+
#define itkStructureTensorImageFilter_hxx
20+
#include "itkStructureTensorImageFilter.h"
2121
#include "itkImageScanlineConstIterator.h"
2222
#include "itkImageScanlineIterator.h"
2323
#include <itkMultiplyImageFilter.h>
@@ -32,7 +32,7 @@
3232
namespace itk
3333
{
3434
template <typename TInputImage, typename TOutputImage>
35-
StructureTensor<TInputImage, TOutputImage>::StructureTensor()
35+
StructureTensorImageFilter<TInputImage, TOutputImage>::StructureTensorImageFilter()
3636

3737

3838
{
@@ -43,12 +43,13 @@ StructureTensor<TInputImage, TOutputImage>::StructureTensor()
4343

4444
template <typename TInputImage, typename TOutputImage>
4545
void
46-
StructureTensor<TInputImage, TOutputImage>::SetInputs(const InputsType & inputs)
46+
StructureTensorImageFilter<TInputImage, TOutputImage>::SetInputs(const InputsType & inputs)
4747
{
4848
if (inputs.size() <= 1)
4949
{
50-
itkExceptionMacro(<< "StructureTensor requires at least 2 input images. Current size of input vector in SetInputs: "
51-
<< inputs.size());
50+
itkExceptionMacro(
51+
<< "StructureTensorImageFilter requires at least 2 input images. Current size of input vector in SetInputs: "
52+
<< inputs.size());
5253
}
5354
for (unsigned int nin = 0; nin < inputs.size(); ++nin)
5455
{
@@ -61,7 +62,7 @@ StructureTensor<TInputImage, TOutputImage>::SetInputs(const InputsType & inputs)
6162

6263
template <typename TInputImage, typename TOutputImage>
6364
void
64-
StructureTensor<TInputImage, TOutputImage>::PrintSelf(std::ostream & os, Indent indent) const
65+
StructureTensorImageFilter<TInputImage, TOutputImage>::PrintSelf(std::ostream & os, Indent indent) const
6566
{
6667
Superclass::PrintSelf(os, indent);
6768
os << indent << "GaussianWindowRadius: " << this->m_GaussianWindowRadius << std::endl;
@@ -71,7 +72,7 @@ StructureTensor<TInputImage, TOutputImage>::PrintSelf(std::ostream & os, Indent
7172

7273
template <typename TInputImage, typename TOutputImage>
7374
void
74-
StructureTensor<TInputImage, TOutputImage>::BeforeThreadedGenerateData()
75+
StructureTensorImageFilter<TInputImage, TOutputImage>::BeforeThreadedGenerateData()
7576
{
7677
unsigned int nInputs = this->GetNumberOfInputs();
7778

@@ -146,7 +147,7 @@ StructureTensor<TInputImage, TOutputImage>::BeforeThreadedGenerateData()
146147

147148
template <typename TInputImage, typename TOutputImage>
148149
void
149-
StructureTensor<TInputImage, TOutputImage>::DynamicThreadedGenerateData(
150+
StructureTensorImageFilter<TInputImage, TOutputImage>::DynamicThreadedGenerateData(
150151
const OutputImageRegionType & outputRegionForThread)
151152
{
152153
unsigned int nInputs = this->GetNumberOfInputs();
@@ -222,8 +223,8 @@ StructureTensor<TInputImage, TOutputImage>::DynamicThreadedGenerateData(
222223
}
223224

224225
template <typename TInputImage, typename TOutputImage>
225-
typename StructureTensor<TInputImage, TOutputImage>::EigenMatrixType
226-
StructureTensor<TInputImage, TOutputImage>::GetRotationMatrixFromOutputMatrix(
226+
typename StructureTensorImageFilter<TInputImage, TOutputImage>::EigenMatrixType
227+
StructureTensorImageFilter<TInputImage, TOutputImage>::GetRotationMatrixFromOutputMatrix(
227228
const EigenMatrixType & outputMatrix,
228229
bool reOrderLargestEigenvectorInFirstRow) const
229230
{
@@ -251,8 +252,8 @@ StructureTensor<TInputImage, TOutputImage>::GetRotationMatrixFromOutputMatrix(
251252
}
252253

253254
template <typename TInputImage, typename TOutputImage>
254-
typename StructureTensor<TInputImage, TOutputImage>::InputImagePointer
255-
StructureTensor<TInputImage, TOutputImage>::ComputeProjectionImage(unsigned int eigen_number) const
255+
typename StructureTensorImageFilter<TInputImage, TOutputImage>::InputImagePointer
256+
StructureTensorImageFilter<TInputImage, TOutputImage>::ComputeProjectionImage(unsigned int eigen_number) const
256257
{
257258
const unsigned int nInputs = this->GetNumberOfInputs();
258259

@@ -312,15 +313,15 @@ StructureTensor<TInputImage, TOutputImage>::ComputeProjectionImage(unsigned int
312313
}
313314

314315
template <typename TInputImage, typename TOutputImage>
315-
typename StructureTensor<TInputImage, TOutputImage>::InputImagePointer
316-
StructureTensor<TInputImage, TOutputImage>::ComputeProjectionImageWithLargestResponse() const
316+
typename StructureTensorImageFilter<TInputImage, TOutputImage>::InputImagePointer
317+
StructureTensorImageFilter<TInputImage, TOutputImage>::ComputeProjectionImageWithLargestResponse() const
317318
{
318319
return this->ComputeProjectionImage(this->GetNumberOfInputs() - 1);
319320
}
320321

321322
template <typename TInputImage, typename TOutputImage>
322-
typename StructureTensor<TInputImage, TOutputImage>::InputImagePointer
323-
StructureTensor<TInputImage, TOutputImage>::ComputeCoherencyImage() const
323+
typename StructureTensorImageFilter<TInputImage, TOutputImage>::InputImagePointer
324+
StructureTensorImageFilter<TInputImage, TOutputImage>::ComputeCoherencyImage() const
324325
{
325326
const unsigned int nInputs = this->GetNumberOfInputs();
326327

test/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ set(IsotropicWaveletsTests
3838
itkRieszFrequencyFilterBankGeneratorTest.cxx
3939
itkMonogenicSignalFrequencyImageFilterTest.cxx
4040
# StructureTensor
41-
itkStructureTensorTest.cxx
41+
itkStructureTensorImageFilterTest.cxx
4242
# TODO Wavelet + Riesz + PhaseAnalysis. This is not an unit test. Convert to example or application.
4343
itkRieszWaveletPhaseAnalysisTest.cxx
4444
itkStructureTensorWithGeneralizedRieszTest.cxx
@@ -147,9 +147,9 @@ itk_add_test(NAME itkPhaseAnalysisSoftThresholdImageFilterTest
147147
${ITK_TEST_OUTPUT_DIR}/itkPhaseAnalysisSoftThresholdImageFilterTest.tiff 1 2.0 10044.513 5020.3013 20085.115
148148
)
149149
# StructureTensor
150-
itk_add_test(NAME itkStructureTensorTest
150+
itk_add_test(NAME itkStructureTensorImageFilterTest
151151
COMMAND IsotropicWaveletsTestDriver
152-
itkStructureTensorTest
152+
itkStructureTensorImageFilterTest
153153
)
154154
# VectorInverseFFT
155155
itk_add_test(NAME itkVectorInverseFFTImageFilterTest

test/itkStructureTensorTest.cxx renamed to test/itkStructureTensorImageFilterTest.cxx

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#include "itkImageFileWriter.h"
2222
#include "itkImageRegionIterator.h"
2323
#include "itkTestingComparisonImageFilter.h"
24-
#include "itkStructureTensor.h"
24+
#include "itkStructureTensorImageFilter.h"
2525
#include "itkTestingMacros.h"
2626

2727
#include <string>
@@ -35,7 +35,7 @@
3535

3636
template <unsigned int VDimension>
3737
int
38-
runStructureTensorTest()
38+
runStructureTensorImageFilterTest()
3939
{
4040
const unsigned int Dimension = VDimension;
4141

@@ -104,8 +104,8 @@ runStructureTensorTest()
104104
#endif
105105

106106
// Structure Tensor
107-
using StructureTensorType = itk::StructureTensor<ImageType>;
108-
auto tensor = StructureTensorType::New();
107+
using StructureTensorImageFilterType = itk::StructureTensorImageFilter<ImageType>;
108+
auto tensor = StructureTensorImageFilterType::New();
109109
// Test Set/Get
110110
// WindowRadius
111111
unsigned int nonDefaultGaussianRadius = 3;
@@ -114,15 +114,16 @@ runStructureTensorTest()
114114
tensor->SetGaussianWindowRadius(2); // Restore default.
115115

116116
// WindowSigma
117-
typename StructureTensorType::FloatType nonDefaultGaussianSigma = 2.0;
117+
typename StructureTensorImageFilterType::FloatType nonDefaultGaussianSigma = 2.0;
118118
tensor->SetGaussianWindowSigma(nonDefaultGaussianSigma);
119119
ITK_TEST_SET_GET_VALUE(nonDefaultGaussianSigma, tensor->GetGaussianWindowSigma());
120120
tensor->SetGaussianWindowSigma(1.0); // Restore default.
121121
// Use a external, new GaussianSource:
122122
// The gaussian source is modified in BeforeThreadedGenerateData() only if
123123
// the source has different sigma or radius than this class.
124-
typename StructureTensorType::GaussianSourceType::Pointer gaussianSource = tensor->GetModifiableGaussianSource();
125-
gaussianSource = StructureTensorType::GaussianSourceType::New();
124+
typename StructureTensorImageFilterType::GaussianSourceType::Pointer gaussianSource =
125+
tensor->GetModifiableGaussianSource();
126+
gaussianSource = StructureTensorImageFilterType::GaussianSourceType::New();
126127

127128
std::vector<typename ImageType::Pointer> inputs;
128129
inputs.push_back(inputImage1);
@@ -170,7 +171,8 @@ runStructureTensorTest()
170171
typename ImageType::Pointer largestEigenValueProjectionImage;
171172
for (unsigned int eigenNumber = 0; eigenNumber < nInputs; ++eigenNumber)
172173
{
173-
typename StructureTensorType::InputImagePointer projectImage = tensor->ComputeProjectionImage(eigenNumber);
174+
typename StructureTensorImageFilterType::InputImagePointer projectImage =
175+
tensor->ComputeProjectionImage(eigenNumber);
174176
if (eigenNumber == nInputs - 1)
175177
{
176178
largestEigenValueProjectionImage = projectImage;
@@ -238,14 +240,14 @@ runStructureTensorTest()
238240
}
239241

240242
int
241-
itkStructureTensorTest(int, char *[])
243+
itkStructureTensorImageFilterTest(int, char *[])
242244
{
243-
int result2D = runStructureTensorTest<2>();
244-
int result3D = runStructureTensorTest<3>();
245+
int result2D = runStructureTensorImageFilterTest<2>();
246+
int result3D = runStructureTensorImageFilterTest<3>();
245247

246248
#ifndef ITK_VISUALIZE_TESTS
247249
// cannot visualize 4D images with viewimage
248-
int result4D = runStructureTensorTest<4>();
250+
int result4D = runStructureTensorImageFilterTest<4>();
249251
return result2D && result3D && result4D;
250252
#else
251253
return result2D && result3D;

test/itkStructureTensorWithGeneralizedRieszTest.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#include "itkComplexToImaginaryImageFilter.h"
3030

3131
#include "itkRieszFrequencyFilterBankGenerator.h"
32-
#include "itkStructureTensor.h"
32+
#include "itkStructureTensorImageFilter.h"
3333
#include "itkZeroDCImageFilter.h"
3434
#include "itkMultiplyImageFilter.h"
3535

@@ -165,8 +165,8 @@ runStructureTensorWithGeneralizedRieszTest(const std::string & inputImage,
165165
}
166166

167167
// Structure Tensor
168-
using StructureTensorType = itk::StructureTensor<ImageType>;
169-
auto tensor = StructureTensorType::New();
168+
using StructureTensorImageFilterType = itk::StructureTensorImageFilter<ImageType>;
169+
auto tensor = StructureTensorImageFilterType::New();
170170
tensor->SetInputs(rieszWaveletsSpatial);
171171
// tensor->SetGaussianWindowRadius(3);
172172
tensor->Update();

wrapping/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ itk_wrap_module(IsotropicWavelets)
22
set(WRAPPER_SUBMODULE_ORDER
33
itkMatrixComplex
44
itkVariableSizeMatrixComplex
5-
itkStructureTensor
5+
itkStructureTensorImageFilter
66
itkMonogenicSignalFrequencyImageFilter
77
itkVectorInverseFFTImageFilter
88
)

wrapping/itkStructureTensor.wrap renamed to wrapping/itkStructureTensorImageFilter.wrap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ itk_wrap_class("itk::ImageToImageFilter" POINTER)
3535
endforeach()
3636
itk_end_wrap_class()
3737

38-
itk_wrap_class("itk::StructureTensor" POINTER)
38+
itk_wrap_class("itk::StructureTensorImageFilter" POINTER)
3939
foreach(d ${ITK_WRAP_IMAGE_DIMS})
4040
foreach(t ${WRAP_ITK_REAL})
4141
itk_wrap_template("${ITKM_I${t}${d}}VSM${ITKM_I${ITKM_${t}}}${d}"

0 commit comments

Comments
 (0)