template<typename TInputImage, typename TMaskImage, typename TOutputImage, typename TKernel = FlatStructuringElement< TInputImage::ImageDimension >>
class itk::MaskedRankImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel >
Rank filter of a greyscale image.
Nonlinear filter in which each output pixel is a user defined rank of input pixels in a user defined neighborhood. The default rank is 0.5 (median). The boundary conditions are different to the standard itkMedianImageFilter. In this filter the neighborhood is cropped at the boundary, and is therefore smaller.
This filter uses a recursive implementation - essentially the one by Huang 1979, I believe, to compute the rank, and is therefore usually a lot faster than the direct implementation. The extensions to Huang are support for arbitrary pixel types (using c++ maps) and arbitrary neighborhoods. I presume that these are not new ideas.
This filter is based on the sliding window code from the consolidatedMorphology package on InsightJournal.
The structuring element is assumed to be composed of binary values (zero or one). Only elements of the structuring element having values > 0 are candidates for affecting the center pixel.
This code was contributed in the Insight Journal paper: "Efficient implementation of kernel filtering" by Beare R., Lehmann G https://hdl.handle.net/1926/555 http://www.insight-journal.org/browse/publication/160
- Author
- Richard Beare
Definition at line 66 of file itkMaskedRankImageFilter.h.
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef Superclass::HistogramType | HistogramType |
|
typedef TInputImage::IndexType | IndexType |
|
typedef TInputImage | InputImageType |
|
typedef TInputImage::PixelType | InputPixelType |
|
typedef KernelType::ConstIterator | KernelIteratorType |
|
typedef TKernel | KernelType |
|
typedef TInputImage::OffsetType | OffsetType |
|
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
|
typedef TOutputImage | OutputImageType |
|
typedef TOutputImage::PixelType | OutputPixelType |
|
typedef TInputImage::PixelType | PixelType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef KernelType::SizeType | RadiusType |
|
typedef TInputImage::RegionType | RegionType |
|
typedef MaskedRankImageFilter | Self |
|
typedef TInputImage::SizeType | SizeType |
|
typedef MaskedMovingHistogramImageFilter< TInputImage, TMaskImage, TOutputImage, TKernel, Function::RankHistogram< typename TInputImage::PixelType > > | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef ProcessObject::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType |
|
typedef Function::RankHistogram< TInputImage::PixelType > | HistogramType |
|
typedef TInputImage::IndexType | IndexType |
|
typedef TInputImage | InputImageType |
|
typedef TInputImage::PixelType | InputPixelType |
|
typedef KernelType::ConstIterator | KernelIteratorType |
|
typedef TKernel | KernelType |
|
typedef TMaskImage | MaskImageType |
|
typedef MaskImageType::PixelType | MaskPixelType |
|
typedef std::list< OffsetType > | OffsetListType |
|
typedef std::map< OffsetType, OffsetListType, typename Functor::OffsetLexicographicCompare< itkGetStaticConstMacro(ImageDimension) > > | OffsetMapType |
|
typedef TInputImage::OffsetType | OffsetType |
|
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
|
typedef TOutputImage | OutputImageType |
|
typedef TOutputImage::PixelType | OutputPixelType |
|
typedef TInputImage::PixelType | PixelType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef KernelType::SizeType | RadiusType |
|
typedef TInputImage::RegionType | RegionType |
|
typedef MaskedMovingHistogramImageFilter | Self |
|
typedef TInputImage::SizeType | SizeType |
|
typedef MovingHistogramImageFilterBase< TInputImage, TOutputImage, TKernel > | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef TInputImage::IndexType | IndexType |
|
typedef TInputImage | InputImageType |
|
typedef KernelType::ConstIterator | KernelIteratorType |
|
typedef TKernel | KernelType |
|
typedef std::list< OffsetType > | OffsetListType |
|
typedef std::map< OffsetType, OffsetListType, typename OffsetType::LexicographicCompare > | OffsetMapType |
|
typedef TInputImage::OffsetType | OffsetType |
|
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
|
typedef TOutputImage | OutputImageType |
|
typedef TOutputImage::PixelType | OutputPixelType |
|
typedef TInputImage::PixelType | PixelType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef KernelType::SizeType | RadiusType |
|
typedef TInputImage::RegionType | RegionType |
|
typedef MovingHistogramImageFilterBase | Self |
|
typedef TInputImage::SizeType | SizeType |
|
typedef KernelImageFilter< TInputImage, TOutputImage, TKernel > | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef FlatStructuringElement< itkGetStaticConstMacro(ImageDimension) > | FlatKernelType |
|
typedef TInputImage::IndexType | IndexType |
|
typedef TInputImage | InputImageType |
|
typedef TInputImage::PixelType | InputPixelType |
|
typedef TKernel | KernelType |
|
typedef TInputImage::OffsetType | OffsetType |
|
typedef TOutputImage | OutputImageType |
|
typedef TOutputImage::PixelType | OutputPixelType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef TInputImage::SizeType | RadiusType |
|
typedef TInputImage::RegionType | RegionType |
|
typedef KernelImageFilter | Self |
|
typedef TInputImage::SizeType | SizeType |
|
typedef BoxImageFilter< TInputImage, TOutputImage > | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef TInputImage::IndexType | IndexType |
|
typedef TInputImage | InputImageType |
|
typedef TInputImage::PixelType | InputPixelType |
|
typedef TInputImage::OffsetType | OffsetType |
|
typedef TOutputImage | OutputImageType |
|
typedef TOutputImage::PixelType | OutputPixelType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef TInputImage::SizeType | RadiusType |
|
typedef TInputImage::SizeValueType | RadiusValueType |
|
typedef TInputImage::RegionType | RegionType |
|
typedef BoxImageFilter | Self |
|
typedef TInputImage::SizeType | SizeType |
|
typedef ImageToImageFilter< TInputImage, TOutputImage > | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef InputImageType::ConstPointer | InputImageConstPointer |
|
typedef InputImageType::PixelType | InputImagePixelType |
|
typedef InputImageType::Pointer | InputImagePointer |
|
typedef InputImageType::RegionType | InputImageRegionType |
|
typedef TInputImage | InputImageType |
|
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
|
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef ImageToImageFilter | Self |
|
typedef ImageSource< TOutputImage > | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef Superclass::DataObjectIdentifierType | DataObjectIdentifierType |
|
typedef DataObject::Pointer | DataObjectPointer |
|
typedef Superclass::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType |
|
typedef OutputImageType::PixelType | OutputImagePixelType |
|
typedef OutputImageType::Pointer | OutputImagePointer |
|
typedef OutputImageType::RegionType | OutputImageRegionType |
|
typedef TOutputImage | OutputImageType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef ImageSource | Self |
|
typedef ProcessObject | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef DataObject::DataObjectIdentifierType | DataObjectIdentifierType |
|
typedef DataObject::Pointer | DataObjectPointer |
|
typedef std::vector< DataObjectPointer > | DataObjectPointerArray |
|
typedef DataObjectPointerArray::size_type | DataObjectPointerArraySizeType |
|
typedef std::vector< DataObjectIdentifierType > | NameArray |
|
typedef SmartPointer< Self > | Pointer |
|
typedef ProcessObject | Self |
|
typedef Object | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef SmartPointer< Self > | Pointer |
|
typedef Object | Self |
|
typedef LightObject | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef SmartPointer< Self > | Pointer |
|
typedef LightObject | Self |
|
|
void | ConfigureHistogram (HistogramType &histogram) override |
|
| MaskedRankImageFilter () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~MaskedRankImageFilter () |
|
| MaskedMovingHistogramImageFilter () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
void | pushHistogram (HistogramType &histogram, const OffsetListType *addedList, const OffsetListType *removedList, const RegionType &inputRegion, const RegionType &kernRegion, const InputImageType *inputImage, const MaskImageType *maskImage, const IndexType currentIdx) |
|
void | ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override |
|
| ~MaskedMovingHistogramImageFilter () |
|
void | GetDirAndOffset (const IndexType LineStart, const IndexType PrevLineStart, OffsetType &LineOffset, OffsetType &Changes, int &LineDirection) |
|
| MovingHistogramImageFilterBase () |
|
| ~MovingHistogramImageFilterBase () |
|
| KernelImageFilter () |
|
| ~KernelImageFilter () |
|
| BoxImageFilter () |
|
virtual void | GenerateInputRequestedRegion () override |
|
| ~BoxImageFilter () |
|
virtual void | CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) |
|
virtual void | CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) |
|
| ImageToImageFilter () |
|
virtual void | VerifyInputInformation () override |
|
| ~ImageToImageFilter () |
|
void | PushBackInput (const DataObject *input) override |
|
void | PushFrontInput (const DataObject *input) override |
|
virtual void | AfterThreadedGenerateData () |
|
virtual void | BeforeThreadedGenerateData () |
|
virtual void | GenerateData () override |
|
virtual const ImageRegionSplitterBase * | GetImageRegionSplitter () const |
|
| ImageSource () |
|
virtual unsigned int | SplitRequestedRegion (unsigned int i, unsigned int pieces, OutputImageRegionType &splitRegion) |
|
virtual | ~ImageSource () |
|
virtual void | AddInput (DataObject *input) |
|
virtual void | AddOutput (DataObject *output) |
|
bool | AddRequiredInputName (const DataObjectIdentifierType &) |
|
bool | AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
|
virtual void | CacheInputReleaseDataFlags () |
|
virtual void | GenerateOutputInformation () |
|
virtual void | GenerateOutputRequestedRegion (DataObject *output) |
|
DataObject * | GetInput (const DataObjectIdentifierType &key) |
|
const DataObject * | GetInput (const DataObjectIdentifierType &key) const |
|
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredInputs () const |
|
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredOutputs () const |
|
bool | IsIndexedInputName (const DataObjectIdentifierType &) const |
|
bool | IsIndexedOutputName (const DataObjectIdentifierType &) const |
|
bool | IsRequiredInputName (const DataObjectIdentifierType &) const |
|
| itkLegacyMacro (virtual void RemoveOutput(DataObject *output)) |
|
| itkLegacyMacro (void SetNumberOfOutputs(DataObjectPointerArraySizeType num)) |
|
| itkLegacyMacro (virtual void RemoveInput(DataObject *input)) |
|
| itkLegacyMacro (void SetNumberOfInputs(DataObjectPointerArraySizeType num)) |
|
DataObjectPointerArraySizeType | MakeIndexFromInputName (const DataObjectIdentifierType &name) const |
|
DataObjectPointerArraySizeType | MakeIndexFromOutputName (const DataObjectIdentifierType &name) const |
|
DataObjectIdentifierType | MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const |
|
DataObjectIdentifierType | MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const |
|
| ProcessObject () |
|
virtual void | PropagateResetPipeline () |
|
virtual void | ReleaseInputs () |
|
virtual void | RemoveInput (const DataObjectIdentifierType &key) |
|
virtual void | RemoveInput (DataObjectPointerArraySizeType) |
|
virtual void | RemoveOutput (const DataObjectIdentifierType &key) |
|
virtual void | RemoveOutput (DataObjectPointerArraySizeType idx) |
|
bool | RemoveRequiredInputName (const DataObjectIdentifierType &) |
|
virtual void | RestoreInputReleaseDataFlags () |
|
virtual void | SetInput (const DataObjectIdentifierType &key, DataObject *input) |
|
virtual void | SetNthInput (DataObjectPointerArraySizeType num, DataObject *input) |
|
virtual void | SetNthOutput (DataObjectPointerArraySizeType num, DataObject *output) |
|
void | SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num) |
|
void | SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num) |
|
virtual void | SetNumberOfRequiredInputs (DataObjectPointerArraySizeType) |
|
virtual void | SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg) |
|
virtual void | SetOutput (const DataObjectIdentifierType &key, DataObject *output) |
|
virtual void | SetPrimaryInput (DataObject *input) |
|
virtual void | SetPrimaryOutput (DataObject *output) |
|
void | SetRequiredInputNames (const NameArray &) |
|
virtual void | VerifyPreconditions () |
|
| ~ProcessObject () |
|
DataObject * | GetInput (DataObjectPointerArraySizeType idx) |
|
const DataObject * | GetInput (DataObjectPointerArraySizeType idx) const |
|
DataObject * | GetPrimaryInput () |
|
const DataObject * | GetPrimaryInput () const |
|
virtual void | SetPrimaryInputName (const DataObjectIdentifierType &key) |
|
virtual const char * | GetPrimaryInputName (void) const |
|
DataObject * | GetOutput (const DataObjectIdentifierType &key) |
|
const DataObject * | GetOutput (const DataObjectIdentifierType &key) const |
|
virtual void | SetPrimaryOutputName (const DataObjectIdentifierType &key) |
|
virtual const char * | GetPrimaryOutputName (void) const |
|
DataObject * | GetOutput (DataObjectPointerArraySizeType idx) |
|
const DataObject * | GetOutput (DataObjectPointerArraySizeType idx) const |
|
DataObject * | GetPrimaryOutput () |
|
const DataObject * | GetPrimaryOutput () const |
|
| Object () |
|
bool | PrintObservers (std::ostream &os, Indent indent) const |
|
virtual void | SetTimeStamp (const TimeStamp &time) |
|
virtual | ~Object () |
|
virtual LightObject::Pointer | InternalClone () const |
|
| LightObject () |
|
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
|
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
|
virtual | ~LightObject () |
|