Print

Print


Dear Mauricio,

I think I understand what you want, and it is what I initially thought, but I don't think I've been clear enough in my email.

What I suggested was a method that would take a 4D input (a collection of 3D probability volumes, one per structure of interest, as is the case for both the Harvard-Oxford and the Juelich atlases) and then create a 3D output where each voxel had an integer value (a label) representing the structure that was most probable and also exceeded the 0.3 probability threshold.

So my previous reply will do what you want.
All that you need to do to start with is create a suitable 4D input.
If you are only interested in a subset of these two atlases then you need to extract that set of structures (e.g. using fslroi) and then merge them back into a single 4D (e.g. using fslmerge).  The label numbers will then correspond to (volume number + 1) of the structure in the 4D input.

The only thing that maybe we are still mis-communicating about is whether you want a single 3D output image with different label values in different voxels, or whether you want a set of 3D label volumes (masks) with one structure per 3D image.  If you want the latter then you can still run the commands that I sent before, to make a labelled 3D image containing multiple structures, and then split this up into parts by scripting it with fslmaths:
  e.g. fslmaths labelvol -thr $val -uthr $val -bin atlasmask_$val
which will separate out the structure having the label value that is specified by the variable "val".

I hope this helps.
All the best,
	Mark



> On 12 Oct 2016, at 11:43, Mauricio Delgado <[log in to unmask]> wrote:
> 
> Dear Mark,
> 
> Many thanks for your reply, we greatly appreciate it! 
> 
> I probably wasn't clear enough about what we want, my apologies. 
> 
> So, we like to generate individual masks in MNI space (MNI152_T1_2mm, so no 4D data) for all cortical regions included in the Harvard-Oxford cortical atlas, as well as hippocampal subregional masks included in the Juelich atlas. Specifically, we would like to include only voxels in a mask if the probability of their assignment to a specific (sub)region is higher than any other nearby structures with greater than 30% likelihood. So, each voxel should be exclusively assigned to only one region/mask (to prevent partial voluming), and overlapping voxels should be assigned to the region with the greatest probability, with a minimum probability of 30%.
> 
> Up until now we have done this manually, by loading all the regions we are interested in from the atlases in fslview, saving them one by one, using fslmaths to threshold them at 30%, load them again in fslview to search for overlapping voxels (voxels with a minimum probability of 30% belonging to more than 1 region), and manually assign those voxels to the region with the greatest probability. Given the number of regions we are interested in, this takes a long time to achieve, and perhaps more importantly, the risk of missing some overlapping voxels is also present. Hence, we wondered whether there are alternative ways of generating these masks in MNI space, which are more automated, and thus, time efficient and less prone to user errors.
> 
> Hope you can help us with this matter!
> 
> Thanks in advance.  
> 
> Regards,
> Mauricio  
>