STIR  6.2.0
Public Member Functions | Static Public Attributes | List of all members
stir::BinNormalisationFromML2D Class Reference

A BinNormalisation class that gets the normalisation factors from the files output by find_ML_normfactors. More...

#include "stir_experimental/recon_buildblock/BinNormalisationFromML2D.h"

Inheritance diagram for stir::BinNormalisationFromML2D:
Inheritance graph
[legend]

Public Member Functions

 BinNormalisationFromML2D ()
 Default constructor. More...
 
virtual Succeeded set_up (const shared_ptr< const ProjDataInfo > &)
 Checks if we can handle certain projection data.
 
void apply (RelatedViewgrams< float > &viewgrams) const override
 Normalise some data. More...
 
void undo (RelatedViewgrams< float > &viewgrams) const override
 Undo the normalisation of some data. More...
 
- Public Member Functions inherited from stir::RegisteredParsingObject< BinNormalisationFromML2D, BinNormalisation >
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::BinNormalisation
virtual float get_calibration_factor () const
 
virtual bool is_trivial () const
 check if we would be multiplying with 1 (i.e. do nothing) More...
 
virtual bool is_TOF_only_norm () const
 returns if the object can only handle TOF data More...
 
virtual Succeeded set_up (const shared_ptr< const ExamInfo > &exam_info_sptr, const shared_ptr< const ProjDataInfo > &)
 initialises the object and checks if it can handle such projection data More...
 
virtual float get_bin_efficiency (const Bin &bin) const =0
 Return the 'efficiency' factor for a single bin. More...
 
void apply (ProjData &, shared_ptr< DataSymmetriesForViewSegmentNumbers >=shared_ptr< DataSymmetriesForViewSegmentNumbers >()) const
 normalise some data More...
 
void undo (ProjData &, shared_ptr< DataSymmetriesForViewSegmentNumbers >=shared_ptr< DataSymmetriesForViewSegmentNumbers >()) const
 undo the normalisation of some data More...
 
void set_exam_info_sptr (const shared_ptr< const ExamInfo > _exam_info_sptr)
 
shared_ptr< const ExamInfoget_exam_info_sptr () const
 
- 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)
 

Static Public Attributes

static const char *const registered_name = "From ML2D"
 Name which will be used when parsing a BinNormalisation object.
 

Additional Inherited Members

- Static Public Member Functions inherited from stir::RegisteredParsingObject< BinNormalisationFromML2D, BinNormalisation >
static BinNormalisationread_from_stream (std::istream *)
 Construct a new object (of type Derived) by parsing the istream. More...
 
- Static Public Member Functions inherited from stir::RegisteredObject< BinNormalisation >
static BinNormalisationread_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 BinNormalisationask_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< BinNormalisation >
typedef BinNormalisation *(* 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.
 
- Protected Member Functions inherited from stir::BinNormalisation
virtual void check (const ProjDataInfo &proj_data_info) const
 check if the argument is the same as what was used for set_up() More...
 
virtual void check (const ExamInfo &exam_info) const
 
- 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< BinNormalisation >
static RegistryTyperegistry ()
 Static function returning the registry. More...
 
- Protected Attributes inherited from stir::BinNormalisation
bool _already_set_up
 
shared_ptr< const ProjDataInfoproj_data_info_sptr
 
- Protected Attributes inherited from stir::ParsingObject
KeyParser parser
 

Detailed Description

A BinNormalisation class that gets the normalisation factors from the files output by find_ML_normfactors.

Warning
the ProjData object has to be 2D, no mashing, no span, no arc-correction. I'm not sure if this is properly checked at run-time.
Parsing details

Default values are given below, except for the filename.

  bin normalisation type := From ML2D
  Bin Normalisation From ML2D:=
  normalisation_filename_prefix:=<ASCII>
  use block factors:=1
  use geometric factors:=1
  use crystal_efficiencies:=1
  efficiency iteration number:=0
  iteration number:=0
  End Bin Normalisation From ML2D:=

Constructor & Destructor Documentation

◆ BinNormalisationFromML2D()

stir::BinNormalisationFromML2D::BinNormalisationFromML2D ( )

Default constructor.

Warning
You should not call any member functions for any object just constructed with this constructor. Initialise the object properly first by parsing.

Member Function Documentation

◆ apply()

void stir::BinNormalisationFromML2D::apply ( RelatedViewgrams< float > &  viewgrams) const
overridevirtual

Normalise some data.

This means multiply with the data in the projdata object passed in the constructor.

Reimplemented from stir::BinNormalisation.

References stir::RelatedViewgrams< elemT >::get_basic_view_segment_num(), and stir::RelatedViewgrams< elemT >::get_symmetries_ptr().

◆ undo()

void stir::BinNormalisationFromML2D::undo ( RelatedViewgrams< float > &  viewgrams) const
overridevirtual

Undo the normalisation of some data.

This means divide with the data in the projdata object passed in the constructor.

Reimplemented from stir::BinNormalisation.

References stir::RelatedViewgrams< elemT >::get_basic_view_segment_num(), and stir::RelatedViewgrams< elemT >::get_symmetries_ptr().


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