-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Artefacts in SART and OS_SART reconstruction for DBT Scanner #495
Comments
Thanks! Can you also test SIRT, or test SART and OS-SART with the angle reordering turned off? Also,are you displaying the same slices? As you know, DBT has very limited depth resolution and artifacts look similar to what you show for SART when visualizing slices out of the focal point, for all algorithms |
Thankyou for the quick response! We tried SIRT and OS_SART in order strategies 'ordered' and 'random'. But we got the same artefacts! Yes. I am displaying the same slices. Regarding your last comment,
|
1- Indeed, the focal point, likely (depends on the geometry, but you'd need to share that). In order for me to verify this is not a bug, can you provide a compete demo of this, with fake data generation in TIGRE, such that I Can copy paste and investigate? If its an issue of TIGRE, and not the data/acquisition, then you should be able to reproduce it without the real data, using e.g. shepp-logan. Can you try that? |
The reason for FDK not showing this error maybe due to the poor contrast of output images. We will try this using shepp-logan and will update you. Thankyou |
Were you able to reach any conclusion? |
Hi @rupikaraj. I am quite busy these days so I have limited time to investigate. It would help if you would post a minimal example reproducing your issue that does not use your data, but tigres geometry. That is much easier for me (and others) to help with. |
@AnderBiguri I tried shepp-logan phantom on the d19_DBT_example original code using the default parameters and got the same artefacts. I have added some of the reconstructed images below. Please note that i have not changed any other parameters from the default code. |
Thanks! Can you also post the code to generate that? It's not good security advice to download unknown person drive files, sorry. |
I used the d19_DBTexample.m code in MATLAB/Demos in this repository. Didn't change any other parameters. Just changed the head phantom to shepp-logan. `shepp = phantom3dAniso(geo.nvoxel) % test data creation function shepp = single(shepp) ` |
Hi @pathros123 . This is supsicius, in the sense that I think its not showing the same effect. I think the shepp logan example is showing the errors of the discretization of the phantom, not errors in algorithms. In general, if you change the data and the effect is not there anymore/appears suddenly, its the data issue, not the algorithm issue. I will investigate, but still unsure if this is a bug on the code, or just you have some issue with the geometry/angles in your real case, as I am not 100% sure this demo is showing the same effect as your real data. |
@AnderBiguri I did some research but couldn't find any similar issues in DBT reconstruction. In my data and in shepp-logan phantom the error found in the image seemed to be similar for me. I am pretty new to this field. Please check and give your response if it is an issue with the data. |
@pathros123 can you show me slices in the source detector axis for both cases? |
I'm not sure what 'slices in source detector axis' means. Could you please clarify your question? |
@pathros123 These are 3D volumes, can you show me cuts of the volumes in different axis? |
hi @pathros123 , apologies, can you show me images of the 3 axis? Not sure how you made these, but they should be the TIGRE XY axis, i.e. Z should not appear in the plot. Can you show a slice of all 3 cuts? |
@AnderBiguri I have added the code below for shepp-logan phantom. % Distances geo.accuracy=0.5; % Variable to define accuracy of geo.COR=0; % y direction displacement for nprojs = 9; % Number of projections geo.mode='cone'; % Or 'parallel'. Geometry type. %% Adapt CT geo to DBT % head=headPhantom(geo.nVoxel); shepp=phantom3dAniso(geo.nVoxel); projections=Ax(shepp,geo,angles,'interpolated'); %% Simple BP %% SART %% plot plotImg(recSART,'dim','z','clims',[0 1], 'slice', 100) ` The plots for all three cuts are added below. I tried to resize the shepp-logan to 128x128x128 size for obtaining a better view. Here are the images i got. In the gammex phantom data that I am using, geo.nVoxel = 48,1150,903. Hence the XY axis image is a very narrow rectangle. I hope this helps. |
Sorry I am quite busy, I'll have a look soon :) |
Expected Behavior
I want to reconstruct a DBT data using 16 projection data into 48 images
Actual Behavior
I tried FDK, OS_SART and SART but some king of duplicating structures are present in SART and OS_SART reconstructed images. Surprisingly these structures are considerably less in FDK but the contrast of output image is very poor. I have added all three output images below for your reference.
I used FDK to initialise SART and OS_SART.
Number of iterations : 8
Block size : 8
Code to reproduce the problem (If applicable)
By examining the SART and OS_SART code, i found that for each iteration, a duplicate of these structures are added to the image. The line is given below
The input res and res after one iteration is shown in the image
Specifications
The text was updated successfully, but these errors were encountered: