STIR  6.2.0
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
stir::FindMCNormFactors Class Reference

Class to compute 'time-efficiency' factors for motino corrected projection data. More...

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

Public Member Functions

 FindMCNormFactors (const char *const par_filename)
 
virtual void process_data ()
 
- Public Member Functions inherited from stir::ParsingObject
 ParsingObject (const ParsingObject &)
 
ParsingObjectoperator= (const ParsingObject &)
 
void ask_parameters ()
 
virtual std::string parameter_info ()
 
bool parse (std::istream &f)
 
bool parse (const char *const filename)
 

Public Attributes

TimeFrameDefinitions frame_defs
 

Protected Member Functions

virtual void set_defaults ()
 parsing functions
 
virtual void initialise_keymap ()
 Initialise all keywords.
 
virtual bool post_processing ()
 This will be called at the end of the parsing. More...
 
- 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

string output_filename_prefix
 parsing variables
 
string template_proj_data_name
 
string frame_definition_filename
 
int max_segment_num_to_process
 
shared_ptr< ProjDataInfotemplate_proj_data_info_ptr
 
shared_ptr< ProjDataInfoproj_data_info_uncompressed_ptr
 
const ProjDataInfoCylindricalNoArcCorrproj_data_info_cyl_uncompressed_ptr
 
shared_ptr< Scannerscanner_ptr
 
bool do_pre_normalisation
 
bool do_time_frame
 
- Protected Attributes inherited from stir::ParsingObject
KeyParser parser
 

Detailed Description

Class to compute 'time-efficiency' factors for motino corrected projection data.

When list mode data is binned into 3d sinograms using motion correction, (or when a 3d sinograms is motion corrected), the resulting sinogram is not 'consistent' due to some LORs not being measured during the whole frame. This is discussed in some detail in
K. Thielemans, S. Mustafovic, L. Schnorr, Image Reconstruction of Motion Corrected Sinograms, poster at IEEE Medical Imaging Conf. 2003, available at http://www.hammersmithimanet.com/~kris/papers/.

This class computes these 'time-efficiency' factors.

See general MC doc for how the LMC method works.

Format of parameter file
FindMCNormFactors Parameters :=
; output name
; filenames will be constructed by appending _f#g1d0b0.hs and .s
; where # is the frame number
output filename prefix:= output

; file to get frame definitions (see doc for TimeFrameDefinitions)
time frame_definition file:=some_ECAT7.S
; file that will be used to get dimensions/scanner etc
; can usually be the same ECAT7 file as above
template_projdata:= projdata
; frame to do in this run (if -1 all frames will be done)
time frame number := 1

; next allows you to do only a few segments (defaults to all in template)
;maximum absolute segment number to process:=0

; object specifying motion data
; example given for Polaris
; warning: the Polaris parameters might change
; (see doc for RigidObject3DMotionFromPolaris for up-to-date info)
Rigid Object 3D Motion Type:=Motion From Polaris
Rigid Object 3D Motion From Polaris Parameters:=
mt filename:=H02745.mt
list_mode_filename:= H02745_lm1
attenuation_filename:=H02745_tr.a
transmission_duration:=300
transformation_from_scanner_coordinates_filename:=966/transformation_from_scanner_to_polaris
End Rigid Object 3D Motion From Polaris:=

; experimental support for method where the usual detection efficiencies
; are taken into account here, and not during the list mode binning
; default is not to use this
do pre normalisation := 0
Bin Normalisation type := supported_normalisation_type


; specify number of intervals that will be taken in this frame

; default duration in secs
default time interval:=5
minimum number of time intervals per frame:= 1
maximum number of time intervals per frame:=1

END:=

Member Function Documentation

◆ post_processing()

bool stir::FindMCNormFactors::post_processing ( )
protectedvirtual

This will be called at the end of the parsing.

Returns
false if everything OK, true if not

Reimplemented from stir::ParsingObject.

References stir::read_from_file(), and stir::warning().


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