[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