15 #ifndef itkBasicImageFeaturesImageFilter_h
16 #define itkBasicImageFeaturesImageFilter_h
18 #include <itkImageToImageFilter.h>
20 #include <itkMaskImageFilter.h>
22 #include <vnl/vnl_double_2.h>
41 template<
class TInputImage,
class TOutputImage>
43 public ImageToImageFilter< TInputImage, TOutputImage >
48 typedef ImageToImageFilter< TInputImage,TOutputImage >
Superclass;
59 itkStaticConstMacro(ImageDimension,
unsigned int,
60 TInputImage::ImageDimension);
71 typedef typename NumericTraits<InputImagePixelType>::RealType
RealType;
85 typedef typename itk::Image<MaskPixelType, ImageDimension>
MaskImageType;
88 typedef typename itk::MaskImageFilter< OutputImageType, MaskImageType, OutputImageType >
MaskFilterType;
124 void SetVerbose(
bool b) { itk::Object::SetGlobalWarningDisplay(b); }
131 void SetSigma( RealType sigma );
138 virtual void GenerateInputRequestedRegion()
139 throw( InvalidRequestedRegionError );
142 void SetNormalizeAcrossScale(
bool normalizeInScaleSpace );
143 itkGetConstMacro( NormalizeAcrossScale,
bool );
146 void CalculateOrientatedBIFs(
void) {m_FlagCalculateOrientatedBIFs =
true;}
152 itkSetMacro( Epsilon, InternalRealType );
154 itkGetMacro( Epsilon, InternalRealType );
157 itkSetMacro( NumberOfOrientations,
unsigned int );
159 itkGetMacro( NumberOfOrientations,
unsigned int );
164 m_FlagOriginSet =
true;
168 itkGetMacro( Origin, OriginType );
177 m_OrientationInX = OrientationInX;
178 m_OrientationInY = OrientationInY;
180 m_FlagLocalOrientationSet =
true;
181 m_FlagCalculateOrientatedBIFs =
true;
182 m_FlagOriginSet =
false;
187 itkSetObjectMacro( OrientationInY, RealImageType );
190 itkSetObjectMacro( Mask, MaskImageType );
192 itkGetObjectMacro( S00, RealImageType );
193 itkGetObjectMacro( S10, RealImageType );
194 itkGetObjectMacro( S01, RealImageType );
195 itkGetObjectMacro( S11, RealImageType );
196 itkGetObjectMacro( S20, RealImageType );
197 itkGetObjectMacro( S02, RealImageType );
200 itkGetObjectMacro( ResponseFlat, RealImageType );
201 itkGetObjectMacro( ResponseSlope, RealImageType );
202 itkGetObjectMacro( ResponseDarkBlob, RealImageType );
203 itkGetObjectMacro( ResponseLightBlob, RealImageType );
204 itkGetObjectMacro( ResponseDarkLine, RealImageType );
205 itkGetObjectMacro( ResponseLightLine, RealImageType );
206 itkGetObjectMacro( ResponseSaddle, RealImageType );
211 void WriteDerivativeToFile(
int n,
std::string filename );
213 void WriteFilterResponseToFile(
int n,
std::string filename );
215 #ifdef ITK_USE_CONCEPT_CHECKING
217 itkConceptMacro(DimensionShouldBe2,
218 (Concept::SameDimension<itkGetStaticConstMacro(InputImageDimension),2>));
219 itkConceptMacro(InputHasNumericTraitsCheck,
220 (Concept::HasNumericTraits<InputImagePixelType>));
221 itkConceptMacro(OutputHasPixelTraitsCheck,
222 (Concept::HasPixelTraits<OutputImagePixelType>));
232 void PrintSelf(std::ostream& os, Indent indent)
const;
240 RealImagePointer GetDerivative( DerivativeFilterOrderEnumTypeX xOrder,
241 DerivativeFilterOrderEnumTypeY yOrder );
253 virtual void BeforeThreadedGenerateData(
void);
265 virtual void AfterThreadedGenerateData(
void);
281 void ThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread,
282 ThreadIdType threadId );
285 void EnlargeOutputRequestedRegion(DataObject *output);
350 void operator=(
const Self&);
355 #ifndef ITK_MANUAL_INSTANTIATION
356 #include "itkBasicImageFeaturesImageFilter.txx"
RealType flipHorizontally
Coefficient to flip the orientation horizontally.
Definition: itkBasicImageFeaturesImageFilter.h:319
void VerboseOn()
Set verbose output on.
Definition: itkBasicImageFeaturesImageFilter.h:126
unsigned char MaskPixelType
Definition: itkBasicImageFeaturesImageFilter.h:84
OutputImageType::PointType OutputImagePointType
Definition: itkBasicImageFeaturesImageFilter.h:79
itk::MaskImageFilter< OutputImageType, MaskImageType, OutputImageType > MaskFilterType
Definition: itkBasicImageFeaturesImageFilter.h:88
bool m_FlagLocalOrientationSet
Flag to calculate orientated BIFs using local orientation images.
Definition: itkBasicImageFeaturesImageFilter.h:294
RealImagePointer m_S01
First derivative in 'y'.
Definition: itkBasicImageFeaturesImageFilter.h:333
RealImagePointer m_ResponseSaddle
Saddle region response.
Definition: itkBasicImageFeaturesImageFilter.h:344
TInputImage InputImageType
Definition: itkBasicImageFeaturesImageFilter.h:63
MaskFilterPointer m_MaskFilter
Definition: itkBasicImageFeaturesImageFilter.h:329
void VerboseOff()
Set verbose output off.
Definition: itkBasicImageFeaturesImageFilter.h:128
RealImagePointer m_OrientationInX
Set the local reference orientation image in 'x'.
Definition: itkBasicImageFeaturesImageFilter.h:324
MaskImagePointer m_Mask
Optional mask image.
Definition: itkBasicImageFeaturesImageFilter.h:328
void DebugOn()
Set debugging output on.
Definition: itkBasicImageFeaturesImageFilter.h:119
Definition: itkBasicImageFeaturesImageFilter.h:235
void SetFlipHorizontally(void)
Set the coefficient to flip the orientation horizontally.
Definition: itkBasicImageFeaturesImageFilter.h:171
BasicImageFeaturesImageFilter * Filter
Definition: itkBasicImageFeaturesImageFilter.h:237
void SetVerbose(bool b)
Set the verbose output.
Definition: itkBasicImageFeaturesImageFilter.h:124
OutputImageType::Pointer OutputImagePointer
Definition: itkBasicImageFeaturesImageFilter.h:75
RealImagePointer m_ResponseSlope
Slope-like region response.
Definition: itkBasicImageFeaturesImageFilter.h:339
DerivativeFilterTypeX::Pointer DerivativeFilterPointerX
Definition: itkBasicImageFeaturesImageFilter.h:113
RealImagePointer m_Orientation
Orientation of the structure.
Definition: itkBasicImageFeaturesImageFilter.h:346
ImageToImageFilter< TInputImage, TOutputImage > Superclass
Definition: itkBasicImageFeaturesImageFilter.h:48
Orientation
Definition: itkMIDASHelper.h:35
RealImageType::Pointer RealImagePointer
Definition: itkBasicImageFeaturesImageFilter.h:100
Definition: niftkITKAffineResampleImage.cxx:74
InternalRealType m_Sigma
Scale.
Definition: itkBasicImageFeaturesImageFilter.h:311
RealImagePointer m_S02
Second derivative in 'yy'.
Definition: itkBasicImageFeaturesImageFilter.h:336
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
bool m_FlagMultiThreadedExecution
Flag to turn multithreading on or off.
Definition: itkBasicImageFeaturesImageFilter.h:288
OutputImageType::IndexType OutputImageIndexType
Definition: itkBasicImageFeaturesImageFilter.h:78
SmartPointer< const Self > ConstPointer
Definition: itkBasicImageFeaturesImageFilter.h:50
bool m_FlagCalculateOrientatedBIFs
Flag to calculate orientated BIFs.
Definition: itkBasicImageFeaturesImageFilter.h:291
InputImageType::ConstPointer InputImageConstPointer
Definition: itkBasicImageFeaturesImageFilter.h:65
GLdouble GLdouble GLdouble b
Definition: glew.h:7885
TOutputImage OutputImageType
Definition: itkBasicImageFeaturesImageFilter.h:74
itk::Image< MaskPixelType, ImageDimension > MaskImageType
Definition: itkBasicImageFeaturesImageFilter.h:85
Lewis Griffin's implementation of a recursive Gaussian filter which does not produce the oscillations...
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:30
OutputImagePointType OriginType
Definition: itkBasicImageFeaturesImageFilter.h:81
LewisGriffinRecursiveGaussianImageFilter< RealImageType, RealImageType > DerivativeFilterTypeY
Definition: itkBasicImageFeaturesImageFilter.h:106
MaskImageType::Pointer MaskImagePointer
Definition: itkBasicImageFeaturesImageFilter.h:86
BasicImageFeaturesImageFilter Self
Definition: itkBasicImageFeaturesImageFilter.h:47
InputImageType::PointType InputImagePointType
Definition: itkBasicImageFeaturesImageFilter.h:69
void SetDebug(bool b)
Set the debugging output.
Definition: itkBasicImageFeaturesImageFilter.h:117
void SetLocalOrientation(RealImagePointer OrientationInX, RealImagePointer OrientationInY)
Set the local reference orientation images.
Definition: itkBasicImageFeaturesImageFilter.h:176
OutputImageType::PixelType OutputImagePixelType
Definition: itkBasicImageFeaturesImageFilter.h:77
RealImagePointer m_S00
Zero order smoothed image.
Definition: itkBasicImageFeaturesImageFilter.h:331
RealImagePointer m_ResponseDarkLine
DarkLine region response.
Definition: itkBasicImageFeaturesImageFilter.h:342
OutputImageType::RegionType OutputImageRegionType
Definition: itkBasicImageFeaturesImageFilter.h:76
bool m_FlagSecondOrderOnly
Only report linear structures.
Definition: itkBasicImageFeaturesImageFilter.h:305
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
RealImagePointer m_S10
First derivative in 'x'.
Definition: itkBasicImageFeaturesImageFilter.h:332
InputImageType::PixelType InputImagePixelType
Definition: itkBasicImageFeaturesImageFilter.h:67
DerivativeFilterTypeX::OrderEnumType DerivativeFilterOrderEnumTypeX
Definition: itkBasicImageFeaturesImageFilter.h:109
RealImagePointer m_OrientationInY
Set the local reference orientation image in 'y'.
Definition: itkBasicImageFeaturesImageFilter.h:325
OriginType m_Origin
The origin to use for oriented BIFs.
Definition: itkBasicImageFeaturesImageFilter.h:316
RealImagePointer m_S11
Second derivative in 'xy'.
Definition: itkBasicImageFeaturesImageFilter.h:334
float InternalRealType
Definition: itkBasicImageFeaturesImageFilter.h:96
void SetSingleThreadedExecution(void)
For debugging purposes, set single threaded execution.
Definition: itkBasicImageFeaturesImageFilter.h:227
unsigned int m_NumberOfOrientations
Definition: itkBasicImageFeaturesImageFilter.h:299
2D image filter class to compute basic image features (BIFs) on an image.
Definition: itkBasicImageFeaturesImageFilter.h:42
RealImagePointer m_S20
Second derivative in 'xx'.
Definition: itkBasicImageFeaturesImageFilter.h:335
DerivativeFilterTypeY::OrderEnumType DerivativeFilterOrderEnumTypeY
Definition: itkBasicImageFeaturesImageFilter.h:110
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
GLclampd n
Definition: glew.h:6789
MaskFilterType::Pointer MaskFilterPointer
Definition: itkBasicImageFeaturesImageFilter.h:89
RealType flipVertically
Coefficient to flip the orientation vertically.
Definition: itkBasicImageFeaturesImageFilter.h:321
InternalRealType m_Epsilon
Noise suppression parameter.
Definition: itkBasicImageFeaturesImageFilter.h:308
InputImageType::Pointer InputImagePointer
Definition: itkBasicImageFeaturesImageFilter.h:64
Image< InternalRealType, TInputImage::ImageDimension > RealImageType
Definition: itkBasicImageFeaturesImageFilter.h:98
LewisGriffinRecursiveGaussianImageFilter< InputImageType, RealImageType > DerivativeFilterTypeX
Definition: itkBasicImageFeaturesImageFilter.h:104
SmartPointer< Self > Pointer
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:37
void DebugOff()
Set debugging output off.
Definition: itkBasicImageFeaturesImageFilter.h:121
NumericTraits< InputImagePixelType >::RealType RealType
Definition: itkBasicImageFeaturesImageFilter.h:71
bool m_FlagOriginSet
Flag indicating whether the orgin has been set.
Definition: itkBasicImageFeaturesImageFilter.h:314
InputImageType::SpacingType InputImageSpacingType
Definition: itkBasicImageFeaturesImageFilter.h:68
RealImagePointer m_ResponseLightBlob
LightBlob region response.
Definition: itkBasicImageFeaturesImageFilter.h:341
InputImageType::RegionType InputImageRegionType
Definition: itkBasicImageFeaturesImageFilter.h:66
OrderEnumType
Definition: itkLewisGriffinRecursiveGaussianImageFilter.h:99
RealImagePointer m_ResponseLightLine
LightLine region response.
Definition: itkBasicImageFeaturesImageFilter.h:343
GLsizei const GLcharARB ** string
Definition: glew.h:5194
void SetOrigin(OriginType o)
Set the origin for oriented BIFs.
Definition: itkBasicImageFeaturesImageFilter.h:162
DerivativeFilterTypeY::Pointer DerivativeFilterPointerY
Definition: itkBasicImageFeaturesImageFilter.h:114
RealImagePointer m_ResponseFlat
Flat region response.
Definition: itkBasicImageFeaturesImageFilter.h:338
void SecondOrderOnly(void)
Ignore slopes, so classify only as second order.
Definition: itkBasicImageFeaturesImageFilter.h:149
SmartPointer< Self > Pointer
Definition: itkBasicImageFeaturesImageFilter.h:49
bool m_NormalizeAcrossScale
Definition: itkBasicImageFeaturesImageFilter.h:302
RealImagePointer m_ResponseDarkBlob
DarkBlob region response.
Definition: itkBasicImageFeaturesImageFilter.h:340
void SetFlipVertically(void)
Set the coefficient to flip the orientation vertically.
Definition: itkBasicImageFeaturesImageFilter.h:173