[ITK] [ITK-users] Loading a specifing region of an image from disk

Pol Monsó Purtí lluna.nova at gmail.com
Mon Nov 3 14:06:05 EST 2014


Hello everyone.

Two simple questions:

1.- How to set the RequestedRegion on a writer.
2.- Will the pipeline only load the requested region, including the reader?

By reading the itksoftware manual, section 8.3 Streaming Large Data it
looks like by default reader filters only load the requested region.

We want to extract a specific region of a large 3D tiff image that does not
fit in memory. This has to be as fast as possible.

I've taken a look at streaming, althought it's not exactly what we want
since we don't want to process the full image.

I've tried myself but I can't get to write just the requested region.

The code:

int main( int argc, char* argv[] )
{

  typedef unsigned char              PixelType;
  typedef itk::Image< PixelType, 3 > ImageType;

  typedef itk::ImageFileReader< ImageType > ReaderFilterType;
  ReaderFilterType::Pointer reader = ReaderFilterType::New();
  reader->SetFileName("../data/
Madrid_Train.tif");
  ImageType::RegionType largest =
reader->GetOutput()->GetLargestPossibleRegion();
  ImageType::SizeType size   = largest.GetSize();
  ImageType::IndexType index = largest.GetIndex();

  ImageType::RegionType half;
  half.SetIndex(0,index[0] + 0.25*size[0]);
  half.SetIndex(1,index[1] + 0.25*size[1]);
  half.SetIndex(2,index[2] + 0.25*size[2]);

  half.SetSize(0,0.5*size[0]);
  half.SetSize(1,0.5*size[1]);
  half.SetSize(2,0.5*size[2]);

  typedef itk::ImageFileWriter< ImageType > WriterFilterType;
  WriterFilterType::Pointer writer = WriterFilterType::New();
  writer->SetFileName("image.tif");
  reader->GetOutput()->SetRequestedRegion(half);
  writer->SetInput(reader->GetOutput());

  try
    {
    //streamingFilter->Update();
    writer->Update();
    }
  catch( itk::ExceptionObject & error )
    {
    std::cerr << "Error: " << error << std::endl;
    return EXIT_FAILURE;
    }

  return EXIT_SUCCESS;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20141103/5488b71b/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://public.kitware.com/mailman/listinfo/insight-users


More information about the Community mailing list