csyben / PYRO-NN

Python Reconstruction Operators in Neural Networks. High level python API for PYRO-NN-Layers
Apache License 2.0
109 stars 34 forks source link

Non-uniform angular acquisition recon #24

Open zhangzhehao95 opened 2 years ago

zhangzhehao95 commented 2 years ago

Dear authors,

First of all, thanks for sharing your excellent work. From the examples you have provided, it seems the Geometry class is constructed with angular range and number of projections, which means it's always uniform angular acquisition (same angular spacing between adjacent projections). I am curious if there is a way I can use PYRO-NN to do non-uniform projection reconstruction. I personally will need to deal with this situcation for 4D-CBCT recon.

Thanks.

csyben commented 2 years ago

Hi,

your observation is correct. The geometry classes are designed as very simple base classes, in the current form, the circular trajectory is uniformly sampled.

However, the actual implementation of the projection and back-projection layers are just depending on the projection matrices (for the 3D-CT case). Thus, if you have the projection matrices of a non-uniform trajectory you can directly use those matrices for the layers and it will work.

In general I would suggest, that you either work around/without the geometry class, or you write a new geometry class which suits your case.

I you have further questions or want to discuss your implementation Idea, just ask again :).

Hope the answer helps you.

best