cicwi / SliceRecon

This repository has moved to:
https://cicwi.github.io/RECAST3D
GNU General Public License v3.0
6 stars 4 forks source link

Geometry that has a wobbly rotation axis #7

Open adriaangraas opened 5 years ago

adriaangraas commented 5 years ago

Hi,

The projection dataset I'm using has a center of rotation that alters slightly with every second projection image. I can preprocess the data by shifting the data a bit, but then I'll have to cut off the sides of the projection images.

TomoPy deals with the problem by allowing some center kwargs in the reconstruction algorithm.

What do you think about this? I'll leave this issue open as its not an urgent one, but might implement it in some future.

Greets, Adriaan

jwbuurlage commented 5 years ago

For a 'wobbly rotation axis', your geometry is not perfectly circular. Luickly, you can use ParallelVec or ConeVec geometries to fix this. In these Vec geometries, you explicitly give the source/detector parameters for each projection independently.

This puts the alignment responsibility at the adapter. For now, I think this is where it should be done instead of in SliceRecon. Concretely (for PB):

adriaangraas commented 5 years ago

For now that fixes the problem, as I have a dataset where I can provide such a vector-geometry ahead of the projections. In real-time scanning we don't have this information.

Now that I think of it, do you think it is necessary to send all angles, and geometry information, ahead of time? If we would send most information (such as angle, positions, center translation) per projection packet, we might also be able to prepare for eventual hiccups in irregular angles, skipped projections etc. that might occur in practical situations.