<br>Hi Neil,<br><br>The first suspect to keep in mind is the fact that in Windows 64<br>the &quot;long int&quot; type is still 32-bits in size.<br><br>If you are making any assumptions about the size of &quot;long int&quot;,<br>
that may be part of the problem.<br><br>In order to find the source of the problem, you have to reduce<br>it to a minimal case. I would suggest that you first try just reading<br>the image without any GUI or Visualization, and then progressively<br>
add those functionalities back until you see the error appearing.<br><br>You may also want to pay extra attention to any truncation warnings...<br><br><br>     Regards,<br><br><br>             Luis<br><br><div class="gmail_quote">
<br>-------------------------------------------------------------------------------<br>On Tue, Sep 14, 2010 at 11:40 PM,  <span dir="ltr">&lt;Neil.Burdett@csiro.au&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">









<div link="blue" vlink="purple" lang="EN-AU">

<div>

<p class="MsoNormal">Hi,</p>

<p class="MsoNormal">    We have a product (written in C++) that
runs on Linux and Windows (XP) 32 bit. I am currently trying to make it work on
a 64 bit windows machine. The application can load a number of different types
of medical image formats (i.e. Analyze, DiCOM etc) and displays the results on
a WxWidget pane that has 4 quadrants (axial, sagittal, coronal and 3D view).
The 3D view allows us to rotate the image, whereas the others are essentially
2D and allow us to move through the image slice by slice. A works okay on 32
bit windows and Linux but on 64 bit windows (XP and Windows 7) the 3D view of the
image is the only one that can be loaded, the other screens remain greyed out.
So I’m just very confused by this...</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">We are using :</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Visual Studio 9 2008</p>

<p class="MsoNormal">ITK 3.20.0</p>

<p class="MsoNormal">VTK 5.6.0</p>

<p class="MsoNormal">WxWidgets 2.8.10</p>

<p class="MsoNormal">SigC++ 2.2.3</p>

<p class="MsoNormal">Glew 1.5.2</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">The images are loaded using a number of different methods
and classes, I’ll submit as much as I think is relevant:</p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">void</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> milxImageLoaderTask::Run(<span style="color: blue;">void</span>)</span></p>


<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">{</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  milxImageLoader loader;</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  m_image = loader.Load(m_filename);</span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">}</span></p>

<p class="MsoNormal"> </p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">milxImage *milxImageLoader::Load( <span style="color: blue;">const</span> wxString &amp;filename ) <span style="color: blue;">const</span></span></p>


<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">{</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: green;">//milxImage::ComponentType
compType;</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: green;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  milxImageSource source(filename);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  milxImage3D *image = <span style="color: blue;">new</span>
milxImage3D();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">try</span> {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">   
milxImageSource::ImageType::Pointer itkImage = source.GetOutput();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: blue;">if</span>(
itkImage.IsNull() ) {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      <span style="color: blue;">delete</span> image;</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      <span style="color: green;">//throw milx::Exception( FILE_READ_ERROR, &quot;Error
reading file &#39;%s&#39;&quot;, std::string(filename.mb_str()).c_str());</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      <span style="color: blue;">return</span> 0;</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      }</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    image-&gt;SetImage3D( itkImage );</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    image-&gt;SetName(filename);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    image-&gt;SetFileName(filename);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    itkImage-&gt;Update();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    } <span style="color: blue;">catch</span>(
std::exception &amp; err ) {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: blue;">delete</span>
image;</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: green;">//milxErrorMacro(&lt;&lt;
&quot;Exception caught while reading !&quot;);</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: green;">//milxErrorMacro(&lt;&lt;
err.what());</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: green;">//
Output the error to the terminal</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    std::cerr &lt;&lt; <span style="color: rgb(163, 21, 21);">&quot;milxImage *milxImageLoader: Exception caught while
reading: &quot;</span> &lt;&lt; err.what() &lt;&lt; std::endl;</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: green;">//throw
milx::Exception( FILE_READ_ERROR, &quot;Error reading file &#39;%s&#39;: %s&quot;,
std::string(filename.mb_str()).c_str() );</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: blue;">return</span>
0;</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    }</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">if</span>( image ) {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    image-&gt;SetName(filename);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: green;">//image-&gt;SetComponentType(compType);</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    }</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">return</span> image;</span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">}</span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">void</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> milxImageLoaderTask::Finalize(<span style="color: blue;">bool</span> complete)</span></p>


