STIR
6.2.0
|
A class derived from DataProcessor for performing separable periodic convolutions with an array kernel. More...
#include "stir/NonseparableConvolutionUsingRealDFTImageFilter.h"
Public Member Functions | |
NonseparableConvolutionUsingRealDFTImageFilter () | |
Default constructor. | |
NonseparableConvolutionUsingRealDFTImageFilter (const Array< num_dimensions, elemT > &filter_coefficients) | |
Constructor taking filter kernel explicitly. More... | |
template<> | |
const char *const | registered_name |
Public Member Functions inherited from stir::RegisteredParsingObject< NonseparableConvolutionUsingRealDFTImageFilter< elemT >, DataProcessor< DiscretisedDensity< 3, elemT > >, DataProcessor< DiscretisedDensity< 3, 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< 3, elemT > > | |
Succeeded | set_up (const DiscretisedDensity< 3, 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< 3, elemT > &data) |
Calls set_up() (if not already done before) and process data in-place. More... | |
Succeeded | apply (DiscretisedDensity< 3, elemT > &out_data, const DiscretisedDensity< 3, 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 &) | |
ParsingObject & | operator= (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 |
Name for parsing registry. | |
Additional Inherited Members | |
Static Public Member Functions inherited from stir::RegisteredParsingObject< NonseparableConvolutionUsingRealDFTImageFilter< elemT >, DataProcessor< DiscretisedDensity< 3, elemT > >, DataProcessor< DiscretisedDensity< 3, elemT > > > | |
static DataProcessor< DiscretisedDensity< 3, 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 ®istered_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_less > | RegistryType |
The type of the registry. | |
Protected Member Functions inherited from stir::DataProcessor< DiscretisedDensity< 3, elemT > > | |
virtual Succeeded | virtual_set_up (const DiscretisedDensity< 3, elemT > &)=0 |
Will be called to build any internal parameters. | |
virtual void | virtual_apply (DiscretisedDensity< 3, elemT > &data, const DiscretisedDensity< 3, elemT > &in_data) const=0 |
Performs actual operation (virtual_set_up is called before this function) | |
virtual void | virtual_apply (DiscretisedDensity< 3, elemT > &data) const=0 |
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... | |
Static Protected Member Functions inherited from stir::RegisteredObject< Root > | |
static RegistryType & | registry () |
Static function returning the registry. More... | |
Protected Attributes inherited from stir::ParsingObject | |
KeyParser | parser |
A class derived from DataProcessor for performing separable periodic convolutions with an array kernel.
This filter applies a 3D convolution based on the filter kernel.
When parsing, the filter coefficients are read as an Array
Convolution is periodic.
Elements of the input array that are outside its index range are considered to be 0.
Nonseparable Convolution Using Real DFT Image Filter := filter kernel := kernel.hv END Nonseparable Convolution Using Real DFT Image Filter :=
The filter is implemented using the class ArrayFilterUsingRealDFTWithPadding.
stir::NonseparableConvolutionUsingRealDFTImageFilter< elemT >::NonseparableConvolutionUsingRealDFTImageFilter | ( | const Array< num_dimensions, elemT > & | filter_coefficients | ) |
Constructor taking filter kernel explicitly.
This kernel is passed to the ArrayFilterUsingRealDFTWithPadding constructor.