<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1400" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi Luis and ITK Mania</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I run the ITKImage2VTKImage.cxx with MSVC in 
console mode. It work fine but when I tried to convert it to MFC based,&nbsp;it 
&nbsp;fail in compilation stage. I plan to display the image in a Dialog. Below 
are the codes.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>What part should I bring to constructor, destructor 
and so on..</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Thank you in advance.</FONT></DIV>
<DIV><FONT face=Arial size=2>Best Regards</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>//--- Console mode ---</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial 
size=2>/*===================================================================<BR>&nbsp; 
Program:&nbsp;&nbsp; Insight Segmentation &amp; Registration Toolkit<BR>&nbsp; 
Module:&nbsp;&nbsp;&nbsp; $RCSfile: ITKImage2VTKImage.cxx,v $<BR>&nbsp; 
Language:&nbsp; 
C++<BR>=================================================================*/</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>#include "itkImage.h"<BR>#include 
"itkImageFileReader.h"<BR>#include "itkImageFileReader.h"<BR>#include 
"vtkImageViewer.h"<BR>#include "vtkRenderWindowInteractor.h"<BR>#include 
"itkImageToVTKImageFilter.h"</FONT></DIV>
<DIV>&nbsp;</DIV><FONT face=Arial size=2>
<DIV><BR>int main( int argc, char ** argv )<BR>{<BR>&nbsp; typedef unsigned 
short&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PixelType;<BR>&nbsp; const&nbsp;&nbsp; 
unsigned int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dimension = 2;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; typedef itk::Image&lt; PixelType, Dimension &gt;&nbsp;&nbsp; 
ImageType;<BR>&nbsp; typedef itk::ImageFileReader&lt; ImageType 
&gt;&nbsp;&nbsp;&nbsp; ReaderType;<BR>&nbsp; typedef 
itk::ImageToVTKImageFilter&lt; ImageType &gt; ConnectorType;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; ReaderType::Pointer reader = ReaderType::New();<BR>&nbsp; 
ConnectorType::Pointer connector = ConnectorType::New();<BR>&nbsp; 
reader-&gt;SetFileName( argv[1] );<BR>&nbsp; //reader-&gt;Update();</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; connector-&gt;SetInput(reader-&gt;GetOutput()); &nbsp;&nbsp; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; vtkImageViewer *viewer=vtkImageViewer::New();<BR>&nbsp; 
vtkRenderWindowInteractor *renderWindowInteractor=vtkRenderWindowInteractor 
::New();<BR>&nbsp; viewer-&gt;SetupInteractor(renderWindowInteractor);<BR>&nbsp; 
viewer-&gt;SetInput(connector-&gt;GetOutput());<BR>&nbsp; 
viewer-&gt;Render();<BR>&nbsp; viewer-&gt;SetColorWindow(255);<BR>&nbsp; 
viewer-&gt;SetColorLevel(128);<BR>&nbsp; 
//renderWindowInteractor-&gt;Start();</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; return 0;<BR>}<BR></DIV>
<DIV>&nbsp;</DIV>
<DIV>//--- MFC based</DIV>
<DIV>#if 
!defined(AFX_BINARYTHRESHOLDDLG1_H__2D2E73F5_F350_4BC6_A757_586AE2651DBF__INCLUDED_)<BR>#define 
AFX_BINARYTHRESHOLDDLG1_H__2D2E73F5_F350_4BC6_A757_586AE2651DBF__INCLUDED_</DIV>
<DIV>&nbsp;</DIV>
<DIV>#if _MSC_VER &gt; 1000<BR>#pragma once<BR>#endif // _MSC_VER &gt; 
1000</DIV>
<DIV>&nbsp;</DIV>
<DIV>//itk and vtk <BR>#include "itkImage.h"<BR>#include 
"itkImageFileReader.h"<BR>#include "itkImageFileReader.h"<BR>#include 
"vtkImageViewer.h"<BR>#include "vtkRenderWindowInteractor.h"<BR>#include 
"itkImageToVTKImageFilter.h"</DIV>
<DIV>&nbsp;</DIV>
<DIV>// BinaryThresholdDlg1.h : header file<BR>//</DIV>
<DIV>&nbsp;</DIV>
<DIV>/////////////////////////////////////////////////////////////////////////////<BR>// 
CBinaryThresholdDlg dialog (BinaryThreshold.h)</DIV>
<DIV>&nbsp;</DIV>
<DIV>class CBinaryThresholdDlg : public CDialog<BR>{<BR>// 
Construction<BR>public:<BR>&nbsp;CBinaryThresholdDlg(CWnd* pParent = 
NULL);&nbsp;&nbsp; // standard constructor<BR>&nbsp; typedef unsigned 
short&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
PixelType;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;---- error in this part (illegal pure syntax, must be '= 0')<BR>&nbsp; 
const&nbsp;&nbsp; unsigned int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Dimension = 
2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;---- error in this part (Dimension' : pure specifier can only be specified 
for functions)<BR></DIV>
<DIV>&nbsp; typedef itk::Image&lt; PixelType, Dimension &gt;&nbsp;&nbsp; 
ImageType;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</DIV>
<DIV>&nbsp; typedef itk::ImageFileReader&lt; ImageType &gt;&nbsp;&nbsp;&nbsp; 
ReaderType;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</DIV>
<DIV>&nbsp; typedef itk::ImageToVTKImageFilter&lt; ImageType &gt; 
ConnectorType;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; ReaderType::Pointer reader;<BR>&nbsp; ConnectorType::Pointer 
connector;</DIV>
<DIV>&nbsp;</DIV>
<DIV>// Dialog Data<BR>&nbsp;//{{AFX_DATA(CBinaryThresholdDlg)<BR>&nbsp;enum { 
IDD = IDD_BYNARYTHRESHOLDDLG 
};<BR>&nbsp;CEdit&nbsp;m_fileName;<BR>&nbsp;//}}AFX_DATA</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>// Overrides<BR>&nbsp;// ClassWizard generated virtual function 
overrides<BR>&nbsp;//{{AFX_VIRTUAL(CBinaryThresholdDlg)<BR>&nbsp;protected:<BR>&nbsp;virtual 
void DoDataExchange(CDataExchange* pDX);&nbsp;&nbsp;&nbsp; // DDX/DDV 
support<BR>&nbsp;//}}AFX_VIRTUAL</DIV>
<DIV>&nbsp;</DIV>
<DIV>// Implementation</DIV>
<DIV>&nbsp;</DIV>
<DIV>protected:</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;// Generated message map 
functions<BR>&nbsp;//{{AFX_MSG(CBinaryThresholdDlg)<BR>&nbsp;afx_msg void 
OnLoad();<BR>&nbsp;//}}AFX_MSG<BR>&nbsp;DECLARE_MESSAGE_MAP()<BR>};</DIV>
<DIV>&nbsp;</DIV>
<DIV>//{{AFX_INSERT_LOCATION}}<BR>// Microsoft Visual C++ will insert additional 
declarations immediately before the previous line.</DIV>
<DIV>&nbsp;</DIV>
<DIV>#endif // 
!defined(AFX_BINARYTHRESHOLDDLG1_H__2D2E73F5_F350_4BC6_A757_586AE2651DBF__INCLUDED_)<BR></DIV>
<DIV>// BinaryThresholdDlg.cpp : implementation file<BR>//</DIV>
<DIV>&nbsp;</DIV>
<DIV>#include "resource.h"<BR>#include "stdafx.h"<BR>#include 
"Uias3D.h"<BR>#include "BinaryThresholdDlg.h"<BR></DIV>
<DIV>#ifdef _DEBUG<BR>#define new DEBUG_NEW<BR>#undef THIS_FILE<BR>static char 
THIS_FILE[] = __FILE__;<BR>#endif</DIV>
<DIV>&nbsp;</DIV>
<DIV>/////////////////////////////////////////////////////////////////////////////<BR>// 
CBinaryThresholdDlg dialog</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>CBinaryThresholdDlg::CBinaryThresholdDlg(CWnd* pParent 
/*=NULL*/)<BR>&nbsp;: CDialog(CBinaryThresholdDlg::IDD, 
pParent)<BR>{<BR>&nbsp;//{{AFX_DATA_INIT(CBinaryThresholdDlg)<BR>&nbsp;&nbsp;// 
NOTE: the ClassWizard will add member initialization 
here<BR>&nbsp;//}}AFX_DATA_INIT<BR>&nbsp; reader = ReaderType::New();<BR>&nbsp; 
connector = ConnectorType::New();<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>void CBinaryThresholdDlg::DoDataExchange(CDataExchange* 
pDX)<BR>{<BR>&nbsp;CDialog::DoDataExchange(pDX);<BR>&nbsp;//{{AFX_DATA_MAP(CBinaryThresholdDlg)<BR>&nbsp;//}}AFX_DATA_MAP<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>BEGIN_MESSAGE_MAP(CBinaryThresholdDlg, 
CDialog)<BR>&nbsp;//{{AFX_MSG_MAP(CBinaryThresholdDlg)<BR>&nbsp;ON_BN_CLICKED(IDC_LOAD, 
OnLoad)<BR>&nbsp;//}}AFX_MSG_MAP<BR>END_MESSAGE_MAP()</DIV>
<DIV>&nbsp;</DIV>
<DIV>/////////////////////////////////////////////////////////////////////////////<BR>// 
CBinaryThresholdDlg message handlers</DIV>
<DIV>&nbsp;</DIV>
<DIV>void CBinaryThresholdDlg::OnLoad() <BR>{<BR>&nbsp; 
reader-&gt;SetFileName("brain.png");<BR></DIV>
<DIV>&nbsp; connector-&gt;SetInput(reader-&gt;GetOutput()); &nbsp;&nbsp; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; vtkImageViewer *viewer=vtkImageViewer::New();<BR>&nbsp; 
vtkRenderWindowInteractor *renderWindowInteractor=vtkRenderWindowInteractor 
::New();<BR>&nbsp; viewer-&gt;SetupInteractor(renderWindowInteractor);<BR>&nbsp; 
viewer-&gt;SetInput(connector-&gt;GetOutput());<BR>&nbsp; 
viewer-&gt;Render();<BR>&nbsp; viewer-&gt;SetColorWindow(255);<BR>&nbsp; 
viewer-&gt;SetColorLevel(128);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV></FONT></BODY></HTML>