<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">{</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">if</span>( complete
) {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: blue;">if</span>(
m_image == NULL ) {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      <span style="color: green;">// Read failed. Display a semi-useless error message for
now until</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      <span style="color: green;">// we can get some meaningful context.</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      wxMessageBox(_(<span style="color: rgb(163, 21, 21);">&quot;Unable to load image file: &#39;&quot;</span>) +
m_filename + _(<span style="color: rgb(163, 21, 21);">&quot;&#39;&quot;</span>), _(<span style="color: rgb(163, 21, 21);">&quot;Error loading image&quot;</span>),
wxOK|wxICON_ERROR);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      } <span style="color: blue;">else</span> {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      milxImageDataMap *
imageDataMap = milxViewController::GetInstance()-&gt;AddImage(m_image);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      <span style="color: blue;">if</span>( m_openPage ) {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">       
milxViewController::GetInstance()-&gt;AddPage(imageDataMap);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">        }</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      }</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    }</span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">}</span></p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Where <span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">milxImageDataMap
is initialised too</span>:</p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;; color: blue;">void</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> milxImageDataMap::Init( milxImage *image )</span></p>


<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">{</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutImage(IMAGE_KEY_IMAGE, image);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: green;">// Get number of
dimensions</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">int</span>
dimensions[3];</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">double</span>
spacing[3];</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">double</span>
origin[3];</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> 
image-&gt;GetVTKImageData()-&gt;GetSpacing(spacing);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> 
image-&gt;GetVTKImageData()-&gt;GetOrigin(origin);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> 
image-&gt;GetVTKImageData()-&gt;GetDimensions(dimensions);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutFloat(IMAGE_KEY_VOXEL_SIZE_X, spacing[0]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutFloat(IMAGE_KEY_VOXEL_SIZE_Y, spacing[1]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutFloat(IMAGE_KEY_VOXEL_SIZE_Z, spacing[2]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: green;">// Store the
original image dimensions</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutInt(IMAGE_KEY_SIZE_X, dimensions[0]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutInt(IMAGE_KEY_SIZE_Y, dimensions[1]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutInt(IMAGE_KEY_SIZE_Z, dimensions[2]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: green;">// Store the
original vtk image data bounds (equiv to: dimensions * voxel size)</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  vtkFloatingPointType bounds[6];</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> 
image-&gt;GetVTKImageData()-&gt;GetBounds(bounds);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutFloat(IMAGE_KEY_BOUNDS_MIN_X, bounds[0]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutFloat(IMAGE_KEY_BOUNDS_MAX_X, bounds[1]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutFloat(IMAGE_KEY_BOUNDS_MIN_Y, bounds[2]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutFloat(IMAGE_KEY_BOUNDS_MAX_Y, bounds[3]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutFloat(IMAGE_KEY_BOUNDS_MIN_Z, bounds[4]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutFloat(IMAGE_KEY_BOUNDS_MAX_Z, bounds[5]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">int</span> midpos[3]
= { dimensions[0]/2, dimensions[1]/2, dimensions[2]/2 };</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutInt(IMAGE_KEY_SLICE_X, midpos[0]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutInt(IMAGE_KEY_SLICE_Y, midpos[1]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutInt(IMAGE_KEY_SLICE_Z, midpos[2]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: green;">// Extract default
colour ranges etc</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: green;">// TODO optimise
this?</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">double</span>
intensityRange[2];</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> 
image-&gt;GetVTKImageData()-&gt;GetScalarRange(intensityRange);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutFloat(IMAGE_KEY_INTENSITY_LOWER,
intensityRange[0]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutFloat(IMAGE_KEY_INTENSITY_UPPER,
intensityRange[1]);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutInt(IMAGE_KEY_COLOUR_RAMP,
VTK_RAMP_SCURVE);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutVector4( IMAGE_KEY_COLOUR_LOWER,
Vector4(0.0,0.0,0.0,1.0) );</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutVector4( IMAGE_KEY_COLOUR_UPPER,
Vector4(1.0,1.0,1.0,1.0) );</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutInt(IMAGE_KEY_VOXEL_ACCURACY, 100);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutInt(IMAGE_KEY_INTERPOLATION_MODE, -1);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: green;">// set some default
mesh-related values</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutBool(MESH_KEY_COLOUR_BAR, <span style="color: blue;">false</span>);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutInt(MESH_KEY_SELECT, -1);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  PutInt(MESH_KEY_SHADING, 1);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: green;">// Setup the
derived data</span></span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">}</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">vtkImageData *milxImageDataMap::GetVtkOutputData() <span style="color: blue;">const</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">{</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">if</span>( reslice
== NULL ) {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: blue;">return</span>
GetImage(IMAGE_KEY_IMAGE)-&gt;GetVTKImageData();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    } <span style="color: blue;">else</span>
{</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: blue;">return</span>
reslice-&gt;GetOutput();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    }</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">}</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">milxImage3D::Image3DType::Pointer
milxImageDataMap::GetITKOutputData() <span style="color: blue;">const</span></span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">{</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  milxImage *image = GetImage(IMAGE_KEY_IMAGE);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  vtkMatrix4x4 *inverse =
GetVtkMatrix4x4(IMAGE_KEY_TRANSFORM_MATRIX);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  milxImage3D *image3D = <span style="color: blue;">dynamic_cast</span>&lt;milxImage3D *&gt;(image);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">if</span>( image3D
!= NULL ) {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    vtkMatrix4x4 *matrix =
vtkMatrix4x4::New();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    vtkMatrix4x4::Invert(inverse,
matrix);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: blue;">typedef</span>
itk::ChangeInformationImageFilter&lt;milxImage3D::Image3DType&gt; InfoType;</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    InfoType::Pointer info =
InfoType::New();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    info-&gt;SetInput(image3D-&gt;GetImage3D());</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">   
InfoType::OutputImageDirectionType dir = info-&gt;GetOutputDirection();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: blue;">for</span>(
<span style="color: blue;">int</span> i=0; i&lt;3; i++ ) {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      <span style="color: blue;">for</span>( <span style="color: blue;">int</span> j=0; j&lt;3;
j++ ) {</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">        dir(j,i)
= matrix-&gt;GetElement(j,i);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">        }</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">      }</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    info-&gt;SetOutputDirection(dir);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    info-&gt;ChangeDirectionOn();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    matrix-&gt;Delete();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: blue;">const</span>
Vector3 &amp;trans = GetVector3(IMAGE_KEY_TRANSLATE_VECTOR, Vector3(0,0,0));</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">   
milxImage3D::Image3DType::PointType sourceOrigin =
image3D-&gt;GetImage3D()-&gt;GetOrigin();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: blue;">double</span>
origin[3] = {sourceOrigin[0] + trans[0],</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    sourceOrigin[1] + trans[1],</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    sourceOrigin[2] + trans[2]};</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    info-&gt;SetOutputOrigin(origin);</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    info-&gt;ChangeOriginOn();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    info-&gt;Update();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    <span style="color: blue;">return</span>
info-&gt;GetOutput();</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">    }</span></p>

<p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">  <span style="color: blue;">return</span> NULL;</span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">}</span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">I
was just wondering if anyone else had problems with 64 bit windows version (64
bit Linux works fine)</span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Also, when I tried load a DICOM series I get an Output
window shown, but the window is too small to display all the warning
information. And when I try to pause the visual studio debugger the window
always remains in the background and I’m unable to maximise it. Do these
warnings get written somewhere? As all I can read at the moment is:</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">WARNING in ..\..\..\InsightToolkit-3.20.0\Code\IO\itkGDCMImageIO.cxx
line</p>

<p class="MsoNormal">GDCMImageIO [000000000BC3AF40] the Dicom File (then I
suspect the location of the dicom file)</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">There are hundreds of these warnings scrolling down the
list.</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Any help much appreciated as I’m not sure how to
proceed</p>

<p class="MsoNormal"> </p>

<p class="MsoNormal">Cheers</p>

<p class="MsoNormal">Neil</p>

</div>

</div>


<br>_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br>