CERN / CERN/TIGRE

Artefacts in SART and OS_SART reconstruction for DBT Scanner

Open
#495 25 comments 0 reactions 0 assignees View on GitHub
Dominant language
MATLAB
Stars
803
Forks
262
Avg merge
9d 13h
Merged PRs (30d)
8

Description

## 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.
![fdk40](https://github.com/CERN/TIGRE/assets/146434101/b9f140ce-1004-4a8e-92c6-db5ca2b22bec)
![ossart40](https://github.com/CERN/TIGRE/assets/146434101/b487551d-0a86-4740-93da-6ea94b7b770e)
![sart40](https://github.com/CERN/TIGRE/assets/146434101/fb14323f-1b3c-40f8-86f9-9211b1b4f2c4)

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
![image](https://github.com/CERN/TIGRE/assets/146434101/2e1e556b-981c-4bce-85c3-9d70b5b2baa8)

```
if nesterov
% The nesterov update is quite similar to the normal update, it
% just uses this update, plus part of the last one.
ynesterov=res+ bsxfun(@times,1./V(:,:,jj),Atb(W(:,:,index_angles(:,jj)).*(proj(:,:,index_angles(:,jj))-Ax(res,geo,angles_reorder(:,jj),'gpuids',gpuids)),geo,angles_reorder(:,jj),'gpuids',gpuids));
res=(1-gamma)*ynesterov+gamma*ynesterov_prev;
else
res=res+lambda* bsxfun(@times,1./V(:,:,jj),Atb(W(:,:,index_angles(:,jj)).*(proj(:,:,index_angles(:,jj))-Ax(res,geo,angles_reorder(:,jj),'gpuids',gpuids)),geo,angles_reorder(:,jj),'gpuids',gpuids));
end
```

## Specifications

- MATLAB version: 2021b
- OS: windows 10
- CUDA version: 10.0

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.