35 #ifndef AIMS_RESAMPLING_RESAMPLER_H
36 #define AIMS_RESAMPLING_RESAMPLER_H
145 int dimZ,
const Point3df& voxel_size )
const;
177 bool verbose =
false )
const;
201 T& output_value,
int timestep )
const;
223 const T &background,
const Point3df &output_location,
224 T &output_value,
int timestep )
const;
251 bool verbose =
false )
const;
273 const T &background,
const Point3df &output_location,
274 T &output_value,
int timestep )
const
277 return doResample(input_data, inverse_transform_to_vox, background,
278 output_location, output_value, timestep);
311 bool verbose =
false )
const;
344 const T &background,
const Point3df &output_location,
345 T &output_value,
int timestep )
const = 0;
Resampling of data from a volume, applying a transformation.
virtual void updateParameters(const carto::Volume< T > &, int, bool) const
Method called before doResample() for each time step.
void resample_inv(const carto::Volume< T > &input_data, const soma::Transformation3d &inverse_transform_to_mm, const T &background, const Point3df &output_location, T &output_value, int timestep) const
Resample a volume at a single location.
const carto::rc_ptr< carto::Volume< T > > & ref() const
Input data to be resampled by the doit() methods.
void setVerboseStream(std::ostream &stream)
write verbose progress information to this stream.
virtual void doResample(const carto::Volume< T > &input_data, const soma::Transformation3d &inverse_transform, const T &background, const Point3df &output_location, T &output_value, int timestep) const =0
Resample a volume at a single location.
void setRef(const carto::rc_ptr< carto::Volume< T > > &ref)
Set the input data to be resampled by the doit() methods.
virtual void resample(const carto::Volume< T > &input_data, const aims::AffineTransformation3d &transform, const T &background, carto::Volume< T > &output_data, bool verbose=false) const
Resample a volume into an existing output volume.
void doit(const aims::AffineTransformation3d &transform, carto::Volume< T > &output_data) const
Resample the input volume set with setRef() into an existing volume.
carto::rc_ptr< carto::Volume< T > > _ref
void resample_inv_to_vox(const carto::Volume< T > &input_data, const soma::Transformation3d &inverse_transform_to_vox, const T &background, const Point3df &output_location, T &output_value, int timestep) const
Resample a volume at a single location.
void setDefaultValue(T val)
Set the background value to be used by the doit() methods.
std::ostream * _verbose_stream
const T & defaultValue() const
Background value used by the doit() methods.