[Insight-users] Image reader problem
Bill Lorensen
bill.lorensen at gmail.com
Mon May 5 13:07:37 EDT 2008
Charles,
Do the tests in Insight/Testing/Code/IO run OK?
We don't have any VS 9.0 platforms in our testing suite unfortunately.
Bill
On Mon, May 5, 2008 at 12:37 PM, Charles Knox <knoxcharles at qwest.net> wrote:
> The function ReadDICOMImage() gets called to test for/read a DICOM image
> file.
> It has worked consistently for me through ITK versions 1.x through 3.4 when
> compiled
> with MS Visual C++ 6.0. But now, when compiling with MS Visual Studio v9.0
> for
> x86 and under Windows Vista, the debugger traps an access violation from the
> destructor ~ImageSource() (located in file itkImageSource.h).
>
> -----------------------------------------------------------------------------------
>
> BOOL CImageData::ReadDICOMImage( CString &csFileName, IMAGEPARAMS &iParam )
> {
> // First check for a DICOM file.
> itk::GDCMImageIO::Pointer gdcmIO = itk::GDCMImageIO::New();
>
> // This works but commented out to get to 'reader'
> //if (!gdcmIO->CanReadFile((LPCTSTR)csFileName)
> // return FALSE;
>
> typedef signed short PixelType;
> // Set dimensions to 3 to have reader return z-value
> const UINT Dimension = 3;
> typedef itk::Image< PixelType, Dimension > ImageType;
> typedef itk::ImageFileReader< ImageType > ReaderType;
>
> ReaderType::Pointer reader = ReaderType::New();
>
> reader->SetFileName( (LPCTSTR)csFileName);
> reader->SetImageIO( gdcmIO );
>
> // Return prematurely to invoke 'reader' destructor
> // when going out of scope.
> return FALSE;
>
> try {
> reader->Update();
> } catch (std::exception &err) {
> string msg = err.what();
> AfxMessageBox(msg.c_str());
> return FALSE;
> }
>
> ...
> ---------------------------------------------------------------------------
>
> Debugger stops at the destructor ~ImageSource()
>
> ...
> * SmartPointer to a DataObject. If a subclass of ImageSource has
> * multiple outputs of different types, then that class must provide
> * an implementation of MakeOutput(). */
> virtual DataObjectPointer MakeOutput(unsigned int idx);
>
> protected:
> ImageSource();
> virtual ~ImageSource() {} <- Debugger stops here
>
> /** A version of GenerateData() specific for image processing
> * filters. This implementation will split the processing across
> * multiple threads. The buffer is allocated by this method. Then
> ...
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>
>
More information about the Insight-users
mailing list