; Tests some SPIDER enhancement filters which require a ; threshold setting with different input parameters on a volume. ; Places a single relevant slice from the volume in a stack. ; ; ArDean Leith April 2002 (INDEXED) ; ; ----------------------------------- GET INPUT PARAMETERS FR ?input volume name? <1> ;nik000 FR ?output stack name? <2> ;jnkstk ; One relevant slice from your volume to be displayed RR x40 ?Enter relevant slice? ;x40=41 RR x88 ?Threshold? ;x88= 0.05 ; ----------------------------------- INITIALIZATION PS Z ; Extract relevant slice <1> ; Input volume _9 ; Output slice (x40) ; Slice number FS X32,x31 <1> ; Temp volume FS X42,x41 _9 ; Output slice x11=99 ; ----------------------------------- Original Unfiltered Slice CP ; Extract relevant slice _9 ; Output slice <2>@{***x11}; Output stack VM echo "Image: {***x11} Original Unfiltered Slice" x11=x11+1 ; Increment stack pointer ; ----------------------------------- CE -- Stretch Single x12 = x41 + 0.1 * (X42 - x41) x13 = x42 - 0.1 * (X42 - x41) CE ; CE _9 ; Input image <2>@{***X11} ; Output stack S ; Stretch Single ; Single mapping X12 x13 VM echo "Slice: {***x11} CE S S 10..90%" x11=x11+1 ; Increment stack pointer ; ----------------------------------- CE -- Histogram Equalization CE ; CE _9 ; Input image <2>@{***X11} ; Output stack H ; Histogram Equalization N ; No print VM echo "Slice: {***x11} CE H" x11=x11+1 ; Increment stack pointer ; ----------------------------------- CE -- Local Histogram Equal. DO LB2 X21=6,11 x22 = x21 * 2 + 1 CE ; CE _9 ; Input image <2>@{***X11} ; Output stack L ; Local Histogram G ; Generalized Stretch x22 ; Local Area Size VM echo "Slice: {***x11} CE L Generalized Size: {***x22}" x11=x11+1 ; Increment stack pointer LB2 ; ----------------------------------- CE -- Local Histogram Equal. DO LB3 X21=1,5 x22 = x21 * 10 CE ; CE _9 ; Input image <2>@{***X11} ; Output stack L ; Local Histogram T ; Threshold Stretch (x22) ; Threshold VM echo "Slice: {***x11} CE L Threshold: {***x22}" x11=x11+1 ; Increment stack pointer LB3 GOTO LB99 ; skip due to allocation problems ; ----------------------------------- ER EDM DIStance Map ER EDM ; CE <1> ; Input Volume _1 ; Output Volume x88 ; Threshold PS Z ; Extract relevant slice _1 ; Temp volume <2>@{***x11} ; Output stack (x40) ; Slice number VM echo "Slice: {***x11} ER EDM At Threshold" x11=x11+1 ; Increment stack pointer LB99 ; ----------------------------------- FC FC ; FC _9 ; Input Image <2>@{***X11} ; Output stack 3 ; Number of Contours NO ; No overwrite VM echo "Slice: {***x11} FC " x11=x11+1 ; Increment stack pointer ; ----------------------------------- FC E FC E ; FC E _9 ; Input Image <2>@{***X11} ; Output stack X88 ; Bottom Contour 10000 ; Increment NO ; No overwrite VM echo "Slice: {***x11} FC E at Threshold " x11=x11+1 ; Increment stack pointer ; ----------------------------------- TH F TH F ; THF _9 ; Input Image <2>@{***X11} ; Output stack B ; Below X88 ; Threshold X41 ; Min VM echo "Slice: {***x11} TH F at Threshold " x11=x11+1 ; Increment stack pointer EN