[MINC-users] label from 2 objects

Mishkin Derakhshan mishkind at gmail.com
Thu Feb 19 18:11:19 EST 2009


Thanks Simon,
Unfortunately I get a seg fault.

opus[/tmp]$ scan_surface_to_volume.bin64 lh.pial.obj orig.mnc out.mnc
WARNING! create_triangle_lookup_table(): Not enough memory allocated
for the lookup table! (static_vertex_pr_cell = 50)
#DEBUG: LUT freed ok!
Segmentation fault

I tried lowering the -vertices_pr_voxel but that didn't work either.
I'm not sure if it is a library problem so here is my ldd output.

opus[/tmp]$ ldd ~/bin/scan_surface_to_volume.bin64
	linux-vdso.so.1 =>  (0x00007fff7e3fe000)
	libhdf5-1.6.5.so.0 => /usr/lib/libhdf5-1.6.5.so.0 (0x00007f4975d68000)
	libnetcdf.so.3 => /usr/lib/libnetcdf.so.3 (0x00007f4975b2a000)
	libm.so.6 => /lib/libm.so.6 (0x00007f49758a9000)
	libc.so.6 => /lib/libc.so.6 (0x00007f4975547000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007f497532b000)
	libz.so.1 => /usr/lib/libz.so.1 (0x00007f4975114000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f497607f000)

On Thu, Feb 19, 2009 at 10:36 AM, Simon Fristed Eskildsen <se at hst.aau.dk> wrote:
> Hi Mishkin,
> I have put a 64 bit version here:
> http://www.hst.aau.dk/~se/software/scan_surface_to_volume.bin64
> It is dynamically linked to:
> libhdf5-1.6.5.so.0 => /usr/lib/libhdf5-1.6.5.so.0 (0x00002b3c150c0000)
> libnetcdf.so.3 => /usr/lib/libnetcdf.so.3 (0x00002b3c153e3000)
> libm.so.6 => /lib/libm.so.6 (0x00002b3c15632000)
> libc.so.6 => /lib/libc.so.6 (0x00002b3c158b4000)
> libpthread.so.0 => /lib/libpthread.so.0 (0x00002b3c15c06000)
> libz.so.1 => /usr/lib/libz.so.1 (0x00002b3c15e21000)
> /lib64/ld-linux-x86-64.so.2 (0x00002b3c14ea3000)
>
> If it doesn't work I can try a static linking.
>
> It only reads triangular polymeshes. It only evaluates the voxels touched by the mesh faces. I.e. you would probably combine it with surface_mask2 and minccalc to get a solid component with fuzzy edges.
>
> Simon
> ----- "Mishkin Derakhshan" <mishkind at gmail.com> wrote:
>
>> Hi Simon,
>> Indeed I would be interested (I am on a 64 bit machine).
>> Claude, do you happen to know how surface_mask2 handles voxels that
>> are not completely bounded by the surface? is it a binary decision,
>> or
>> is there a threshold set somewhere?
>> thanks,
>> mishkin
>>
>>
>>
>> On Fri, Feb 6, 2009 at 3:34 AM, Simon Fristed Eskildsen
>> <se at hst.aau.dk> wrote:
>> > Hi Mishkin,
>> > If interested, I have some code that calculates the inside fraction
>> of every voxel w.r.t. some closed object. I.e. the output is fuzzy (or
>> you may say PVE-like) hopefully solving the problems where the two
>> surfaces are very close. The code is very beta, so no guarantees on
>> the stability.
>> >
>> > Simon
>> > ----- "Mishkin Derakhshan" <mishkind at gmail.com> wrote:
>> >
>> >> Thanks Claude,
>> >> Right after I sent the email I figured out in Display that I
>> should
>> >> 3D
>> >> Fill each surface separately and then do some mincmath magic, but
>> now
>> >> I can automate the whole thing.
>> >> thanks,
>> >> mishkin
>> >>
>> >>
>> >> On Thu, Feb 5, 2009 at 5:47 PM, Claude LEPAGE
>> >> <claude at bic.mni.mcgill.ca> wrote:
>> >> > Hi Mishkin,
>> >> >
>> >> > Try this:
>> >> >
>> >> >  scarus /home/claude > surface_mask2 -help
>> >> > Command-specific options:
>> >> >
>> >> > Output options:
>> >> >  -binary_mask: Create a binary output.
>> >> > Generic options for all commands:
>> >> >  -help:        Print summary of command-line options and abort
>> >> >  -version:     Print version number of program and exit
>> >> >
>> >> > Usage: surface_mask2 in_volume.mnc surface.obj output.mnc
>> >> >
>> >> > Use the -binary_mask switch; repeat for the two surfaces. The
>> >> > in_volume.mnc is your volume template for which you'd like the
>> >> > voxelized surface to look like (use t1 image, for example).
>> >> > Then use a little minccalc -expression ... to identify the
>> region
>> >> > in between. Of course, there are interpolation errors, but this
>> >> > is as good as you can get. Beware that surfaces may intersect
>> >> > or be very close to one another, possibly giving some holes in
>> >> > the cortex sheet.
>> >> >
>> >> > Claude
>> >> >
>> >> >>
>> >> >> Hi,
>> >> >> I have two .obj files, and I'm assuming one is completely
>> >> contained
>> >> >> within the other. For example, a white matter surface and a
>> grey
>> >> >> matter surface for a single hemisphere.
>> >> >> I'm interested in obtaining a mnc file that is a binary label
>> that
>> >> >> contains all the voxels between the two surfaces.
>> >> >> My first attempt was to load things up in Display, scan the
>> objects
>> >> to
>> >> >> volume and then use 3D Fill to get all the voxels in between,
>> >> however,
>> >> >> because the scanned objects sometimes touch on the volume, the
>> 3D
>> >> fill
>> >> >> area, is not contiguous ie. i have lots of holes that i would
>> need
>> >> to
>> >> >> fill manually.
>> >> >> My next idea is to resample my volume to a 0.1 mm^3 grid and
>> then
>> >> try
>> >> >> again, but I'm wondering if anyone has done something like this
>> >> before
>> >> >> and has a better solution.
>> >> >>
>> >> >> thanks,
>> >> >> mishkin
>> >> >> _______________________________________________
>> >> >> MINC-users at bic.mni.mcgill.ca
>> >> >> http://www2.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>> >> >>
>> >> >
>> >> _______________________________________________
>> >> MINC-users at bic.mni.mcgill.ca
>> >> http://www2.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>> > _______________________________________________
>> > MINC-users at bic.mni.mcgill.ca
>> > http://www2.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>> >
>>
>> _______________________________________________
>> MINC-users at bic.mni.mcgill.ca
>> http://www2.bic.mni.mcgill.ca/mailman/listinfo/minc-users
> _______________________________________________
> MINC-users at bic.mni.mcgill.ca
> http://www2.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>


More information about the MINC-users mailing list