[MINC-development] Grid transforms
Andrew Janke
a.janke at gmail.com
Wed Dec 21 20:46:38 EST 2016
Hi all,
I understand that a while back the precision of grid transforms went
from short to double. This was probably around the -50 -> + 50
wierdness that used to happen within minctracc. Perhaps there were
also other rationales.
Were there also other changes to libminc/volume_io to support this? I
ask as I'm getting wierdness with xfmconcat when I feed in a zero grid
transform. ie:
mincresample -xstep 32 -ystep 32 -zstep 32 \
-xnelements 10 -ynelements 10 -znelements 10 \
/opt/minc/share/icbm152_model_09c/mni_icbm152_t1_tal_nlin_sym_09c.mnc
/tmp/like.mnc
minclookup -signed -short -lut_string '0 0 0 0;1 0 0 0' /tmp/like.mnc
/tmp/like_vector.mnc
mincreshape -dimorder vector_dimension,zspace,yspace,xspace \
/tmp/like_vector.mnc /tmp/zero_grid_0.mnc
echo "MNI Transform File" > /tmp/zero.xfm
echo "Transform_Type = Grid_Transform;" >> /tmp/zero.xfm
echo "Displacement_Volume = zero_grid_0.mnc;" >> /tmp/zero.xfm
xfmconcat /tmp/zero.xfm /tmp/z.xfm
mincstats /tmp/z.xfm
cai-zeep:tmp$ mincstats z_grid_0.mnc
*** mincstats - reported max (-32768) doesn't equal header (32767)
File: z_grid_0.mnc
Mask file: (null)
Total voxels: 3000
# voxels: 3000
% of total: 100
Volume (mm3): 98304000
Min: -32768
Max: -32768
Note the messed up min and max. This will work however if you make an
unsigned short volume at the minclookup stage. If I then use this
transform things of course go awry instead of it being a zero xfm.
So, is this defined or unexpected behaviour? If I use a double, I get
a more interesting error instead of a failure.
xfmconcat ident-32.xfm /tmp/d.xfm
Volume has invalid min and max voxel value
ta
a
More information about the MINC-development
mailing list