<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">Hi All,</font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><br></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">I attached a simple test code basically reading in an image, and I just realized that it will crash at ImageReader-&gt;Update() [actually at &nbsp;ITKProcessObject::GenerateOutputInformation() ] when I compile at release mode but was fine at Debug mode.&nbsp;</font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">I searched in the mailing list, and (thought) I have ruled out the cause of uninitialized variable or destructed smartpointer, so I came up with this test code and the problem is
 still there!&nbsp;</font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">I would appreciate if anyone can help to find what's the problem? Thanks a lot!</font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><br></font></div><div><font class="Apple-style-span"><div style="font-size: 12pt; font-family: times, serif; ">IDE: windows7 Visual Studio 2008</div><div style="font-size: 12pt; font-family: times, serif; ">ITK/Application: 3.20.0&nbsp;</div><div style="font-size: 12pt; font-family: times, serif; "><br></div><div style="font-size: 12pt; font-family: times, serif; ">Here are the link of the code and the CMakeList, I also paste the code at the end.</div><div style="font-size: 12pt; font-family: times, serif; "><br></div><div><font class="Apple-style-span" face="times, serif">http://dl.dropbox.com/u/1906263/CrashTest.cxx</font><br></div><div><font
 class="Apple-style-span" face="times, serif">http://dl.dropbox.com/u/1906263/CMakeLists.txt</font><br></div><div style="font-size: 12pt; font-family: times, serif; "><br></div><div><div><font class="Apple-style-span" face="times, serif" color="#ff0000">#include "itkImage.h"</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000">#include &lt;time.h&gt;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000">#include &lt;iostream&gt;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000">#include &lt;fstream&gt;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000">#include &lt;windows.h&gt;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000">#include "itkTextOutput.h"</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000">#include "itkImageFileReader.h"</font></div><div><font
 class="Apple-style-span" face="times, serif" color="#ff0000">using namespace std;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000">typedef itk::Image&lt; unsigned char, 2&gt; &nbsp;ImageType;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000">// typedef ImageType::Pointer ImagePtr;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000">typedef itk::ImageFileReader&lt; ImageType &gt; ImageReaderType;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000">int main(int argc, char** argv)</font></div><div><font class="Apple-style-span" face="times, serif"
 color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>itk::OutputWindow::SetInstance(itk::TextOutput::New().GetPointer());</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>const std::string refImgName = "file path";</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>ImageReaderType::Pointer &nbsp;ImageReader &nbsp;= ImageReaderType::New();</font></div><div><font class="Apple-style-span" face="times, serif"
 color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>ImageReader-&gt;DebugOn();</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>ImageReader-&gt;SetFileName(refImgName);</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>std::cout &lt;&lt; "reader count at beginning "&lt;&lt;ImageReader-&gt;GetReferenceCount() &lt;&lt; std::endl;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times,
 serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>ImageType::Pointer OutputPointer = ImageType::New();</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>OutputPointer = ImageReader-&gt;GetOutput();</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>std::cout &lt;&lt; "reader count after GetOutput " &lt;&lt; ImageReader-&gt;GetReferenceCount() &lt;&lt; std::endl;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>std::cout &lt;&lt; "pointer count
 "&lt;&lt;OutputPointer-&gt;GetReferenceCount() &lt;&lt; std::endl;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>try</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">                </span>ImageReader-&gt;Update();</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span
 class="Apple-tab-span" style="white-space:pre">        </span>catch( itk::ExceptionObject &amp; err )&nbsp;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">                </span>{&nbsp;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">                </span>cerr &lt;&lt; "ExceptionObject caught in DIR4dvf::ReadImg !" &lt;&lt; endl;&nbsp;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">                </span>cerr &lt;&lt; err &lt;&lt; endl;&nbsp;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">                </span>throw err;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        
        </span>}&nbsp;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>std::cout &lt;&lt; "reader count after update "&lt;&lt;ImageReader-&gt;GetReferenceCount() &lt;&lt; std::endl;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><br></font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space:pre">        </span>return EXIT_SUCCESS;</font></div><div><font class="Apple-style-span" face="times, serif" color="#ff0000"><span class="Apple-tab-span" style="white-space: pre; ">        </span>}</font></div></div><div style="font-size: 12pt; font-family: times, serif; "><br></div><div style="font-size: 12pt; font-family: times, serif; "><br></div></font></div></div></div></body></html>