[Insight-users] Including MINC2.0 IO support in ITK
mark at invivonmr.uu.nl
mark at invivonmr.uu.nl
Thu Jan 11 04:35:08 EST 2007
The problem lies in the fact that ccmake the build files are being written
in the source directory and not in the binary directory. This seems a bit
strange to me
> What is the error? Do you have the new FindMINC2.cmake installed?
> The additional options may only show up in the advanced ccmake section.
>
> On 1/11/07, Mark Bouts <mark at invivonmr.uu.nl> wrote:
>> Thnx this seems to work!
>>
>> However when I try to rebuilt the toolkit. The involving files don't
>> seem to be included in the built.
>> Strange thing is that I don't seem to be able to do a make from my
>> binary directory after configuration with ccmake.
>> I don't understand why this is going wrong. Anybody a suggestion?
>> I consider it to be no option to copy the Makefile from the source
>> directory to the binary directory and adjust the binary direction, for
>> the other dependencies remain unchanged.
>> This leads to a normal build without the MINC2.0 files, which I want to
>> be included
>>
>> I think missing out on something simple, but seem to overlook what.
>> Can anyone help me?
>> Richard Beare wrote:
>> > Hi,
>> >
>> > I had some success under linux a while back. I can't remember the
>> > details, but I've attached the files I changed.
>> >
>> > On 1/10/07, Mark Bouts <mark at invivonmr.uu.nl> wrote:
>> >> Hi Insight-Users,
>> >>
>> >> I have a question regarding linking corresponding libraries for
>> MINC2.0
>> >> in ITK.
>> >>
>> >> I'm trying to link the corresponding libraries netcdf, hdf5 and minc2
>> >> into the CMakeLists.txt file of the /Code/IO directory. However, I
>> don't
>> >> have a clue on how to do this.
>> >> I have tried some options, but do not seem to succeed in doing the
>> >> correct thing.
>> >>
>> >> More info can be read on:
>> >> http://insight-journal.org/dspace/handle/1926/191
>> >>
>> >> Maybe someone can help on my way? I would appreciate it!
>> >>
>> >> Mark
>> >>
>> >> ps. I'm currently working on solaris
>> >> _______________________________________________
>> >> Insight-users mailing list
>> >> Insight-users at itk.org
>> >> http://www.itk.org/mailman/listinfo/insight-users
>> >>
>> > ------------------------------------------------------------------------
>> >
>> > SET(ITKIO_SRCS
>> > itkNiftiImageIO.cxx
>> > itkNiftiImageIOFactory.cxx
>> > itkAnalyzeImageIO.cxx
>> > itkAnalyzeImageIOFactory.cxx
>> > itkArchetypeSeriesFileNames.cxx
>> > itkBioRadImageIO.cxx
>> > itkBioRadImageIOFactory.cxx
>> > itkBMPImageIO.cxx
>> > itkBMPImageIOFactory.cxx
>> > itkBrains2HeaderBase.cxx
>> > itkBrains2HeaderFactory.cxx
>> > itkBrains2IPLHeaderInfo.cxx
>> > itkBrains2MaskHeaderInfo.cxx
>> > itkBrains2MaskImageIO.cxx
>> > itkBrains2MaskImageIOFactory.cxx
>> > itkDICOMImageIO2.cxx
>> > itkDICOMImageIO2Factory.cxx
>> > itkDICOMSeriesFileNames.cxx
>> > itkDicomImageIOFactory.cxx
>> > itkGDCMImageIO.cxx
>> > itkGDCMImageIOFactory.cxx
>> > itkGDCMSeriesFileNames.cxx
>> > itkGE4ImageIO.cxx
>> > itkGE4ImageIOFactory.cxx
>> > itkGE5ImageIO.cxx
>> > itkGE5ImageIOFactory.cxx
>> > itkGEAdwImageIO.cxx
>> > itkGEAdwImageIOFactory.cxx
>> > itkGiplImageIO.cxx
>> > itkGiplImageIOFactory.cxx
>> > itkIOCommon.cxx
>> > itkIPLCommonImageIO.cxx
>> > itkIPLFileNameList.cxx
>> > itkImageIOBase.cxx
>> > itkImageIOFactory.cxx
>> > itkImageIORegion.cxx
>> > itkJPEGImageIO.cxx
>> > itkJPEGImageIOFactory.cxx
>> > itkLSMImageIO.cxx
>> > itkLSMImageIOFactory.cxx
>> > itkMetaImageIO.cxx
>> > itkMetaImageIOFactory.cxx
>> > itkNrrdImageIO.cxx
>> > itkNrrdImageIOFactory.cxx
>> > itkNumericSeriesFileNames.cxx
>> > itkPNGImageIO.cxx
>> > itkPNGImageIOFactory.cxx
>> > itkPolygonGroupSpatialObjectXMLFile.cxx
>> > itkRegularExpressionSeriesFileNames.cxx
>> > itkSiemensVisionImageIO.cxx
>> > itkSiemensVisionImageIOFactory.cxx
>> > itkStimulateImageIO.cxx
>> > itkStimulateImageIOFactory.cxx
>> > itkTIFFImageIO.cxx
>> > itkTIFFImageIOFactory.cxx
>> > itkTransformFileReader.cxx
>> > itkTransformFileWriter.cxx
>> > itkVTKImageIO.cxx
>> > itkVTKImageIOFactory.cxx
>> > itkXMLFile.cxx
>> > )
>> >
>> > IF(USE_MINC2)
>> > INCLUDE_DIRECTORIES( ${MINC2_INCLUDE_PATH} ${HDF5_INCLUDE_PATH}
>> ${NETCDF_INCLUDE_PATH})
>> > SET(ITKIO_SRCS ${ITKIO_SRCS} itkMINC2ImageIO.cxx
>> itkMINC2ImageIOFactory.cxx)
>> > ENDIF(USE_MINC2)
>> >
>> >
>> > # Add ITKIO library
>> > ADD_LIBRARY(ITKIO ${ITKIO_SRCS})
>> >
>> > TARGET_LINK_LIBRARIES(ITKIO
>> > ITKCommon
>> > ITKNrrdIO
>> > itkjpeg8
>> > itkjpeg12
>> > itkjpeg16
>> > ${ITK_GDCM_LIBRARIES}
>> > ${ITK_PNG_LIBRARIES}
>> > ${ITK_ZLIB_LIBRARIES}
>> > ${ITK_TIFF_LIBRARIES}
>> > ITKSpatialObject
>> > ITKMetaIO
>> > ITKDICOMParser
>> > ITKEXPAT
>> > ITKniftiio)
>> >
>> > IF(USE_MINC2)
>> > TARGET_LINK_LIBRARIES(ITKIO ${NETCDF_LIB} ${HDF5_LIB} ${MINC2_LIB})
>> > ENDIF(USE_MINC2)
>> >
>> > IF(ITK_LIBRARY_PROPERTIES)
>> > SET_TARGET_PROPERTIES(ITKIO PROPERTIES ${ITK_LIBRARY_PROPERTIES})
>> > ENDIF(ITK_LIBRARY_PROPERTIES)
>> > INSTALL_TARGETS(/lib/InsightToolkit ITKIO)
>> > INSTALL_FILES(/include/InsightToolkit/IO "(\\.h|\\.txx)$")
>> >
>> > ------------------------------------------------------------------------
>> >
>> > /*=========================================================================
>> >
>> > Program: Insight Segmentation & Registration Toolkit
>> > Module: $RCSfile: itkImageIOFactory.cxx,v $
>> > Language: C++
>> > Date: $Date: 2006/05/10 20:27:16 $
>> > Version: $Revision: 1.31 $
>> >
>> > Copyright (c) Insight Software Consortium. All rights reserved.
>> > See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for
>> details.
>> >
>> > This software is distributed WITHOUT ANY WARRANTY; without even
>> > the implied warranty of MERCHANTABILITY or FITNESS FOR A
>> PARTICULAR
>> > PURPOSE. See the above copyright notices for more information.
>> >
>> > =========================================================================*/
>> > #ifdef _MSC_VER
>> > #pragma warning ( disable : 4786 )
>> > #endif
>> >
>> > #include "itkImageIOFactory.h"
>> > #include "itkBioRadImageIOFactory.h"
>> > #include "itkBMPImageIOFactory.h"
>> > #include "itkGDCMImageIOFactory.h"
>> > #include "itkDICOMImageIO2Factory.h"
>> > #include "itkNiftiImageIOFactory.h"
>> > #include "itkAnalyzeImageIOFactory.h"
>> > #include "itkNiftiImageIOFactory.h"
>> > #include "itkGiplImageIOFactory.h"
>> > #include "itkJPEGImageIOFactory.h"
>> > #include "itkLSMImageIOFactory.h"
>> > #include "itkMetaImageIOFactory.h"
>> > #include "itkPNGImageIOFactory.h"
>> > #include "itkNrrdImageIOFactory.h"
>> > #include "itkTIFFImageIOFactory.h"
>> > #include "itkVTKImageIOFactory.h"
>> > #include "itkStimulateImageIOFactory.h"
>> > #include "itkMINC2ImageIOFactory.h"
>> > #include "itkMutexLock.h"
>> > #include "itkMutexLockHolder.h"
>> >
>> > namespace itk
>> > {
>> >
>> > ImageIOBase::Pointer
>> > ImageIOFactory::CreateImageIO(const char* path, FileModeType mode)
>> > {
>> >
>> > RegisterBuiltInFactories();
>> >
>> > std::list<ImageIOBase::Pointer> possibleImageIO;
>> > std::list<LightObject::Pointer> allobjects =
>> > ObjectFactoryBase::CreateAllInstance("itkImageIOBase");
>> > for(std::list<LightObject::Pointer>::iterator i =
>> allobjects.begin();
>> > i != allobjects.end(); ++i)
>> > {
>> > ImageIOBase* io = dynamic_cast<ImageIOBase*>(i->GetPointer());
>> > if(io)
>> > {
>> > possibleImageIO.push_back(io);
>> > }
>> > else
>> > {
>> > std::cerr << "Error ImageIO factory did not return an
>> ImageIOBase: "
>> > << (*i)->GetNameOfClass()
>> > << std::endl;
>> > }
>> > }
>> > for(std::list<ImageIOBase::Pointer>::iterator k =
>> possibleImageIO.begin();
>> > k != possibleImageIO.end(); ++k)
>> > {
>> > if( mode == ReadMode )
>> > {
>> > if((*k)->CanReadFile(path))
>> > {
>> > return *k;
>> > }
>> > }
>> > else if( mode == WriteMode )
>> > {
>> > if((*k)->CanWriteFile(path))
>> > {
>> > return *k;
>> > }
>> >
>> > }
>> > }
>> > return 0;
>> > }
>> >
>> > void
>> > ImageIOFactory::RegisterBuiltInFactories()
>> > {
>> > static bool firstTime = true;
>> >
>> > static SimpleMutexLock mutex;
>> > {
>> > // This helper class makes sure the Mutex is unlocked
>> > // in the event an exception is thrown.
>> > MutexLockHolder<SimpleMutexLock> mutexHolder( mutex );
>> > if( firstTime )
>> > {
>> > ObjectFactoryBase::RegisterFactory( BioRadImageIOFactory::New() );
>> > ObjectFactoryBase::RegisterFactory( GDCMImageIOFactory::New() );
>> > ObjectFactoryBase::RegisterFactory( MetaImageIOFactory::New() );
>> > ObjectFactoryBase::RegisterFactory( PNGImageIOFactory::New() );
>> > ObjectFactoryBase::RegisterFactory( VTKImageIOFactory::New() );
>> > ObjectFactoryBase::RegisterFactory( GiplImageIOFactory::New() );
>> > ObjectFactoryBase::RegisterFactory( LSMImageIOFactory::New());
>> //should be before TIFF
>> > ObjectFactoryBase::RegisterFactory( NiftiImageIOFactory::New());
>> > ObjectFactoryBase::RegisterFactory( AnalyzeImageIOFactory::New());
>> > ObjectFactoryBase::RegisterFactory(
>> StimulateImageIOFactory::New());
>> > ObjectFactoryBase::RegisterFactory( JPEGImageIOFactory::New());
>> > ObjectFactoryBase::RegisterFactory( TIFFImageIOFactory::New());
>> > ObjectFactoryBase::RegisterFactory( NrrdImageIOFactory::New() );
>> > ObjectFactoryBase::RegisterFactory( BMPImageIOFactory::New() );
>> > ObjectFactoryBase::RegisterFactory( DICOMImageIO2Factory::New() );
>> > ObjectFactoryBase::RegisterFactory( MINC2ImageIOFactory::New() );
>> > firstTime = false;
>> > }
>> > }
>> >
>> > }
>> >
>> > } // end namespace itk
>> >
>>
>>
>
More information about the Insight-users
mailing list