Get Teem at SourceForge.net. Fast, secure and Free Open Source software downloads
teem / nrrd / Visible
Female

  Gray Scale Strips

A Kodak gray scale card was included in every slice image (visible at the bottom of the slices previously inspected), which (ideally) facilitates characterizing the inter-slice variations.

Unfortunately, it appears in a different positions and orientations for different slices. Until some sort of feature detection is added to teem, some manual work is required to create registered images of the card for inter-slice comparisons. Rotating images by arbitrary amounts is possible with mogrify or ilk, and then we'll unu crop to isolate the gray scale strip. The slices we'll look at bracket the brightness discontinuities visible from xsum.png and ysum.png:

  1. 235: avf1079b.raw.Z
    236: avf1079c.raw.Z
    237: avf1080a.raw.Z
    238: avf1080b.raw.Z
    
  2. 324: avf1109a.raw.Z
    325: avf1109b.raw.Z
    326: avf1109c.raw.Z
    327: avf1110a.raw.Z
    
  3. 417: avf1140a.raw.Z
    418: avf1140b.raw.Z
    419: avf1140c.raw.Z
    420: avf1141a.raw.Z
    
  4. 292: avf1098b.raw.Z
    293: avf1098c.raw.Z
    294: avf1099a.raw.Z
    295: avf1099b.raw.Z
    
The first two sets of four have two slices on either side of step discontinuities inside the brain, and the third set includes a single darker slice surrounded on both sides by brighter ones (the downward spike in the RGB graphs above, aligned with bridge of the nose). The fourth set is in a region that seems to have no problem with brightness variations.
alias card1 "unu make -i - -t uchar -s 2048 1216 3 -e raw | unu permute -p 2 0 1 | unu crop -min 0 400 900 -max M 1300 M"
alias card2 "unu crop -min 0 0 0 -max M 596 70"

zcat data/avf1079b.raw.Z | card1 \
  | ilk -0 p:95,99 -t rotate:-1.5 translate:-95,-99 | card2 -o gray235.ppm
zcat data/avf1079c.raw.Z | card1 \
  | ilk -0 p:93,88 -t rotate:-1.5 translate:-93,-88 | card2 -o gray236.ppm
zcat data/avf1080a.raw.Z | card1 \
  | ilk -0 p:177,125 -t rotate:-1.4 translate:-177,-125 | card2 -o gray237.ppm
zcat data/avf1080b.raw.Z | card1 \
  | ilk -0 p:177,117 -t rotate:-1.2 translate:-177,-117 | card2 -o gray238.ppm

zcat data/avf1109a.raw.Z | card1 \
  | ilk -0 p:176,132 -t rotate:-1.2 translate:-176,-132 | card2 -o gray324.ppm
zcat data/avf1109b.raw.Z | card1 \
  | ilk -0 p:176,132 -t rotate:-1.2 translate:-176,-132 | card2 -o gray325.ppm
zcat data/avf1109c.raw.Z | card1 \
  | ilk -0 p:140,104 -t rotate:-2 translate:-140,-104 | card2 -o gray326.ppm
zcat data/avf1110a.raw.Z | card1 \
  | ilk -0 p:140,104 -t rotate:-2 translate:-140,-104 | card2 -o gray327.ppm

zcat data/avf1140a.raw.Z | card1 \
  | ilk -0 p:107,115 -t rotate:-2 translate:-107,-115 | card2 -o gray417.ppm
zcat data/avf1140b.raw.Z | card1 \
  | ilk -0 p:107,109 -t rotate:-2 translate:-107,-109 | card2 -o gray418.ppm
zcat data/avf1140c.raw.Z | card1 \
  | ilk -0 p:107,109 -t rotate:-2 translate:-107,-109 | card2 -o gray419.ppm
zcat data/avf1141a.raw.Z | card1 \
  | ilk -0 p:107,105 -t rotate:-2.3 translate:-107,-105 | card2 -o gray420.ppm

zcat data/avf1098b.raw.Z | card1 \
  | ilk -0 p:181,119 -t rotate:-1.7 translate:-181,-119 | card2 -o gray292.ppm
zcat data/avf1098c.raw.Z | card1 \
  | ilk -0 p:177,111 -t rotate:-1.2 translate:-177,-111 | card2 -o gray293.ppm
zcat data/avf1099a.raw.Z | card1 \
  | ilk -0 p:178,118 -t rotate:-1.3 translate:-178,-118 | card2 -o gray294.ppm
zcat data/avf1099b.raw.Z | card1 \
  | ilk -0 p:178,117 -t rotate:-1.3 translate:-178,-117 | card2 -o gray295.ppm

foreach X (235 236 237 238 324 325 326 327 417 418 419 420 292 293 294 295)
  convert gray$X.ppm doc/gray$X.png
end
gray235.png
gray236.png
gray237.png
gray238.png
gray324.png
gray325.png
gray326.png
gray327.png
gray417.png
gray418.png
gray419.png
gray420.png
gray292.png
gray293.png
gray294.png
gray295.png