[MINC-users] [minctracc] segfault when using -measure option
Mishkin Derakhshan
mishkind at gmail.com
Sun Sep 25 19:13:48 EDT 2016
That fixed it!
many thanks.
I'm assuming though that the original xfm calculated with the -ve steps
would not be appropriate to use for the newly reshaped files. Is there a
tool or a simple way to fix the original xfms so I don't need to calculate
them from scratch again on the +ve direction files?
On Sun, Sep 25, 2016 at 3:01 AM, Robert D. Vincent <
robert.d.vincent at mcgill.ca> wrote:
> Hi again,
>
> So I have a couple of clues about the possible problem. It appears that
> minctracc can misbehave for some files with negative steps. Can you try the
> following with your example:
>
> mincreshape -valid_range 0 4095 +xdirection +ydirection +zdirection t1p.mnc
> t1c.mnc
>
> and re-run minctracc with t1c.mnc instead of t1p.mnc. Let me know if this
> still produces a segfault. It seems to fix it for me.
>
> -bert
>
> On Sun, Sep 25, 2016 at 7:28 AM, Robert D. Vincent <
> robert.d.vincent at mcgill.ca> wrote:
>
> > Thanks for the example, I'll look into it.
> >
> >
> > On Sun, Sep 25, 2016 at 4:13 AM, Mishkin Derakhshan <mishkind at gmail.com>
> > wrote:
> >
> >> Hi,
> >> I get a segfault whenever I try to use the -measure option.
> >> Here is the simplest example to reproduce the bug.
> >>
> >> $ minctracc -measure out.txt t1p.mnc.gz t1p.mnc.gz -transformation
> >> identity.xfm
> >>
> >> I'm using:
> >> $ minctracc -version
> >> The program <minctracc> was built from:
> >> mni_autoreg 0.99.60
> >>
> >> Here is some info on the files, but I don't think it has to do with the
> >> files themselves as I've tried 100s. Maybe someone else can confirm.
> >> $ mincinfo t1p.mnc.gz
> >> file: t1p.mnc.gz
> >> image: signed__ short 0 to 4095
> >> image dimensions: zspace yspace xspace
> >> dimension name length step start
> >> -------------- ------ ---- -----
> >> zspace 60 3 -93.0427
> >> yspace 256 -0.976562 119.239
> >> xspace 192 -0.976562 91.5716
> >>
> >> $ cat identity.xfm
> >> MNI Transform File
> >> %Sun Sep 25 03:59:15 2016>>> param2xfm -scale 1 1 1 identity.xfm
> >> %(mni_autoreg 0.99.60)
> >>
> >> Transform_Type = Linear;
> >> Linear_Transform =
> >> 1 0 0 0
> >> 0 1 0 0
> >> 0 0 1 0;
> >>
> >> Looking at the print statements in the debug output from minctracc, and
> >> comparing with minctracc/Main/measure_code.c I have a rough idea where
> the
> >> segfault must be happening, but it's a little outside my depth at this
> >> point.
> >>
> >> Bug happens somewhere in here:
> >> /* do var_ratio */
> >>
> >> main_args.obj_function = vr_objective;
> >> obj_func_val = measure_fit( data, model, mask_data, mask_model,
> >> &main_args );
> >> (void)fprintf (ofd, "%f - var_ratio\n",obj_func_val);
> >> (void)fflush(ofd);
> >> DEBUG_PRINT1 ( "%f - var_ratio\n",obj_func_val);
> >>
> >> delete_volume(data);
> >> delete_volume(model);
> >>
> >> /* do ssc / zero-crossings */
> >>
> >> status = input_volume( main_args.filenames.data, 3,
> default_dim_names,
> >> NC_UNSPECIFIED, FALSE, 0.0, 0.0,
> >> TRUE, &data, (minc_input_options *)NULL );
> >> status = input_volume( main_args.filenames.model, 3,
> >> default_dim_names,
> >> NC_UNSPECIFIED, FALSE, 0.0, 0.0,
> >> TRUE, &model, (minc_input_options *)NULL );
> >>
> >> main_args.obj_function = ssc_objective;
> >> obj_func_val = measure_fit( data, model, mask_data, mask_model,
> >> &main_args );
> >> (void)fprintf (ofd, "%f - ssc\n",obj_func_val);
> >> (void)fflush(ofd);
> >> DEBUG_PRINT1 ( "%f - ssc\n",obj_func_val);
> >>
> >>
> >> The good news is that the out.txt measure file still gets output, albeit
> >> incomplete, but so does a large core file. Not to mention I can't sleep
> at
> >> night having a seg fault that is built into the pipeline, er, at least
> one
> >> that that I know about!
> >>
> >> any help?
> >> mishkin
> >>
> >> Here is the debugging output from minctracc if that helps:
> >>
> >> $ minctracc -measure out.txt t1p.mnc.gz t1p.mnc.gz -transformation
> >> identity.xfm -debug
> >> ===== Debugging information from minctracc =====
> >> Data filename = t1p.mnc.gz
> >> Model filename = t1p.mnc.gz
> >> Data mask filename =
> >> Model mask filename =
> >> Input xform name = identity.xfm
> >> Measure filename = out.txt
> >>
> >> Step size = 4.000000 4.000000 4.000000
> >> Sub-lattice dia = 24.000000 24.000000 24.000000
> >> Objective function = cross correlation (threshold = 0.000000 0.000000)
> >> Transform linear = TRUE
> >> Transform inverted? = FALSE
> >> Transform type = 4
> >> Transform matrix = 1.0000 0.0000 0.0000 0.0000
> >> 0.0000 1.0000 0.0000 0.0000
> >> 0.0000 0.0000 1.0000 0.0000
> >> Transform center = 0.000 0.000 0.000
> >> Transform rotation = 0.000 0.000 0.000
> >>
> >> Transform trans = 0.000 0.000 0.000
> >> Transform scale = 1.000 1.000 1.000
> >>
> >> Source volume size: 60 by 256 by 192
> >> Source voxel size = 3.000 -0.977 -0.977
> >> Source min/max real range = 0.000 2083.000
> >> Source min/max voxel= 0.000 2083.000
> >>
> >> Target volume size: 60 by 256 by 192
> >> Target voxel = 3.000 -0.977 -0.977
> >> Target min/max real range= 0.000 2083.000
> >> Target min/max voxel = 0.000 2083.000
> >>
> >>
> >> using input transformation to get initial parameters:
> >> Center of rot/scale not forced, will be set to : 0.000000 0.000000
> >> 0.000000
> >> In set_up_lattice, xyzv[axes] = 2, 1, 0, -1
> >> slice lim 0 44
> >> row lim 1 62
> >> col lim 1 46
> >> thresh = 0.00000 0.00000
> >> In set_up_lattice, xyzv[axes] = 2, 1, 0, -1
> >> Source volume is smallest
> >> Lattice step size = -4.000 -4.000 4.000
> >> Lattice start = 88.104 129.917 -72.203
> >> Lattice count = 46 62 45
> >>
> >> 128340 128340 128340 -> inf
> >> inf - zscore
> >> 128340 128340 -> 0.00000000
> >> 0.000000 - xcorr
> >> 128340 128340 0 -> 0.20877945
> >> 0.208779 - var_ratio
> >> Segmentation fault
> >> _______________________________________________
> >> MINC-users at bic.mni.mcgill.ca
> >> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
> >>
> >
> >
> _______________________________________________
> MINC-users at bic.mni.mcgill.ca
> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>
More information about the MINC-users
mailing list