-
Notifications
You must be signed in to change notification settings - Fork 95
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
SRT2D repository: SRT 2D PET and SPECT algorithms (#1420)
* Added SRT2DPETReconstruction and SRT2DSPECTReconstruction * Added Wiener and Gamma filters * Expanded recon_test_pack to run tests for SPECT data with SRT and others. Therefore, renamed simulate_PET_data_for_tests.sh to simulate_data_for_tests.sh --------- Co-authored-by: Kris Thielemans <[email protected]>
- Loading branch information
1 parent
4b87c30
commit 8752e80
Showing
33 changed files
with
2,993 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
SRT2DParameters := | ||
input file := sino_hof_no_noise.hs | ||
|
||
xy output image size (in pixels) := -1 | ||
z output image size (in pixels) := -1 | ||
zoom := 1 | ||
|
||
;post-filter type := Wiener | ||
;Wiener Filter Parameters := | ||
;End Wiener Filter Parameters := | ||
|
||
;post-filter type := Gamma | ||
;Gamma Filter Parameters := | ||
;End Gamma Filter Parameters := | ||
|
||
output filename prefix := SRT2D | ||
|
||
END := |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
SRT2DSPECTParameters := | ||
|
||
;SRT2DSPECT receives as input the forward projection of the attenuation image (attensino.hs) and the measured emission sinogram (sino.hs). | ||
input file := sino.hs | ||
attenuation projection filename := attensino.hs | ||
|
||
xy output image size (in pixels) := -1 | ||
|
||
;post-filter type := Wiener | ||
;Wiener Filter Parameters := | ||
;End Wiener Filter Parameters := | ||
|
||
;post-filter type := Gamma | ||
;Gamma Filter Parameters := | ||
;End Gamma Filter Parameters := | ||
|
||
output filename prefix := srt_recon | ||
|
||
|
||
end:= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
!INTERFILE := | ||
; This is a sample minimal header for SPECT tomographic data | ||
; The format is as per the 3.3 Interfile standard (aside from time frame info) | ||
|
||
!imaging modality := nucmed | ||
|
||
; name of file with binary data | ||
name of data file := SPECT_test_Interfile_header.s | ||
|
||
!version of keys := 3.3 | ||
!GENERAL DATA := | ||
!GENERAL IMAGE DATA := | ||
!type of data := Tomographic | ||
|
||
; optional keywords specifying patient position | ||
; patient rotation := prone | ||
; patient orientation := feet_in | ||
|
||
imagedata byte order := LITTLEENDIAN | ||
|
||
number of energy windows:=1 | ||
energy window lower level[1]:=120 | ||
energy window upper level[1]:=160 | ||
|
||
!SPECT STUDY (General) := | ||
; specify how the data are stored on disk | ||
; here given as "single-precision float" (you could have "unsigned integer" data instead) | ||
!number format := float | ||
!number of bytes per pixel := 4 | ||
!number of projections := 120 | ||
; total rotation (or coverage) angle (in degrees) | ||
!extent of rotation := 360 | ||
process status := acquired | ||
!SPECT STUDY (acquired data):= | ||
; rotation info (e.g. clock-wise or counter-clock wise) | ||
!direction of rotation := CW | ||
start angle := 180 | ||
|
||
; Orbit definition | ||
orbit := Circular | ||
; radius in mm | ||
Radius := 166.5 | ||
; or | ||
; orbit := Non-circular | ||
; give a list of "radii", one for every position | ||
; Radii := {150, 151, 153, ....} | ||
|
||
; pixel sizes in the acquired data, first in "transverse" direction, then in "axial" direction | ||
!matrix size [1] := 111 | ||
!scaling factor (mm/pixel) [1] := 3 | ||
!matrix size [2] := 47 | ||
!scaling factor (mm/pixel) [2] := 3.27 | ||
|
||
; optional keywords specifying frame duration etc | ||
; These are not according to the Interfile 3.3 specification | ||
; Currently only useful in STIR for dynamic applications | ||
; (but a "time frame" is considered to be all projections acquired at the same time) | ||
;number of time frames := 1 | ||
;image duration (sec)[1] := 0 | ||
;image relative start time (sec)[1] := 0 | ||
|
||
!END OF INTERFILE := |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
SRT2DSPECTParameters := | ||
; test file for SRT2DSPECT | ||
input file := my_sino${suffix}.hs | ||
attenuation projection filename := my_attenuation_sino${suffix}.hs | ||
|
||
xy output image size (in pixels) := 91 | ||
zoom := 0.5 | ||
|
||
;post-filter type := Wiener | ||
;Wiener Filter Parameters := | ||
;End Wiener Filter Parameters := | ||
|
||
;post-filter type := Gamma | ||
;Gamma Filter Parameters := | ||
;End Gamma Filter Parameters := | ||
|
||
output filename prefix := my_test_sim_image_SRT2DSPECT | ||
|
||
|
||
end:= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
SRT2DParameters := | ||
; test file for SRT2D | ||
input file := my_precorrected_sino${suffix}.hs | ||
|
||
xy output image size (in pixels) := 91 | ||
zoom := .5 | ||
|
||
;post-filter type := Wiener | ||
;Wiener Filter Parameters := | ||
;End Wiener Filter Parameters := | ||
|
||
;post-filter type := Gamma | ||
;Gamma Filter Parameters := | ||
;End Gamma Filter Parameters := | ||
|
||
output filename prefix := my_test_sim_image_SRT2D | ||
|
||
|
||
end:= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
Forward Projector parameters:= | ||
; example par file for specifying the forward projector for e.g. fwdtest | ||
type:=Matrix | ||
Forward Projector Using Matrix Parameters := | ||
|
||
Matrix type := SPECT UB | ||
Projection Matrix By Bin SPECT UB Parameters:= | ||
; same parameters as used in the OSMAPOSL_osem_SPECT.par file | ||
|
||
psf type:= Geometrical | ||
|
||
;psf type:= 2D | ||
;maximum number of sigmas:= 2.0 | ||
;; sigma_at_depth = collimator_slope * depth_in_cm + collimator sigma 0(cm) | ||
;collimator slope := 0.0163 | ||
;collimator sigma 0(cm) := 0.1466 | ||
|
||
;Attenuation correction { Simple // Full // No } | ||
;attenuation type := No | ||
;attenuation type := Simple | ||
;Values in attenuation map in cm-1 (float file) | ||
;attenuation map := attenuation.hv | ||
attenuation map := my_atten_image_SPECT_modified.hv | ||
|
||
;Mask properties { Cylinder // Attenuation Map // Explicit Mask // No} | ||
;mask type := Attenuation Map | ||
mask type := No | ||
|
||
End Projection Matrix By Bin SPECT UB Parameters:= | ||
|
||
End Forward Projector Using Matrix Parameters := | ||
end:= | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
generate_image Parameters := | ||
output filename:=my_atten_image_SPECT | ||
X output image size (in pixels):=111 | ||
Y output image size (in pixels):=111 | ||
Z output image size (in pixels):=47 | ||
X voxel size (in mm):= 3 | ||
Y voxel size (in mm):= 3 | ||
Z voxel size (in mm) :=3.27 | ||
|
||
Z number of samples to take per voxel := 1 | ||
Y number of samples to take per voxel := 1 | ||
X number of samples to take per voxel := 1 | ||
|
||
shape type:= ellipsoidal cylinder | ||
Ellipsoidal Cylinder Parameters:= | ||
radius-x (in mm):=100 | ||
radius-y (in mm):=100 | ||
length-z (in mm):=110 | ||
origin (in mm):={70,10,-20} | ||
;{70,10,-20} | ||
END:= | ||
value := 0.096 | ||
|
||
END:= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.