20 #ifndef __stir_recon_buildblock_PoissonLogLikelihoodWithLinearModelForMeanAndGatedProjDataWithMotion_H__ 21 #define __stir_recon_buildblock_PoissonLogLikelihoodWithLinearModelForMeanAndGatedProjDataWithMotion_H__ 39 template <
typename TargetT>
40 class PoissonLogLikelihoodWithLinearModelForMeanAndGatedProjDataWithMotion
41 :
public RegisteredParsingObject<
42 PoissonLogLikelihoodWithLinearModelForMeanAndGatedProjDataWithMotion<TargetT>,
43 GeneralisedObjectiveFunction<TargetT>,
44 SumOfGeneralisedObjectiveFunctions<PoissonLogLikelihoodWithLinearModelForMeanAndProjData<TargetT>,
46 PoissonLogLikelihoodWithLinearModelForMean<TargetT>>>
49 typedef RegisteredParsingObject<
50 PoissonLogLikelihoodWithLinearModelForMeanAndGatedProjDataWithMotion<TargetT>,
51 GeneralisedObjectiveFunction<TargetT>,
52 SumOfGeneralisedObjectiveFunctions<PoissonLogLikelihoodWithLinearModelForMeanAndProjData<TargetT>,
54 PoissonLogLikelihoodWithLinearModelForMean<TargetT>>>
59 static const char*
const registered_name;
62 PoissonLogLikelihoodWithLinearModelForMeanAndGatedProjDataWithMotion();
72 void set_proj_data_sptr(
const shared_ptr<GatedProjData>&);
73 void set_max_segment_num_to_process(
const int);
74 void set_zero_seg0_end_planes(
const bool);
75 void set_additive_proj_data_sptr(
const shared_ptr<GatedProjData>&);
76 void set_projector_pair_sptr(
const shared_ptr<ProjectorByBinPair>&);
77 void set_frame_num(
const int);
78 void set_frame_definitions(
const TimeFrameDefinitions&);
81 virtual TargetT* construct_target_ptr()
const;
84 compute_sub_gradient_without_penalty_plus_sensitivity(TargetT& gradient,
const TargetT& target,
const int subset_num);
87 virtual Succeeded set_up_before_sensitivity(shared_ptr<TargetT>
const& target_sptr);
89 virtual void add_subset_sensitivity(TargetT& sensitivity,
const int subset_num)
const;
92 std::string _input_filename;
136 std::string frame_definition_filename;
141 virtual void set_defaults();
142 virtual void initialise_keymap();
143 virtual bool post_processing();
145 shared_ptr<GatedProjData> _gated_proj_data_sptr;
146 shared_ptr<GatedProjData> _gated_additive_proj_data_sptr;
148 shared_ptr<DataSymmetriesForViewSegmentNumbers> symmetries_sptr;
Class used for storing time frame durations.
Definition: TimeFrameDefinitions.h:38
Declaration of class stir::TimeFrameDefinitions.
A templated class for vectors, but with indices starting not from 0.
Definition: ArrayFilter1DUsingConvolution.h:31
Declaration of class stir::DataProcessor.
Declaration of class stir::SumOfGeneralisedObjectiveFunctions.
Declaration of class stir::BinNormalisation.
Declaration of class stir::GatedProjData.
Declaration of class stir::RegisteredParsingObject.
Declares class stir::ProjectorByBinPair.