UCL/STIR

scatter simulation/estimation recommendations for downsampling etc

KrisThielemans opened this issue · 0 comments

It looks like our default settings could lead to suboptimal scatter estimates (definitely simulations). I haven't checked the documentation yet.

A potential issue is that, as we use ray-tracing for computing the line integrals (through both emission and attenuation), the image resolution needs to match (downsampled) detector size. This seems currently not implemented by default. Some pointers

scatter estimation

if (this->downsample_scanner_bool)
this->scatter_simulation_sptr->downsample_scanner();

if (this->override_density_image)
{
info("ScatterEstimation: Over-riding attenuation image! (The file and settings set in the simulation par file are "
"discarded)");
this->scatter_simulation_sptr->set_density_image_sptr(this->atten_image_sptr);
}

scatter simulation

if (downsample_scanner_bool)
{
if (this->_already_set_up)
error("ScatterSimulation: set_up() called twice. This is currently not supported.");
downsample_scanner();
}

if (is_null_ptr(density_image_for_scatter_points_sptr))
{
if (this->_already_set_up)
error("ScatterSimulation: set_up() called twice. This is currently not supported.");
downsample_density_image_for_scatter_points(zoom_xy, zoom_z, zoom_size_xy, zoom_size_z);
}

We do have this function which tries to set voxel sizes appropriately, but it seems it isn't called anywhere

ScatterSimulation::downsample_images_to_scanner_size()