<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I've written a python script that takes in a volume and tries to extract a Y slice using the ExtractImageFilter via WrapITK. &nbsp;It keeps giving me a region error and I cannot figure out why.<div><br></div><div>Can anyone take a look at my script and its output and tell me what I'm doing wrong?</div><div><br></div><div>Here's the script:</div><div><br></div><div><div></div><blockquote type="cite"><div>#!/usr/bin/env python</div><div><br></div><div>import itk</div><div>from sys import argv</div><div><br></div><div>imageType = itk.Image[itk.UC, 3]</div><div>readerType = itk.ImageFileReader[imageType]</div><div>reader = readerType.New()</div><div>reader.SetFileName( argv[1] )</div><div><br></div><div>size = itk.size(reader)</div><div>print "\nInput image size: ", size</div><div><br></div><div>reader.UpdateOutputInformation()</div><div>reader.UpdateLargestPossibleRegion()</div><div>coronal = reader.GetOutput().GetLargestPossibleRegion()</div><div><br></div><div>ycut = size.GetElement(1)/2</div><div>coronal.SetIndex(1, ycut)</div><div>coronal.SetSize(1, 0);</div><div><br></div><div>extract = itk.ExtractImageFilter[itk.Image.UC3, itk.Image.UC2].New()</div><div>extract.SetInput(reader.GetOutput())</div><div><br></div><div><br></div><div>extract.SetDirectionCollapseToIdentity()</div><div>extract.SetExtractionRegion(coronal)</div><div>extract.UpdateOutputInformation()</div><div><br></div><div>print "\nExtract's input image: ", extract.GetOutput()</div><div>print "\nThe ExtractImageFilter: ", extract</div><div>print "\nExtract's region: ", extract.GetExtractionRegion()</div><div>print "\nSize of the extract's output: ", itk.size(extract.GetOutput())</div><div><br></div><div>print "\nReader's region: ", reader.GetOutput().GetLargestPossibleRegion()</div><div><br></div><div>print "\n"</div><div><br></div><div>extract.Update()</div><div>itk.write(extract.GetOutput(), "extract.png")</div></blockquote><div><br></div><div><br></div><div>And here is its output:</div><div><br></div><div><div></div><blockquote type="cite"><div>puget =&gt; ./itkextract.py ../Public/teapot.vtk</div><div>Warning: Unknown parameter 'std::string' in template 'itk::MetaDataObject'</div><div><br></div><div>Input image size: &nbsp;itkSize3 ([256, 256, 256])</div><div><br></div><div>Extract's input image: &nbsp;Image (0x108d3f010)</div><div>&nbsp;&nbsp;RTTI typeinfo: &nbsp; itk::Image&lt;unsigned char, 2u&gt;</div><div>&nbsp;&nbsp;Reference Count: 2</div><div>&nbsp;&nbsp;Modified Time: 203</div><div>&nbsp;&nbsp;Debug: Off</div><div>&nbsp;&nbsp;Observers:&nbsp;</div><div>&nbsp;&nbsp; &nbsp;none</div><div>&nbsp;&nbsp;Source: (0x108db78c0)&nbsp;</div><div>&nbsp;&nbsp;Source output index: 0</div><div>&nbsp;&nbsp;Release Data: Off</div><div>&nbsp;&nbsp;Data Released: False</div><div>&nbsp;&nbsp;Global Release Data: Off</div><div>&nbsp;&nbsp;PipelineMTime: 200</div><div>&nbsp;&nbsp;UpdateMTime: 0</div><div>&nbsp;&nbsp;RealTimeStamp: 0 seconds&nbsp;</div><div>&nbsp;&nbsp;LargestPossibleRegion:&nbsp;</div><div>&nbsp;&nbsp; &nbsp;Dimension: 2</div><div>&nbsp;&nbsp; &nbsp;Index: [0, 0]</div><div>&nbsp;&nbsp; &nbsp;Size: [256, 256]</div><div>&nbsp;&nbsp;BufferedRegion:&nbsp;</div><div>&nbsp;&nbsp; &nbsp;Dimension: 2</div><div>&nbsp;&nbsp; &nbsp;Index: [0, 0]</div><div>&nbsp;&nbsp; &nbsp;Size: [0, 0]</div><div>&nbsp;&nbsp;RequestedRegion:&nbsp;</div><div>&nbsp;&nbsp; &nbsp;Dimension: 2</div><div>&nbsp;&nbsp; &nbsp;Index: [0, 0]</div><div>&nbsp;&nbsp; &nbsp;Size: [0, 0]</div><div>&nbsp;&nbsp;Spacing: [1, 1.3095]</div><div>&nbsp;&nbsp;Origin: [0, 0]</div><div>&nbsp;&nbsp;Direction:&nbsp;</div><div>1 0</div><div>0 1</div><div><br></div><div>&nbsp;&nbsp;IndexToPointMatrix:&nbsp;</div><div>&nbsp;&nbsp;1 0</div><div>0 1.3095</div><div><br></div><div>&nbsp;&nbsp;PointToIndexMatrix:&nbsp;</div><div>&nbsp;&nbsp;1 0</div><div>0 0.76365</div><div><br></div><div>&nbsp;&nbsp;PixelContainer:&nbsp;</div><div>&nbsp;&nbsp; &nbsp;ImportImageContainer (0x10cc2bbc0)</div><div>&nbsp;&nbsp; &nbsp; &nbsp;RTTI typeinfo: &nbsp; itk::ImportImageContainer&lt;unsigned long, unsigned char&gt;</div><div>&nbsp;&nbsp; &nbsp; &nbsp;Reference Count: 1</div><div>&nbsp;&nbsp; &nbsp; &nbsp;Modified Time: 190</div><div>&nbsp;&nbsp; &nbsp; &nbsp;Debug: Off</div><div>&nbsp;&nbsp; &nbsp; &nbsp;Observers:&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;none</div><div>&nbsp;&nbsp; &nbsp; &nbsp;Pointer: 0</div><div>&nbsp;&nbsp; &nbsp; &nbsp;Container manages memory: true</div><div>&nbsp;&nbsp; &nbsp; &nbsp;Size: 0</div><div>&nbsp;&nbsp; &nbsp; &nbsp;Capacity: 0</div><div><br></div><div><br></div><div>The ExtractImageFilter: &nbsp;ExtractImageFilter (0x108db78c0)</div><div>&nbsp;&nbsp;RTTI typeinfo: &nbsp; itk::ExtractImageFilter&lt;itk::Image&lt;unsigned char, 3u&gt;, itk::Image&lt;unsigned char, 2u&gt; &gt;</div><div>&nbsp;&nbsp;Reference Count: 1</div><div>&nbsp;&nbsp;Modified Time: 200</div><div>&nbsp;&nbsp;Debug: Off</div><div>&nbsp;&nbsp;Observers:&nbsp;</div><div>&nbsp;&nbsp; &nbsp;none</div><div>&nbsp;&nbsp;Number Of Required Inputs: 1</div><div>&nbsp;&nbsp;Number Of Required Outputs: 1</div><div>&nbsp;&nbsp;Number Of Threads: 24</div><div>&nbsp;&nbsp;ReleaseDataFlag: Off</div><div>&nbsp;&nbsp;ReleaseDataBeforeUpdateFlag: Off</div><div>&nbsp;&nbsp;Input 0: (0x108d1a090)</div><div>&nbsp;&nbsp;Output 0: (0x108d3f010)</div><div>&nbsp;&nbsp;AbortGenerateData: Off</div><div>&nbsp;&nbsp;Progress: 0</div><div>&nbsp;&nbsp;Multithreader:&nbsp;</div><div>&nbsp;&nbsp; &nbsp;RTTI typeinfo: &nbsp; itk::MultiThreader</div><div>&nbsp;&nbsp; &nbsp;Reference Count: 1</div><div>&nbsp;&nbsp; &nbsp;Modified Time: 188</div><div>&nbsp;&nbsp; &nbsp;Debug: Off</div><div>&nbsp;&nbsp; &nbsp;Observers:&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp;none</div><div>&nbsp;&nbsp; &nbsp;Thread Count: 24</div><div>&nbsp;&nbsp; &nbsp;Global Maximum Number Of Threads: 128</div><div>&nbsp;&nbsp; &nbsp;Global Default Number Of Threads: 24</div><div>&nbsp;&nbsp;ExtractionRegion: ImageRegion (0x108db79c0)</div><div>&nbsp;&nbsp;Dimension: 3</div><div>&nbsp;&nbsp;Index: [0, 128, 0]</div><div>&nbsp;&nbsp;Size: [256, 0, 256]</div><div><br></div><div>&nbsp;&nbsp;OutputImageRegion: ImageRegion (0x108db79f8)</div><div>&nbsp;&nbsp;Dimension: 2</div><div>&nbsp;&nbsp;Index: [0, 0]</div><div>&nbsp;&nbsp;Size: [256, 256]</div><div><br></div><div>&nbsp;&nbsp;DirectionCollaspeStrategy: 1</div><div><br></div><div><br></div><div>Extract's region: &nbsp;itkImageRegion3([0, 128, 0], [256, 0, 256])</div><div><br></div><div>Size of the extract's output: &nbsp;itkSize2 ([256, 256])</div><div><br></div><div>Reader's region: &nbsp;itkImageRegion3([0, 128, 0], [256, 0, 256])</div><div><br></div><div><br></div><div>Traceback (most recent call last):</div><div>&nbsp;&nbsp;File "./itkextract.py", line 39, in &lt;module&gt;</div><div>&nbsp;&nbsp; &nbsp;extract.Update()</div><div>RuntimeError: /nfs/Users/dave/pkg/sitk-build/ITK/Modules/Core/Common/src/itkDataObject.cxx:387:</div></blockquote><div></div></div><blockquote type="cite"><div><div>Requested region is (at least partially) outside the largest possible region.</div></div></blockquote><div><br></div><div><br></div><div>Thank you for any help.</div><div>Dave</div><div><br></div><div><br></div><div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 16px; "><div><div><font class="Apple-style-span" face="Monaco" size="3"><span class="Apple-style-span" style="font-size: 12px; ">David T. Chen, PhD &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[Lockheed Martin contractor]</span></font></div><div><font class="Apple-style-span" face="Monaco" size="3"><span class="Apple-style-span" style="font-size: 12px; "><a href="mailto:dchen@mail.nih.gov">mailto:dchen@mail.nih.gov</a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://erie.nlm.nih.gov/~dave">http://erie.nlm.nih.gov/~dave</a></span></font></div><div><font class="Apple-style-span" face="Monaco" size="3"><span class="Apple-style-span" style="font-size: 12px; ">phone:301.435.3264 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;iphone:301.524.3174</span></font></div><div><font class="Apple-style-span" face="Monaco" size="3"><span class="Apple-style-span" style="font-size: 12px; ">Office of High Performance Computing and Communications</span></font></div><div><font class="Apple-style-span" face="Monaco" size="3"><span class="Apple-style-span" style="font-size: 12px; ">National Library of Medicine</span></font></div></div></div>
</div>
<br></div></body></html>