TIGRE icon indicating copy to clipboard operation
TIGRE copied to clipboard

Add shepp-logan phantom to python

Open AnderBiguri opened this issue 3 years ago • 4 comments

AnderBiguri avatar Apr 15 '21 07:04 AnderBiguri

Hi. The SL implementation is included in the first version of filtering.py, which was commit by @AnderBiguri in 7b8e55ecc478f98ddb82220c2de8c7b00b429c39 .

tsadakane avatar Apr 25 '21 13:04 tsadakane

Hi @tsadakane !

Thanks for the comment! I definitely was not clear enough here. That is indeed the shep-logan filter for FDK that I added there. However, this issue was oppened for the shep logan phantom data, see the MATLAB version:

https://github.com/CERN/TIGRE/blob/master/MATLAB/Test_data/Shepp_logan/phantom3dAniso.m

AnderBiguri avatar Apr 25 '21 14:04 AnderBiguri

On MATLAB, the result of running

shepp=sheppLogan3D([128;128;64],'Modified Shepp-Logan');
yyw=sheppLogan3D([128;128;64],'yu-ye-wang');
plotImg([shepp,yyw],'Dim','Z','savegif','sl3d.gif');

is sl3d

YYW looks wrong. I think it is because the geometry transform in their code is wrong. I wrote an python implementation of 3d shepp-logan phantom. https://github.com/tsadakane/sl3d TIGRE can use it for python.

tsadakane avatar May 01 '21 14:05 tsadakane

@tsadakane Thanks for raising the issue and thanks for that python repo!

A good way to add this to TIGRE would be a git submodule I believe, but I don't like the fact that this solution would require users to change their git settings or call an extra git call to update/download it (people already have enough problems with compiling....).

Another option is to simply copy the code (with the license, of course) into TIGRE, as BSD-3 allows that, as long as credit is given. Note that if you make the PR to add the code yourself, it also gets recorded that you made it (and I am happy if you add your name/username to the files).

I am quite busy lately, so I will leave this issue for later. I need to investigate if I can find an automatic way to pull from your repo when you download this one, or if copying your code under some /third_party/ folder with attribution is the best option. Feel free to make a PR about this, as it will take me a bit to come back to it if I need to do it myself, unfortunately.

AnderBiguri avatar May 01 '21 15:05 AnderBiguri