[Insight-users] Compiling ITK on Windows: PNG problems
Mathieu Malaterre
Mathieu.Malaterre@creatis.insa-lyon.fr
Thu, 06 Mar 2003 12:13:32 +0100
Raghavendra,
What is the extention of you file, please. This is very important in
the IOFactory process.
---
In case it was .gipl. I suggest you to try adding those lines:
[snip]
typedef itk::GiplImageIO<PixelType, 3> GiplReaderType; //here
GiplReaderType::Pointer giplIO = GiplReaderType::New();
pReader->SetFileName(argv[1]);
pWriter->SetFileName(argv[2]);
pReader->SetImageIO( giplIO ); //here
pWriter->SetInput(pReader->GetOutput());
[snip]
HTH
mathieu
Raghavendra Chandrashekara wrote:
> Hi Luis,
>
> Thanks for your help. I tried building everything from scratch (after
> removing any png.dll files on my system) but with no luck. I must be doing
> something wrong with the configuration. Well anyway I stopped the png
> library from being built as you suggested and managed to get the test
> program to build properly. Now when I run the program using the image in
> Testing/Data/Input/ramp.gipl as input an exception is produced and this is
> the error message I get:
>
> Exception object caught!
>
> itk::ExceptionObject (00DFF304)
> Location: "Unknown"
> File: \packages\InsightCVS\Code\IO\itkAnalyzeImageIO.cxx
> Line: 796
> Description: File cannot be read
>
> Is this a possible bug? It seems strange that the Analyze image IO object is
> the one causing the exception and not the GIPL image IO. I've attached the
> source code.
>
> Thanks,
>
> Raghavendra.
>
> ----- Original Message -----
> From: "Luis Ibanez" <luis.ibanez@kitware.com>
> To: "Raghavendra Chandrashekara" <rc3@doc.ic.ac.uk>
> Cc: <insight-users@public.kitware.com>
> Sent: Wednesday, March 05, 2003 7:37 PM
> Subject: Re: [Insight-users] Compiling ITK on Windows: PNG problems
>
>
>
>>Hi Raghavendra
>>
>>
>>Did you searched for a png.dll ?
>>
>>Another possibility is that your png library is not
>>being rebuilt...
>>
>>Have you tried with a clean build from scractch ?
>>
>>-------
>>
>>If you want to get around this and disable PNG
>>you can modify the CMakeLists.txt files in the
>>following directories:
>>
>>
>>1) Insight/Utilities/
>> (remove "png" in the SUBDIRS command) that
>> will prevent png from being built
>>
>>2) Insight/Code/IO
>> remove PNGImageIO and PNGImageIOFactory from
>> the list of sources.
>>
>>
>>Note that this is not a "solution", just a desperate
>>attempt to get around the real problem.
>>
>>PNG is build nightly and continuosly in all the
>>platforms you see in the dashboard. So it is very
>>likely that the problem is related configuration
>>of your specific system.
>>
>>
>>
>>
>> Luis
>>
>>
>>------------------------------------------------------------------------
>>
>>PROJECT(ITKGIPLImageTest)
>>
>>INCLUDE(${CMAKE_ROOT}/Modules/FindITK.cmake)
>>IF (USE_ITK_FILE)
>> INCLUDE(${USE_ITK_FILE})
>>ENDIF (USE_ITK_FILE)
>>
>>ADD_EXECUTABLE(ITKGIPLImageTest ITKGIPLImageTest.cxx)
>>
>>IF (WIN32)
>> TARGET_LINK_LIBRARIES(ITKGIPLImageTest ITKIO ITKCommon ITKMetaIO VXLNumerics)
>>ELSE (WIN32)
>> TARGET_LINK_LIBRARIES(ITKGIPLImageTest ITKIO ITKCommon ITKMetaIO VXLNumerics dl pthread)
>>ENDIF (WIN32)
>>
>>
>>------------------------------------------------------------------------
>>
>>#include <iostream>
>>
>>using namespace std;
>>
>>#include "itkImage.h"
>>#include "itkImageFileReader.h"
>>#include "itkImageFileWriter.h"
>>
>>/* Program reads a GIPl image and writes it out again. */
>>int main(int argc, char** argv)
>>{
>> if (argc != 3) {
>> std::cout << "Usage: ITKGIPLImageTest input.gipl output.gipl" << std::endl;
>> exit(1);
>> }
>>
>> typedef short PixelType;
>> typedef itk::Image<PixelType, 3> ImageType;
>> typedef itk::ImageFileReader<ImageType> ReaderType;
>> typedef itk::ImageFileWriter<ImageType> WriterType;
>>
>> try {
>> ReaderType::Pointer pReader = ReaderType::New();
>> WriterType::Pointer pWriter = WriterType::New();
>>
>> pReader->SetFileName(argv[1]);
>> pWriter->SetFileName(argv[2]);
>>
>> pWriter->SetInput(pReader->GetOutput());
>>
>> pWriter->Update();
>> }
>> catch (itk::ExceptionObject& ex) {
>> std::cout << "Exception object caught!" << std::endl;
>> std::cout << ex << std::endl;
>> exit(1);
>> }
>>
>> return 0;
>>}
--
Mathieu Malaterre
CREATIS
28 Avenue du Doyen LEPINE
B.P. Lyon-Montchat
69394 Lyon Cedex 03
http://www.creatis.insa-lyon.fr/~malaterre/