STIR  6.2.0
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
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 >:
Inheritance graph
[legend]

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 ()
 
template<>
const char *const registered_name
 
- 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.
 
- Public Member Functions inherited from stir::DataProcessor< DiscretisedDensity< num_dimensions, elemT > >
Succeeded set_up (const DiscretisedDensity< num_dimensions, elemT > &data)
 Initialises any internal data (if necessary) using data as a template for sizes, sampling distances etc. More...
 
virtual void reset ()
 Makes sure we will ignore any previous call to set-up() More...
 
Succeeded apply (DiscretisedDensity< num_dimensions, elemT > &data)
 Calls set_up() (if not already done before) and process data in-place. More...
 
Succeeded apply (DiscretisedDensity< num_dimensions, elemT > &out_data, const DiscretisedDensity< num_dimensions, elemT > &in_data)
 Calls set_up() (if not already done before) and process in_data, putting the result in out_data. More...
 
bool parse (std::istream &f)
 
bool parse (const char *const filename)
 
- Public Member Functions inherited from stir::ParsingObject
 ParsingObject (const ParsingObject &)
 
ParsingObjectoperator= (const ParsingObject &)
 
void ask_parameters ()
 
bool parse (std::istream &f)
 
bool parse (const char *const filename)
 
- 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 More...
 
void start_timers (bool do_reset=false) const
 start all timers kept by this object More...
 
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
 Will be called to build any internal parameters.
 
void virtual_apply (DiscretisedDensity< num_dimensions, elemT > &out_density, const DiscretisedDensity< num_dimensions, elemT > &in_density) const override
 Performs actual operation (virtual_set_up is called before this function)
 
void virtual_apply (DiscretisedDensity< num_dimensions, elemT > &density) const override
 Performs actual operation (in-place)
 
- Protected Member Functions inherited from stir::ParsingObject
virtual void set_key_values ()
 This will be called before parsing or parameter_info is called. More...
 

Protected Attributes

BasicCoordinate< num_dimensions, int > max_kernel_sizes
 
bool normalise
 
SeparableGaussianArrayFilter< num_dimensions, elemT > gaussian_filter
 
- Protected Attributes inherited from stir::ParsingObject
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. More...
 
- Static Public Member Functions inherited from stir::RegisteredObject< Root >
static Root * 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. More...
 
static Root * ask_type_and_parameters ()
 ask the user for the type, and then calls read_registered_object(0, type) More...
 
static void list_registered_names (std::ostream &stream)
 List all possible registered names to the stream. More...
 
- Protected Types inherited from stir::RegisteredObject< Root >
typedef Root *(* 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< Root >
static RegistryTyperegistry ()
 Static function returning the registry. More...
 

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

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