Hi, On Thu, Aug 27, 2009 at 09:02:29PM -0400, John Clithero wrote: > Hi Michael, > > Thanks. I took that and just made one (very) minor change -- > "new_mask.data" instead of "new_mask", for ndarray -- and it appears > to have worked perfectly! > Hopefully this is what you had in mind:
Yes, something like that. Glad it works. Michael > ##wb data## > dataset_wb = NiftiDataset((wb_file), > labels=attr.labels, > chunks=attr.chunks, > mask=os.path.join(roidir,'wb.nii.gz')) > ##New mask## > new_mask=NiftiImage(os.path.join(roidir,'vmpfc.nii.gz')) > comb_mask = N.logical_and(new_mask.data != 0, > dataset_wb.mapper.getMask(copy=False) != 0) > fmask = dataset_wb.mapper.forward( comb_mask != 0 ) > dataset_vmpfc=dataset_wb.selectFeatures(fmask.nonzero()[0], plain=True) > > Cheers, > John > > On Thu, Aug 27, 2009 at 8:09 PM, Michael Hanke<[email protected]> wrote: > > Hi, > > > > On Thu, Aug 27, 2009 at 07:22:03PM -0400, John Clithero wrote: > >> Hi all, > >> > >> Another relatively simple question (I think). > >> I can load/create a dataset as follows: > >> > >> dataset_wb = NiftiDataset((wb_file), > >> labels=attr.labels, > >> chunks=attr.chunks, > >> mask=os.path.join(roidir,'wb.nii.gz')) > >> > >> And then, after this, I want to use SelectFeatures based on a mask I > >> have to run some additional classifiers on a subset of the features > >> using a new mask, say: > >> > >> roi_mask=os.path.join(roidir,'vmpfc.nii.gz') > >> > >> It is advantageous for me to create the dataset_wb as wholebrain using > >> the 'wb.nii.gz' mask and then after analyses, use this other mask on > >> the dataset (I want to detrend etc. at the whole-brain, not the ROI > >> level). > >> It seems like something that used to exist, > >> "selectFeaturesByMask(mask, plain=False)" > >> would have been perfect for this. It seems that now, based on a post > >> earlier, a list of Ids from my roi_mask is needed for selectFeatures. > >> > >> My question then, is given all of my fMRI data are in the same 3D > >> space (or, each timepoint is in the same 3D space as my masks), there > >> must be some way to use getOutId to get a list of Ids (say, Z) from > >> roi_mask to plug into > >> > >> new_dataset_roi=dataset_wb.selectFeatures(Z). > > > > Congrats, you fell into a pit we digged out for construction works and > > never closed ;-) > > > > The quickest way for you is probably to take a look at > > MaskedDataset.selectFeaturesByMask(). That is a 3-liner that should to > > what you need. It should be relatively straightforward to apply that to > > any NiftiDataset without having to subclass it. > > > > > > HTH, > > > > Michael > > > > -- > > GPG key: 1024D/3144BE0F Michael Hanke > > http://apsy.gse.uni-magdeburg.de/hanke > > > > _______________________________________________ > > Pkg-ExpPsy-PyMVPA mailing list > > [email protected] > > http://lists.alioth.debian.org/mailman/listinfo/pkg-exppsy-pymvpa > > > > _______________________________________________ > Pkg-ExpPsy-PyMVPA mailing list > [email protected] > http://lists.alioth.debian.org/mailman/listinfo/pkg-exppsy-pymvpa -- GPG key: 1024D/3144BE0F Michael Hanke http://apsy.gse.uni-magdeburg.de/hanke _______________________________________________ Pkg-ExpPsy-PyMVPA mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/pkg-exppsy-pymvpa

