UCL / STIR-exercises

Exercises for STIR
Apache License 2.0
16 stars 12 forks source link

FBP2D error:BackProjectorByBinUsingInterpolation #16

Open hannah-saber opened 1 year ago

hannah-saber commented 1 year ago

When I run FBP2D in working_folder/brain, it shows ERROR: BackProjectorByBinUsingInterpolation cannot handle non-zero view-offset. I checked wiki, found the reson is arc correction, but applied corrections:={none}. But it works, when I run my own data without arc correction.

Even run OSMAPOSL OSMAPOSL_QuadraticPrior.par, it also shows ERROR: Error opening file OSEM_24.hv. I am confused cause there is no error when I run my own data.

I have no idea how to handle it... Did anyone meet the same question? Thanks for any reply!

Best, Hannah

KrisThielemans commented 12 months ago

When I run FBP2D in working_folder/brain, it shows ERROR: BackProjectorByBinUsingInterpolation cannot handle non-zero view-offset.

sorry. The default backprojector for FBP2D is rather old, and never updated for orientations. I don't quite understand why it's throwing an error here as the template has zero offset.

I checked wiki, found the reson is arc correction, but applied corrections:={none}. But it works, when I run my own data without arc correction.

No, that isn't the reason. FBP2D and FBP3DRP will first arc-correct if required.

run OSMAPOSL OSMAPOSL_QuadraticPrior.par, it also shows ERROR: Error opening file OSEM_24.hv. I am confused cause there is no error when I run my own data.

This .par file starts OSMAPOSL from an initial OSEM reconstruction, see here. So you'll need to run OSEM first. Note that this initialisation works a bit better for both OSL (to avoid its divergence problem when too far away from the MAP solution) and OSSPS (to speed it up).

Sorry for delay!

tctco commented 9 months ago

+1 for this issue

ERROR: BackProjectorByBinUsingInterpolation cannot handle non-zero view-offset. Sorry
terminate called after throwing an instance of 'std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >'
./run_scatter_0.sh: line 13:   626 Aborted                 INPUT=precorrected_g${g}.hs OUTPUT=FBP_recon_with_scatter_correction FBP2D ../FBP2D_full.par
ERROR in ./run_scatter_0.sh. Rerun with bash -vx ./run_scatter_0.sh to debug

Here is the log file:

WARNING: Interfile parsing ended up with the following scanner:
Scanner parameters:= 
Scanner type := userdefined
Number of rings                          := 8
Number of detectors per ring             := 512
Inner ring diameter (cm)                 := 102
Average depth of interaction (cm)        := 0.7
Distance between rings (cm)              := 1.35
Default bin size (cm)                    := 0.3129
View offset (degrees)                    := 0
Maximum number of non-arc-corrected bins := 192
Default number of arc-corrected bins     := 192
Number of blocks per bucket in transaxial direction         := 1
Number of blocks per bucket in axial direction              := 1
Number of crystals per block in axial direction             := 1
Number of crystals per block in transaxial direction        := 8
Number of detector layers                                   := 1
Number of crystals per singles unit in axial direction      := 1
Number of crystals per singles unit in transaxial direction := 8
Scanner geometry (BlocksOnCylindrical/Cylindrical/Generic)  := Cylindrical
end scanner parameters:=

INFO: Detected view-mashing factor 4 from the number of views (64) and the number of detectors per ring (512).
Adjusting the azimuthal angle offset accordingly (an extra offset of 1.05469 degrees)