[Insight-users] generating a vector Image

Hila Hiler hilahiler at gmail.com
Fri May 18 11:03:59 EDT 2012


Hi David, thank you for your suggestion.

actually I don't know how to generate a dummy image that has the following
properties:

Input image:
PixelType: unsigned short

Dimension: 3

Dimensions: 202 419 157

IndexToWorldTransform:

Matrix:

0.488281 0 0

-0 -0.488281 0

-0 0 1



and in addition to my code below:

#define myDimension 3
#define vectorLength 3


Sorry I can't help you a lot ...



On Fri, May 18, 2012 at 3:09 PM, David Doria <daviddoria at gmail.com> wrote:

> On Fri, May 18, 2012 at 5:46 AM, Hila Hiler <hilahiler at gmail.com> wrote:
>
>> Hi,
>>
>> I'm trying to generate a vector image with the same dimensions and region
>> as another image that I have.
>> a RT error about itkSmartPoint/ memory failure are stopping me from get
>> this vector image
>>
>> Here is my code, I really lost of ideas why it's happening here.
>>
>> Thanks in advance.
>>
>>
>> my code:
>>
>>
>> typedef double pixelType;
>> typedef    itk::Image    < pixelType, myDimension >  ImageType;
>>
>> //vector Type
>> typedef itk::VectorImage < pixelType, myDimension >  vectorImageType;
>>
>> vectorImageType::Pointer vectorImage = vectorImageType::New();
>> ImageType::Pointer myItkImg;
>>
>> //...some manipulation on myItkImg (initializing and assigning data))
>>
>> 1) first try is:
>>
>>     itk::CastImageFilter<ImageType,vectorImageType>::Pointer caster =
>> itk::CastImageFilter<ImageType,vectorImageType>::New();
>>
>>     //cast to vector img
>>     caster->SetInput(myItkImg);
>>     caster->Update();
>>     vectorImage = caster->GetOutput();
>>     vectorImage->SetVectorLength(vectorLength);
>>     vectorImage->Allocate(); *//here the RT occurs*
>>
>> */*RT stop at this itk's internal code:*
>>   void UnRegister()
>>     {
>>     if(m_Pointer) { m_Pointer->UnRegister(); }
>>     }
>> */
>>
>>
>> 2) second try:
>>
>>     vectorImageType::SizeType size;
>>
>>     size[0]=myItkImg->GetDimension(0);
>>     size[1]=myItkImg->GetDimension(1);
>>     size[2]=myItkImg->GetDimension(2);
>>
>>     ImageType::SpacingType img_spacing= myItkImg->GetSpacing();
>>     vectorImageType::SpacingType vec_spacing;
>>
>>     vec_spacing[0]= img_spacing[0];
>>     vec_spacing[1]= img_spacing[1];
>>     vec_spacing[2]= img_spacing[2];
>>
>>     vectorImageType::IndexType start;
>>     start.Fill(0);
>>
>>     vectorImageType::RegionType region(start,size);
>>     vectorImage->SetSpacing(vec_spacing);
>>     vectorImage->SetRegions(region);
>>     vectorImage->SetVectorLength(vectorLength);
>>     vectorImage->Allocate(); *//here the RT occurs*
>> /*
>> *RT stop at this itk's internal code:*
>>   itkDebugMacro (<< "Setting imageIO IORegion to: " << m_ActualIORegion
>> );
>>   m_ImageIO->SetIORegion( m_ActualIORegion );
>> */
>>
>
> Please make compilable examples. It is only a few more lines to produce
> some dummy data and include the necessary headers. The idea is that then we
> can copy/paste/compile and see the error.
>
> David
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20120518/22ec4269/attachment.htm>


More information about the Insight-users mailing list