From sorench at gmail.com Tue Jan 1 19:16:08 2008 From: sorench at gmail.com (Soren Christensen) Date: Wed, 2 Jan 2008 11:16:08 +1100 Subject: [MINC-users] EMMA Message-ID: Hi, I have problems with an EMMA function on a fresh Fedora 8 installation using matlab2007b. I have not had problems in F7 using Matlab 2007a: Fx: miinquire ??? Invalid MEX-file '/home/minc/utilmatlab/emma_v1/miinquire.mexglx': /home/minc/utilmatlab/emma_v1/miinquire.mexglx: symbol mxCreateDoubleMatrix, version libmx.INTERNAL not defined in file libmx.so with link time reference. Does anyone know what the source of this error could be? My guess would be a Matlab change? I know there was talk about not supporting EMMA for MINC2. I will continue to need this functionality (reading/writing of header and image data from Matlab) and if someone is interested in this basic functionality maybe we could collaborate? Cheers Soren From a.janke at gmail.com Tue Jan 1 19:44:45 2008 From: a.janke at gmail.com (Andrew Janke) Date: Wed, 2 Jan 2008 11:44:45 +1100 Subject: [MINC-users] EMMA In-Reply-To: References: Message-ID: On 02/01/2008, Soren Christensen wrote: > I have problems with an EMMA function on a fresh Fedora 8 > installation using matlab2007b. I have not had problems in F7 using > Matlab 2007a: > > miinquire > ??? Invalid MEX-file '/home/minc/utilmatlab/emma_v1/miinquire.mexglx': > /home/minc/utilmatlab/emma_v1/miinquire.mexglx: symbol > mxCreateDoubleMatrix, version libmx.INTERNAL not defined in > file libmx.so with link time reference. > > Does anyone know what the source of this error could be? My guess > would be a Matlab change? I would say that you are right. I am guessing that this is not something that a quick recompile (with mex) will fix. > I know there was talk about not supporting EMMA for MINC2. I will > continue to need this functionality (reading/writing of header and > image data from Matlab) and if someone is interested in this basic > functionality maybe we could collaborate? I suspect this talk would stem from myself. I am more than happy to help with a new simplified interface for MATLAB for minc2. However I do have a problem and that is that I dont have a copy of MATLAB myself... Certainly not the later release that you have and thus I was working more towards an interface for Octave for MINC2. My suggestion would be to start with minc_simple.h (part of MINC2) or use the examples that Jason put up on wikibooks. -- Andrew Janke (a.janke at gmail.com || http://a.janke.googlepages.com/) Canberra->Australia +61 (402) 700 883 From sorench at gmail.com Tue Jan 1 19:48:50 2008 From: sorench at gmail.com (Soren Christensen) Date: Wed, 2 Jan 2008 11:48:50 +1100 Subject: [MINC-users] EMMA In-Reply-To: References: Message-ID: Thanks Andrew! I will give it a go and see how far I get! Just installed 2007a on the same machine and it works here without problems. Cheers Soren On Jan 2, 2008 11:44 AM, Andrew Janke wrote: > On 02/01/2008, Soren Christensen wrote: > > I have problems with an EMMA function on a fresh Fedora 8 > > installation using matlab2007b. I have not had problems in F7 using > > Matlab 2007a: > > > > miinquire > > ??? Invalid MEX-file '/home/minc/utilmatlab/emma_v1/miinquire.mexglx': > > /home/minc/utilmatlab/emma_v1/miinquire.mexglx: symbol > > mxCreateDoubleMatrix, version libmx.INTERNAL not defined in > > file libmx.so with link time reference. > > > > Does anyone know what the source of this error could be? My guess > > would be a Matlab change? > > I would say that you are right. I am guessing that this is not > something that a quick recompile (with mex) will fix. > > > I know there was talk about not supporting EMMA for MINC2. I will > > continue to need this functionality (reading/writing of header and > > image data from Matlab) and if someone is interested in this basic > > functionality maybe we could collaborate? > > I suspect this talk would stem from myself. I am more than happy to > help with a new simplified interface for MATLAB for minc2. However I > do have a problem and that is that I dont have a copy of MATLAB > myself... Certainly not the later release that you have and thus I > was working more towards an interface for Octave for MINC2. > > My suggestion would be to start with minc_simple.h (part of MINC2) or > use the examples that Jason put up on wikibooks. > > > -- > Andrew Janke (a.janke at gmail.com || http://a.janke.googlepages.com/) > Canberra->Australia +61 (402) 700 883 > _______________________________________________ > MINC-users at bic.mni.mcgill.ca > http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users > From a.janke at gmail.com Sun Jan 6 10:38:16 2008 From: a.janke at gmail.com (Andrew Janke) Date: Mon, 7 Jan 2008 02:38:16 +1100 Subject: [MINC-users] MINC cygwin binaries. Message-ID: Hi all, Given that I no longer really have regular access to an XP machine to play cygwin games I have finally got busy making a VirtualBox + Cygwin image in order to continue to build the MINC tools for the cygwin users amongst us. Thus before I put these up for all takers, I figure it a good idea to find a few crash test dummies first... So without further ado, the link below will untar to a directory full of MINC goodness. So far it is only MINC2 + mni-autoreg but it should work without you having to build and install netcdf and HDF5 for yourself. Although you might have to and it will just indicate that I have not learnt all the vagaries of cygwin just yet.... http://mavis.anu.edu.au/minc-beta/cygwin-minc2-2008-01-03.tgz Quick instructions for use: 1) Download cygwin and make it go 2) untar the above link "somewhere" 3) add "somewhere"/bin to your $PATH in your ~/.bashrc Then mincmath/minctracc etc should "just work". If this works well for people I will add all the other packages and release a new more complete tarball. ta -- Andrew Janke (a.janke at gmail.com || http://a.janke.googlepages.com/) Canberra->Australia +61 (402) 700 883 From marco.loggia at mail.mcgill.ca Mon Jan 7 17:59:04 2008 From: marco.loggia at mail.mcgill.ca (Marco Loggia, Mr) Date: Mon, 7 Jan 2008 17:59:04 -0500 Subject: [MINC-users] Optimized VBM at the BIC Message-ID: <1C0EA32E98729E4B9162DFDF0E941CF30228FB0C@EXCHANGE2VS4.campus.mcgill.ca> Hi all, I would like to perform a voxel-based morphometry analysis on my anatomical MRI data, adopting the "optimized" VBM procedure (i.e. with the iterative process of segmentation and normalization which should allow for a better voxel classification, as described in Good et al., 2001). However, on the BIC's wikipages (even on the page entitled "VBM optimized") I only see the guidelines for the "standard" VBM (i.e. normalize THEN segment). Could anybody tell me if it is possible to perform the optimized VBM using our local software? Thanks, Marco Marco L. Loggia Ph.D. Candidate, Neurological Sciences Alan Edwards Centre for Research on Pain McGill University 3640 University St. Room M/19 Montreal, QC H3A 2B2 Tel.: +1 514-398-1271 Fax: +1 514-398-7464 From claude at bic.mni.mcgill.ca Mon Jan 7 22:44:36 2008 From: claude at bic.mni.mcgill.ca (Claude LEPAGE) Date: Mon, 7 Jan 2008 22:44:36 -0500 (EST) Subject: [MINC-users] Optimized VBM at the BIC Message-ID: <200801080344.m083iaXR1869544@yorick.bic.mni.mcgill.ca> Hi Marco, The brain-imaging CIVET pipeline provides the basic "standard" VBM. Other people from the BIC might have implemented the "optimized" VBM, but I'm not aware of it. Let's see if others respond to your message. If not, you can always try to implement it yourself. This would be a nice contribution to the BIC software. Claude From bouffard at bic.mni.mcgill.ca Tue Jan 8 09:51:46 2008 From: bouffard at bic.mni.mcgill.ca (Marc BOUFFARD) Date: Tue, 8 Jan 2008 09:51:46 -0500 Subject: [MINC-users] Optimized VBM at the BIC In-Reply-To: <1C0EA32E98729E4B9162DFDF0E941CF30228FB0C@EXCHANGE2VS4.campus.mcgill.ca> References: <1C0EA32E98729E4B9162DFDF0E941CF30228FB0C@EXCHANGE2VS4.campus.mcgill.ca> Message-ID: A while back I also searched for a way to do the optimized vbm at the BIC but ended up using SPM since the "optimized" concept was already implemented in the SPM5 pipeline. However, if it is of any interest, the additional modulation step (multiplication of tissue class by the relative volumes before and after warping) can be done using the existing BIC tools. Marc On Mon, 7 Jan 2008, Marco Loggia, Mr wrote: > Hi all, > > > > I would like to perform a voxel-based morphometry analysis on my > anatomical MRI data, adopting the "optimized" VBM procedure (i.e. with > the iterative process of segmentation and normalization which should > allow for a better voxel classification, as described in Good et al., > 2001). However, on the BIC's wikipages (even on the page entitled "VBM > optimized") I only see the guidelines for the "standard" VBM (i.e. > normalize THEN segment). > > > > Could anybody tell me if it is possible to perform the optimized VBM > using our local software? > > > > Thanks, > > > > Marco > > > > > > Marco L. Loggia > > Ph.D. Candidate, Neurological Sciences > > Alan Edwards Centre for Research on Pain > > McGill University > > 3640 University St. Room M/19 > > Montreal, QC H3A 2B2 > > Tel.: +1 514-398-1271 > > Fax: +1 514-398-7464 > > > > _______________________________________________ > MINC-users at bic.mni.mcgill.ca > http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users > From jason at bic.mni.mcgill.ca Tue Jan 8 09:57:47 2008 From: jason at bic.mni.mcgill.ca (Jason Lerch) Date: Tue, 8 Jan 2008 09:57:47 -0500 Subject: [MINC-users] Optimized VBM at the BIC In-Reply-To: References: <1C0EA32E98729E4B9162DFDF0E941CF30228FB0C@EXCHANGE2VS4.campus.mcgill.ca> Message-ID: <47838F6B.2030809@bic.mni.mcgill.ca> I have a version of it kicking around somewhere. Can't say I like the idea of modulation very much, to be honest: I'd recommend sticking to either straightforward VBM or deformation based analyses. Cheers, Jason Marc BOUFFARD wrote: > A while back I also searched for a way to do the optimized vbm at the BIC > but ended up using SPM since the "optimized" concept was already > implemented in the SPM5 pipeline. > > However, if it is of any interest, the additional modulation step > (multiplication of tissue class by the relative volumes before and after > warping) can be done using the existing BIC tools. > > Marc > > On Mon, 7 Jan 2008, Marco Loggia, Mr wrote: > > >> Hi all, >> >> >> >> I would like to perform a voxel-based morphometry analysis on my >> anatomical MRI data, adopting the "optimized" VBM procedure (i.e. with >> the iterative process of segmentation and normalization which should >> allow for a better voxel classification, as described in Good et al., >> 2001). However, on the BIC's wikipages (even on the page entitled "VBM >> optimized") I only see the guidelines for the "standard" VBM (i.e. >> normalize THEN segment). >> >> >> >> Could anybody tell me if it is possible to perform the optimized VBM >> using our local software? >> >> >> >> Thanks, >> >> >> >> Marco >> >> >> >> >> >> Marco L. Loggia >> >> Ph.D. Candidate, Neurological Sciences >> >> Alan Edwards Centre for Research on Pain >> >> McGill University >> >> 3640 University St. Room M/19 >> >> Montreal, QC H3A 2B2 >> >> Tel.: +1 514-398-1271 >> >> Fax: +1 514-398-7464 >> >> >> >> _______________________________________________ >> 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 > From a.janke at gmail.com Thu Jan 10 07:43:25 2008 From: a.janke at gmail.com (Andrew Janke) Date: Thu, 10 Jan 2008 23:43:25 +1100 Subject: [MINC-users] MINC 2.0.13 In-Reply-To: <20071114035704.GL4960@sumost.ca> References: <20071114035704.GL4960@sumost.ca> Message-ID: > > I had thought that we were following libtool style versioning though? > > (from what I can read of that page you mention) or am I missing > > something? (likely). > > It's not enough to follow "libtool style" of versioning. You must > follow the entire procedure. For each release, the releaser must look > at the changes and decide whether any public interfaces have been > added, removed, or changed. > > Even if nothing has changed, the REVISION must be incremented. I note > that this was not done from 2.0.13 --> 2.0.14, for example. In fact, > CVS shows the following history: > > 6.1 (stever 08-Jan-03): libminc_la_LDFLAGS = -version-info 0:0:0 > 6.11 (stever 14-Nov-03): libminc_la_LDFLAGS = -version-info 1:0:1 > 6.12 (bert 27-Apr-04): libminc2_la_LDFLAGS = -version-info 2:0:1 > 6.27 (claude 19-Apr-06): libminc2_la_LDFLAGS = -version-info 2:0:10 > 6.28 (claude 19-Apr-06): libminc2_la_LDFLAGS = -version-info 2:0:1 Ah, now I am with you. OK from now on in you have my word that I will also update the libtool flags just before release. (2.0.15 will be very very soon). Although given that one of MINC's goals is not to change its interface without a very very good reason all we will see are some very large REVISION numbers. What would you suggest I use for the next release given the schmozzle above? 2:1:1 ? -- Andrew Janke (a.janke at gmail.com || http://a.janke.googlepages.com/) Canberra->Australia +61 (402) 700 883 From mhough at fmrib.ox.ac.uk Thu Jan 10 11:02:46 2008 From: mhough at fmrib.ox.ac.uk (Morgan Hough) Date: Thu, 10 Jan 2008 16:02:46 +0000 Subject: [MINC-users] cortical thickness normalization Message-ID: <478641A6.2020203@fmrib.ox.ac.uk> Hi there, I just wanted to see if anyone remembers the HBM abstract that Bruce is referring to here regarding cortical thickness normalization. Does anyone have a different opinion on this matter? Thanks in advance for your time. Cheers, -Morgan Re: [Freesurfer] cortical thickness normalization Bruce Fischl Mon, 07 Jan 2008 09:21:28 -0800 Hi Paul, I think volume you can normalize with eTIV, but how to normalize thickness is an open question. You could argue it should be eTIV^(1/3), but I know at least one HBM abstract a couple of years ago from the MNI showing that you shouldn't normalize at all. If your effects are focal then normalizing by avg thickness is reasonable, or maybe the average of some region that you expect to be unaffected? cheers, Bruce On Mon, 7 Jan 2008, Paul Greenberg wrote: Dear Freesurfers, When comparing cortical gray matter volumes between groups it is appropriate to normalize subject's mean cortical volume in each cortical parcellation by their eTIV. Is there a corresponding value appropriate for normalizing cortical thickness? Would mean cortical thickness for a single hemisphere be an appropriate normalization factor? We are interested in comparing cortical thickness between a control group and a group of people with a degenerative brain disease. Thanks very much, Paul _______________________________________________ Freesurfer mailing list Freesurfer at nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer -- ----------------------------------------------------------------------- Morgan Hough, D. Phil. Student, Oxford University FMRIB Centre FMRIB, JR Hospital, Headington, Oxford OX3 9DU, UK +44 (0) 1865 222466 (fax 222717) mhough at fmrib.ox.ac.uk http://www.fmrib.ox.ac.uk/~mhough ----------------------------------------------------------------------- From jason at bic.mni.mcgill.ca Thu Jan 10 11:14:54 2008 From: jason at bic.mni.mcgill.ca (Jason Lerch) Date: Thu, 10 Jan 2008 11:14:54 -0500 Subject: [MINC-users] cortical thickness normalization In-Reply-To: <478641A6.2020203@fmrib.ox.ac.uk> References: <478641A6.2020203@fmrib.ox.ac.uk> Message-ID: <4786447E.60202@bic.mni.mcgill.ca> Hi Morgan, that was an abstract first-authored by Yasser Ad-Dab'bagh, and I indeed believe that the main conclusion still holds. (I can send you the PDF of the abstract if you like). There is no relationship between the thickness of the cortex and overall brain size- normalization thus artificially distorts the thickness rather than compensating for a simple scaling factor. This argument even extends across evolution - compare the thickness of the mouse cortex, which is around 0.9mm, or about 3 times smaller than human cortical thickness, to the difference in overall brain volume (several orders of magnitude). Cheers, Jason Morgan Hough wrote: > Hi there, > > I just wanted to see if anyone remembers the HBM abstract that Bruce is > referring to here regarding cortical thickness normalization. Does > anyone have a different opinion on this matter? Thanks in advance for > your time. > > Cheers, > > -Morgan > > > Re: [Freesurfer] cortical thickness normalization > > Bruce Fischl > Mon, 07 Jan 2008 09:21:28 -0800 > > Hi Paul, > > > I think volume you can normalize with eTIV, but how to normalize > thickness is an open question. You could argue it should be eTIV^(1/3), > but I know at least one HBM abstract a couple of years ago from the MNI > showing that you shouldn't normalize at all. If your effects are focal > then normalizing by avg thickness is reasonable, or maybe the average of > some region that you expect to be unaffected? > > cheers, > Bruce > > > > On Mon, 7 Jan 2008, Paul Greenberg wrote: > > Dear Freesurfers, > > > > When comparing cortical gray matter volumes between groups it is > appropriate to normalize subject's mean cortical volume in each > cortical parcellation by their eTIV. Is there a corresponding value > appropriate for normalizing cortical thickness? Would mean cortical > thickness for a single hemisphere be an appropriate normalization > factor? We are interested in comparing cortical thickness between a > control group and a group of people with a degenerative brain disease. > > Thanks very much, > Paul > > > > > > _______________________________________________ > Freesurfer mailing list > Freesurfer at nmr.mgh.harvard.edu > https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer > From claude at bic.mni.mcgill.ca Thu Jan 10 21:14:25 2008 From: claude at bic.mni.mcgill.ca (Claude LEPAGE) Date: Thu, 10 Jan 2008 21:14:25 -0500 (EST) Subject: [MINC-users] EMMA for minc2 Message-ID: <200801110214.m0B2EPNk6545313@yorick.bic.mni.mcgill.ca> Hi, At last, I ported EMMA to minc2. I placed a temporary package on my web page at: http://www.bic.mni.mcgill.ca/users/claude/emma-0.9.9.tar.gz Of course, I'm looking for feedback before the official release. There are instructions on how to build the package in the README file in the package. I hope it's clear enough and that everything works. Enjoy! Claude From a.janke at gmail.com Thu Jan 10 23:36:10 2008 From: a.janke at gmail.com (Andrew Janke) Date: Fri, 11 Jan 2008 15:36:10 +1100 Subject: [MINC-users] EMMA for minc2 In-Reply-To: <200801110214.m0B2EPNk6545313@yorick.bic.mni.mcgill.ca> References: <200801110214.m0B2EPNk6545313@yorick.bic.mni.mcgill.ca> Message-ID: On Jan 11, 2008 1:14 PM, Claude LEPAGE wrote: > At last, I ported EMMA to minc2. I placed a temporary package > on my web page at: > > http://www.bic.mni.mcgill.ca/users/claude/emma-0.9.9.tar.gz > > Of course, I'm looking for feedback before the official release. > There are instructions on how to build the package in the README > file in the package. I hope it's clear enough and that everything > works. Thanks for all your work on this Claude, Users of this package might be interested to note that this version includes a fix such that the max number of readable/writeable slices is now set to 1024 as opposed to 160/256. This bug was noted by Mike on minc-users a little while ago. Once this new package has undergone a bit of testing it will be moved to http://packages.bic.mni.mcgill.ca/tgz Thanks again Claude, a From steve at sumost.ca Fri Jan 11 02:49:35 2008 From: steve at sumost.ca (Steve M. Robbins) Date: Fri, 11 Jan 2008 01:49:35 -0600 Subject: [MINC-users] MINC 2.0.13 In-Reply-To: Message-ID: <20080111050202.GX7777@sumost.ca> Hi Andrew, On Thu, Jan 10, 2008 at 11:43:25PM +1100, Andrew Janke wrote: > Ah, now I am with you. OK from now on in you have my word that I will > also update the libtool flags just before release. Great! That will make packagers' lives much easier. Don't forget to check *both* libminc and libvolume_io. These should be versioned independently, so you'll need to check for added/removed/changed interfaces in each. > Although given that one of MINC's goals is not to > change its interface without a very very good reason all we will see > are some very large REVISION numbers. Remember, though, that the versioning captures not just CHANGE, but also ADDITION or REMOVAL of interfaces. > What would you suggest I use for the next release given the schmozzle above? > > 2:1:1 If you're certain that no interfaces have been added, removed, or changed, that should be fine. I generally check the diffs since the last release to be sure. Cheers, -Steve From marco.loggia at mail.mcgill.ca Fri Jan 11 09:52:43 2008 From: marco.loggia at mail.mcgill.ca (Marco Loggia, Mr) Date: Fri, 11 Jan 2008 09:52:43 -0500 Subject: [MINC-users] creating a FWHM file with glim_image Message-ID: <1C0EA32E98729E4B9162DFDF0E941CF30228FBE3@EXCHANGE2VS4.campus.mcgill.ca> Hi all, Does anybody know how to create a FWHM file with glim_image? I have noticed that there are some options that look interesting (e.g.-fwhm_gauss), but I seem to be facing syntax problems. It would be great if anybody could provide me with an example command line. Thanks, Marco p.s. My t-maps were created with commands like this: glim_image -t_stat stats.mnc t_stat voxel column 2 file.glim Marco L. Loggia Ph.D. Candidate, Neurological Sciences Alan Edwards Centre for Research on Pain McGill University 3640 University St. Room M/19 Montreal, QC H3A 2B2 Tel.: +1 514-398-1271 Fax: +1 514-398-7464 From a.janke at gmail.com Thu Jan 17 08:10:05 2008 From: a.janke at gmail.com (Andrew Janke) Date: Fri, 18 Jan 2008 00:10:05 +1100 Subject: [MINC-users] creating a FWHM file with glim_image In-Reply-To: <1C0EA32E98729E4B9162DFDF0E941CF30228FBE3@EXCHANGE2VS4.campus.mcgill.ca> References: <1C0EA32E98729E4B9162DFDF0E941CF30228FBE3@EXCHANGE2VS4.campus.mcgill.ca> Message-ID: Hi Marco, Given that no-one else seems to have had a crack at this my guess is that you are after something with which you can evaluate your mean fit? In this case I'm guessing you want this: glim_image \ -t_stat stats.mnc t_stat voxel column 2 \ -fwhm \ -fwhm_avg fwhm.mnc \ file.glim Note that I have not tested the above but from dim-dark memory this seems to ring a bell. a On Jan 12, 2008 1:52 AM, Marco Loggia, Mr wrote: > Hi all, > > > > Does anybody know how to create a FWHM file with glim_image? I have > noticed that there are some options that look interesting > (e.g.-fwhm_gauss), but I seem to be facing syntax problems. It would be > great if anybody could provide me with an example command line. > > > > Thanks, > > > > Marco > > > > p.s. My t-maps were created with commands like this: glim_image -t_stat > stats.mnc t_stat voxel column 2 file.glim > > > > > > Marco L. Loggia > > Ph.D. Candidate, Neurological Sciences > > Alan Edwards Centre for Research on Pain > > McGill University > > 3640 University St. Room M/19 > > Montreal, QC H3A 2B2 > > Tel.: +1 514-398-1271 > > Fax: +1 514-398-7464 > > > > _______________________________________________ > MINC-users at bic.mni.mcgill.ca > http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users > -- Andrew Janke (a.janke at gmail.com || http://a.janke.googlepages.com/) Canberra->Australia +61 (402) 700 883 From Michel.Audette at medizin.uni-leipzig.de Fri Jan 18 08:27:09 2008 From: Michel.Audette at medizin.uni-leipzig.de (Audette, Michel) Date: Fri, 18 Jan 2008 14:27:09 +0100 Subject: [MINC-users] minctracc with mask: objective function starts at 0.0: what to do? Message-ID: <160E3DD4FB702C4CB860C65186686E69015F1FEC@MRZS152229.medizin.uni-leipzig.de> Hi folks, I'd like to try to use some anatomically shaped (and morphologically dilated) masks to refine an affine registration into a piecewise affine registration. I'm seeing however that my objective function with minctracc starts off with a null objective function, for middle ear registration, and therefore produces the same transformation as its starting point. Is it possible to make its computation a bit more sensitive than it is? Cheers, Miche Michel Audette, Ph.D. Innovation Center Computer Assisted Surgery (ICCAS) Semmelweisstra?e 14 Leipzig, Germany Phone: ++49 (0) 341 / 97 - 1 20 13 Fax: ++49 (0) 341 / 97 - 1 20 09 From a.janke at gmail.com Fri Jan 18 09:31:39 2008 From: a.janke at gmail.com (Andrew Janke) Date: Sat, 19 Jan 2008 01:31:39 +1100 Subject: [MINC-users] minctracc with mask: objective function starts at 0.0: what to do? In-Reply-To: <160E3DD4FB702C4CB860C65186686E69015F1FEC@MRZS152229.medizin.uni-leipzig.de> References: <160E3DD4FB702C4CB860C65186686E69015F1FEC@MRZS152229.medizin.uni-leipzig.de> Message-ID: Hi Michel, I presume you mean you are aligning a mask to another mask? If this is the case yes you will have a fairly "saturated" objective function. I would suggest using something like mincmorph and do a distance transform on both of them and then align that. The other option would be a mincblur with a big FWHM. good luck a On Jan 19, 2008 12:27 AM, Audette, Michel wrote: > Hi folks, > > > > I'd like to try to use some anatomically shaped (and morphologically dilated) masks to refine an affine registration into a piecewise affine registration. I'm seeing however that my objective function with minctracc starts off with a null objective function, for middle ear registration, and therefore produces the same transformation as its starting point. Is it possible to make its computation a bit more sensitive than it is? > > > > Cheers, > > > > Miche > > > > Michel Audette, Ph.D. > > Innovation Center Computer Assisted Surgery (ICCAS) > > Semmelweisstra?e 14 > > Leipzig, Germany > > Phone: ++49 (0) 341 / 97 - 1 20 13 > > Fax: ++49 (0) 341 / 97 - 1 20 09 > > > > > > > > _______________________________________________ > MINC-users at bic.mni.mcgill.ca > http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users > -- Andrew Janke (a.janke at gmail.com || http://a.janke.googlepages.com/) Canberra->Australia +61 (402) 700 883 From Michel.Audette at medizin.uni-leipzig.de Fri Jan 18 10:05:21 2008 From: Michel.Audette at medizin.uni-leipzig.de (Audette, Michel) Date: Fri, 18 Jan 2008 16:05:21 +0100 Subject: [MINC-users] minctracc with mask: objective function starts at0.0: what to do? References: <160E3DD4FB702C4CB860C65186686E69015F1FEC@MRZS152229.medizin.uni-leipzig.de> Message-ID: <160E3DD4FB702C4CB860C65186686E690201FD5A@MRZS152229.medizin.uni-leipzig.de> Hi Andrew, thanks for your kind reply. What I am doing, is using a mask to weight an affine transformation to part of an anatomy. For example, I make a mask that coincides with a facial nerve, a 2nd mask that coincides with the ear-drum, and so on. In all of these cases, I want to use a global affine transform, for the whole inner ear, as a starting point for a piecewise affine registration, where one piece is the nerve, another is the ear-drum and so on. I am in fact registering a source of micro-MR, from which the Robert Funnell inner ear model is derived, to high-res patient CT, in order to insert the components of the Funnell model in patient data. So it isn't mask to mask per se. Also, the mask was in fact dilated with mincmorph (8 successive dilations), in relation to the tight shape that I had. Still getting a null objective function when I try the piecewise. minctracc -model_mask facialPatchedD8_xyz_rightear_mi_affine_flip9.mnc -mi -w_translations 0.16 0.16 0.16 -w_rotations 0.0028 0.0028 0.0028 -step 0.64 0.64 0.64 -transformation HumanS16885_Stack_nuc_xyz_rightear_mi_affine_9.xfm HumanS16885_Stack_nuc_xyz_res_rigid.mnc.gz etzold_emma_12792115_003002_mri_xyz.mnc HumanS16885_Stack_nuc_xyz_rightear_mi_affine_facialMask9.xfm -clob -lsq6 Does your solution still apply, do you think? Cheers, Michel -----Original Message----- From: minc-users-bounces at bic.mni.mcgill.ca on behalf of Andrew Janke Sent: Fri 1/18/2008 3:31 PM To: MINC users mailing list Subject: Re: [MINC-users] minctracc with mask: objective function starts at0.0: what to do? Hi Michel, I presume you mean you are aligning a mask to another mask? If this is the case yes you will have a fairly "saturated" objective function. I would suggest using something like mincmorph and do a distance transform on both of them and then align that. The other option would be a mincblur with a big FWHM. good luck a On Jan 19, 2008 12:27 AM, Audette, Michel wrote: > Hi folks, > > > > I'd like to try to use some anatomically shaped (and morphologically dilated) masks to refine an affine registration into a piecewise affine registration. I'm seeing however that my objective function with minctracc starts off with a null objective function, for middle ear registration, and therefore produces the same transformation as its starting point. Is it possible to make its computation a bit more sensitive than it is? > > > > Cheers, > > > > Miche > > > > Michel Audette, Ph.D. > > Innovation Center Computer Assisted Surgery (ICCAS) > > Semmelweisstra?e 14 > > Leipzig, Germany > > Phone: ++49 (0) 341 / 97 - 1 20 13 > > Fax: ++49 (0) 341 / 97 - 1 20 09 > > > > > > > > _______________________________________________ > MINC-users at bic.mni.mcgill.ca > http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users > -- Andrew Janke (a.janke at gmail.com || http://a.janke.googlepages.com/) Canberra->Australia +61 (402) 700 883 _______________________________________________ MINC-users at bic.mni.mcgill.ca http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users From a.janke at gmail.com Fri Jan 18 10:19:57 2008 From: a.janke at gmail.com (Andrew Janke) Date: Sat, 19 Jan 2008 02:19:57 +1100 Subject: [MINC-users] minctracc with mask: objective function starts at0.0: what to do? In-Reply-To: <160E3DD4FB702C4CB860C65186686E690201FD5A@MRZS152229.medizin.uni-leipzig.de> References: <160E3DD4FB702C4CB860C65186686E69015F1FEC@MRZS152229.medizin.uni-leipzig.de> <160E3DD4FB702C4CB860C65186686E690201FD5A@MRZS152229.medizin.uni-leipzig.de> Message-ID: > What I am doing, is using a mask to weight an affine transformation to part of an anatomy. For example, I make a mask that coincides with a facial nerve, a 2nd mask that coincides with the ear-drum, and so on. In all of these cases, I want to use a global affine transform, for the whole inner ear, as a starting point for a piecewise affine registration, where one piece is the nerve, another is the ear-drum and so on. I am in fact registering a source of micro-MR, from which the Robert Funnell inner ear model is derived, to high-res patient CT, in order to insert the components of the Funnell model in patient data. > > So it isn't mask to mask per se. Also, the mask was in fact dilated with mincmorph (8 successive dilations), in relation to the tight shape that I had. Still getting a null objective function when I try the piecewise. > > minctracc -model_mask facialPatchedD8_xyz_rightear_mi_affine_flip9.mnc -mi -w_translations 0.16 0.16 0.16 -w_rotations 0.0028 0.0028 0.0028 -step 0.64 0.64 0.64 -transformation HumanS16885_Stack_nuc_xyz_rightear_mi_affine_9.xfm HumanS16885_Stack_nuc_xyz_res_rigid.mnc.gz etzold_emma_12792115_003002_mri_xyz.mnc HumanS16885_Stack_nuc_xyz_rightear_mi_affine_facialMask9.xfm -clob -lsq6 > > Does your solution still apply, do you think? Nope. (Well not in much of a practical sense in any case... :) I suspect what is happening here is that the step size across the mask piece is too large? ie: how many lattice points are there going to be with a step size of 0.64 across the masked structure? Remember that minctracc only evaluates the similarity function for these points (for speed). Perhaps reduce the step a bit? The other trick that I have used on occasion with "misbehaving masks" is that instead of using masking in minctracc I do this: 1. Make a mask of the thing you want to register. 2. Pick a reasonable size blurring kernel (ie: if your structure is 5mm across, 1mm sounds good. 3. Dilate your mask by approx 1/2 the FWHM of step #2. 4. blur the mask using mincblur with the FWHM from #2. 5. Multiply the image you want to register with the mask thus "isolating" the structure 6. register without masks. The "soft" edges that this produces tends to be more successful than the "hard" edge of the mask. Here's hoping this is of more use to you! :) -- Andrew Janke (a.janke at gmail.com || http://a.janke.googlepages.com/) Canberra->Australia +61 (402) 700 883 From Michel.Audette at medizin.uni-leipzig.de Fri Jan 18 10:27:30 2008 From: Michel.Audette at medizin.uni-leipzig.de (Audette, Michel) Date: Fri, 18 Jan 2008 16:27:30 +0100 Subject: [MINC-users] minctracc with mask: objective function startsat0.0: what to do? References: <160E3DD4FB702C4CB860C65186686E69015F1FEC@MRZS152229.medizin.uni-leipzig.de><160E3DD4FB702C4CB860C65186686E690201FD5A@MRZS152229.medizin.uni-leipzig.de> Message-ID: <160E3DD4FB702C4CB860C65186686E690201FD5B@MRZS152229.medizin.uni-leipzig.de> Hi Andrew, looks like a good plan! Thanks again, Michel -----Original Message----- From: minc-users-bounces at bic.mni.mcgill.ca on behalf of Andrew Janke Sent: Fri 1/18/2008 4:19 PM To: MINC users mailing list Subject: Re: [MINC-users] minctracc with mask: objective function startsat0.0: what to do? > What I am doing, is using a mask to weight an affine transformation to part of an anatomy. For example, I make a mask that coincides with a facial nerve, a 2nd mask that coincides with the ear-drum, and so on. In all of these cases, I want to use a global affine transform, for the whole inner ear, as a starting point for a piecewise affine registration, where one piece is the nerve, another is the ear-drum and so on. I am in fact registering a source of micro-MR, from which the Robert Funnell inner ear model is derived, to high-res patient CT, in order to insert the components of the Funnell model in patient data. > > So it isn't mask to mask per se. Also, the mask was in fact dilated with mincmorph (8 successive dilations), in relation to the tight shape that I had. Still getting a null objective function when I try the piecewise. > > minctracc -model_mask facialPatchedD8_xyz_rightear_mi_affine_flip9.mnc -mi -w_translations 0.16 0.16 0.16 -w_rotations 0.0028 0.0028 0.0028 -step 0.64 0.64 0.64 -transformation HumanS16885_Stack_nuc_xyz_rightear_mi_affine_9.xfm HumanS16885_Stack_nuc_xyz_res_rigid.mnc.gz etzold_emma_12792115_003002_mri_xyz.mnc HumanS16885_Stack_nuc_xyz_rightear_mi_affine_facialMask9.xfm -clob -lsq6 > > Does your solution still apply, do you think? Nope. (Well not in much of a practical sense in any case... :) I suspect what is happening here is that the step size across the mask piece is too large? ie: how many lattice points are there going to be with a step size of 0.64 across the masked structure? Remember that minctracc only evaluates the similarity function for these points (for speed). Perhaps reduce the step a bit? The other trick that I have used on occasion with "misbehaving masks" is that instead of using masking in minctracc I do this: 1. Make a mask of the thing you want to register. 2. Pick a reasonable size blurring kernel (ie: if your structure is 5mm across, 1mm sounds good. 3. Dilate your mask by approx 1/2 the FWHM of step #2. 4. blur the mask using mincblur with the FWHM from #2. 5. Multiply the image you want to register with the mask thus "isolating" the structure 6. register without masks. The "soft" edges that this produces tends to be more successful than the "hard" edge of the mask. Here's hoping this is of more use to you! :) -- Andrew Janke (a.janke at gmail.com || http://a.janke.googlepages.com/) Canberra->Australia +61 (402) 700 883 _______________________________________________ MINC-users at bic.mni.mcgill.ca http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users From Michel.Audette at medizin.uni-leipzig.de Fri Jan 18 10:30:25 2008 From: Michel.Audette at medizin.uni-leipzig.de (Audette, Michel) Date: Fri, 18 Jan 2008 16:30:25 +0100 Subject: [MINC-users] minctracc with mask: objective function startsat0.0: what to do? References: <160E3DD4FB702C4CB860C65186686E69015F1FEC@MRZS152229.medizin.uni-leipzig.de><160E3DD4FB702C4CB860C65186686E690201FD5A@MRZS152229.medizin.uni-leipzig.de> Message-ID: <160E3DD4FB702C4CB860C65186686E690201FD5C@MRZS152229.medizin.uni-leipzig.de> Hi again, please remind me of the relationship between step-size, w_rotations, and w_translations? Cheers, Michel -----Original Message----- From: minc-users-bounces at bic.mni.mcgill.ca on behalf of Andrew Janke Sent: Fri 1/18/2008 4:19 PM To: MINC users mailing list Subject: Re: [MINC-users] minctracc with mask: objective function startsat0.0: what to do? > What I am doing, is using a mask to weight an affine transformation to part of an anatomy. For example, I make a mask that coincides with a facial nerve, a 2nd mask that coincides with the ear-drum, and so on. In all of these cases, I want to use a global affine transform, for the whole inner ear, as a starting point for a piecewise affine registration, where one piece is the nerve, another is the ear-drum and so on. I am in fact registering a source of micro-MR, from which the Robert Funnell inner ear model is derived, to high-res patient CT, in order to insert the components of the Funnell model in patient data. > > So it isn't mask to mask per se. Also, the mask was in fact dilated with mincmorph (8 successive dilations), in relation to the tight shape that I had. Still getting a null objective function when I try the piecewise. > > minctracc -model_mask facialPatchedD8_xyz_rightear_mi_affine_flip9.mnc -mi -w_translations 0.16 0.16 0.16 -w_rotations 0.0028 0.0028 0.0028 -step 0.64 0.64 0.64 -transformation HumanS16885_Stack_nuc_xyz_rightear_mi_affine_9.xfm HumanS16885_Stack_nuc_xyz_res_rigid.mnc.gz etzold_emma_12792115_003002_mri_xyz.mnc HumanS16885_Stack_nuc_xyz_rightear_mi_affine_facialMask9.xfm -clob -lsq6 > > Does your solution still apply, do you think? Nope. (Well not in much of a practical sense in any case... :) I suspect what is happening here is that the step size across the mask piece is too large? ie: how many lattice points are there going to be with a step size of 0.64 across the masked structure? Remember that minctracc only evaluates the similarity function for these points (for speed). Perhaps reduce the step a bit? The other trick that I have used on occasion with "misbehaving masks" is that instead of using masking in minctracc I do this: 1. Make a mask of the thing you want to register. 2. Pick a reasonable size blurring kernel (ie: if your structure is 5mm across, 1mm sounds good. 3. Dilate your mask by approx 1/2 the FWHM of step #2. 4. blur the mask using mincblur with the FWHM from #2. 5. Multiply the image you want to register with the mask thus "isolating" the structure 6. register without masks. The "soft" edges that this produces tends to be more successful than the "hard" edge of the mask. Here's hoping this is of more use to you! :) -- Andrew Janke (a.janke at gmail.com || http://a.janke.googlepages.com/) Canberra->Australia +61 (402) 700 883 _______________________________________________ MINC-users at bic.mni.mcgill.ca http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users From a.janke at gmail.com Fri Jan 18 10:39:17 2008 From: a.janke at gmail.com (Andrew Janke) Date: Sat, 19 Jan 2008 02:39:17 +1100 Subject: [MINC-users] minctracc with mask: objective function startsat0.0: what to do? In-Reply-To: <160E3DD4FB702C4CB860C65186686E690201FD5C@MRZS152229.medizin.uni-leipzig.de> References: <160E3DD4FB702C4CB860C65186686E69015F1FEC@MRZS152229.medizin.uni-leipzig.de> <160E3DD4FB702C4CB860C65186686E690201FD5A@MRZS152229.medizin.uni-leipzig.de> <160E3DD4FB702C4CB860C65186686E690201FD5C@MRZS152229.medizin.uni-leipzig.de> Message-ID: Audette, Michel : > please remind me of the relationship between step-size, w_rotations, and w_translations? There is no direct relationship? The step size refers to the distance between the nodes of the 3D lattice of points that is "overlaid" on the image. minctracc then only takes data from these points during the registration of the images. Of course if the input images are blurred then it will "get data" from other voxels due to the effect of blurring. The w_ parameters merely set the initial granularity of the simplex function that is used during optimisation. ie: if w_translations = 1 then one iteration of minctracc will shift an image relative to another by approx 1mm. w_rotations is a tad more difficult as you must remember that the rotation experienced at the centre of the image is a lot less than at the edges. Thus the default values for w_rotations give approx a 1mm movement at the edge of a standard sized head when rotating about the Centre of Mass. -- Andrew Janke (a.janke at gmail.com || http://a.janke.googlepages.com/) Canberra->Australia +61 (402) 700 883 From pgravel at bic.mni.mcgill.ca Tue Jan 22 09:00:47 2008 From: pgravel at bic.mni.mcgill.ca (Paul GRAVEL) Date: Tue, 22 Jan 2008 09:00:47 -0500 Subject: [MINC-users] Clustering t-maps Message-ID: Dear All, I currently have some t-maps, calculated using matlab, in minc format. >From this t-map.mnc file I would like to create another minc file, but with only clusters, say of 50 adjacent voxels with a t > 4. Would anyone have a script, routine or algorithm to perform this operation? Any help would be greatly appreciated! Best, Paul From jason at bic.mni.mcgill.ca Wed Jan 23 10:37:43 2008 From: jason at bic.mni.mcgill.ca (Jason Lerch) Date: Wed, 23 Jan 2008 10:37:43 -0500 Subject: [MINC-users] Clustering t-maps In-Reply-To: References: Message-ID: <47975F47.3030803@bic.mni.mcgill.ca> Hi Paul, mincmorph is your friend. The algorithm is something along the lines of: mincmorph -successive 'B[4.0:999]G' input_t_map.mnc output_clusters.mnc This will give you a map of connected blobs of voxels all above a t-value of 4.0 (change that to reflect the threshold you want), numbered according to size of the connected blob (i.e. 1 is the largest blob, 2 the second largest, etc.) Then use mincstats -volume -binvalue n output_clusters.mnc to find the smallest n (which should be an integer) still above the size that you want for your clusters. mincmath -seg -const2 0.5 n.5 output_clusters.mnc clusters.mnc with that n determined by mincstats will then give you a map of all the voxels that are part of a cluster of the size that you would like to have. Hope this helps, Jason Paul GRAVEL wrote: > Dear All, > > I currently have some t-maps, calculated using matlab, in minc format. > >From this t-map.mnc file I would like to create another minc file, but > with only clusters, say of 50 adjacent voxels with a t > 4. Would anyone > have a script, routine or algorithm to perform this operation? > > Any help would be greatly appreciated! > > Best, > > Paul > _______________________________________________ > MINC-users at bic.mni.mcgill.ca > http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users > From pgravel at bic.mni.mcgill.ca Wed Jan 23 12:01:10 2008 From: pgravel at bic.mni.mcgill.ca (Paul GRAVEL) Date: Wed, 23 Jan 2008 12:01:10 -0500 Subject: [MINC-users] Clustering t-maps In-Reply-To: <47975F47.3030803@bic.mni.mcgill.ca> References: <47975F47.3030803@bic.mni.mcgill.ca> Message-ID: Hi Jason, Thank you very much for your help! Just to clarify something though, would I set n to 50 to get clusters of 50 adjacent voxels? Best, Paul On Wed, 23 Jan 2008, Jason Lerch wrote: > Hi Paul, > > mincmorph is your friend. The algorithm is something along the lines of: > > mincmorph -successive 'B[4.0:999]G' input_t_map.mnc output_clusters.mnc > > This will give you a map of connected blobs of voxels all above a > t-value of 4.0 (change that to reflect the threshold you want), numbered > according to size of the connected blob (i.e. 1 is the largest blob, 2 > the second largest, etc.) Then use > > mincstats -volume -binvalue n output_clusters.mnc > > to find the smallest n (which should be an integer) still above the size > that you want for your clusters. > > mincmath -seg -const2 0.5 n.5 output_clusters.mnc clusters.mnc > > with that n determined by mincstats will then give you a map of all the > voxels that are part of a cluster of the size that you would like to have. > > Hope this helps, > > Jason > > Paul GRAVEL wrote: > > Dear All, > > > > I currently have some t-maps, calculated using matlab, in minc format. > > >From this t-map.mnc file I would like to create another minc file, but > > with only clusters, say of 50 adjacent voxels with a t > 4. Would anyone > > have a script, routine or algorithm to perform this operation? > > > > Any help would be greatly appreciated! > > > > Best, > > > > Paul > > _______________________________________________ > > 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 > From jason at bic.mni.mcgill.ca Wed Jan 23 12:04:06 2008 From: jason at bic.mni.mcgill.ca (Jason Lerch) Date: Wed, 23 Jan 2008 12:04:06 -0500 Subject: [MINC-users] Clustering t-maps In-Reply-To: References: Message-ID: <47977386.3050205@bic.mni.mcgill.ca> Paul GRAVEL wrote: > Hi Jason, > > Thank you very much for your help! > > Just to clarify something though, would I set n to 50 to get clusters > of 50 adjacent voxels? No - the clusters are ordered in size of the cluster, and there is no way of knowing what size each cluster will be beforehand. That's what that mincstats command was for - use that to find the cluster volume that you need for your threshold. It might be cluster 50, or cluster 10, or 100, etc. Cheers, Jason > > Best, > > Paul > > On Wed, 23 Jan 2008, Jason Lerch wrote: > >> Hi Paul, >> >> mincmorph is your friend. The algorithm is something along the lines of: >> >> mincmorph -successive 'B[4.0:999]G' input_t_map.mnc output_clusters.mnc >> >> This will give you a map of connected blobs of voxels all above a >> t-value of 4.0 (change that to reflect the threshold you want), numbered >> according to size of the connected blob (i.e. 1 is the largest blob, 2 >> the second largest, etc.) Then use >> >> mincstats -volume -binvalue n output_clusters.mnc >> >> to find the smallest n (which should be an integer) still above the size >> that you want for your clusters. >> >> mincmath -seg -const2 0.5 n.5 output_clusters.mnc clusters.mnc >> >> with that n determined by mincstats will then give you a map of all the >> voxels that are part of a cluster of the size that you would like to have. >> >> Hope this helps, >> >> Jason >> >> Paul GRAVEL wrote: >>> Dear All, >>> >>> I currently have some t-maps, calculated using matlab, in minc format. >>> >From this t-map.mnc file I would like to create another minc file, but >>> with only clusters, say of 50 adjacent voxels with a t > 4. Would anyone >>> have a script, routine or algorithm to perform this operation? >>> >>> Any help would be greatly appreciated! >>> >>> Best, >>> >>> Paul >>> _______________________________________________ >>> 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 >> > _______________________________________________ > MINC-users at bic.mni.mcgill.ca > http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users From bouffard at bic.mni.mcgill.ca Wed Jan 23 12:04:31 2008 From: bouffard at bic.mni.mcgill.ca (Marc BOUFFARD) Date: Wed, 23 Jan 2008 12:04:31 -0500 Subject: [MINC-users] Clustering t-maps In-Reply-To: <47975F47.3030803@bic.mni.mcgill.ca> References: <47975F47.3030803@bic.mni.mcgill.ca> Message-ID: Another way to get the same output as with mincmorph step below is with a matlab program called locmax.m which is part of the fmristats package. On Wed, 23 Jan 2008, Jason Lerch wrote: > Hi Paul, > > mincmorph is your friend. The algorithm is something along the lines of: > > mincmorph -successive 'B[4.0:999]G' input_t_map.mnc output_clusters.mnc > > This will give you a map of connected blobs of voxels all above a > t-value of 4.0 (change that to reflect the threshold you want), numbered > according to size of the connected blob (i.e. 1 is the largest blob, 2 > the second largest, etc.) Then use > > mincstats -volume -binvalue n output_clusters.mnc > > to find the smallest n (which should be an integer) still above the size > that you want for your clusters. > > mincmath -seg -const2 0.5 n.5 output_clusters.mnc clusters.mnc > > with that n determined by mincstats will then give you a map of all the > voxels that are part of a cluster of the size that you would like to have. > > Hope this helps, > > Jason > > Paul GRAVEL wrote: > > Dear All, > > > > I currently have some t-maps, calculated using matlab, in minc format. > > >From this t-map.mnc file I would like to create another minc file, but > > with only clusters, say of 50 adjacent voxels with a t > 4. Would anyone > > have a script, routine or algorithm to perform this operation? > > > > Any help would be greatly appreciated! > > > > Best, > > > > Paul > > _______________________________________________ > > 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 > From pgravel at bic.mni.mcgill.ca Wed Jan 23 12:10:57 2008 From: pgravel at bic.mni.mcgill.ca (Paul GRAVEL) Date: Wed, 23 Jan 2008 12:10:57 -0500 Subject: [MINC-users] Clustering t-maps In-Reply-To: <47977386.3050205@bic.mni.mcgill.ca> References: <47977386.3050205@bic.mni.mcgill.ca> Message-ID: Hi Jason, Thanks again! Now I understand! Best, Paul On Wed, 23 Jan 2008, Jason Lerch wrote: > Paul GRAVEL wrote: > > Hi Jason, > > > > Thank you very much for your help! > > > > Just to clarify something though, would I set n to 50 to get clusters > > of 50 adjacent voxels? > No - the clusters are ordered in size of the cluster, and there is no > way of knowing what size each cluster will be beforehand. That's what > that mincstats command was for - use that to find the cluster volume > that you need for your threshold. It might be cluster 50, or cluster 10, > or 100, etc. > > Cheers, > > Jason > > > > > Best, > > > > Paul > > > > On Wed, 23 Jan 2008, Jason Lerch wrote: > > > >> Hi Paul, > >> > >> mincmorph is your friend. The algorithm is something along the lines of: > >> > >> mincmorph -successive 'B[4.0:999]G' input_t_map.mnc output_clusters.mnc > >> > >> This will give you a map of connected blobs of voxels all above a > >> t-value of 4.0 (change that to reflect the threshold you want), numbered > >> according to size of the connected blob (i.e. 1 is the largest blob, 2 > >> the second largest, etc.) Then use > >> > >> mincstats -volume -binvalue n output_clusters.mnc > >> > >> to find the smallest n (which should be an integer) still above the size > >> that you want for your clusters. > >> > >> mincmath -seg -const2 0.5 n.5 output_clusters.mnc clusters.mnc > >> > >> with that n determined by mincstats will then give you a map of all the > >> voxels that are part of a cluster of the size that you would like to > have. > >> > >> Hope this helps, > >> > >> Jason > >> > >> Paul GRAVEL wrote: > >>> Dear All, > >>> > >>> I currently have some t-maps, calculated using matlab, in minc format. > >>> >From this t-map.mnc file I would like to create another minc file, but > >>> with only clusters, say of 50 adjacent voxels with a t > 4. Would > anyone > >>> have a script, routine or algorithm to perform this operation? > >>> > >>> Any help would be greatly appreciated! > >>> > >>> Best, > >>> > >>> Paul > >>> _______________________________________________ > >>> 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 > >> > > _______________________________________________ > > 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 > From pgravel at bic.mni.mcgill.ca Wed Jan 23 12:23:57 2008 From: pgravel at bic.mni.mcgill.ca (Paul GRAVEL) Date: Wed, 23 Jan 2008 12:23:57 -0500 Subject: [MINC-users] Clustering t-maps In-Reply-To: References: <47975F47.3030803@bic.mni.mcgill.ca> Message-ID: Hi Marc, Thank you; it works like a charm! Best, Paul On Wed, 23 Jan 2008, Marc BOUFFARD wrote: > Another way to get the same output as with mincmorph step below is with a > matlab program called locmax.m which is part of the fmristats package. > > On Wed, 23 Jan 2008, Jason Lerch wrote: > > > Hi Paul, > > > > mincmorph is your friend. The algorithm is something along the lines of: > > > > mincmorph -successive 'B[4.0:999]G' input_t_map.mnc output_clusters.mnc > > > > This will give you a map of connected blobs of voxels all above a > > t-value of 4.0 (change that to reflect the threshold you want), numbered > > according to size of the connected blob (i.e. 1 is the largest blob, 2 > > the second largest, etc.) Then use > > > > mincstats -volume -binvalue n output_clusters.mnc > > > > to find the smallest n (which should be an integer) still above the size > > that you want for your clusters. > > > > mincmath -seg -const2 0.5 n.5 output_clusters.mnc clusters.mnc > > > > with that n determined by mincstats will then give you a map of all the > > voxels that are part of a cluster of the size that you would like to have. > > > > Hope this helps, > > > > Jason > > > > Paul GRAVEL wrote: > > > Dear All, > > > > > > I currently have some t-maps, calculated using matlab, in minc format. > > > >From this t-map.mnc file I would like to create another minc file, but > > > with only clusters, say of 50 adjacent voxels with a t > 4. Would anyone > > > have a script, routine or algorithm to perform this operation? > > > > > > Any help would be greatly appreciated! > > > > > > Best, > > > > > > Paul > > > _______________________________________________ > > > 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 > > > _______________________________________________ > MINC-users at bic.mni.mcgill.ca > http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users > From mishkind at gmail.com Wed Jan 23 17:32:05 2008 From: mishkind at gmail.com (Mishkin Derakhshan) Date: Wed, 23 Jan 2008 17:32:05 -0500 Subject: [MINC-users] xfmconcat history Message-ID: <9c5abb60801231432n6588c341i614c53256f6f28f4@mail.gmail.com> Hi, I noticed that if you concat two (or more) xfms together with xfmconcat, that the command is not recorded in the xfm's comments field. xfminvert for example records the history of how the xfm was created. I think this is an excellent feature so i played with the xfmconcat code a bit so that it recorded things properly (at least I think I am doing it properly). The main change was if (output_transform_file(argv[output_arg], NULL, new_result) != OK) { to if (output_transform_file(argv[output_arg], arg_string, new_result) != OK) { where arg_string is: #include char *arg_string; arg_string = time_stamp(argc, argv); I would like to submit my new version to the cvs but I must admit that I have no idea how to do this or what standards I would need to follow. If someone can help me out that would be great, alternatively, the new code is attached. mishkin From a.janke at gmail.com Wed Jan 23 18:42:54 2008 From: a.janke at gmail.com (Andrew Janke) Date: Thu, 24 Jan 2008 10:42:54 +1100 Subject: [MINC-users] xfmconcat history In-Reply-To: <9c5abb60801231432n6588c341i614c53256f6f28f4@mail.gmail.com> References: <9c5abb60801231432n6588c341i614c53256f6f28f4@mail.gmail.com> Message-ID: > I noticed that if you concat two (or more) xfms together with > xfmconcat, that the command is not recorded in the xfm's comments > field. xfminvert for example records the history of how the xfm was > created. I think this is an excellent feature so i played with the > xfmconcat code a bit so that it recorded things properly (at least I > think I am doing it properly). Hi Mishkin, Thanks for the patch, I have just added it to CVS. Expect to see it in MINC 2.0.15 a From Michel.Audette at medizin.uni-leipzig.de Wed Jan 30 09:53:55 2008 From: Michel.Audette at medizin.uni-leipzig.de (Audette, Michel) Date: Wed, 30 Jan 2008 15:53:55 +0100 Subject: [MINC-users] minctracc with spline-based mutual information References: Message-ID: <160E3DD4FB702C4CB860C65186686E690201FDAA@MRZS152229.medizin.uni-leipzig.de> Hi folks, I'm hoping that one of you is in tune with work that Louis Collins and his students have been doing, on endowing minctracc with spline-based mutual information, in a manner that compares to Daniel Ruickert's work. Is anyone aware if this stuff close to working and being available in an upcoming release? I appreciate any insight into this. Thanks for your kind consideration. Cheers, Michel Michel Audette, Ph.D. Innovation Center Computer Assisted Surgery (ICCAS) Semmelweisstra?e 14 Leipzig, Germany Phone: ++49 (0) 341 / 97 - 1 20 13 Fax: ++49 (0) 341 / 97 - 1 20 09