[ITK-users] Get for each voxel of a 4D image inside a mask, their corresponding 4D values
    Javier Juan Albarracín 
    javij1 at gmail.com
       
    Wed May  4 14:15:22 EDT 2016
    
    
  
Hello,
I am sorry if the question is too simple but I am a newbie with ITK and 
I don't find the way to solve my problem
I have a 4D image, which is a DSC Perfusion weighted MRI. First of all, 
the type of the image must be  itk::Image<unsigned short, 4>   or  
itk::Image<itk::Vector<unsigned char, N>, 3>  ?? In the later case, I do 
not know at compile time the value of N.
And the core question, supose the image is of size 270x270x171x34, I 
want to extract for each voxel of the image which is inside the 
intracraneal mask, their 34 corresponding values. The intracraneal mask 
is not a rectangular region, but is a brain-like mask (itk::Image<bool, 
3> volume).
In a classic "for loop" scheme (where I come from) the code would be
for (int x = 0; x < image.width(); x++)
{
      for (int y = 0; y < image.height(); y++)
      {
          for (int z = 0; z < image.depth(); z++)
          {
              if (!mask(x, y, z))
                  continue;
              for (int c = 0; c < image.spectrum(); c++)
                  int v = image(x, y, z, c);
              i++;
         }
     }
}
How can do this in ITK?? I have read several ImageRegionIterator 
examples, but I do not find a clean and correct way to do what I want.
Thank you very much.
Regards.
Javier.
    
    
More information about the Insight-users
mailing list