STIR 6.4.0
stir::SeparableGaussianImageFilter< elemT > Class Template Reference

A class in the DataProcessor hierarchy that implements Gaussian filtering. More...

#include "stir/SeparableGaussianImageFilter.h"

Inheritance diagram for stir::SeparableGaussianImageFilter< elemT >:

Public Member Functions

 SeparableGaussianImageFilter ()
 Default constructor.
 
BasicCoordinate< num_dimensions, float > get_fwhms ()
 
BasicCoordinate< num_dimensions, int > get_max_kernel_sizes ()
 
bool get_normalised_filter ()
 
void set_fwhms (const BasicCoordinate< num_dimensions, float > &)
 
void set_max_kernel_sizes (const BasicCoordinate< num_dimensions, int > &)
 
void set_normalise (const bool)
 
 SeparableGaussianImageFilter ()
 Default constructor.
 
float get_standard_deviation ()
 
- Public Member Functions inherited from stir::RegisteredParsingObject< SeparableGaussianImageFilter< elemT >, DataProcessor< DiscretisedDensity< num_dimensions, elemT > >, DataProcessor< DiscretisedDensity< num_dimensions, elemT > > >
std::string get_registered_name () const override
 Returns Derived::registered_name.
 
std::string parameter_info () override
 Returns a string with all parameters and their values, in a form suitable for parsing again.
 
std::string get_registered_name () const override
 Returns Derived::registered_name.
 
std::string parameter_info () override
 Returns a string with all parameters and their values, in a form suitable for parsing again.
 
- Public Member Functions inherited from stir::DataProcessor< DataT >
Succeeded set_up (const DataT &data)
 Initialises any internal data (if necessary) using data as a template for sizes, sampling distances etc.
 
virtual void reset ()
 Makes sure we will ignore any previous call to set-up()
 
Succeeded apply (DataT &data)
 Calls set_up() (if not already done before) and process data in-place.
 
Succeeded apply (DataT &out_data, const DataT &in_data)
 Calls set_up() (if not already done before) and process in_data, putting the result in out_data.
 
bool parse (std::istream &f)
 
bool parse (const char *const filename)
 
- Public Member Functions inherited from stir::ParsingObject
 ParsingObject (const ParsingObject &)
 
ParsingObjectoperator= (const ParsingObject &)
 
bool parse (std::istream &f)
 
bool parse (const char *const filename)
 
void ask_parameters ()
 
- Public Member Functions inherited from stir::TimedObject
void reset_timers ()
 reset all timers kept by this object
 
void stop_timers () const
 stop all timers kept by this object
 
void start_timers (bool do_reset=false) const
 start all timers kept by this object
 
double get_CPU_timer_value () const
 get current value of the CPU timer (since first use or last reset)
 
double get_wall_clock_timer_value () const
 get current value of the wall-clock timer (since first use or last reset)
 

Static Public Attributes

static const char *const registered_name
 

Protected Member Functions

void set_defaults () override
 Set defaults before parsing.
 
void initialise_keymap () override
 Initialise all keywords.
 
Succeeded virtual_set_up (const DiscretisedDensity< num_dimensions, elemT > &image) override
 
void virtual_apply (DiscretisedDensity< num_dimensions, elemT > &out_density, const DiscretisedDensity< num_dimensions, elemT > &in_density) const override
 
void virtual_apply (DiscretisedDensity< num_dimensions, elemT > &density) const override
 
virtual Succeeded virtual_set_up (const DataT &)=0
 Will be called to build any internal parameters.
 
virtual void virtual_apply (DataT &data, const DataT &in_data) const =0
 Performs actual operation (virtual_set_up is called before this function)
 
virtual void virtual_apply (DataT &data) const =0
 Performs actual operation (in-place)
 
virtual void set_key_values ()
 This will be called before parsing or parameter_info is called.
 

Protected Attributes

BasicCoordinate< num_dimensions, int > max_kernel_sizes
 
bool normalise
 
SeparableGaussianArrayFilter< num_dimensions, elemT > gaussian_filter
 
KeyParser parser
 

Additional Inherited Members

- Static Public Member Functions inherited from stir::RegisteredParsingObject< SeparableGaussianImageFilter< elemT >, DataProcessor< DiscretisedDensity< num_dimensions, elemT > >, DataProcessor< DiscretisedDensity< num_dimensions, elemT > > >
static DataProcessor< DiscretisedDensity< num_dimensions, elemT > > * read_from_stream (std::istream *)
 Construct a new object (of type Derived) by parsing the istream.
 
static DataProcessor< DiscretisedDensity< num_dimensions, elemT > > * read_from_stream (std::istream *)
 Construct a new object (of type Derived) by parsing the istream.
 
- Static Public Member Functions inherited from stir::RegisteredObject< DataProcessor< DataT > >
static DataProcessor< DataT > * read_registered_object (std::istream *in, const std::string &registered_name)
 Construct a new object (of a type derived from Root, its actual type determined by the registered_name parameter) by parsing the istream.
 
static DataProcessor< DataT > * ask_type_and_parameters ()
 ask the user for the type, and then calls read_registered_object(0, type)
 
static void list_registered_names (std::ostream &stream)
 List all possible registered names to the stream.
 
- Protected Types inherited from stir::RegisteredObject< DataProcessor< DataT > >
typedef DataProcessor< DataT > *(* RootFactory) (std::istream *)
 The type of a root factory is a function, taking an istream* as argument, and returning a Root*.
 
typedef FactoryRegistry< std::string, RootFactory, interfile_lessRegistryType
 The type of the registry.
 
- Static Protected Member Functions inherited from stir::RegisteredObject< DataProcessor< DataT > >
static RegistryTyperegistry ()
 Static function returning the registry.
 

Detailed Description

template<typename elemT>
class stir::SeparableGaussianImageFilter< elemT >

A class in the DataProcessor hierarchy that implements Gaussian filtering.

As it is derived from RegisteredParsingObject, it implements all the necessary things to parse parameter files etc.

The discretised densities that will be filtered are supposed to be on a Cartesian grid. The filtering operation is then performed as 3 separate 1d filters in every direction.

Warning
This class is currently restricted to 3d. This is mainly because of the difficulty to give sensible names to the parameters used for parsing in n dimensions.
See also
SeparableGaussianArrayFilter for what a Gaussian filter is

Member Function Documentation

◆ set_defaults()

template<typename elemT>
void stir::SeparableGaussianImageFilter< elemT >::set_defaults ( )
overrideprotectedvirtual

Set defaults before parsing.

Reimplemented from stir::ParsingObject.

References stir::ParsingObject::set_defaults().

Referenced by SeparableGaussianImageFilter().

◆ initialise_keymap()

template<typename elemT>
void stir::SeparableGaussianImageFilter< elemT >::initialise_keymap ( )
overrideprotectedvirtual

Initialise all keywords.

Reimplemented from stir::ParsingObject.

References stir::ParsingObject::initialise_keymap().

Referenced by SeparableGaussianImageFilter().


The documentation for this class was generated from the following files: