CERN / TIGRE

TIGRE: Tomographic Iterative GPU-based Reconstruction Toolbox
BSD 3-Clause "New" or "Revised" License
560 stars 183 forks source link

Tomosynthesis - reconstuction rotation issue #337

Closed JingYao0512 closed 2 years ago

JingYao0512 commented 2 years ago

Expected Behavior

The reconstruction object should be located in same place.

Actual Behavior

Code to reproduce the problem (If applicable)

The geometry definition follows.

% Distances
geo.DSD = 970;                               % Distance Source Detector      (mm)
geo.DSO = 940;                               % Distance Source Origin        (mm)

% Detector parameters
geo.nDetector=[1501; 1501];                % number of pixels              (px)
geo.dDetector=[0.14; 0.14];                    % size of each pixel            (mm)
geo.sDetector=geo.nDetector.*geo.dDetector; % total size of the detector    (mm)

% Image parameters
geo.nVoxel = [60;  800; 800];
geo.dVoxel = [1; 0.2625; 0.2625] ;
geo.sVoxel = geo.nVoxel .* geo.dVoxel;

% Offsets
Airgap = 0;                                % DBT airgap (mm)
geo.offOrigin= [-60; 0; 0] ;
geo.offDetector=[0; 0];

geo.accuracy=0.1;                     % Variable to define accuracy of
geo.COR=0;                               % y direction displacement for

angles = linspace(20,-20,41);
tubeangle = angles(1) - angles(end);
angles = deg2rad(angles);
nprojs = size(angles,2);

geo.mode='cone';                            

staticDetectorGeo

R = (geo.DSD-geo.DSO);
geo.DSD = geo.DSD-(R-R*cos(angles))
geo.offDetector = [R*sin(angles); zeros(1, size(angles,2))];
geo.rotDetector = [zeros(1,size(angles,2)); zeros(1,size(angles,2)); -angles];

Specifications

AnderBiguri commented 2 years ago

Thanks, I will try to investigate.

Admitedly, I have myself never tried DBT data and everything in TIGRE has been validated by third party users of TIGRE, so I am not entirely sure if all is correct. DBT is a tough one, as due to the very limited angular sampling that you have, the results you show may be correct, as limited angle artifacts are almost unavoidable. Do you have a compercial DBT recon to compare against?

AnderBiguri commented 2 years ago

Have you checked if the angles are negative? its a very common issue

JingYao0512 commented 2 years ago

@AnderBiguri Thanks for your response. Do you mean the geo.offDetector which angle is negative? I don't have a commercial DBT, so I can't compare it.

I will try to check the angle issue to see whether improve the image quality or not. Thank you!

AnderBiguri commented 2 years ago

Hi @JingYao0512 , I meant angles=-angles;. A really really common error is giving TIGRE the angles in the opposite direction. in DBT its really hard to know if there is such mistake by looking at the image, as the images tend to look bad anyway. So double and triple check the geometry!

AnderBiguri commented 2 years ago

Closing from lack of response, but feel free to open again if you have issues.