[Community] [Insight-users] Cast itkImage to Matlab emxArray

Luca Tersi lucatersi at gmail.com
Fri Oct 18 11:28:51 EDT 2013


Hi,

I've included some algorithms developed with Matlab in my C++ software. The
Matlab algorithms were translated to C++ using Matlab Coder.
I've some images that have to be passed back and forth from the itk
pipeline to the Matlab algorithm that work with emxArray data type.
I've made the following methods in order to copy the data, but is there any
better and faster method? Moreover, is it better to use iterators or access
the buffer directly?

void
ImageProcessing::CopyItkToMatlabImage(ImageProcessing::RealImageType::Pointer
itkI, emxArray_real_T *matlabI)
{
  RealImageType::SizeType size = itkI->GetLargestPossibleRegion().GetSize();

  for (int ii=0; ii < size[0]; ++ii)
    for (int jj=0; jj < size[1]; ++jj)
      {
        matlabI->data[ii*size[0]+jj] =
(real_T)itkI->GetBufferPointer()[ii*size[0]+jj];
      }
}



void ImageProcessing::CopyMatlabToItkImage(emxArray_real_T * matlabI,
ImageProcessing::RealImageType::Pointer itkI)
{

  int32_T *size = matlabI->size;
  RealIteratorType out ( itkI, itkI->GetLargestPossibleRegion() );
  out.GoToBegin();

  for (int ii=0; ii < size[0]; ++ii)
    for (int jj=0; jj < size[1]; ++jj)
      {
        out.Set(matlabI->data[ii*size[0]+jj]);
        ++out;
      }
}

Thanks a lot

Luca

---
----------------------------------------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20131018/b3ab2d1d/attachment.html>
-------------- next part --------------
_____________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-users


More information about the Community mailing list