From gaetan.lehmann at jouy.inra.fr Tue Dec 1 04:17:34 2009 From: gaetan.lehmann at jouy.inra.fr (=?ISO-8859-1?Q?Ga=EBtan_Lehmann?=) Date: Tue, 1 Dec 2009 10:17:34 +0100 Subject: [Insight-users] Problem with wrapping itk In-Reply-To: References: Message-ID: <72E11BD3-D609-4BFD-A8B7-EB6F2BED7ABA@jouy.inra.fr> Le 1 d?c. 09 ? 04:50, alex sando a ?crit : > hi all, i was trying the registration examples of ITK using > WrapITK, but i got a problem.... > Here is my code: > > registration_object = > itk.ImageRegistrationMethod[itk.Image.F2,itk.Image.F2].New() > #...registration codes... > resampler = itk.ResampleImageFilter[itk.Image.F2, > itk.Image.F2].New() > resampler.SetInput(i1) > resampler.SetTransform(registration_object.GetOutput().Get()) > ~ > ~~~~~~AttributeError: 'str' object has no attribute 'Get' > Any suggestions? thanks in advance~~ Hi Alex, I think that your using wrapitk 0.2 which is currently in itk sources. Unfortunately, the DataObjectDecorator class is not available in that version. It is wrapped in version 0.3 available at google code - you should try with it. Regards, Ga?tan -- Ga?tan Lehmann Biologie du D?veloppement et de la Reproduction INRA de Jouy-en-Josas (France) tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 http://voxel.jouy.inra.fr http://www.itk.org http://www.mandriva.org http://www.bepo.fr -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 203 bytes Desc: Ceci est une signature ?lectronique PGP URL: From luis.ibanez at kitware.com Tue Dec 1 10:19:26 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 10:19:26 -0500 Subject: [Insight-users] Bug itk::ImageRegistrationMethod In-Reply-To: References: Message-ID: Hi Gerald, Yes, you have to use Transform and Interpolators of type double. Note that in practice, there is no good reason for using Transforms or Interpolators of type float: * These classes are not used in large numbers, so memory storage is not a concern. * Actual computations take place in "double" even when you declare float types, so computation time is not going to change * In many cases in registration you actually need the computational precision of doubles. Regards, Luis ------------------------------------------------------------- On Mon, Nov 30, 2009 at 2:15 PM, Lodron, Gerald wrote: > > Hello > > There is the coordinate representation type missing in itk::ImageRegistrationMethod so it is only possible to add transformations or interpolations of type double. > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From john.drozd at gmail.com Tue Dec 1 11:16:38 2009 From: john.drozd at gmail.com (John Drozd) Date: Tue, 1 Dec 2009 11:16:38 -0500 Subject: [Insight-users] problem with orientation of dicom output from segmentation In-Reply-To: <82f536810911301546i576aa579s2cfd07780e4029dc@mail.gmail.com> References: <82f536810911301546i576aa579s2cfd07780e4029dc@mail.gmail.com> Message-ID: Thanks Andriy, With BUILD_TYPE set to DEBUG, gdb no longer complains about "no debug symbols". It just complains about: Missing separate debuginfos, use: debuginfo-install e2fsprogs-libs-1.41.4-6.fc10.x86_64 glibc-2.9-3.x86_64 libgcc-4.3.2-7.x86_64 libstdc++-4.3.2-7.x86_64 Thanks, john On Mon, Nov 30, 2009 at 6:46 PM, Andriy Fedorov wrote: > > I ended up using the statementy in my CMakeLists.txt file: > > SET (CMAKE_CXX_FLAGS_DEBUG "-DDEBUG -ggdb" CACHE STRING "Flags used by > the > > compiler during debug builds." FORCE) > > > > John, I thought you should be able to configure debug flags by setting > BUILD_TYPE to DEBUG in ccmake interface. > > > > Here is the debugger output. I will try to figure out the problem as to > why > > my code is segmentation faulting, but I thought I would send you the gdb > > debugger output, in case you have some insight: > > > > thanks, > > john > > > > [jdrozd at trumpet ConnectedThresholdImageFilter2]$ gdb > > ./ConnectedThresholdImageFilter > > > > GNU gdb Fedora > > (6.8-32.fc10) > > > > Copyright (C) 2008 Free Software Foundation, > > Inc. > > > > License GPLv3+: GNU GPL version 3 or later > > > > > > This is free software: you are free to change and redistribute > > it. > > > > There is NO WARRANTY, to the extent permitted by law. Type "show > > copying" > > > > and "show warranty" for > > details. > > > > This GDB was configured as > > "x86_64-redhat-linux-gnu"... > > > > (no debugging symbols > > found) > > > > (gdb) set args correctedsubject5.dcm outsubject5.dcm 103 142 95 17100 > > 17300 > > > > (gdb) > > run > > > > Starting program: > > > /trumpet/downloads/ConnectedThresholdImageFilter_Plugin/ConnectedThresholdImageFilter/ConnectedThresholdImageFilter2/ConnectedThresholdImageFilter > > correctedsubject5.dcm outsubject5.dcm 103 142 95 17100 > > 17300 > > > > (no debugging symbols > > found) > > > > (no debugging symbols found) > > [Thread debugging using libthread_db enabled] > > [New Thread 0x7ffff3b8c750 (LWP 24704)] > > > > Program received signal SIGSEGV, Segmentation fault. > > 0x00007ffff50efa3a in std::_Rb_tree > const, itk::SmartPointer >, > > std::_Select1st > itk::SmartPointer > >, std::less, > > std::allocator > itk::SmartPointer > > >::begin (this=0x0) at > > > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h:599 > > 599 (this->_M_impl._M_header._M_left)); > > Current language: auto; currently c++ > > Missing separate debuginfos, use: debuginfo-install > > e2fsprogs-libs-1.41.4-6.fc10.x86_64 glibc-2.9-3.x86_64 > libgcc-4.3.2-7.x86_64 > > libstdc++-4.3.2-7.x86_64 > > (gdb) where > > #0 0x00007ffff50efa3a in std::_Rb_tree std::pair > const, itk::SmartPointer >, > > std::_Select1st > itk::SmartPointer > >, std::less, > > std::allocator > itk::SmartPointer > > >::begin (this=0x0) at > > > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h:599 > > #1 0x00007ffff50efa65 in std::map > itk::SmartPointer, std::less, > > std::allocator > itk::SmartPointer > > >::begin (this=0x0) > > at > > > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h:276 > > #2 0x00007ffff50ef0b6 in itk::MetaDataDictionary::Begin (this=0x791a60) > > at > > > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkMetaDataDictionary.cxx:108 > > #3 0x00007ffff7caaab7 in itk::GDCMImageIO::Write (this=0x7fffffffd130, > > buffer=0x791110) > > at > > > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/IO/itkGDCMImageIO.cxx:1338 > > #4 0x000000000047e461 in itk::ImageFileReader, > > itk::DefaultConvertPixelTraits >::EnlargeOutputRequestedRegion () > > #5 0x00007ffff502f0e0 in itk::ProcessObject::PropagateRequestedRegion > > (this=0x784260, output=0x788630) > > at > > > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkProcessObject.cxx:783 > > #6 0x00007ffff4ff667b in itk::DataObject::PropagateRequestedRegion > > (this=0x788630) > > at > > > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkDataObject.cxx:389 > > #7 0x00007ffff4ff49e0 in itk::DataObject::Update (this=0x788630) > > at > > > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkDataObject.cxx:343 > > #8 0x00007ffff502f3ef in itk::ProcessObject::Update (this=0x784260) > > at > > > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkProcessObject.cxx:615 > > #9 0x000000000043fd3d in main () > > (gdb) > > > > > > On Mon, Nov 30, 2009 at 2:56 PM, John Drozd > wrote: > > > >> Hi Bill, > >> > >> I installed the nightly build of 3D Slicer which includes Itk 3.16. > >> > >> As you suggested I tried to compile my code with Itk 3.16, to see if the > >> "upside down" problem prevailed, but a new bigger problem exists for me > with > >> using Itk 3.16. > >> > >> I am perplexed that using Itk 3.16, my code segmenation faults when I > >> invoke reader->Update(), > >> for a dicom series or a dicom volume, whereas previously with itk 3.14 > it > >> worked just fine. > >> > >> I am currently trying to figure out how to set the "-g" compiler option > for > >> the CMakeLists.txt file so I can run the gdb debugger on it to find out > >> where it segmentation faults. > >> > >> I tried the command: > >> set (CMAKE_CXX_FLAGS_DEBUG_INIT "-g") > >> but so far that has not worked. > >> > >> john > >> > >> On Fri, Nov 27, 2009 at 4:48 PM, Bill Lorensen >wrote: > >> > >>> John, > >>> > >>> Actually, Mathieu reported in response that updating to 3.16 may help. > >>> Can you try this first? > >>> > >>> Bill > >>> > >>> On Fri, Nov 27, 2009 at 12:42 PM, John Drozd > >>> wrote: > >>> > Hi again, > >>> > > >>> > I was at home and I just figured out how to provide you this link to > my > >>> data > >>> > remotely, > >>> > so I provide it now instead of on the weekend: > >>> > > >>> > Here is a link to my data (3D dicom volume): > >>> > > >>> > input volume for my ConnectedThresholdFilter code: > >>> > http://www.apmaths.uwo.ca/~jdrozd/correctedsubject5.dcm > > >>> > > >>> > output volume from my ConnectedThresholdFilter code: > >>> > http://www.apmaths.uwo.ca/~jdrozd/outsubject5.dcm > > >>> > > >>> > If you need my CMakeLists.txt file, just let me know. > >>> > > >>> > to run the code type: > >>> > ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm > >>> 103 > >>> > 142 95 17100 17300 > >>> > and here is my code below: > >>> > > >>> > > >>> > > >>> > Below is my uncommented code: > >>> > /* > >>> > to run type: > >>> > ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm > >>> 103 > >>> > 142 95 17100 17300 > >>> > */ > >>> > #if defined(_MSC_VER) > >>> > #pragma warning ( disable : 4786 ) > >>> > #endif > >>> > #ifdef __BORLANDC__ > >>> > #define ITK_LEAN_AND_MEAN > >>> > #endif > >>> > #include "itkConnectedThresholdImageFilter.h" > >>> > #include "itkImage.h" > >>> > #include "itkCastImageFilter.h" > >>> > #include "itkCurvatureFlowImageFilter.h" > >>> > #include "itkImageFileReader.h" > >>> > #include "itkImageFileWriter.h" > >>> > #include "itkGDCMImageIO.h" > >>> > #include "itkVersion.h" > >>> > #include "itkOrientedImage.h" > >>> > #include "itkMinimumMaximumImageFilter.h" > >>> > #include "itkGDCMImageIO.h" > >>> > #include "itkGDCMSeriesFileNames.h" > >>> > #include "itkNumericSeriesFileNames.h" > >>> > #include "itkImageSeriesReader.h" > >>> > #include "itkImageSeriesWriter.h" > >>> > #include "itkResampleImageFilter.h" > >>> > #include "itkShiftScaleImageFilter.h" > >>> > #include "itkIdentityTransform.h" > >>> > #include "itkLinearInterpolateImageFunction.h" > >>> > #include > >>> > #include "gdcm/src/gdcmFile.h" > >>> > #include "gdcm/src/gdcmUtil.h" > >>> > #include > >>> > int main( int argc, char *argv[]) > >>> > { > >>> > if( argc < 7 ) > >>> > { > >>> > std::cerr << "Missing Parameters " << std::endl; > >>> > std::cerr << "Usage: " << argv[0]; > >>> > std::cerr << " inputImage outputImage seedX seedY seedZ > >>> lowerThreshold > >>> > upperThreshold" << std::endl; > >>> > return 1; > >>> > } > >>> > typedef float InternalPixelType; > >>> > > >>> > const unsigned int Dimension = 3; > >>> > typedef itk::Image< InternalPixelType, Dimension > > InternalImageType; > >>> > typedef signed short OutputPixelType; > >>> > typedef itk::Image< OutputPixelType, Dimension > OutputImageType; > >>> > typedef itk::Image< float, Dimension > OutputImageType2; > >>> > typedef itk::CastImageFilter< InternalImageType, OutputImageType > > >>> > CastingFilterType; > >>> > CastingFilterType::Pointer caster = CastingFilterType::New(); > >>> > > >>> > const unsigned int ImageDimension = 3; > >>> > typedef signed short PixelType; > >>> > typedef itk::Image< PixelType, ImageDimension > FixedImageType; > >>> > typedef itk::Image< float, ImageDimension > FloatImageType; > >>> > typedef itk::ImageFileReader< FixedImageType > ReaderType; > >>> > typedef itk::ImageFileWriter< OutputImageType > WriterType; > >>> > typedef itk::ImageFileWriter< FloatImageType > WriterType2; > >>> > ReaderType::Pointer reader = ReaderType::New(); > >>> > WriterType::Pointer writer = WriterType::New(); > >>> > WriterType2::Pointer writer2 = WriterType2::New(); > >>> > typedef itk::GDCMImageIO ImageIOTypefixed; > >>> > ImageIOTypefixed::Pointer gdcmImageIOfixed = > ImageIOTypefixed::New(); > >>> > reader->SetImageIO( gdcmImageIOfixed ); > >>> > typedef itk::GDCMImageIO ImageIOTypefixed2; > >>> > ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = > >>> ImageIOTypefixed2::New(); > >>> > reader->SetFileName( argv[1] ); > >>> > reader->Update(); > >>> > typedef itk::CurvatureFlowImageFilter< InternalImageType, > >>> > InternalImageType > > >>> > CurvatureFlowImageFilterType; > >>> > > >>> > CurvatureFlowImageFilterType::Pointer smoothing = > >>> > CurvatureFlowImageFilterType::New(); > >>> > typedef itk::ConnectedThresholdImageFilter< InternalImageType, > >>> > InternalImageType > > >>> ConnectedFilterType; > >>> > ConnectedFilterType::Pointer connectedThreshold = > >>> > ConnectedFilterType::New(); > >>> > typedef signed short InputAPixelType; > >>> > typedef float OutputBPixelType; > >>> > typedef itk::Image< InputAPixelType, 3 > InputAImageType; > >>> > typedef itk::Image< OutputBPixelType, 3 > OutputBImageType; > >>> > typedef itk::CastImageFilter< InputAImageType, OutputBImageType > > >>> > CastFilterType; > >>> > CastFilterType::Pointer castFilter = CastFilterType::New(); > >>> > castFilter->SetInput( reader->GetOutput() ); > >>> > > >>> > connectedThreshold->SetInput( castFilter->GetOutput() ); > >>> > caster->SetInput( connectedThreshold->GetOutput() ); > >>> > smoothing->SetNumberOfIterations( 20 ); //was 5 > >>> > smoothing->SetTimeStep( 0.125 ); > >>> > > >>> > const InternalPixelType lowerThreshold = atof( argv[6] ); > >>> > const InternalPixelType upperThreshold = atof( argv[7] ); > >>> > > >>> > connectedThreshold->SetLower( lowerThreshold ); > >>> > connectedThreshold->SetUpper( upperThreshold ); > >>> > > >>> > connectedThreshold->SetReplaceValue( 255 ); > >>> > InternalImageType::IndexType index; > >>> > > >>> > index[0] = atoi( argv[3] ); > >>> > index[1] = atoi( argv[4] ); > >>> > > >>> > //added > >>> > index[2] = atoi( argv[5] ); > >>> > std::cout << index << std::endl; > >>> > // Software Guide : BeginCodeSnippet > >>> > connectedThreshold->SetSeed( index ); > >>> > > >>> > //obtain a 5 x 5 bounding region of seeds > >>> > int ii, jj, kk; > >>> > ii = index[0]; > >>> > jj = index[1]; > >>> > kk = index[2]; > >>> > for (int i = ii; i < ii + 5; i++) > >>> > for (int j = jj; j < jj + 5; j++) > >>> > for (int k = kk; k < kk + 5; k++) > >>> > { > >>> > > >>> > index[0] = i; > >>> > index[1] = j; > >>> > index[2] = k; > >>> > connectedThreshold->AddSeed( index ); > >>> > } > >>> > for (int i = ii; i > ii - 5; i--) > >>> > for (int j = jj; j > jj - 5; j--) > >>> > for (int k = kk; k > kk - 5; k--) > >>> > { > >>> > > >>> > index[0] = i; > >>> > index[1] = j; > >>> > index[2] = k; > >>> > connectedThreshold->AddSeed( index ); > >>> > } > >>> > connectedThreshold->Print(std::cout,17100); > >>> > > >>> > typedef itk::MetaDataDictionary DictionaryType; > >>> > > >>> > DictionaryType inputdict = reader->GetMetaDataDictionary(); > >>> > > >>> > writer->SetMetaDataDictionary( inputdict ); > >>> > > >>> > writer->SetFileName( argv[2] ); > >>> > > >>> > writer->SetInput( caster->GetOutput() ); > >>> > try > >>> > { > >>> > writer->Update(); > >>> > } > >>> > catch( itk::ExceptionObject & excep ) > >>> > { > >>> > std::cerr << "Exception caught !" << std::endl; > >>> > std::cerr << excep << std::endl; > >>> > } > >>> > return 0; > >>> > On Fri, Nov 27, 2009 at 12:31 PM, John Drozd > >>> wrote: > >>> >> > >>> >> Hi all, > >>> >> > >>> >> I originally have a dicom series of 2d slices which I had converted > to > >>> a > >>> >> 3D dicom volume for processing. > >>> >> I'll try processing the dicom series and then write the output to a > >>> dicom > >>> >> series of 2d slices, to see if I can circumvent this problem. > >>> >> I'll let you know if this works? > >>> >> > >>> >> I'll provide a link to my data as well, but it probably won't be > until > >>> the > >>> >> weekend. > >>> >> > >>> >> Thanks, > >>> >> john > >>> >> > >>> >> On Fri, Nov 27, 2009 at 12:23 PM, Mathieu Malaterre > >>> >> wrote: > >>> >>> > >>> >>> This is a post ITK 3.16 feature I am afraid: > >>> >>> > >>> >>> http://www.cmake.org/Bug/view.php?id=7748 > >>> >>> > >>> >>> (0017626) > >>> >>> Mathieu.Malaterre (developer) > >>> >>> 2009-09-19 06:51 > >>> >>> > >>> >>> This will be post ITK 3.16. > >>> >>> > >>> >>> Thanks for the patch ! Sorry for being so long to fix it. > >>> >>> > >>> >>> On Fri, Nov 27, 2009 at 6:11 PM, Bill Lorensen < > >>> bill.lorensen at gmail.com> > >>> >>> wrote: > >>> >>> > John, > >>> >>> > > >>> >>> > 3.16 will not help. This looks like a bug for sure. > >>> >>> > > >>> >>> > Can you provide a link to a dataset that we can use to reproduce > the > >>> >>> > problem? We don't have much experience with 3D dicom files I'm > >>> afraid. > >>> >>> > > >>> >>> > Bill > >>> >>> > > >>> >>> > On Fri, Nov 27, 2009 at 11:59 AM, John Drozd < > john.drozd at gmail.com> > >>> >>> > wrote: > >>> >>> >> Hi Bill, > >>> >>> >> > >>> >>> >> I am currently using the ITK 3.14 that is in the 3D Slicer 3.4 > >>> >>> >> directory Slicer3-lib/Insight > >>> >>> >> > >>> >>> >> If I upgrade to ITK 3.16, will this solve my problem? > >>> >>> >> > >>> >>> >> I downloaded ITK 3.16 and noticed using the diff command that > >>> >>> >> itkGDCMIO.h has been modified from what it was in ITK 3.14. > >>> >>> >> > >>> >>> >> But when I ran diff on gdcmOrientation.cxx in both versions of > ITK, > >>> >>> >> diff showed no difference. > >>> >>> >> > >>> >>> >> John > >>> >>> >> > >>> >>> >> On Friday, November 27, 2009, Bill Lorensen < > >>> bill.lorensen at gmail.com> > >>> >>> >> wrote: > >>> >>> >>> John, > >>> >>> >>> > >>> >>> >>> What version of itk are you using? Are you using the gdcm 1.x > that > >>> is > >>> >>> >>> in the itk source tree or an external gdcm 2.x version? > >>> >>> >>> > >>> >>> >>> Bill > >>> >>> >>> > >>> >>> >>> On Thu, Nov 26, 2009 at 3:22 PM, John Drozd < > john.drozd at gmail.com > >>> > > >>> >>> >>> wrote: > >>> >>> >>>> Hi Luis, > >>> >>> >>>> > >>> >>> >>>> I was getting a segmentation fault because I had forgotten to > >>> change > >>> >>> >>>> the > >>> >>> >>>> Dimension from 2 to 3 in DicomReadPrintTag.cxx. > >>> >>> >>>> > >>> >>> >>>> For the input image, I have: > >>> >>> >>>> (0020|0037) Image Orientation (Patient) = > >>> 0.0\0.0\-1.0\0.0\1.0\0.0 > >>> >>> >>>> > >>> >>> >>>> For the output image, I have: > >>> >>> >>>> (0020|0037) Image Orientation (Patient) = > >>> >>> >>>> 0.000000\0.000000\1.000000\0.000000\1.000000\0.000000 > >>> >>> >>>> > >>> >>> >>>> There is a difference. Since the program is changing the > >>> >>> >>>> orientation when > >>> >>> >>>> processed through the pipeline, is the best approach to > manually > >>> >>> >>>> change the > >>> >>> >>>> orientation tag of the dictionary and then copy the revised > >>> >>> >>>> dictionary to > >>> >>> >>>> the output file? > >>> >>> >>>> > >>> >>> >>>> john > >>> >>> >>>> > >>> >>> >>>> Below are the full tags: > >>> >>> >>>> > >>> >>> >>>> [jdrozd at trumpet DicomImageReadPrintTags]$ > >>> ./DicomImageReadPrintTags > >>> >>> >>>> correctedsubject5.dcm > >>> >>> >>>> (0002|0000) Group Length = > >>> >>> >>>> 214 > >>> >>> >>>> (0002|0001) File Meta Information Version = > >>> >>> >>>> AAE= > >>> >>> >>>> (0002|0002) Media Storage SOP Class UID = > >>> >>> >>>> 1.2.840.10008.5.1.4.1.1.2 > >>> >>> >>>> (0002|0003) Media Storage SOP Instance UID = > >>> >>> >>>> > 1.2.826.0.1.3680043.2.1125.1.10607669833050788267094246636093811 > >>> >>> >>>> (0002|0010) Transfer Syntax UID = > >>> >>> >>>> 1.2.840.10008.1.2.1 > >>> >>> >>>> (0002|0012) Implementation Class UID = > >>> >>> >>>> 147.144.143.155 > >>> >>> >>>> (0002|0013) Implementation Version Name = ITK/GDCM > >>> >>> >>>> 1.2.4 > >>> >>> >>>> (0002|0016) Source Application Entity Title = > >>> >>> >>>> NOTSPECIFIED > >>> >>> >>>> (0008|0008) Image Type = > >>> >>> >>>> DERIVED\PRIMARY > >>> >>> >>>> (0008|0012) Instance Creation Date = > >>> >>> >>>> 20091029 > >>> >>> >>>> (0008|0013) Instance Creation Time = > >>> >>> >>>> 135224 > >>> >>> >>>> (0008|0016) SOP Class UID = > >>> >>> >>>> 1.2.840.10008.5.1.4.1.1.2 > >>> >>> >>>> (0008|0018) SOP Instance UID = > >>> >>> >>>> > 1.2.826.0.1.3680043.2.1125.1.10607669833050788267094246636093811 > >>> >>> >>>> (0008|0020) Study Date = > >>> >>> >>>> 20081030 > >>> >>> >>>> (0008|0030) Study Time = > >>> >>> >>>> 164348.940 > >>> >>> >>>> (0008|0050) Accession Number > >>> >>> >>>> = > >>> >>> >>>> (0008|0060) Modality = > >>> >>> >>>> CT > >>> >>> >>>> (0008|0064) Conversion Type = > >>> >>> >>>> WSD > >>> >>> >>>> (0008|0070) Manufacturer = > >>> >>> >>>> Manifacturer > >>> >>> >>>> (0008|0080) Institution Name = GDCM > >>> >>> >>>> Hospital > >>> >>> >>>> (0008|0090) Referring Physician's Name = Refering > >>> >>> >>>> Phisician > >>> >>> >>>> (0010|0010) Patient's Name = Patient > >>> >>> >>>> 188858520 > >>> >>> >>>> (0010|0020) Patient ID = > >>> >>> >>>> 1747233212 > >>> >>> >>>> (0010|0030) Patient's Birth Date = > >>> >>> >>>> 19500101 > >>> >>> >>>> (0010|0040) Patient's Sex = > >>> >>> >>>> M > >>> >>> >>>> (0018|0088) Spacing Between Slices = > >>> >>> >>>> 1.207500 > >>> >>> >>>> (0018|1164) Imager Pixel Spacing = > >>> >>> >>>> 0.945750\0.945750 > >>> >>> >>>> (0020|000d) Study Instance UID = > >>> >>> >>>> > 1.2.826.0.1.3680043.2.1125.1.53653479342656887425609263146205769 > >>> >>> >>>> (0020|000e) Series Instance UID = > >>> >>> >>>> > 1.2.826.0.1.3680043.2.1125.1.47155241092896696198844159625679986 > >>> >>> >>>> (0020|0010) Study ID = > >>> >>> >>>> 1533117581 > >>> >>> >>>> (0020|0011) Series Number = > >>> >>> >>>> 2135500125 > >>> >>> >>>> (0020|0013) Instance Number = > >>> >>> >>>> 165 > >>> >>> >>>> (0020|0020) Patient Orientation = > >>> >>> >>>> L\P > >>> >>> >>>> (0020|0032) Image Position (Patient) = > >>> >>> >>>> 199.237496852874\0.0\0.0 > >>> >>> >>>> (0020|0037) Image Orientation (Patient) = > >>> >>> >>>> 0.0\0.0\-1.0\0.0\1.0\0.0 > >>> >>> >>>> (0020|4000) Image Comments = NOT FOR CLINICAL > >>> >>> >>>> USE > >>> >>> >>>> (0028|0002) Samples per Pixel = > >>> >>> >>>> 1 > >>> >>> >>>> (0028|0004) Photometric Interpretation = > >>> >>> >>>> MONOCHROME2 > >>> >>> >>>> (0028|0008) Number of Frames = > >>> >>> >>>> 166 > >>> >>> >>>> (0028|0010) Rows = > >>> >>> >>>> 256 > >>> >>> >>>> (0028|0011) Columns = > >>> >>> >>>> 256 > >>> >>> >>>> (0028|0030) Pixel Spacing = > >>> >>> >>>> 0.945750\0.945750 > >>> >>> >>>> (0028|0034) Pixel Aspect Ratio = > >>> >>> >>>> 1\1 > >>> >>> >>>> (0028|0100) Bits Allocated = > >>> >>> >>>> 16 > >>> >>> >>>> (0028|0101) Bits Stored = > >>> >>> >>>> 16 > >>> >>> >>>> (0028|0102) High Bit = > >>> >>> >>>> 15 > >>> >>> >>>> (0028|0103) Pixel Representation = > >>> >>> >>>> 0 > >>> >>> >>>> (0028|1052) Rescale Intercept = > >>> >>> >>>> 0.0 > >>> >>> >>>> (0028|1053) Rescale Slope = > >>> >>> >>>> 1.0 > >>> >>> >>>> (0028|1054) Rescale Type = > >>> >>> >>>> US > >>> >>> >>>> (7fe0|0000) Group Length = > >>> >>> >>>> 21757964 > >>> >>> >>>> Patient's Name (0010|0010) is: Patient > >>> >>> >>>> 188858520 > >>> >>> >>>> Performing Physician's Name (0008|1050): (No Value Found in > >>> >>> >>>> File) > >>> >>> >>>> PixelType: > >>> >>> >>>> scalar > >>> >>> >>>> Component Type: unsigned_short > >>> >>> >>>> > >>> >>> >>>> [jdrozd at trumpet DicomImageReadPrintTags]$ > >>> ./DicomImageReadPrintTags > >>> >>> >>>> outsubject5.dcm > >>> >>> >>>> (0002|0000) Group Length = > >>> >>> >>>> 194 > >>> >>> >>>> (0002|00 > >>> >>> >> > >>> >>> > _____________________________________ > >>> >>> > Powered by www.kitware.com > >>> >>> > > >>> >>> > Visit other Kitware open-source projects at > >>> >>> > http://www.kitware.com/opensource/opensource.html > >>> >>> > > >>> >>> > Kitware offers ITK Training Courses, for more information visit: > >>> >>> > http://www.kitware.com/products/protraining.html > >>> >>> > > >>> >>> > Please keep messages on-topic and check the ITK FAQ at: > >>> >>> > http://www.itk.org/Wiki/ITK_FAQ > >>> >>> > > >>> >>> > Follow this link to subscribe/unsubscribe: > >>> >>> > http://www.itk.org/mailman/listinfo/insight-users > >>> >>> > > >>> >>> > >>> >>> > >>> >>> > >>> >>> -- > >>> >>> Mathieu > >>> >> > >>> > > >>> > > >>> > >> > >> > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > URL: < > http://www.itk.org/pipermail/insight-users/attachments/20091130/706fed79/attachment.htm > > > > > > ------------------------------ > > > > _______________________________________________ > > Insight-users mailing list > > Insight-users at itk.org > > http://www.itk.org/mailman/listinfo/insight-users > > > > > > End of Insight-users Digest, Vol 67, Issue 178 > > ********************************************** > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hobbsk at ohiou.edu Tue Dec 1 11:31:44 2009 From: hobbsk at ohiou.edu (Kevin H. Hobbs) Date: Tue, 01 Dec 2009 11:31:44 -0500 Subject: [Insight-users] Distributed Memory and ITK Message-ID: <4B1544F0.9040401@ohiou.edu> All of you have at least asked a question on the ITK users list about the use of distributed memory parallel processing with ITK. I have submitted an Insight Journal article that uses MPI and ITK and I would be very pleased if you could review it. As of now the Insight journal testing system does not support MPI so the automatic review shows only that CMake failed to configure the project. The communication of image data, parallel reading, and parallel writing used inside the program all work, but the MPI Fast marching algorithm needs some serious love. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 252 bytes Desc: OpenPGP digital signature URL: From bill.lorensen at gmail.com Tue Dec 1 11:40:28 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 1 Dec 2009 11:40:28 -0500 Subject: [Insight-users] problem with orientation of dicom output from segmentation In-Reply-To: References: <82f536810911301546i576aa579s2cfd07780e4029dc@mail.gmail.com> Message-ID: <4db4735c0912010840qb6b7973q64425d7153c435d9@mail.gmail.com> John, I just built and ran your program with your data using the current Insight cvs. The program ran and the resultant output and its associated input all displayed correctly in Slicer3. Now, I'll try again with the Slicer3 ITK and let you know what happens. Bill On Tue, Dec 1, 2009 at 11:16 AM, John Drozd wrote: > Thanks Andriy, > > With BUILD_TYPE set to DEBUG, gdb no longer complains about "no debug > symbols". > > It just complains about: > Missing separate debuginfos, use: debuginfo-install > e2fsprogs-libs-1.41.4-6.fc10.x86_64 glibc-2.9-3.x86_64 libgcc-4.3.2-7.x86_64 > libstdc++-4.3.2-7.x86_64 > > Thanks, > john > > On Mon, Nov 30, 2009 at 6:46 PM, Andriy Fedorov > wrote: >> >> > I ended up using the statementy in my CMakeLists.txt file: >> > SET (CMAKE_CXX_FLAGS_DEBUG "-DDEBUG -ggdb" CACHE STRING "Flags used by >> > the >> > compiler during debug builds." FORCE) >> > >> >> John, I thought you should be able to configure debug flags by setting >> BUILD_TYPE to DEBUG in ccmake interface. >> >> >> > Here is the debugger output. ?I will try to figure out the problem as to >> > why >> > my code is segmentation faulting, but I thought I would send you the gdb >> > debugger output, in case you have some insight: >> > >> > thanks, >> > john >> > >> > [jdrozd at trumpet ConnectedThresholdImageFilter2]$ gdb >> > ./ConnectedThresholdImageFilter >> > >> > GNU gdb Fedora >> > (6.8-32.fc10) >> > >> > Copyright (C) 2008 Free Software Foundation, >> > Inc. >> > >> > License GPLv3+: GNU GPL version 3 or later >> > >> > >> > This is free software: you are free to change and redistribute >> > it. >> > >> > There is NO WARRANTY, to the extent permitted by law. ?Type "show >> > copying" >> > >> > and "show warranty" for >> > details. >> > >> > This GDB was configured as >> > "x86_64-redhat-linux-gnu"... >> > >> > (no debugging symbols >> > found) >> > >> > (gdb) set args correctedsubject5.dcm outsubject5.dcm 103 142 95 17100 >> > 17300 >> > >> > (gdb) >> > run >> > >> > Starting program: >> > >> > /trumpet/downloads/ConnectedThresholdImageFilter_Plugin/ConnectedThresholdImageFilter/ConnectedThresholdImageFilter2/ConnectedThresholdImageFilter >> > correctedsubject5.dcm outsubject5.dcm 103 142 95 17100 >> > 17300 >> > >> > (no debugging symbols >> > found) >> > >> > (no debugging symbols found) >> > [Thread debugging using libthread_db enabled] >> > [New Thread 0x7ffff3b8c750 (LWP 24704)] >> > >> > Program received signal SIGSEGV, Segmentation fault. >> > 0x00007ffff50efa3a in std::_Rb_tree> > const, itk::SmartPointer >, >> > std::_Select1st> > itk::SmartPointer > >, std::less, >> > std::allocator> > itk::SmartPointer > > >::begin (this=0x0) at >> > >> > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h:599 >> > 599 ? ? ? ? ? ? ? ? ? ? ? ? ? ? (this->_M_impl._M_header._M_left)); >> > Current language: ?auto; currently c++ >> > Missing separate debuginfos, use: debuginfo-install >> > e2fsprogs-libs-1.41.4-6.fc10.x86_64 glibc-2.9-3.x86_64 >> > libgcc-4.3.2-7.x86_64 >> > libstdc++-4.3.2-7.x86_64 >> > (gdb) where >> > #0 ?0x00007ffff50efa3a in std::_Rb_tree> > std::pair> > const, itk::SmartPointer >, >> > std::_Select1st> > itk::SmartPointer > >, std::less, >> > std::allocator> > itk::SmartPointer > > >::begin (this=0x0) at >> > >> > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h:599 >> > #1 ?0x00007ffff50efa65 in std::map> > itk::SmartPointer, std::less, >> > std::allocator> > itk::SmartPointer > > >::begin (this=0x0) >> > ? ?at >> > >> > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h:276 >> > #2 ?0x00007ffff50ef0b6 in itk::MetaDataDictionary::Begin (this=0x791a60) >> > ? ?at >> > >> > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkMetaDataDictionary.cxx:108 >> > #3 ?0x00007ffff7caaab7 in itk::GDCMImageIO::Write (this=0x7fffffffd130, >> > buffer=0x791110) >> > ? ?at >> > >> > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/IO/itkGDCMImageIO.cxx:1338 >> > #4 ?0x000000000047e461 in itk::ImageFileReader, >> > itk::DefaultConvertPixelTraits >::EnlargeOutputRequestedRegion () >> > #5 ?0x00007ffff502f0e0 in itk::ProcessObject::PropagateRequestedRegion >> > (this=0x784260, output=0x788630) >> > ? ?at >> > >> > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkProcessObject.cxx:783 >> > #6 ?0x00007ffff4ff667b in itk::DataObject::PropagateRequestedRegion >> > (this=0x788630) >> > ? ?at >> > >> > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkDataObject.cxx:389 >> > #7 ?0x00007ffff4ff49e0 in itk::DataObject::Update (this=0x788630) >> > ? ?at >> > >> > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkDataObject.cxx:343 >> > #8 ?0x00007ffff502f3ef in itk::ProcessObject::Update (this=0x784260) >> > ? ?at >> > >> > /trumpet/downloads/3DSlicerNov302009/Slicer3-lib/Insight/Code/Common/itkProcessObject.cxx:615 >> > #9 ?0x000000000043fd3d in main () >> > (gdb) >> > >> > >> > On Mon, Nov 30, 2009 at 2:56 PM, John Drozd >> > wrote: >> > >> >> Hi Bill, >> >> >> >> I installed the nightly build of 3D Slicer which includes Itk 3.16. >> >> >> >> As you suggested I tried to compile my code with Itk 3.16, to see if >> >> the >> >> "upside down" problem prevailed, but a new bigger problem exists for me >> >> with >> >> using Itk 3.16. >> >> >> >> I am perplexed that using Itk 3.16, my code segmenation faults when I >> >> invoke reader->Update(), >> >> for a dicom series or a dicom volume, whereas previously with itk 3.14 >> >> it >> >> worked just fine. >> >> >> >> I am currently trying to figure out how to set the "-g" compiler option >> >> for >> >> the CMakeLists.txt file so I can run the gdb debugger on it to find out >> >> where it segmentation faults. >> >> >> >> I tried the command: >> >> set (CMAKE_CXX_FLAGS_DEBUG_INIT "-g") >> >> but so far that has not worked. >> >> >> >> john >> >> >> >> On Fri, Nov 27, 2009 at 4:48 PM, Bill Lorensen >> >> wrote: >> >> >> >>> John, >> >>> >> >>> Actually, Mathieu reported in response that updating to 3.16 may help. >> >>> Can you try this first? >> >>> >> >>> Bill >> >>> >> >>> On Fri, Nov 27, 2009 at 12:42 PM, John Drozd >> >>> wrote: >> >>> > Hi again, >> >>> > >> >>> > I was at home and I just figured out how to provide you this link to >> >>> > my >> >>> data >> >>> > remotely, >> >>> > so I provide it now instead of on the weekend: >> >>> > >> >>> > Here is a link to my data (3D dicom volume): >> >>> > >> >>> > input volume for my ConnectedThresholdFilter code: >> >>> > >> >>> > http://www.apmaths.uwo.ca/~jdrozd/correctedsubject5.dcm >> >>> > >> >>> > output volume from my ConnectedThresholdFilter code: >> >>> > >> >>> > http://www.apmaths.uwo.ca/~jdrozd/outsubject5.dcm >> >>> > >> >>> > If you need my CMakeLists.txt file, just let me know. >> >>> > >> >>> > to run the code type: >> >>> > ./ConnectedThresholdImageFilter correctedsubject5.dcm >> >>> > outsubject5.dcm >> >>> 103 >> >>> > 142 95 17100 17300 >> >>> > and here is my code below: >> >>> > >> >>> > >> >>> > >> >>> > Below is my uncommented code: >> >>> > /* >> >>> > to run type: >> >>> > ./ConnectedThresholdImageFilter correctedsubject5.dcm >> >>> > outsubject5.dcm >> >>> 103 >> >>> > 142 95 17100 17300 >> >>> > */ >> >>> > #if defined(_MSC_VER) >> >>> > #pragma warning ( disable : 4786 ) >> >>> > #endif >> >>> > #ifdef __BORLANDC__ >> >>> > #define ITK_LEAN_AND_MEAN >> >>> > #endif >> >>> > #include "itkConnectedThresholdImageFilter.h" >> >>> > #include "itkImage.h" >> >>> > #include "itkCastImageFilter.h" >> >>> > #include "itkCurvatureFlowImageFilter.h" >> >>> > #include "itkImageFileReader.h" >> >>> > #include "itkImageFileWriter.h" >> >>> > #include "itkGDCMImageIO.h" >> >>> > #include "itkVersion.h" >> >>> > #include "itkOrientedImage.h" >> >>> > #include "itkMinimumMaximumImageFilter.h" >> >>> > #include "itkGDCMImageIO.h" >> >>> > #include "itkGDCMSeriesFileNames.h" >> >>> > #include "itkNumericSeriesFileNames.h" >> >>> > #include "itkImageSeriesReader.h" >> >>> > #include "itkImageSeriesWriter.h" >> >>> > #include "itkResampleImageFilter.h" >> >>> > #include "itkShiftScaleImageFilter.h" >> >>> > #include "itkIdentityTransform.h" >> >>> > #include "itkLinearInterpolateImageFunction.h" >> >>> > #include >> >>> > #include "gdcm/src/gdcmFile.h" >> >>> > #include "gdcm/src/gdcmUtil.h" >> >>> > #include >> >>> > int main( int argc, char *argv[]) >> >>> > { >> >>> > ? if( argc < 7 ) >> >>> > ? ? { >> >>> > ? ? std::cerr << "Missing Parameters " << std::endl; >> >>> > ? ? std::cerr << "Usage: " << argv[0]; >> >>> > ? ? std::cerr << " inputImage ?outputImage seedX seedY seedZ >> >>> lowerThreshold >> >>> > upperThreshold" << std::endl; >> >>> > ? ? return 1; >> >>> > ? ? } >> >>> > ? typedef ? float ? ? ? ? ? InternalPixelType; >> >>> > >> >>> > ? const ? ? unsigned int ? ?Dimension = 3; >> >>> > ? typedef itk::Image< InternalPixelType, Dimension > >> >>> > ?InternalImageType; >> >>> > ? typedef signed short OutputPixelType; >> >>> > ? typedef itk::Image< OutputPixelType, Dimension > OutputImageType; >> >>> > ? typedef itk::Image< float, Dimension > OutputImageType2; >> >>> > ? typedef itk::CastImageFilter< InternalImageType, OutputImageType > >> >>> > ? ? CastingFilterType; >> >>> > ? CastingFilterType::Pointer caster = CastingFilterType::New(); >> >>> > >> >>> > ? const ? ?unsigned int ? ?ImageDimension = 3; >> >>> > ? typedef ?signed short ? ?PixelType; >> >>> > ? typedef itk::Image< PixelType, ImageDimension > ?FixedImageType; >> >>> > ? typedef itk::Image< float, ImageDimension > ?FloatImageType; >> >>> > ? typedef ?itk::ImageFileReader< FixedImageType > ReaderType; >> >>> > ? typedef ?itk::ImageFileWriter< ?OutputImageType ?> WriterType; >> >>> > ? typedef ?itk::ImageFileWriter< ?FloatImageType ?> WriterType2; >> >>> > ? ReaderType::Pointer reader = ReaderType::New(); >> >>> > ? WriterType::Pointer writer = WriterType::New(); >> >>> > ? WriterType2::Pointer writer2 = WriterType2::New(); >> >>> > ? typedef itk::GDCMImageIO ? ? ? ? ? ImageIOTypefixed; >> >>> > ? ImageIOTypefixed::Pointer gdcmImageIOfixed = >> >>> > ImageIOTypefixed::New(); >> >>> > ? reader->SetImageIO( gdcmImageIOfixed ); >> >>> > ? typedef itk::GDCMImageIO ? ? ? ? ? ImageIOTypefixed2; >> >>> > ? ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = >> >>> ImageIOTypefixed2::New(); >> >>> > ? reader->SetFileName( argv[1] ); >> >>> > ? reader->Update(); >> >>> > ? typedef itk::CurvatureFlowImageFilter< InternalImageType, >> >>> > InternalImageType > >> >>> > ? ? CurvatureFlowImageFilterType; >> >>> > >> >>> > ? CurvatureFlowImageFilterType::Pointer smoothing = >> >>> > ? ? ? ? ? ? ? ? ? ? ? ? ?CurvatureFlowImageFilterType::New(); >> >>> > ? typedef itk::ConnectedThresholdImageFilter< InternalImageType, >> >>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? InternalImageType > >> >>> ConnectedFilterType; >> >>> > ? ConnectedFilterType::Pointer connectedThreshold = >> >>> > ConnectedFilterType::New(); >> >>> > ? typedef signed short InputAPixelType; >> >>> > ? typedef float OutputBPixelType; >> >>> > ? typedef itk::Image< InputAPixelType, 3 > InputAImageType; >> >>> > ? typedef itk::Image< OutputBPixelType, 3 > OutputBImageType; >> >>> > ? typedef itk::CastImageFilter< InputAImageType, OutputBImageType > >> >>> > CastFilterType; >> >>> > ? CastFilterType::Pointer castFilter = CastFilterType::New(); >> >>> > ? castFilter->SetInput( reader->GetOutput() ); >> >>> > >> >>> > ? connectedThreshold->SetInput( castFilter->GetOutput() ); >> >>> > ? caster->SetInput( connectedThreshold->GetOutput() ); >> >>> > ? smoothing->SetNumberOfIterations( 20 ); //was 5 >> >>> > ? smoothing->SetTimeStep( 0.125 ); >> >>> > >> >>> > ? const InternalPixelType lowerThreshold = atof( argv[6] ); >> >>> > ? const InternalPixelType upperThreshold = atof( argv[7] ); >> >>> > >> >>> > ? connectedThreshold->SetLower( ?lowerThreshold ?); >> >>> > ? connectedThreshold->SetUpper( ?upperThreshold ?); >> >>> > >> >>> > ? connectedThreshold->SetReplaceValue( 255 ); >> >>> > ? InternalImageType::IndexType ?index; >> >>> > >> >>> > ? index[0] = atoi( argv[3] ); >> >>> > ? index[1] = atoi( argv[4] ); >> >>> > >> >>> > ? //added >> >>> > ? index[2] = atoi( argv[5] ); >> >>> > ? std::cout << index << std::endl; >> >>> > ? // Software Guide : BeginCodeSnippet >> >>> > ? connectedThreshold->SetSeed( index ); >> >>> > >> >>> > ? //obtain a 5 x 5 bounding region of seeds >> >>> > ? int ii, jj, kk; >> >>> > ? ii = index[0]; >> >>> > ? jj = index[1]; >> >>> > ? kk = index[2]; >> >>> > ? for (int i = ii; i < ii + 5; i++) >> >>> > ? ? for (int j = jj; j < jj + 5; j++) >> >>> > ? ? ? for (int k = kk; k < kk + 5; k++) >> >>> > ? ? { >> >>> > >> >>> > ? ? ? index[0] = i; >> >>> > ? ? ? index[1] = j; >> >>> > ? ? ? index[2] = k; >> >>> > ? ? ? connectedThreshold->AddSeed( index ); >> >>> > ? ? } >> >>> > ? for (int i = ii; i > ii - 5; i--) >> >>> > ? ? for (int j = jj; j > jj - 5; j--) >> >>> > ? ? ? for (int k = kk; k > kk - 5; k--) >> >>> > ? ? { >> >>> > >> >>> > ? ? ? index[0] = i; >> >>> > ? ? ? index[1] = j; >> >>> > ? ? ? index[2] = k; >> >>> > ? ? ? connectedThreshold->AddSeed( index ); >> >>> > ? ? } >> >>> > ? connectedThreshold->Print(std::cout,17100); >> >>> > >> >>> > ? typedef itk::MetaDataDictionary DictionaryType; >> >>> > >> >>> > ? DictionaryType inputdict = reader->GetMetaDataDictionary(); >> >>> > >> >>> > ? writer->SetMetaDataDictionary( inputdict ); >> >>> > >> >>> > ? writer->SetFileName( argv[2] ); >> >>> > >> >>> > ? writer->SetInput( caster->GetOutput() ); >> >>> > ? try >> >>> > ? ? { >> >>> > ? ? writer->Update(); >> >>> > ? ? } >> >>> > ? catch( itk::ExceptionObject & excep ) >> >>> > ? ? { >> >>> > ? ? std::cerr << "Exception caught !" << std::endl; >> >>> > ? ? std::cerr << excep << std::endl; >> >>> > ? ? } >> >>> > ? return 0; >> >>> > On Fri, Nov 27, 2009 at 12:31 PM, John Drozd >> >>> wrote: >> >>> >> >> >>> >> Hi all, >> >>> >> >> >>> >> I originally have a dicom series of 2d slices which I had converted >> >>> >> to >> >>> a >> >>> >> 3D dicom volume for processing. >> >>> >> I'll try processing the dicom series and then write the output to a >> >>> dicom >> >>> >> series of 2d slices, to see if I can circumvent this problem. >> >>> >> I'll let you know if this works? >> >>> >> >> >>> >> I'll provide a link to my data as well, but it probably won't be >> >>> >> until >> >>> the >> >>> >> weekend. >> >>> >> >> >>> >> Thanks, >> >>> >> john >> >>> >> >> >>> >> On Fri, Nov 27, 2009 at 12:23 PM, Mathieu Malaterre >> >>> >> wrote: >> >>> >>> >> >>> >>> This is a post ITK 3.16 feature I am afraid: >> >>> >>> >> >>> >>> http://www.cmake.org/Bug/view.php?id=7748 >> >>> >>> >> >>> >>> (0017626) >> >>> >>> Mathieu.Malaterre (developer) >> >>> >>> 2009-09-19 06:51 >> >>> >>> >> >>> >>> ? ? ? ?This will be post ITK 3.16. >> >>> >>> >> >>> >>> Thanks for the patch ! Sorry for being so long to fix it. >> >>> >>> >> >>> >>> On Fri, Nov 27, 2009 at 6:11 PM, Bill Lorensen < >> >>> bill.lorensen at gmail.com> >> >>> >>> wrote: >> >>> >>> > John, >> >>> >>> > >> >>> >>> > 3.16 will not help. This looks like a bug for sure. >> >>> >>> > >> >>> >>> > Can you provide a link to a dataset that we can use to reproduce >> >>> >>> > the >> >>> >>> > problem? We don't have much experience with 3D dicom files I'm >> >>> afraid. >> >>> >>> > >> >>> >>> > Bill >> >>> >>> > >> >>> >>> > On Fri, Nov 27, 2009 at 11:59 AM, John Drozd >> >>> >>> > >> >>> >>> > wrote: >> >>> >>> >> Hi Bill, >> >>> >>> >> >> >>> >>> >> I am currently using the ITK 3.14 that is in the 3D Slicer 3.4 >> >>> >>> >> directory Slicer3-lib/Insight >> >>> >>> >> >> >>> >>> >> If I upgrade to ITK 3.16, will this solve my problem? >> >>> >>> >> >> >>> >>> >> I downloaded ITK 3.16 and noticed using the diff command that >> >>> >>> >> itkGDCMIO.h has been modified from what it was in ITK 3.14. >> >>> >>> >> >> >>> >>> >> But when I ran diff on gdcmOrientation.cxx in both versions of >> >>> >>> >> ITK, >> >>> >>> >> diff showed no difference. >> >>> >>> >> >> >>> >>> >> John >> >>> >>> >> >> >>> >>> >> On Friday, November 27, 2009, Bill Lorensen < >> >>> bill.lorensen at gmail.com> >> >>> >>> >> wrote: >> >>> >>> >>> John, >> >>> >>> >>> >> >>> >>> >>> What version of itk are you using? Are you using the gdcm 1.x >> >>> >>> >>> that >> >>> is >> >>> >>> >>> in the itk source tree or an external gdcm 2.x version? >> >>> >>> >>> >> >>> >>> >>> Bill >> >>> >>> >>> >> >>> >>> >>> On Thu, Nov 26, 2009 at 3:22 PM, John Drozd >> >>> >>> >>> > >>> > >> >>> >>> >>> wrote: >> >>> >>> >>>> Hi Luis, >> >>> >>> >>>> >> >>> >>> >>>> I was getting a segmentation fault because I had forgotten to >> >>> change >> >>> >>> >>>> the >> >>> >>> >>>> Dimension from 2 to 3 in DicomReadPrintTag.cxx. >> >>> >>> >>>> >> >>> >>> >>>> For the input image, I have: >> >>> >>> >>>> (0020|0037) Image Orientation (Patient) = >> >>> 0.0\0.0\-1.0\0.0\1.0\0.0 >> >>> >>> >>>> >> >>> >>> >>>> For the output image, I have: >> >>> >>> >>>> (0020|0037) Image Orientation (Patient) = >> >>> >>> >>>> 0.000000\0.000000\1.000000\0.000000\1.000000\0.000000 >> >>> >>> >>>> >> >>> >>> >>>> There is a difference. ?Since the program is changing the >> >>> >>> >>>> orientation when >> >>> >>> >>>> processed through the pipeline, is the best approach to >> >>> >>> >>>> manually >> >>> >>> >>>> change the >> >>> >>> >>>> orientation tag of the dictionary and then copy the revised >> >>> >>> >>>> dictionary to >> >>> >>> >>>> the output file? >> >>> >>> >>>> >> >>> >>> >>>> john >> >>> >>> >>>> >> >>> >>> >>>> Below are the full tags: >> >>> >>> >>>> >> >>> >>> >>>> [jdrozd at trumpet DicomImageReadPrintTags]$ >> >>> ./DicomImageReadPrintTags >> >>> >>> >>>> correctedsubject5.dcm >> >>> >>> >>>> (0002|0000) Group Length = >> >>> >>> >>>> 214 >> >>> >>> >>>> (0002|0001) File Meta Information Version = >> >>> >>> >>>> AAE= >> >>> >>> >>>> (0002|0002) Media Storage SOP Class UID = >> >>> >>> >>>> 1.2.840.10008.5.1.4.1.1.2 >> >>> >>> >>>> (0002|0003) Media Storage SOP Instance UID = >> >>> >>> >>>> >> >>> >>> >>>> 1.2.826.0.1.3680043.2.1125.1.10607669833050788267094246636093811 >> >>> >>> >>>> (0002|0010) Transfer Syntax UID = >> >>> >>> >>>> 1.2.840.10008.1.2.1 >> >>> >>> >>>> (0002|0012) Implementation Class UID = >> >>> >>> >>>> 147.144.143.155 >> >>> >>> >>>> (0002|0013) Implementation Version Name = ITK/GDCM >> >>> >>> >>>> 1.2.4 >> >>> >>> >>>> (0002|0016) Source Application Entity Title = >> >>> >>> >>>> NOTSPECIFIED >> >>> >>> >>>> (0008|0008) Image Type = >> >>> >>> >>>> DERIVED\PRIMARY >> >>> >>> >>>> (0008|0012) Instance Creation Date = >> >>> >>> >>>> 20091029 >> >>> >>> >>>> (0008|0013) Instance Creation Time = >> >>> >>> >>>> 135224 >> >>> >>> >>>> (0008|0016) SOP Class UID = >> >>> >>> >>>> 1.2.840.10008.5.1.4.1.1.2 >> >>> >>> >>>> (0008|0018) SOP Instance UID = >> >>> >>> >>>> >> >>> >>> >>>> 1.2.826.0.1.3680043.2.1125.1.10607669833050788267094246636093811 >> >>> >>> >>>> (0008|0020) Study Date = >> >>> >>> >>>> 20081030 >> >>> >>> >>>> (0008|0030) Study Time = >> >>> >>> >>>> 164348.940 >> >>> >>> >>>> (0008|0050) Accession Number >> >>> >>> >>>> = >> >>> >>> >>>> (0008|0060) Modality = >> >>> >>> >>>> CT >> >>> >>> >>>> (0008|0064) Conversion Type = >> >>> >>> >>>> WSD >> >>> >>> >>>> (0008|0070) Manufacturer = >> >>> >>> >>>> Manifacturer >> >>> >>> >>>> (0008|0080) Institution Name = GDCM >> >>> >>> >>>> Hospital >> >>> >>> >>>> (0008|0090) Referring Physician's Name = Refering >> >>> >>> >>>> Phisician >> >>> >>> >>>> (0010|0010) Patient's Name = Patient >> >>> >>> >>>> 188858520 >> >>> >>> >>>> (0010|0020) Patient ID = >> >>> >>> >>>> 1747233212 >> >>> >>> >>>> (0010|0030) Patient's Birth Date = >> >>> >>> >>>> 19500101 >> >>> >>> >>>> (0010|0040) Patient's Sex = >> >>> >>> >>>> M >> >>> >>> >>>> (0018|0088) Spacing Between Slices = >> >>> >>> >>>> 1.207500 >> >>> >>> >>>> (0018|1164) Imager Pixel Spacing = >> >>> >>> >>>> 0.945750\0.945750 >> >>> >>> >>>> (0020|000d) Study Instance UID = >> >>> >>> >>>> >> >>> >>> >>>> 1.2.826.0.1.3680043.2.1125.1.53653479342656887425609263146205769 >> >>> >>> >>>> (0020|000e) Series Instance UID = >> >>> >>> >>>> >> >>> >>> >>>> 1.2.826.0.1.3680043.2.1125.1.47155241092896696198844159625679986 >> >>> >>> >>>> (0020|0010) Study ID = >> >>> >>> >>>> 1533117581 >> >>> >>> >>>> (0020|0011) Series Number = >> >>> >>> >>>> 2135500125 >> >>> >>> >>>> (0020|0013) Instance Number = >> >>> >>> >>>> 165 >> >>> >>> >>>> (0020|0020) Patient Orientation = >> >>> >>> >>>> L\P >> >>> >>> >>>> (0020|0032) Image Position (Patient) = >> >>> >>> >>>> 199.237496852874\0.0\0.0 >> >>> >>> >>>> (0020|0037) Image Orientation (Patient) = >> >>> >>> >>>> 0.0\0.0\-1.0\0.0\1.0\0.0 >> >>> >>> >>>> (0020|4000) Image Comments = NOT FOR CLINICAL >> >>> >>> >>>> USE >> >>> >>> >>>> (0028|0002) Samples per Pixel = >> >>> >>> >>>> 1 >> >>> >>> >>>> (0028|0004) Photometric Interpretation = >> >>> >>> >>>> MONOCHROME2 >> >>> >>> >>>> (0028|0008) Number of Frames = >> >>> >>> >>>> 166 >> >>> >>> >>>> (0028|0010) Rows = >> >>> >>> >>>> 256 >> >>> >>> >>>> (0028|0011) Columns = >> >>> >>> >>>> 256 >> >>> >>> >>>> (0028|0030) Pixel Spacing = >> >>> >>> >>>> 0.945750\0.945750 >> >>> >>> >>>> (0028|0034) Pixel Aspect Ratio = >> >>> >>> >>>> 1\1 >> >>> >>> >>>> (0028|0100) Bits Allocated = >> >>> >>> >>>> 16 >> >>> >>> >>>> (0028|0101) Bits Stored = >> >>> >>> >>>> 16 >> >>> >>> >>>> (0028|0102) High Bit = >> >>> >>> >>>> 15 >> >>> >>> >>>> (0028|0103) Pixel Representation = >> >>> >>> >>>> 0 >> >>> >>> >>>> (0028|1052) Rescale Intercept = >> >>> >>> >>>> 0.0 >> >>> >>> >>>> (0028|1053) Rescale Slope = >> >>> >>> >>>> 1.0 >> >>> >>> >>>> (0028|1054) Rescale Type = >> >>> >>> >>>> US >> >>> >>> >>>> (7fe0|0000) Group Length = >> >>> >>> >>>> 21757964 >> >>> >>> >>>> Patient's Name (0010|0010) ?is: Patient >> >>> >>> >>>> 188858520 >> >>> >>> >>>> Performing Physician's Name (0008|1050): (No Value Found in >> >>> >>> >>>> File) >> >>> >>> >>>> PixelType: >> >>> >>> >>>> scalar >> >>> >>> >>>> Component Type: unsigned_short >> >>> >>> >>>> >> >>> >>> >>>> [jdrozd at trumpet DicomImageReadPrintTags]$ >> >>> ./DicomImageReadPrintTags >> >>> >>> >>>> outsubject5.dcm >> >>> >>> >>>> (0002|0000) Group Length = >> >>> >>> >>>> 194 >> >>> >>> >>>> (0002|00 >> >>> >>> >> >> >>> >>> > _____________________________________ >> >>> >>> > Powered by www.kitware.com >> >>> >>> > >> >>> >>> > Visit other Kitware open-source projects at >> >>> >>> > http://www.kitware.com/opensource/opensource.html >> >>> >>> > >> >>> >>> > Kitware offers ITK Training Courses, for more information visit: >> >>> >>> > http://www.kitware.com/products/protraining.html >> >>> >>> > >> >>> >>> > Please keep messages on-topic and check the ITK FAQ at: >> >>> >>> > http://www.itk.org/Wiki/ITK_FAQ >> >>> >>> > >> >>> >>> > Follow this link to subscribe/unsubscribe: >> >>> >>> > http://www.itk.org/mailman/listinfo/insight-users >> >>> >>> > >> >>> >>> >> >>> >>> >> >>> >>> >> >>> >>> -- >> >>> >>> Mathieu >> >>> >> >> >>> > >> >>> > >> >>> >> >> >> >> >> > -------------- next part -------------- >> > An HTML attachment was scrubbed... >> > URL: >> > >> > >> > ------------------------------ >> > >> > _______________________________________________ >> > Insight-users mailing list >> > Insight-users at itk.org >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> > >> > End of Insight-users Digest, Vol 67, Issue 178 >> > ********************************************** >> > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From Michael.OConnor at umassmed.edu Tue Dec 1 08:48:20 2009 From: Michael.OConnor at umassmed.edu (O'Connor, Michael) Date: Tue, 1 Dec 2009 08:48:20 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> Message-ID: <439667C97F3241448A8E96B0A22D647E0460D6EF@EDUNIVMAIL07.ad.umassmed.edu> Hi, I am new to ITK. I have just started changing some of my post-processing tools from MATLAB to ITK (Version 3.12). So far I have only had one issue that I cannot solve and that is implementing GradientAnisotropicDiffusionImageFilter. I can workaround this issue but would rather get to the bottom of my problem as I suspect that I am missing something fundamental about data type in ITK. I have read pertinent sections of ITK Software Guide 2nd Edition (dated 11/21/05) and template guide on www.itk.org. I am processing data obtained on a prototype CT system and am processing in order to eventually segment between one tissue type (approx linear attenuation coefficient 0.024 per mm) from another (approx attenuation coefficient 0.031 per mm). Setting parameters of 5 iterations, timestep of 0.125 and conductance 0.003, there is minimal filtering when using following ITK program (i.e. not consistent with conductance parameter). Using same values and same test input file in MATLAB, I do get reasonable output. If I take another test input file scaled up by 10000 (both data values and conductance - i.e. approx data coefficients 240 per mm and 310 per mm and conductance 30), I do obtain reasonable results with the same ITK program (as well as MATLAB program with only change in conductance). As pixel type is float in either case, I cannot understand why the GradientAnisotropicDiffusionImageFilter does not work with both range of data values in ITK as it does in MATLAB. While I can perform scaling to workaround my ITK issue, as stated, I suspect that I am doing something wrong in ITK and would rather correct my misunderstanding. I would greatly appreciate any comments or suggestions. Regards, Michael O'Connor /*========================================================================= Program: ITKFilterTest Module: ITKFilterTest.cxx Language: C++ Date: 24 Nov 2009 Version: Revision: 1.0 Mike O'Connor =========================================================================*/ // NOTE: much of this code and description is taken directly from ITK documentation. Module initially based // on the Filter Example modules in ITK source code. // The module runs one ITK filter. // // Filter 1: is ITK GradientAnisotropicDiffusionImageFilter. This filter implements an // N-dimensional version of the classic Perona-Malik anisotropic diffusion // equation for scalar-valued images (Perona 1990). // // The conductance term for this implementation is chosen as a function of the // gradient magnitude of the image at each point, reducing the strength of // diffusion at edge pixels. // // The numerical implementation of this equation is similar to that described // in the Perona-Malik paper, but uses a more robust technique // for gradient magnitude estimation and has been generalized to N-dimensions. // Input Parameters for this implementation are passed using a 'config file'. Objects and methods for the // config file are based on CBSS. There are booleans to determine if one or both of the filters are run. // The input parameters for each filter as well as parameters for file reader. #include "itkImage.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkRawImageIO.h" #include "itkGradientAnisotropicDiffusionImageFilter.h" #include "FilterSystem.h" #include "Filter.h" #include "Files.h" #include "Message.h" const unsigned int Dimension = 2; int main( int argc, char * argv[] ) { // This is structure for our config file (used for parameter passing) FilterSystem f_system; WhatFunction function = Filter; if(parseArgs(argc,argv) == UtilError) return EXIT_FAILURE; if(f_system.initialize(function, usage) == UtilError)closeAndExit(EXIT_FAILURE); typedef float InputPixelType; typedef float OutputPixelType; // // Instatiate using input & output image types // typedef itk::Image< InputPixelType, Dimension > InputImageType; typedef itk::Image< OutputPixelType, Dimension > OutputImageType; typedef itk::ImageFileReader< InputImageType > ReaderType; typedef itk::GradientAnisotropicDiffusionImageFilter< InputImageType, OutputImageType > ADF_FilterType; typedef itk::RawImageIO< InputPixelType, Dimension > ImageIOType; typedef itk::ImageFileWriter< OutputImageType > WriterType; // // Filter object, Image object and Reader & Writer object are created // ImageIOType::Pointer rawIO = ImageIOType::New(); ReaderType::Pointer reader = ReaderType::New(); ADF_FilterType::Pointer ADfilter = ADF_FilterType::New(); WriterType::Pointer writer2 = WriterType::New(); // Get parameters from config file rawIO->SetHeaderSize(f_system.m_cfg.header); rawIO->SetDimensions(0, f_system.m_cfg.file_dim_x); rawIO->SetDimensions(1, f_system.m_cfg.file_dim_y); rawIO->SetByteOrderToLittleEndian(); // Define Input file writeMsg(DEBUG1, "Input File: %s \n",files.input); reader->SetFileName( files.input ); reader->SetImageIO( rawIO ); // reader->Update(); //Read the file // //Get other parameters from Config file const unsigned int numberOfIterations = f_system.m_cfg.iter; const double timeStep = (double) f_system.m_cfg.timestep; const double conductance = (double) f_system.m_cfg.conductance; writeMsg(DEBUG1,"Version 2: Iterations = %i, Timestep = %f, Conductance = %f \n", numberOfIterations, timeStep, conductance); //Set Parameters in ADF Filter & invoke filter ADfilter->SetInput( reader->GetOutput() ); ADfilter->SetNumberOfIterations( numberOfIterations ); ADfilter->SetTimeStep( timeStep ); ADfilter->SetConductanceParameter( conductance ); ADfilter->Update(); // // Write the output file // writer2->SetImageIO (rawIO); writer2->SetFileName( files.output ); writer2->SetInput( ADfilter->GetOutput() ); writeMsg(DEBUG1, "Writing output of the AnisoDiff to output File: %s \n",files.output); writer2->Update(); return EXIT_SUCCESS; } -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Tue Dec 1 13:01:09 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 1 Dec 2009 13:01:09 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter In-Reply-To: <439667C97F3241448A8E96B0A22D647E0460D6EF@EDUNIVMAIL07.ad.umassmed.edu> References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6EF@EDUNIVMAIL07.ad.umassmed.edu> Message-ID: <4db4735c0912011001o34bddee6pbfa27272e9154ced@mail.gmail.com> Can you post the matlab source code for the algorithm? Perhaps there is a difference in parameters? Or implementation? On Tue, Dec 1, 2009 at 8:48 AM, O'Connor, Michael wrote: > ?Hi, > ?? I am new to ITK.? I have just started changing some of my post-processing > tools from MATLAB to ITK (Version 3.12).? So far I have only had one issue > that I cannot solve and that is implementing > GradientAnisotropicDiffusionImageFilter.? I can workaround this issue but > would rather get to the bottom of my problem as I suspect that I am missing > something fundamental about data type in ITK.? I have read pertinent > sections of ITK Software Guide 2nd Edition (dated 11/21/05) and template > guide on www.itk.org. > ??? I am processing data obtained on a prototype CT system and am processing > in order to eventually segment between one tissue type (approx linear > attenuation coefficient 0.024 per mm) from another (approx attenuation > coefficient 0.031 per mm).? Setting parameters of 5 iterations, timestep of > 0.125 and conductance 0.003, there is minimal filtering when using following > ITK program (i.e. not consistent with conductance parameter).?? Using same > values and same test input file in MATLAB, I do get reasonable output.?? If > I take another test input file scaled up by 10000 (both data values and > conductance - i.e. approx data coefficients 240 per mm and 310 per mm and > conductance 30), I do obtain reasonable results with the same ITK program > (as well as MATLAB program with only change in conductance). > ?? As pixel type is float in either case, I cannot understand why the > GradientAnisotropicDiffusionImageFilter does not work with both range of > data values in ITK as it does in MATLAB.? While I can perform scaling to > workaround my ITK issue, as stated, I suspect that I am doing something > wrong in ITK and would rather correct my misunderstanding.?? I would greatly > appreciate any comments or suggestions. > > Regards, > ?? Michael O'Connor > > /*========================================================================= > > ? Program:?? ITKFilterTest > ? Module:??? ITKFilterTest.cxx > ? Language:? C++ > ? Date:????? 24 Nov 2009 > ? Version:?? Revision: 1.0?? Mike O'Connor > > =========================================================================*/ > > // NOTE: much of this code and description is taken directly from ITK > documentation. Module initially based > //? on the Filter Example modules in ITK source code. > //? The module runs one ITK filter. > // > //? Filter 1: is ITK GradientAnisotropicDiffusionImageFilter. This filter > implements an > //??? N-dimensional version of the classic Perona-Malik anisotropic > diffusion > //??? equation for scalar-valued images (Perona 1990). > // > //??? The conductance term for this implementation is chosen as a function > of the > //??? gradient magnitude of the image at each point, reducing the strength > of > //??? diffusion at edge pixels. > // > //??? The numerical implementation of this equation is similar to that > described > //??? in the Perona-Malik paper, but uses a more robust technique > //??? for gradient magnitude estimation and has been generalized to > N-dimensions. > //? Input Parameters for this implementation are passed using a 'config > file'.? Objects and methods for the > //? config file are based on CBSS.? There are booleans to determine if one > or both of the filters are run. > //? The input parameters for each filter as well as parameters for file > reader. > > > #include "itkImage.h" > #include "itkImageFileReader.h" > #include "itkImageFileWriter.h" > #include "itkRawImageIO.h" > #include "itkGradientAnisotropicDiffusionImageFilter.h" > #include "FilterSystem.h" > #include "Filter.h" > #include "Files.h" > #include "Message.h" > > > > const unsigned int Dimension = 2; > > int main( int argc, char * argv[] ) > { > ?// This is structure for our config file (used for parameter passing) > ? FilterSystem f_system; > ? WhatFunction function = Filter; > ? if(parseArgs(argc,argv) == UtilError) return EXIT_FAILURE; > ? if(f_system.initialize(function, usage) == > UtilError)closeAndExit(EXIT_FAILURE); > > ? typedef??? float??? InputPixelType; > ? typedef??? float??? OutputPixelType; > > // > // Instatiate using input & output image types > // > ? typedef itk::Image< > ??????? ??????? ??????? InputPixelType, > ??????? ??????? ??????? Dimension >?? ? ??????? InputImageType; > ? typedef itk::Image< > ??????? ??????? ??????? OutputPixelType, > ??????? ??????? ??????? Dimension >?? ? ??????? OutputImageType; > ? typedef itk::ImageFileReader< > ??????? ??????? ??????? InputImageType > ?????? ReaderType; > ? typedef itk::GradientAnisotropicDiffusionImageFilter< > ??????????????? ??????? InputImageType, > ??????? ??????? ??????? OutputImageType >? ???? ADF_FilterType; > ? typedef itk::RawImageIO< > ??????? ??????? ??????? InputPixelType, > ??????? ??????? ??????? Dimension?????? >?????? ImageIOType; > ? typedef itk::ImageFileWriter< > ??????? ??????? ??????? OutputImageType > > WriterType; > // > // Filter object, Image object and Reader & Writer object are? created > // > ? ImageIOType::Pointer? rawIO ? ??????? = ImageIOType::New(); > ? ReaderType::Pointer ? reader? ??????? = ReaderType::New(); > ? ADF_FilterType::Pointer ADfilter ???? = ADF_FilterType::New(); > ? WriterType::Pointer ? writer2 ??????? = WriterType::New(); > > // Get parameters from config file > ? rawIO->SetHeaderSize(f_system.m_cfg.header); > ? rawIO->SetDimensions(0, f_system.m_cfg.file_dim_x); > ? rawIO->SetDimensions(1, f_system.m_cfg.file_dim_y); > ? rawIO->SetByteOrderToLittleEndian(); > > ? // Define Input file > ? writeMsg(DEBUG1, "Input File: %s \n",files.input); > ? reader->SetFileName( files.input ); > ? reader->SetImageIO( rawIO ); > //? reader->Update();?? ??????? //Read the file > ? // > ? //Get other parameters from Config file > ? const unsigned int ?? numberOfIterations =? f_system.m_cfg.iter; > ? const double? ? ????? timeStep = (double) f_system.m_cfg.timestep; > ? const double?????? ?? conductance = (double) f_system.m_cfg.conductance; > ? writeMsg(DEBUG1,"Version 2: Iterations = %i, Timestep = %f,? Conductance = > %f \n", numberOfIterations, timeStep, conductance); > > ? //Set Parameters in ADF Filter & invoke filter > ? ADfilter->SetInput( reader->GetOutput() ); > ? ADfilter->SetNumberOfIterations( numberOfIterations ); > ? ADfilter->SetTimeStep( timeStep ); > ? ADfilter->SetConductanceParameter( conductance ); > ? ADfilter->Update(); > > ? // > ? // Write the output file > ? // > ? writer2->SetImageIO (rawIO); > ? writer2->SetFileName( files.output ); > ? writer2->SetInput( ADfilter->GetOutput() ); > ? writeMsg(DEBUG1, "Writing output of the AnisoDiff to output File: %s > \n",files.output); > ? writer2->Update(); > ? return EXIT_SUCCESS; > > } > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From bill.lorensen at gmail.com Tue Dec 1 16:17:42 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 1 Dec 2009 16:17:42 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter In-Reply-To: <439667C97F3241448A8E96B0A22D647E0460D6F2@EDUNIVMAIL07.ad.umassmed.edu> References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6EF@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011001o34bddee6pbfa27272e9154ced@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F2@EDUNIVMAIL07.ad.umassmed.edu> Message-ID: <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> Can you provide a png file or meta file, or whatever file you tried with itk? On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael wrote: > Hi Bill, > ??? Thanks.?? Attached is simple MATLAB test code? + the MATLAB filter > function used (Dr. Guy Gilboa's code).?? I've also take the liberty of > attaching a test image (specifically opened in MATLAB code).?? The test > image is 400x400 float with background = 0.024 + additive Gaussian Noise and > foreground (circle) = 0.031 + additive Gaussian Noise.?? As said previously > MATLAB code seems to work as expected as shown in plot.?? In ITK there is no > similar intraregion filtering (i.e. filtered image ~ input ) > > Regards, > ?? Michael > > ****** > %%% simple test of anisotropic diffusion filter > %%% uses Guy Gilboa's? diffusion function (from his website) > %%% > clear all; > close all; > close all hidden; > row = 400; > col = 400; > GAIN = 1; > iter = 5; > conductance = 0.003 * GAIN; > timestep = 0.125; > > > %% > fid_raw = fopen('/Users/michaeloconnor/Desktop/phantom_ADF3.rec','r'); > > if (fid_raw == -1 ) > ??? fprintf('NO Input File(s) in Working Directory \n'); > ??? break;????????????????????????????????? %stop now - invalid file > end > %% > > fprintf('iterations = %i timestep = %4.3f? conductance = %f Gain = %i > \n',iter,timestep,conductance, GAIN) > > read_raw= fread(fid_raw, [row col],'single'); > I=read_raw*GAIN; > > J_adf=diffusion2(I, 'pm1', iter,? conductance, timestep); > > %% Display Both input and Filtered Using Image Processing Toolkit > > imtool(J_adf, []) > imtool(I, []) > > %% Plot 1D Profile > > p=plot([1:400],I(200,:),[1:400],J_adf(200,:)); > set(p,'LineWidth',2); > title('1D Profile (row 200)','FontSize',14, 'FontWeight', 'bold'); > xlabel('Column (1:400)','FontSize',14, 'FontWeight', 'bold') > ylabel('MU Value','FontSize',14, 'FontWeight', 'bold') > legend('Pre-Filter', 'ADF Filter') > fclose all; > > ******* filter function (Dr. Gilboa's code) > function Jd = diffusion2(J,method,N,K,dt,theta,sigma2) > % private function: diffusion (by Guy Gilboa): > % Jd=diffusion(J,method,N,K) > % Simulates N iterations of diffusion, parameters: > % J =? source image (2D gray-level matrix) for diffusio > % method =? 'lin':? Linear diffusion (constant c=1). > %?????????? 'pm1': perona-malik, c=exp{-(|grad(J)|/K)^2} [PM90] > %?????????? 'pm2': perona-malik, c=1/{1+(|grad(J)|/K)^2} [PM90] > %?????????? 'rmp': complex valued - ramp preserving [GSZ01] > % K??? edge threshold parameter > % N??? number of iterations > % dt?? time increment (0 < dt <= 0.25, default 0.2) > % sigma2 - if present, calculates gradients of diffusion coefficient > %????????? convolved with gaussian of var sigma2 (Catte et al [CLMC92]) > > if ~exist('N','var') > ??? %fprintf('No iterations\n') > ?? N=1; > end > if ~exist('K','var') > ?? % fprintf('No edge threshold\n') > ?? K=1; > end > if ~exist('dt','var') > ?? % fprintf('No time increment\n') > ?? dt=0.2; > end > if ~exist('theta','var') > ?? % fprintf('No theta\n') > ?? theta=pi/30; > end > > if ~exist('sigma2','var') > ??? %fprintf('No gradients of diffusion\n') > ?? sigma2=0; > end > > [Ny,Nx]=size(J); > > if (nargin<3) > ?? error('not enough arguments (at least 3 should be given)'); > end > > for i=1:N; > ?? % gaussian filter with kernel 5x5 (Catte et al) > ?? if (sigma2>0) > ????? Jo = J;?? % save J original > ????? J=gauss(J,7,sigma2); > ?? end > > ??????? % calculate gradient in all directions (N,S,E,W) > ??????? In=[J(1,:); J(1:Ny-1,:)]-J; > ??????? Is=[J(2:Ny,:); J(Ny,:)]-J; > ??????? Ie=[J(:,2:Nx) J(:,Nx)]-J; > ??? Iw=[J(:,1) J(:,1:Nx-1)]-J; > > ??????? % calculate diffusion coefficients in all directions according to > method > ?? if (method == 'lin') > ??????? ?? Cn=K; Cs=K; Ce=K; Cw=K; > ?? elseif (method == 'pm1') > ??????? Cn=exp(-(abs(In)/K).^2); > ??????? ??????? Cs=exp(-(abs(Is)/K).^2); > ??????? ??????? Ce=exp(-(abs(Ie)/K).^2); > ??????? ??????? Cw=exp(-(abs(Iw)/K).^2); > ?? elseif (method == 'pm2') > ??????? ?? Cn=1./(1+(abs(In)/K).^2); > ??????? ??????? Cs=1./(1+(abs(Is)/K).^2); > ??????? ??????? Ce=1./(1+(abs(Ie)/K).^2); > ????? Cw=1./(1+(abs(Iw)/K).^2); > ?? elseif (method == 'rmp')? % complex - ramp preserving > ????? k=K;? j=sqrt(-1); > > ??????? ?? Cn=exp(j*theta)./(1+(imag(In)/(k*theta)).^2); > ??????? ?? Cs=exp(j*theta)./(1+(imag(Is)/(k*theta)).^2); > ??????? ?? Ce=exp(j*theta)./(1+(imag(Ie)/(k*theta)).^2); > ?????? Cw=exp(j*theta)./(1+(imag(Iw)/(k*theta)).^2); > > ??????? else > ????? error(['Unknown method "' method '"']); > ?? end > > ?? if (sigma2>0)?? % calculate real gradiants (not smoothed) > ?? ???? In=[Jo(1,:); Jo(1:Ny-1,:)]-Jo; > ??????? ??????? Is=[Jo(2:Ny,:); Jo(Ny,:)]-Jo; > ??????? ??????? Ie=[Jo(:,2:Nx) Jo(:,Nx)]-Jo; > ????? Iw=[Jo(:,1) Jo(:,1:Nx-1)]-Jo; > ????? J=Jo; > ??????? end > > ?? % Next Image J > ?? J=J+dt*(Cn.*In + Cs.*Is + Ce.*Ie + Cw.*Iw); > > end; % for i > > Jd = J; > > > %%%% Refs: > % [PM90] P. Perona, J. Malik, "Scale-space and edge detection using > anisotropic diffusion", PAMI 12(7), pp. 629-639, 1990. > % [CLMC92] F. Catte, P. L. Lions, J. M. Morel and T. Coll, "Image selective > smoothing and edge detection by nonlinear diffusion", SIAM J. Num. Anal., > vol. 29, no. 1, pp. 182-193, 1992. > % [GSZ01] G. Gilboa, N. Sochen, Y. Y. Zeevi, "Complex Diffusion Processes > for Image Filtering", Scale-Space 2001, LNCS 2106, pp. 299-307, > Springer-Verlag 2001. > > > > -----Original Message----- > From: Bill Lorensen [mailto:bill.lorensen at gmail.com] > Sent: Tue 12/1/2009 1:01 PM > To: O'Connor, Michael > Cc: insight-users at itk.org > Subject: Re: [Insight-users] Problem implementing > GradientAnisotropicDiffusionImageFilter > > Can you post the matlab source code for the algorithm? Perhaps there > is a difference in parameters? Or implementation? > > On Tue, Dec 1, 2009 at 8:48 AM, O'Connor, Michael > wrote: >> ?Hi, >> ?? I am new to ITK.? I have just started changing some of my >> post-processing >> tools from MATLAB to ITK (Version 3.12).? So far I have only had one issue >> that I cannot solve and that is implementing >> GradientAnisotropicDiffusionImageFilter.? I can workaround this issue but >> would rather get to the bottom of my problem as I suspect that I am >> missing >> something fundamental about data type in ITK.? I have read pertinent >> sections of ITK Software Guide 2nd Edition (dated 11/21/05) and template >> guide on www.itk.org. >> ??? I am processing data obtained on a prototype CT system and am >> processing >> in order to eventually segment between one tissue type (approx linear >> attenuation coefficient 0.024 per mm) from another (approx attenuation >> coefficient 0.031 per mm).? Setting parameters of 5 iterations, timestep >> of >> 0.125 and conductance 0.003, there is minimal filtering when using >> following >> ITK program (i.e. not consistent with conductance parameter).?? Using same >> values and same test input file in MATLAB, I do get reasonable output. >> If >> I take another test input file scaled up by 10000 (both data values and >> conductance - i.e. approx data coefficients 240 per mm and 310 per mm and >> conductance 30), I do obtain reasonable results with the same ITK program >> (as well as MATLAB program with only change in conductance). >> ?? As pixel type is float in either case, I cannot understand why the >> GradientAnisotropicDiffusionImageFilter does not work with both range of >> data values in ITK as it does in MATLAB.? While I can perform scaling to >> workaround my ITK issue, as stated, I suspect that I am doing something >> wrong in ITK and would rather correct my misunderstanding.?? I would >> greatly >> appreciate any comments or suggestions. >> >> Regards, >> ?? Michael O'Connor >> >> >> /*========================================================================= >> >> ? Program:?? ITKFilterTest >> ? Module:??? ITKFilterTest.cxx >> ? Language:? C++ >> ? Date:????? 24 Nov 2009 >> ? Version:?? Revision: 1.0?? Mike O'Connor >> >> >> =========================================================================*/ >> >> // NOTE: much of this code and description is taken directly from ITK >> documentation. Module initially based >> //? on the Filter Example modules in ITK source code. >> //? The module runs one ITK filter. >> // >> //? Filter 1: is ITK GradientAnisotropicDiffusionImageFilter. This filter >> implements an >> //??? N-dimensional version of the classic Perona-Malik anisotropic >> diffusion >> //??? equation for scalar-valued images (Perona 1990). >> // >> //??? The conductance term for this implementation is chosen as a function >> of the >> //??? gradient magnitude of the image at each point, reducing the strength >> of >> //??? diffusion at edge pixels. >> // >> //??? The numerical implementation of this equation is similar to that >> described >> //??? in the Perona-Malik paper, but uses a more robust technique >> //??? for gradient magnitude estimation and has been generalized to >> N-dimensions. >> //? Input Parameters for this implementation are passed using a 'config >> file'.? Objects and methods for the >> //? config file are based on CBSS.? There are booleans to determine if one >> or both of the filters are run. >> //? The input parameters for each filter as well as parameters for file >> reader. >> >> >> #include "itkImage.h" >> #include "itkImageFileReader.h" >> #include "itkImageFileWriter.h" >> #include "itkRawImageIO.h" >> #include "itkGradientAnisotropicDiffusionImageFilter.h" >> #include "FilterSystem.h" >> #include "Filter.h" >> #include "Files.h" >> #include "Message.h" >> >> >> >> const unsigned int Dimension = 2; >> >> int main( int argc, char * argv[] ) >> { >> ?// This is structure for our config file (used for parameter passing) >> ? FilterSystem f_system; >> ? WhatFunction function = Filter; >> ? if(parseArgs(argc,argv) == UtilError) return EXIT_FAILURE; >> ? if(f_system.initialize(function, usage) == >> UtilError)closeAndExit(EXIT_FAILURE); >> >> ? typedef??? float??? InputPixelType; >> ? typedef??? float??? OutputPixelType; >> >> // >> // Instatiate using input & output image types >> // >> ? typedef itk::Image< >> ??????? ??????? ??????? InputPixelType, >> ??????? ??????? ??????? Dimension >?? ? ??????? InputImageType; >> ? typedef itk::Image< >> ??????? ??????? ??????? OutputPixelType, >> ??????? ??????? ??????? Dimension >?? ? ??????? OutputImageType; >> ? typedef itk::ImageFileReader< >> ??????? ??????? ??????? InputImageType > ?????? ReaderType; >> ? typedef itk::GradientAnisotropicDiffusionImageFilter< >> ??????????????? ??????? InputImageType, >> ??????? ??????? ??????? OutputImageType >? ???? ADF_FilterType; >> ? typedef itk::RawImageIO< >> ??????? ??????? ??????? InputPixelType, >> ??????? ??????? ??????? Dimension?????? >?????? ImageIOType; >> ? typedef itk::ImageFileWriter< >> ??????? ??????? ??????? OutputImageType > >> WriterType; >> // >> // Filter object, Image object and Reader & Writer object are? created >> // >> ? ImageIOType::Pointer? rawIO ? ??????? = ImageIOType::New(); >> ? ReaderType::Pointer ? reader? ??????? = ReaderType::New(); >> ? ADF_FilterType::Pointer ADfilter ???? = ADF_FilterType::New(); >> ? WriterType::Pointer ? writer2 ??????? = WriterType::New(); >> >> // Get parameters from config file >> ? rawIO->SetHeaderSize(f_system.m_cfg.header); >> ? rawIO->SetDimensions(0, f_system.m_cfg.file_dim_x); >> ? rawIO->SetDimensions(1, f_system.m_cfg.file_dim_y); >> ? rawIO->SetByteOrderToLittleEndian(); >> >> ? // Define Input file >> ? writeMsg(DEBUG1, "Input File: %s \n",files.input); >> ? reader->SetFileName( files.input ); >> ? reader->SetImageIO( rawIO ); >> //? reader->Update();?? ??????? //Read the file >> ? // >> ? //Get other parameters from Config file >> ? const unsigned int ?? numberOfIterations =? f_system.m_cfg.iter; >> ? const double? ? ????? timeStep = (double) f_system.m_cfg.timestep; >> ? const double?????? ?? conductance = (double) f_system.m_cfg.conductance; >> ? writeMsg(DEBUG1,"Version 2: Iterations = %i, Timestep = %f,? Conductance >> = >> %f \n", numberOfIterations, timeStep, conductance); >> >> ? //Set Parameters in ADF Filter & invoke filter >> ? ADfilter->SetInput( reader->GetOutput() ); >> ? ADfilter->SetNumberOfIterations( numberOfIterations ); >> ? ADfilter->SetTimeStep( timeStep ); >> ? ADfilter->SetConductanceParameter( conductance ); >> ? ADfilter->Update(); >> >> ? // >> ? // Write the output file >> ? // >> ? writer2->SetImageIO (rawIO); >> ? writer2->SetFileName( files.output ); >> ? writer2->SetInput( ADfilter->GetOutput() ); >> ? writeMsg(DEBUG1, "Writing output of the AnisoDiff to output File: %s >> \n",files.output); >> ? writer2->Update(); >> ? return EXIT_SUCCESS; >> >> } >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > > > From Michael.OConnor at umassmed.edu Tue Dec 1 17:17:30 2009 From: Michael.OConnor at umassmed.edu (O'Connor, Michael) Date: Tue, 1 Dec 2009 17:17:30 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6EF@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011001o34bddee6pbfa27272e9154ced@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F2@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> Message-ID: <439667C97F3241448A8E96B0A22D647E0460D6F3@EDUNIVMAIL07.ad.umassmed.edu> Hi Bill, I use the exact same file with ITK (the one attached to the previous email with MATLAB code). Regards, Michael -----Original Message----- From: Bill Lorensen [mailto:bill.lorensen at gmail.com] Sent: Tue 12/1/2009 4:17 PM To: O'Connor, Michael Cc: insight-users at itk.org Subject: Re: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter Can you provide a png file or meta file, or whatever file you tried with itk? On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael wrote: > Hi Bill, > ??? Thanks.?? Attached is simple MATLAB test code? + the MATLAB filter > function used (Dr. Guy Gilboa's code).?? I've also take the liberty of > attaching a test image (specifically opened in MATLAB code).?? The test > image is 400x400 float with background = 0.024 + additive Gaussian Noise and > foreground (circle) = 0.031 + additive Gaussian Noise.?? As said previously > MATLAB code seems to work as expected as shown in plot.?? In ITK there is no > similar intraregion filtering (i.e. filtered image ~ input ) > > Regards, > ?? Michael > > ****** > %%% simple test of anisotropic diffusion filter > %%% uses Guy Gilboa's? diffusion function (from his website) > %%% > clear all; > close all; > close all hidden; > row = 400; > col = 400; > GAIN = 1; > iter = 5; > conductance = 0.003 * GAIN; > timestep = 0.125; > > > %% > fid_raw = fopen('/Users/michaeloconnor/Desktop/phantom_ADF3.rec','r'); > > if (fid_raw == -1 ) > ??? fprintf('NO Input File(s) in Working Directory \n'); > ??? break;????????????????????????????????? %stop now - invalid file > end > %% > > fprintf('iterations = %i timestep = %4.3f? conductance = %f Gain = %i > \n',iter,timestep,conductance, GAIN) > > read_raw= fread(fid_raw, [row col],'single'); > I=read_raw*GAIN; > > J_adf=diffusion2(I, 'pm1', iter,? conductance, timestep); > > %% Display Both input and Filtered Using Image Processing Toolkit > > imtool(J_adf, []) > imtool(I, []) > > %% Plot 1D Profile > > p=plot([1:400],I(200,:),[1:400],J_adf(200,:)); > set(p,'LineWidth',2); > title('1D Profile (row 200)','FontSize',14, 'FontWeight', 'bold'); > xlabel('Column (1:400)','FontSize',14, 'FontWeight', 'bold') > ylabel('MU Value','FontSize',14, 'FontWeight', 'bold') > legend('Pre-Filter', 'ADF Filter') > fclose all; > > ******* filter function (Dr. Gilboa's code) > function Jd = diffusion2(J,method,N,K,dt,theta,sigma2) > % private function: diffusion (by Guy Gilboa): > % Jd=diffusion(J,method,N,K) > % Simulates N iterations of diffusion, parameters: > % J =? source image (2D gray-level matrix) for diffusio > % method =? 'lin':? Linear diffusion (constant c=1). > %?????????? 'pm1': perona-malik, c=exp{-(|grad(J)|/K)^2} [PM90] > %?????????? 'pm2': perona-malik, c=1/{1+(|grad(J)|/K)^2} [PM90] > %?????????? 'rmp': complex valued - ramp preserving [GSZ01] > % K??? edge threshold parameter > % N??? number of iterations > % dt?? time increment (0 < dt <= 0.25, default 0.2) > % sigma2 - if present, calculates gradients of diffusion coefficient > %????????? convolved with gaussian of var sigma2 (Catte et al [CLMC92]) > > if ~exist('N','var') > ??? %fprintf('No iterations\n') > ?? N=1; > end > if ~exist('K','var') > ?? % fprintf('No edge threshold\n') > ?? K=1; > end > if ~exist('dt','var') > ?? % fprintf('No time increment\n') > ?? dt=0.2; > end > if ~exist('theta','var') > ?? % fprintf('No theta\n') > ?? theta=pi/30; > end > > if ~exist('sigma2','var') > ??? %fprintf('No gradients of diffusion\n') > ?? sigma2=0; > end > > [Ny,Nx]=size(J); > > if (nargin<3) > ?? error('not enough arguments (at least 3 should be given)'); > end > > for i=1:N; > ?? % gaussian filter with kernel 5x5 (Catte et al) > ?? if (sigma2>0) > ????? Jo = J;?? % save J original > ????? J=gauss(J,7,sigma2); > ?? end > > ??????? % calculate gradient in all directions (N,S,E,W) > ??????? In=[J(1,:); J(1:Ny-1,:)]-J; > ??????? Is=[J(2:Ny,:); J(Ny,:)]-J; > ??????? Ie=[J(:,2:Nx) J(:,Nx)]-J; > ??? Iw=[J(:,1) J(:,1:Nx-1)]-J; > > ??????? % calculate diffusion coefficients in all directions according to > method > ?? if (method == 'lin') > ??????? ?? Cn=K; Cs=K; Ce=K; Cw=K; > ?? elseif (method == 'pm1') > ??????? Cn=exp(-(abs(In)/K).^2); > ??????? ??????? Cs=exp(-(abs(Is)/K).^2); > ??????? ??????? Ce=exp(-(abs(Ie)/K).^2); > ??????? ??????? Cw=exp(-(abs(Iw)/K).^2); > ?? elseif (method == 'pm2') > ??????? ?? Cn=1./(1+(abs(In)/K).^2); > ??????? ??????? Cs=1./(1+(abs(Is)/K).^2); > ??????? ??????? Ce=1./(1+(abs(Ie)/K).^2); > ????? Cw=1./(1+(abs(Iw)/K).^2); > ?? elseif (method == 'rmp')? % complex - ramp preserving > ????? k=K;? j=sqrt(-1); > > ??????? ?? Cn=exp(j*theta)./(1+(imag(In)/(k*theta)).^2); > ??????? ?? Cs=exp(j*theta)./(1+(imag(Is)/(k*theta)).^2); > ??????? ?? Ce=exp(j*theta)./(1+(imag(Ie)/(k*theta)).^2); > ?????? Cw=exp(j*theta)./(1+(imag(Iw)/(k*theta)).^2); > > ??????? else > ????? error(['Unknown method "' method '"']); > ?? end > > ?? if (sigma2>0)?? % calculate real gradiants (not smoothed) > ?? ???? In=[Jo(1,:); Jo(1:Ny-1,:)]-Jo; > ??????? ??????? Is=[Jo(2:Ny,:); Jo(Ny,:)]-Jo; > ??????? ??????? Ie=[Jo(:,2:Nx) Jo(:,Nx)]-Jo; > ????? Iw=[Jo(:,1) Jo(:,1:Nx-1)]-Jo; > ????? J=Jo; > ??????? end > > ?? % Next Image J > ?? J=J+dt*(Cn.*In + Cs.*Is + Ce.*Ie + Cw.*Iw); > > end; % for i > > Jd = J; > > > %%%% Refs: > % [PM90] P. Perona, J. Malik, "Scale-space and edge detection using > anisotropic diffusion", PAMI 12(7), pp. 629-639, 1990. > % [CLMC92] F. Catte, P. L. Lions, J. M. Morel and T. Coll, "Image selective > smoothing and edge detection by nonlinear diffusion", SIAM J. Num. Anal., > vol. 29, no. 1, pp. 182-193, 1992. > % [GSZ01] G. Gilboa, N. Sochen, Y. Y. Zeevi, "Complex Diffusion Processes > for Image Filtering", Scale-Space 2001, LNCS 2106, pp. 299-307, > Springer-Verlag 2001. > > > > -----Original Message----- > From: Bill Lorensen [mailto:bill.lorensen at gmail.com] > Sent: Tue 12/1/2009 1:01 PM > To: O'Connor, Michael > Cc: insight-users at itk.org > Subject: Re: [Insight-users] Problem implementing > GradientAnisotropicDiffusionImageFilter > > Can you post the matlab source code for the algorithm? Perhaps there > is a difference in parameters? Or implementation? > > On Tue, Dec 1, 2009 at 8:48 AM, O'Connor, Michael > wrote: >> ?Hi, >> ?? I am new to ITK.? I have just started changing some of my >> post-processing >> tools from MATLAB to ITK (Version 3.12).? So far I have only had one issue >> that I cannot solve and that is implementing >> GradientAnisotropicDiffusionImageFilter.? I can workaround this issue but >> would rather get to the bottom of my problem as I suspect that I am >> missing >> something fundamental about data type in ITK.? I have read pertinent >> sections of ITK Software Guide 2nd Edition (dated 11/21/05) and template >> guide on www.itk.org. >> ??? I am processing data obtained on a prototype CT system and am >> processing >> in order to eventually segment between one tissue type (approx linear >> attenuation coefficient 0.024 per mm) from another (approx attenuation >> coefficient 0.031 per mm).? Setting parameters of 5 iterations, timestep >> of >> 0.125 and conductance 0.003, there is minimal filtering when using >> following >> ITK program (i.e. not consistent with conductance parameter).?? Using same >> values and same test input file in MATLAB, I do get reasonable output. >> If >> I take another test input file scaled up by 10000 (both data values and >> conductance - i.e. approx data coefficients 240 per mm and 310 per mm and >> conductance 30), I do obtain reasonable results with the same ITK program >> (as well as MATLAB program with only change in conductance). >> ?? As pixel type is float in either case, I cannot understand why the >> GradientAnisotropicDiffusionImageFilter does not work with both range of >> data values in ITK as it does in MATLAB.? While I can perform scaling to >> workaround my ITK issue, as stated, I suspect that I am doing something >> wrong in ITK and would rather correct my misunderstanding.?? I would >> greatly >> appreciate any comments or suggestions. >> >> Regards, >> ?? Michael O'Connor >> >> >> /*========================================================================= >> >> ? Program:?? ITKFilterTest >> ? Module:??? ITKFilterTest.cxx >> ? Language:? C++ >> ? Date:????? 24 Nov 2009 >> ? Version:?? Revision: 1.0?? Mike O'Connor >> >> >> =========================================================================*/ >> >> // NOTE: much of this code and description is taken directly from ITK >> documentation. Module initially based >> //? on the Filter Example modules in ITK source code. >> //? The module runs one ITK filter. >> // >> //? Filter 1: is ITK GradientAnisotropicDiffusionImageFilter. This filter >> implements an >> //??? N-dimensional version of the classic Perona-Malik anisotropic >> diffusion >> //??? equation for scalar-valued images (Perona 1990). >> // >> //??? The conductance term for this implementation is chosen as a function >> of the >> //??? gradient magnitude of the image at each point, reducing the strength >> of >> //??? diffusion at edge pixels. >> // >> //??? The numerical implementation of this equation is similar to that >> described >> //??? in the Perona-Malik paper, but uses a more robust technique >> //??? for gradient magnitude estimation and has been generalized to >> N-dimensions. >> //? Input Parameters for this implementation are passed using a 'config >> file'.? Objects and methods for the >> //? config file are based on CBSS.? There are booleans to determine if one >> or both of the filters are run. >> //? The input parameters for each filter as well as parameters for file >> reader. >> >> >> #include "itkImage.h" >> #include "itkImageFileReader.h" >> #include "itkImageFileWriter.h" >> #include "itkRawImageIO.h" >> #include "itkGradientAnisotropicDiffusionImageFilter.h" >> #include "FilterSystem.h" >> #include "Filter.h" >> #include "Files.h" >> #include "Message.h" >> >> >> >> const unsigned int Dimension = 2; >> >> int main( int argc, char * argv[] ) >> { >> ?// This is structure for our config file (used for parameter passing) >> ? FilterSystem f_system; >> ? WhatFunction function = Filter; >> ? if(parseArgs(argc,argv) == UtilError) return EXIT_FAILURE; >> ? if(f_system.initialize(function, usage) == >> UtilError)closeAndExit(EXIT_FAILURE); >> >> ? typedef??? float??? InputPixelType; >> ? typedef??? float??? OutputPixelType; >> >> // >> // Instatiate using input & output image types >> // >> ? typedef itk::Image< >> ??????? ??????? ??????? InputPixelType, >> ??????? ??????? ??????? Dimension >?? ? ??????? InputImageType; >> ? typedef itk::Image< >> ??????? ??????? ??????? OutputPixelType, >> ??????? ??????? ??????? Dimension >?? ? ??????? OutputImageType; >> ? typedef itk::ImageFileReader< >> ??????? ??????? ??????? InputImageType > ?????? ReaderType; >> ? typedef itk::GradientAnisotropicDiffusionImageFilter< >> ??????????????? ??????? InputImageType, >> ??????? ??????? ??????? OutputImageType >? ???? ADF_FilterType; >> ? typedef itk::RawImageIO< >> ??????? ??????? ??????? InputPixelType, >> ??????? ??????? ??????? Dimension?????? >?????? ImageIOType; >> ? typedef itk::ImageFileWriter< >> ??????? ??????? ??????? OutputImageType > >> WriterType; >> // >> // Filter object, Image object and Reader & Writer object are? created >> // >> ? ImageIOType::Pointer? rawIO ? ??????? = ImageIOType::New(); >> ? ReaderType::Pointer ? reader? ??????? = ReaderType::New(); >> ? ADF_FilterType::Pointer ADfilter ???? = ADF_FilterType::New(); >> ? WriterType::Pointer ? writer2 ??????? = WriterType::New(); >> >> // Get parameters from config file >> ? rawIO->SetHeaderSize(f_system.m_cfg.header); >> ? rawIO->SetDimensions(0, f_system.m_cfg.file_dim_x); >> ? rawIO->SetDimensions(1, f_system.m_cfg.file_dim_y); >> ? rawIO->SetByteOrderToLittleEndian(); >> >> ? // Define Input file >> ? writeMsg(DEBUG1, "Input File: %s \n",files.input); >> ? reader->SetFileName( files.input ); >> ? reader->SetImageIO( rawIO ); >> //? reader->Update();?? ??????? //Read the file >> ? // >> ? //Get other parameters from Config file >> ? const unsigned int ?? numberOfIterations =? f_system.m_cfg.iter; >> ? const double? ? ????? timeStep = (double) f_system.m_cfg.timestep; >> ? const double?????? ?? conductance = (double) f_system.m_cfg.conductance; >> ? writeMsg(DEBUG1,"Version 2: Iterations = %i, Timestep = %f,? Conductance >> = >> %f \n", numberOfIterations, timeStep, conductance); >> >> ? //Set Parameters in ADF Filter & invoke filter >> ? ADfilter->SetInput( reader->GetOutput() ); >> ? ADfilter->SetNumberOfIterations( numberOfIterations ); >> ? ADfilter->SetTimeStep( timeStep ); >> ? ADfilter->SetConductanceParameter( conductance ); >> ? ADfilter->Update(); >> >> ? // >> ? // Write the output file >> ? // >> ? writer2->SetImageIO (rawIO); >> ? writer2->SetFileName( files.output ); >> ? writer2->SetInput( ADfilter->GetOutput() ); >> ? writeMsg(DEBUG1, "Writing output of the AnisoDiff to output File: %s >> \n",files.output); >> ? writer2->Update(); >> ? return EXIT_SUCCESS; >> >> } >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From luis.ibanez at kitware.com Tue Dec 1 18:02:25 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 18:02:25 -0500 Subject: [Insight-users] Fwd: Bug in itk::kdTree ? In-Reply-To: References: <54eca6a70911261032u6980530er2e8e7f272293e887@mail.gmail.com> <54eca6a70911261055n5f50917et372e41561ed6bd2@mail.gmail.com> <54eca6a70911261159u7e9fd0dem73596bf1414050f@mail.gmail.com> Message-ID: ---------- Forwarded message ---------- From: Luis Ibanez Date: Tue, Dec 1, 2009 at 6:02 PM Subject: Re: [Insight-users] Bug in itk::kdTree ? To: motes motes Hi Motes, Here is a suggestion for tracking this problem. If we take the test: ? Insight/Testing/Code/Numerics/Statistics/ ? ? ? ? ? ? ? ? ? itkKdTreeGeneratorTest.cxx and replace the initialization of the array in lines: 39-45 with loading the list of points that you are generating for your test, then we should be able to reproduce the problem that you are seeing. Could you describe how are you generating the set of points ? Or send us a file with the list of points ? (assuming that is less than 1Mb in size...) In this way we can track is this is actually a bug in the KdTree (or its generator) ? ? Thanks ? ? ? ? ?Luis ------------------------------------------------------------------------------ On Thu, Nov 26, 2009 at 2:59 PM, motes motes wrote: > I have written my own transform where no of the regular grid > structures (bspline grid, coeff_image, etc) are used. > > Since the transform gets points in physical coordinates from the > metric the radius and other measures used in the transform must also > be in converted to physical coordinates. > > > > > > Here is an example: > > I define the radius as the basisfunction doman divided by 2. I still > use the BSpline kernel which has a domain over 4 "blocks" and the > radius is therefore 2 "blocks". > > > > One "block" in pixel coordinates is: > > blockInPixels = ImageDimension/(numberOfNodes-1) > > So if we have a 128*128*128 volume and define 4*4*4 nodes each block is: > > blockInPixel = 128/3 = 43 pixels > > Since the radius is two blocks the radius becomes 2*43 = 85 pixels. > > Now we need to convert this to physical space which is done with the formula: > > physical = I*S+O > > where I is index, S is scaling and O is origin of the fixed image. > Assume that the fixed image has the following spacing and origin > respectivily: > > ? ? ? ? ? ? [3.125, 3.125, 4] and [0,0,0] > > the radius in each dimension therefore becomes: > > ? ? ? ? ? ?[3.125 * 85, 3.125 * 85, 4 * 85] = ?[266, 266, 340] > > > Currently I choose the first element as radius, 266 for all dimensions > and feed that to the kd-tree. > > But maybe I am doing something wrong in this custom transform? > > But in principle it should be possible to specify a radius of any size > to the kd-tree without getting a segmentation fault. > > > > > > > > > > > > > > On Thu, Nov 26, 2009 at 7:59 PM, Luis Ibanez wrote: >> Hi Motes, >> >> Why are you using such a large radius ? >> >> The method will return ALL the points that are inside >> ?a hyper-shpere of radius 262. >> >> Do you really anticipate that to be the region of the >> space that you need is that large ? >> >> >> ? ?Luis >> >> >> -------------------------------------------------------- >> On Thu, Nov 26, 2009 at 1:55 PM, motes motes wrote: >>> The value is: >>> >>> m_radius = 262 >>> >>> when I do std::cout << "m_radius" << std::endl; I ?have also tried: >>> >>> ? ? ? ? ? ?static_cast(m_kernel_radius)/1.0; >>> >>> But I still get the error. >>> >>> >>> >>> >>> When I look in the implementation (itkKdTree.txx) in the ::SearchLoop >>> function (a recursive function) I see that the radius is used: >>> >>> >>> ? ?// search the other node, if necessary >>> ? ?tempValue = lowerBound[partitionDimension]; >>> ? ?lowerBound[partitionDimension] = partitionValue; >>> ? ?if ( this->BoundsOverlapBall(query, lowerBound, upperBound, >>> ? ? ? ? ? ? ? ? ? ? ? ? ? m_SearchRadius) ) >>> ? ? ?{ >>> ? ? ?SearchLoop(node->Right(), query, lowerBound, upperBound); >>> ? ? ?} >>> ? ?lowerBound[partitionDimension] = tempValue; >>> >>> >>> My thought was therefore (under the assumption that a "bad" radius is >>> supplied) that the function never terminates since its a recursive >>> function. >>> >>> >>> >>> >>> >>> >>> >>> >>> On Thu, Nov 26, 2009 at 7:46 PM, Luis Ibanez wrote: >>>> Hi Motes, >>>> >>>> What is the value of m_radius ? ? >>>> >>>> Please report this to the mailing list. >>>> >>>> >>>> ? ? Thanks >>>> >>>> >>>> ? ? ? ? ? Luis >>>> >>>> >>>> ----------------------------------------- >>>> On Thu, Nov 26, 2009 at 1:32 PM, motes motes wrote: >>>>> For the last couple of days I have tried to find a solution for a >>>>> segmentation fault that happens when I use the itk::kdTree. >>>>> >>>>> I am using the version of search where the radius is specified: >>>>> >>>>> ?/** Searches the neighbors fallen into a hypersphere */ >>>>> ?void Search(const MeasurementVectorType &query, >>>>> ? ? ? ? ? ? ?double radius, >>>>> ? ? ? ? ? ? ?InstanceIdentifierVectorType& result) const; >>>>> >>>>> >>>>> >>>>> >>>>> From my function I call it with: >>>>> >>>>> ? ?VectorType vectorPoint; >>>>> ? ?for (int i=0; i>>>> ? ? ?vectorPoint[i] = point[i]; >>>>> ? ?} >>>>> >>>>> ? ?NeighborsType neighbors; >>>>> ? ?tree->Search(vectorPoint, m_radius, neighbors); >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> Where radius is computed like: >>>>> >>>>> ?unsigned int FVOrder = 3; >>>>> ?double Order = (double)(FVOrder+1.0); >>>>> ?double ?m_radius = ?(1.0*maxValue * Order)/2.0; >>>>> >>>>> >>>>> Now if I do: >>>>> >>>>> ? ?tree->Search(vectorPoint, 5.0, neighbors); >>>>> >>>>> it works fine without any segmentation errors. But if I do: >>>>> >>>>> ? ?tree->Search(vectorPoint, m_radius, neighbors); >>>>> >>>>> where m_radius is compted as above I get the segmentation error (after >>>>> a few thousand calls). >>>>> >>>>> Could this be a bug or am I doing something wrong here? >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.html >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>> >>>> >>> >> > From luis.ibanez at kitware.com Tue Dec 1 18:09:09 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 18:09:09 -0500 Subject: [Insight-users] Composition of two versor transforms In-Reply-To: <8d0068770911270423y67fdcf35sa8a0e8d50d715359@mail.gmail.com> References: <8d0068770911260105g79f17352gb5114df93d739d69@mail.gmail.com> <8d0068770911270423y67fdcf35sa8a0e8d50d715359@mail.gmail.com> Message-ID: Hi Patrik, I'm afraid that even if you avoid the Matrices, the combination of two Versor transforms is still going to be a bit complicated. You can rewrite the transformation: P' = M x P + T as P' = V * P + T by using "*" as the composition operator for the Versor "V", and still the full conversion will be of the type: P" = V2 * ( P' - C2 ) + T2 + C2 P" = V2 * ( V1 * ( P - C1) + T1 + C1 ) + T2 + C2 and in practice, the implementation of the operator "*" between Versor and Point ends up being very close to a Matrix multiplication (actually a bit more expensive since the intermediate computations are not reused) Probably the best way to go is to add to the VersorTransform class a "Composition()" method, and we pack all this math above inside. We have similar methods for the Affine Transform. Would you like to give it a first try ? Luis ------------------------------------------------------- On Fri, Nov 27, 2009 at 7:23 AM, Patrik Brynolfsson wrote: > Hello Luis, > Thanks for the answer and sorry for the double post, I had some problems > with my mail account. > I'm using "versorRigid3DTransform", and from what I've gathered all i need > is to save the versor (1x6) and center of rotation (1x3) to perform the same > transform again. A while back I tried to extract the rotation matrix and use > that with the versorRigid3DTransform but from what I recall that was not > allowed. Perhaps I misremember. Anyway was wondering if there is a way to > only use the versors and center of rotation to combine the two transforms, > without the extra step of dealing with matrices? > Thanks for the detailed explanation in your answer! > Regards, Patrik > > 2009/11/26 Luis Ibanez >> >> Hi Patrik, >> >> Each Versor Transform does the equivalent of: >> >> ? ? ? ? ? ? ? ? ? ? P' ?= Transform(P) = M x P + T >> >> Where M is a rotation matrix computed from the Versor parameters, >> and T is the Translation vector. >> >> to be more precise, >> this Transform also has a Center of rotation "C", >> so the actual computation is: >> >> ? ?P' = Transform(P) = M x ( P - C ) + T + C >> >> Now, when you compose two Versor Transforms you should do: >> >> ? P" = Transform2( P' ) = Transform2( Transform1( P ) ) >> >> This leads to: >> >> ?P" = M2 x ( P' - C2 ) + T2 + C2 >> ?P" = M2 x ( M1 x ( P - C1 ) + T1 + C1 ?- C2 ) + T2 + C2 >> >> which leads to >> >> ?P" = ?M2 x M1 x ( P - C1 ) ?+ M2x(T1+C1-C2) ?+ (T2+C2) >> >> You can get the matrix M from each transform by calling the >> method: GetMatrix(); the translation by calling GetTranslation(); >> and the center C by calling the method GetCenter(). >> >> >> >> ? ?Regards, >> >> >> ? ? ? ? Luis >> >> >> -------------------------------------------------------- >> On Thu, Nov 26, 2009 at 4:05 AM, Patrik Brynolfsson >> wrote: >> > Hello everyone, >> > I have a question I hope someone can clarify for me. I want to combine >> > the >> > result from two versor transforms. From what I've gathered I shouldn't >> > add >> > the elements of the two, but how then? Can someone please explain? >> > Thanks in advance! >> > -- >> > Patrik Brynolfsson >> > >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> > > > > > -- > Patrik Brynolfsson > > > From luis.ibanez at kitware.com Tue Dec 1 18:16:11 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 18:16:11 -0500 Subject: [Insight-users] (no subject) In-Reply-To: <1259340869603-4076602.post@n2.nabble.com> References: <764384C94AFE4A4389A3DBFE58640F26DE14D0@exch6.jmu.ac.uk> <2b8d077d0911190422o18030c0fkf6cded539328cb6a@mail.gmail.com> <2b8d077d0911230921v12515bbehd0eb46d7407db7f3@mail.gmail.com> <1259110814599-4062270.post@n2.nabble.com> <1259176668602-4067071.post@n2.nabble.com> <1259340869603-4076602.post@n2.nabble.com> Message-ID: Hi URI, 1) Since you are using MinGW under Windows, When you configure with CMake: are you using "ccmake" ? 2) Are you building CMake in your MinGW ? or using one that you install ? 3) When you configure ITK, are you writing anything in the CMake variable: CMAKE_INSTALL_PREFIX ?? Please let us know, Thanks Luis ----------------------------------------------------------------------- On Fri, Nov 27, 2009 at 11:54 AM, URI wrote: > > Ok, I went back to CMake version 2.8 like I was oringinally using and added > the line to all the CMakelists.txt files that were giving me errors. ?It > removed the warning, but all the errors are still there. > > This is what I get now: > > CMake Error at Common/CMakeLists.txt:164 (INSTALL): > ?install TARGETS given no ARCHIVE DESTINATION for static library target > ?"ITKCommon". > > > CMake Error at Numerics/CMakeLists.txt:48 (INSTALL): > ?install TARGETS given no ARCHIVE DESTINATION for static library target > ?"ITKNumerics". > > > CMake Error at Numerics/Statistics/CMakeLists.txt:22 (INSTALL): > ?install TARGETS given no ARCHIVE DESTINATION for static library target > ?"ITKStatistics". > > > CMake Error at Numerics/FEM/CMakeLists.txt:170 (INCLUDE): > ?include could not find load file: > > ? ?/CMake/itkCheckCXXAcceptsFlags.cmake > > > CMake Error at Numerics/FEM/CMakeLists.txt:171 (itkCHECK_CXX_ACCEPTS_FLAGS): > ?Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". > > > Configuring incomplete, errors occurred! > > > > > > ============================================= > > Luis Ibanez wrote: >> >> You just need to add the line: >> >> ? ?cmake_minimum_required(VERSION 2.4) >> >> to be the first line of the CMakeLists.txt file. >> >> Just as the error message indicates. >> >> -- >> >> Note that "2.4" in this command >> should work for any subsequent version of CMake. >> >> There is no need for you to use an older CMake. >> >> Any version of CMake from 2.6.4 and up should >> work fine with ITK. >> >> >> Please let us know if you still have any problems. >> >> >> ? ? ?Thanks, >> >> >> ? ? ? ? ? Luis >> >> >> ----------------------------------------------------------------------------------------------- >> On Wed, Nov 25, 2009 at 2:17 PM, URI wrote: >>> >>> I found where the earlier versions of CMake are stored and I tried using >>> version 2.4.2, but I got the same errors plus more. ?Does anyone know >>> what >>> the solution to this is? ?This has to be a basic thing, I'm just trying >>> to >>> get it configured for the first time by following the instructions in the >>> manual, I'm not even trying to compile a new program or anything. >>> >>> >>> I am getting the exact same error codes as the original poster. ?I am >>> using >>> MinGW on a 64-bit Windows 7 machine. ?I would like to try Dan's >>> suggestion >>> about using CMake 2.4 but I can't find anywhere to download it. ?The only >>> versions I can find on the CMake site >>> (http://www.cmake.org/cmake/resources/software.html) are version 2.8 and >>> 2.6.4. >>> >>> >>> >>> Dan Mueller wrote: >>>> >>>> Hi Munther, >>>> >>>> It seems the "Hello World" application is not compatible with your >>>> version of CMake... >>>> >>>> Perhaps try CMake version 2.4.x? Anyone else on the list have ideas? >>>> >>>> Regards, Dan >>>> >>>> 2009/11/23 Gdeisat, Munther : >>>> >>>>> ##########================================= >>>>> Check for working C compiler: cl >>>>> >>>>> Check for working C compiler: cl -- works >>>>> >>>>> Detecting C compiler ABI info >>>>> >>>>> Detecting C compiler ABI info - done >>>>> >>>>> Check for working CXX compiler: cl >>>>> >>>>> Check for working CXX compiler: cl -- works >>>>> >>>>> Detecting CXX compiler ABI info >>>>> >>>>> Detecting CXX compiler ABI info - done >>>>> >>>>> CMake Warning (dev) in CMakeLists.txt: >>>>> >>>>> No cmake_minimum_required command is present. A line of code such as >>>>> >>>>> cmake_minimum_required(VERSION 2.8) >>>>> >>>>> should be added at the top of the file. The version specified may be >>>>> lower >>>>> >>>>> if you wish to support older CMake versions for this project. For more >>>>> >>>>> information run "cmake --help-policy CMP0000". >>>>> >>>>> This warning is for project developers. Use -Wno-dev to suppress it. >>>>> >>>>> Looking for EnumProcesses in Psapi >>>>> >>>>> Looking for EnumProcesses in Psapi - not found >>>>> >>>>> Looking for mallinfo in malloc >>>>> >>>>> Looking for mallinfo in malloc - not found >>>>> >>>>> CMake Error at Common/CMakeLists.txt:163 (INSTALL): >>>>> >>>>> install TARGETS given no ARCHIVE DESTINATION for static library target >>>>> >>>>> "ITKCommon". >>>>> >>>>> CMake Error at Numerics/CMakeLists.txt:47 (INSTALL): >>>>> >>>>> install TARGETS given no ARCHIVE DESTINATION for static library target >>>>> >>>>> "ITKNumerics". >>>>> >>>>> CMake Error at Numerics/Statistics/CMakeLists.txt:21 (INSTALL): >>>>> >>>>> install TARGETS given no ARCHIVE DESTINATION for static library target >>>>> >>>>> "ITKStatistics". >>>>> >>>>> CMake Error at Numerics/FEM/CMakeLists.txt:169 (INCLUDE): >>>>> >>>>> include could not find load file: >>>>> >>>>> /CMake/itkCheckCXXAcceptsFlags.cmake >>>>> >>>>> CMake Error at Numerics/FEM/CMakeLists.txt:170 >>>>> (itkCHECK_CXX_ACCEPTS_FLAGS): >>>>> >>>>> Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". >>>>> >>>>> Configuring incomplete, errors occurred! >>>>> >>>>> >>>> >>> >>> -- >>> View this message in context: >>> http://n2.nabble.com/no-subject-tp4031125p4067071.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/no-subject-tp4031125p4076602.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Tue Dec 1 18:26:07 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 18:26:07 -0500 Subject: [Insight-users] Confused abour Optimizer Scales In-Reply-To: References: Message-ID: Hi Auron, Following your numerals: 1) Great ! 2) A negative value in the optimizer scale, definitely doesn't make sense. What it will do is to move your Transform parameter in the wrong direction (e.g. against the good direction for improving the metric. Something else is wrong in your registration setup, and we should track it. 3) Not to criticize too much your image acquisition methods, but... if the images in the screen shot are from consecutive slices, how come that they are rotated about 50 degrees ? They are not even covering the full same region of the tissue, so, the best you can hope is for a partial match based on the left half of the tissue sample. 4) You could avoid to have to do difficult image processing, if some basic improvements were made on the process of acquiring the images from the tissue samples. Normally in a microscopy stack you wouldn't see rotations larger than a couple of degrees. From luis.ibanez at kitware.com Tue Dec 1 18:29:47 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 18:29:47 -0500 Subject: [Insight-users] itk::octree In-Reply-To: <54eca6a70911280925l3557512ayb516832fb35b4b8@mail.gmail.com> References: <54eca6a70911280842u43eea2e7h4f735285e58aaf7e@mail.gmail.com> <54eca6a70911280925l3557512ayb516832fb35b4b8@mail.gmail.com> Message-ID: Hi motes, We should reduce your case to a minimal test, as suggested in my previous email. Let's try doing that with the tests: Testing/Code/Numerics/Statistics/ itkKdTreeGeneratorTest.cxx We just need to get a duplicate of your process for generating points. (or a file with the point coordinates). Thanks, Luis ----------------------------------- On Sat, Nov 28, 2009 at 12:25 PM, motes motes wrote: > On Sat, Nov 28, 2009 at 5:47 PM, David Doria wrote: >> On Sat, Nov 28, 2009 at 11:42 AM, motes motes wrote: >>> >>> I am looking at itkOctreeTest.cxx which runs a test on an octree. The >>> octree is build from a 3D image where each pixel has a value. >>> >>> My question is now. Is it possible to use the above octree as >>> structure to find the k-nn to a point p? >>> >>> Assume that we have a 3D image which contains 12*12*12 nodes >>> distributed randomly in the volume. Now for a given point p in the >>> volume, the nodes within a specified radius r should be returned. >>> >>> As I understand the octree returns values of pixels and not locations >>> but maybe with some modification it could be possible to convert this >>> into locations? Does anyone have an idea for this? >>> >> >> My understanding is that typical practice says to use a kdtree for NN >> searches and an octree for ray intersections (although I've found the >> modified-BSP tree to be MUCH faster at ray intersections). Can someone >> verify this? >> >> Were you having a problem doing a NN search with the ITK kdtree? > > > Yes but it only happens when using it in a transform in a resampling > filter. I have tried various techniques (Valgrind, unit-test) to find > the error but I still have not been able to locate it. I can only > conclude that doing a seach on a kdTree from ?the function > "TransformPoint" is not a good idea and will cause a segmentation > fault. But I am still trying to find it. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Tue Dec 1 19:04:29 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 19:04:29 -0500 Subject: [Insight-users] Using itk::hash_table In-Reply-To: <54eca6a70911281402i7028309fmdf5836b696057b50@mail.gmail.com> References: <54eca6a70911281402i7028309fmdf5836b696057b50@mail.gmail.com> Message-ID: Hi Motes, It seems that this type of spatial hashing has already been implemented in the following ITK class: Insight/Code/Algorithms/ itkAutomaticTopologyMeshSource.h See lines: 146-150 typedef itk::hash_map< PointType, IdentifierType, StructHashFunction< PointHashType > > PointHashMap; and you will find the definition of "StructHashFunction<>" in the file: Insight/Code/Algorithms/itkStructHashFunction.h while the type "PointHashType" is declared in the Mesh Traits files: Insight/Code/Common/ itkDefaultDynamicMeshTraits.h: typedef Point< CoordRepType, VPointDimension > PointHashType; itkDefaultStaticMeshTraits.h: typedef Point< CoordRepType, VPointDimension > PointHashType; Regards, Luis -------------------------------------------------------------------------------- On Sat, Nov 28, 2009 at 5:02 PM, motes motes wrote: > I would like to use a itk::hash_table to store my own objects (for > spatial hashing). > > For each index in the hash_table a list of objects should be stored > based on a hash value (pretty much the definition of a hash-table). > > I would like to compute this hash value based on the location of each > of the objects which contains a 3D vector corresponding to its > location in space. > > Something like (the below is python code use as an example from the > website: http://entitycrisis.blogspot.com/2007/11/spatial-hashing.html): > > ? ?def key(self, point): > ? ? ? ?cell_size = self.cell_size > ? ? ? ?return ( > ? ? ? ? ? ?int((floor(point[0]/cell_size))*cell_size), > ? ? ? ? ? ?int((floor(point[1]/cell_size))*cell_size), > ? ? ? ? ? ?int((floor(point[2]/cell_size))*cell_size) > ? ? ? ?) > > > So if I do: > > > void eval(VectorType v) { > ?std::vector chain = ?hash_map.get(v); > > } > > I should get all those elements that hash to the value based on the "key" v. > > > > I have done the following: > > > ?typedef itk::Vector > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VectorType; > ?typedef MyPoint > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? MyPointType; > ?typedef std::pair > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ValueType; > ?typedef unsigned long > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?IdentifierType; > ?typedef itk::hash_map MyHashFunction > ? HashMap; > > ?HashMap m_HashTable; > > ?MyPointType cp0; > ?VectorType vec0; > ?ValueType val0; > ?val0.first = cp0; > ?val0.second = 12; > > > In MyPoint I have implemented the following operators: > > ? ?bool operator==(const MyPoint & mp) const { > ? ? ?return !(*this == mp); > ? ?} > > ? ?int operator ()(MyPoint ?& mp) { > ? ? ?// hm what todo here? Return cell size? > ? ? ?return 10; > ? ?} > > > > > > > > I have created the following hash functor: > > ?template< class TInput > > ?class MyHashFunction > ?{ > ?public: > > ? ?typedef MyHashFunction Self; > ? ?typedef TInput InputType; > ? ?typedef InputType::VectorType ? ?VectorType; > > ? ?unsigned int operator()( const InputType& key ) const; > > ?}; > > ?template< class TInput > > ?inline unsigned int > ?MyHashFunction< TInput > > ?::operator()( const InputType& key ) const > ?{ > > ? ? VectorType position = key.getPosition(); > ? ?double cellSize = key.getCellSize(); > > ? ?// Do something like the above pythion scripts.... > ? ?return hash; > > ?} > > > But I am not sure what I should use the operator "()" for ?and what > the: ?"IdentifierType" represents. > > Another think. I need to get all elements associated with the key 'k'. > By all elements I mean the "chain/list" connected to the index > returned by the hash_function. Is that possible with the > itk::hash__table or should I look into the std::map containing lists > instead? > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Tue Dec 1 19:13:20 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 19:13:20 -0500 Subject: [Insight-users] registration and warping composite filter In-Reply-To: <5fbb7840911290157u680be5d7x305b17de032273bf@mail.gmail.com> References: <5fbb7840911271123m13065784hb5f0835b4ed19784@mail.gmail.com> <5fbb7840911271131y343194f5s4d97b4bf0f718bc8@mail.gmail.com> <9ddb27260911290114v5f6ac4d9ne869d0ac8a705f0c@mail.gmail.com> <5fbb7840911290157u680be5d7x305b17de032273bf@mail.gmail.com> Message-ID: Hi Zoltan, If you want to package the full functionality of the classes: * itkDemonsRegistrationFilter * itkLinearInterpolateImageFunction * itkWarpImageFilter you should create a new filter that derives from itk::ImageToImageFilter takes 2 inputs: * The Fixed Image * The Moving Image and produce one output: * The Resampled Image Inside the GenerateData() method of your new filter, you could pack most of the code of the example: Insight/Examples/Registration/ DeformableRegistration2.cxx For instructions on how to write a new ITK filter, you may want to look at the Tutorial: http://www.na-mic.org/Wiki/images/b/bc/Insight-Writing-a-New-Filter.ppt Regards, Luis --------------------------------------------------- On Sun, Nov 29, 2009 at 4:57 AM, Zoltan Seress wrote: > Hi, > Nothing new strategy, I just want to combine that 3 filters in one. So the > answers are: > > On Sun, Nov 29, 2009 at 10:14 AM, Karthik Krishnan > wrote: >> >> What exactly is your goal ? Are you simply trying to encapsulate the >> combined functionality of demons registration and the final resampling >> using the resulting vector field into a single filter ? > > Yes. > >> >> Or are you >> trying to implement a new registration strategy ? > > No. >> >> On Fri, Nov 27, 2009 at 2:31 PM, Zoltan Seress >> wrote: >> > Hi, >> > Sorry for the first letter! It was an accident. >> > I would like to write a composite filter, which >> > >> > encapsulates?itkDemonsRegistrationFilter,?itkLinearInterpolateImageFunction >> > and?itkWarpImageFilter (at least for now). Should I derivate it >> > from?itkPDEDeformableRegistrationFilter (parent >> > of?itkDemonsRegistrationFilter) or itkImageToImageFilter (parent >> > of?itkWarpImageFilter)? Actually I have more questions, but that is the >> > first to start. >> > On Fri, Nov 27, 2009 at 8:23 PM, Zoltan Seress >> > wrote: >> >> >> >> Dear Listmembers! >> >> >> >> -- >> >> Zoli >> > >> > >> > >> > -- >> > Zoli >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> > > > > > -- > Zoli > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Tue Dec 1 19:15:46 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 19:15:46 -0500 Subject: [Insight-users] Hashing 3D euclidean vectors? In-Reply-To: <54eca6a70911290313y178296aald6a5b410e0cfda2f@mail.gmail.com> References: <54eca6a70911281838u62efe739o403d4ddfbdc4af2b@mail.gmail.com> <9ddb27260911282052t1e8761easdb24c154ae673042@mail.gmail.com> <54eca6a70911290313y178296aald6a5b410e0cfda2f@mail.gmail.com> Message-ID: Hi Motes, an ITK Point locator implementation is available in the NAMIC Sandbox at: QuadEdgeMeshRigidRegistration/Source itkPointLocator2.h itkPointLocator2.txx http://svn.na-mic.org/NAMICSandBox/trunk/QuadEdgeMeshRigidRegistration/Source/ Regards, Luis -------------------------------------------------------------------------------------------- On Sun, Nov 29, 2009 at 6:13 AM, motes motes wrote: > On Sun, Nov 29, 2009 at 5:52 AM, Karthik Krishnan > wrote: >> A hash table is probably not the way to go there. I've never heard of >> anyone doing that, it may not be possible either to design a well >> dimensioned hash table to achieve this in amortized time. > > Maybe I am misunderstanding you but I am pretty sure that 'spatial > hashing' using hash-tables are a well known technique. Here are just a > few of the resource I found when googling Locality-Sensitive Hashing: > > http://en.wikipedia.org/wiki/Locality_sensitive_hashing > http://www.mit.edu/~andoni/LSH/ > http://people.csail.mit.edu/indyk/nips-nn.ps > > > > >> >> What you might want to look at is the locator framework in VTK. These >> divide the search space into buckets based on various strategies and >> you can search pretty efficiently for the closest neighbors. See >> >> ?vtkPointLocator::FindClosestPoint > > Thanks, I will check it out! > >> >> You mention below that these are regular spaced points.. Are the >> points stored in memory in some sort of adjacency. Search for closest >> points woul dbe trivial then > > Currently I just store them in a std::map which I then move to the > hash-table using a Locality-Sensitive hash-function (to be > implemented). > > > >> >> On Sat, Nov 28, 2009 at 9:38 PM, motes motes wrote: >>> I need to hash regular spaced points located in 3D such that points >>> that are close to each other hash to the same value (gets stored in >>> the same chain) and points that are far from each other hash to >>> different values (are stored in different chains). This way I can >>> given a random point find the chain with the closest neighbors in >>> constant time. >>> >>> Can someone recommend a good hash function that does the above? >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Tue Dec 1 19:28:09 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 19:28:09 -0500 Subject: [Insight-users] add and remove subimages In-Reply-To: <002801ca71b1$de0378c0$a337048a@POSEIDON> References: <002801ca71b1$de0378c0$a337048a@POSEIDON> Message-ID: Hi David, By "Add" do you mean to "insert" a N-D image into a (N+1)-D image ? or do you actually mean to perform an arithmetic addition between the pixel values of the N-D image and the corresponding sub-region of the (N+1)-D image ? Do you need to do this many times ? Would you be adding and removing always at the end ? like a FIFO queue ? or do you plan to insert and remove from arbitrary locations ? ... then default method that comes to mind, will not be an efficient way of doing this for many insertions and deletions... Also, please clarify if when you insert you want the new data to replace a pre-existing region of the N+1 D image, or you want the image to expand in extent. Same for the removal: do you want to extract regions from the N+1 D image and leave the original image untouched, or do you want to also get a reduced (smaller) version of the N+1 D image, that now is missing the N-D image that you extracted. Please let us know, Thanks Luis -------------------------------------------------------------------------------------------- On Mon, Nov 30, 2009 at 6:40 AM, David Pastor wrote: > Hello, > > I'd like?to add an n dimensional image to a n+1 dimensional image. Also i > would like to be able to remove selected subimages. > > I'm not sure if i can use TileImageFilter for that as the InputImages would > have different dimensions. > > pushbackinput(4d image) > pushbackinput(3d image) > > out-> 4d image > > is this possible? any specific layout for it? even it would be great to be > able to set the 3d image in any point of the 4d image like an interleaving. > > I don't know if ExtractImageFilter could be used for the opposite either. > > Cheers, > D. Pastor > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Tue Dec 1 19:31:01 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 19:31:01 -0500 Subject: [Insight-users] Problem with wrapping itk In-Reply-To: References: Message-ID: Alex, You could also follow a more manual approach, and 1) Get the final transform parameters from the registration class, 2) Set them in the Transform 3) Set the transform in the Resample filter. This is how most of the registration examples in Insight/Examples/Registration are configured. (Using WrapITK 2.0, and keeping your current code would probably be a more elegant solution though..) Regards, Luis ------------------------------------------------- On Mon, Nov 30, 2009 at 10:50 PM, alex sando wrote: > ??????? hi all, i was trying the registration examples of ITK using WrapITK, > but i got a problem.... > ?????? Here is my code: > > ??????? registration_object = > itk.ImageRegistrationMethod[itk.Image.F2,itk.Image.F2].New() > ??????? #...registration codes... > ? ? ? ? resampler = itk.ResampleImageFilter[itk.Image.F2, > itk.Image.F2].New() > ??????? resampler.SetInput(i1) > ??????? resampler.SetTransform(registration_object.GetOutput().Get()) > > ~~~~~~~AttributeError: 'str' object has no attribute 'Get' > ??????? Any suggestions? thanks in advance~~ > > ??????? alex > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Tue Dec 1 19:38:34 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 19:38:34 -0500 Subject: [Insight-users] Problems with the orthogonal rotation matrix in versorRigid3DTransform In-Reply-To: <8d0068770911300738n2390b019lc09bbe2eaa35203@mail.gmail.com> References: <8d0068770911270601sc72f651k2d4016634d38b4eb@mail.gmail.com> <8d0068770911300738n2390b019lc09bbe2eaa35203@mail.gmail.com> Message-ID: Hi Patrik, Thanks for posting your code and the data. Two things that you should try: A) In your code, please insert a line: trans.precision(15); before each line that prints transform parameters. for an explanation, please look at http://www.cplusplus.com/reference/iostream/ios_base/precision/ Or (exclusive or) B) You may want to try the classes TransformFileWriter TransformFileReader that you will find in the directory Insight/Code/Review simply reconfigure ITK with CMake and turn ON the CMake variables * ITK_USE_REVIEW and * ITK_USE_TRANSFORM_IO_FACTORIES For an example of use of these classes, please see Insight/Testing/Code/Review itkTransformFileReaderWriterTest.cxx Regards, Luis ------------------------------------------------------------- On Mon, Nov 30, 2009 at 10:38 AM, Patrik Brynolfsson wrote: > Hello! > I'm using version ITK 3.16. > The code for writing to file is very simple and the relevant code is > attached below: > /* Get relevant parameters*/ > TransformType::MatrixType matrix ? ?= transform->GetRotationMatrix(); > TransformType::OffsetType offset ? ?= transform->GetOffset(); > TransformType::MatrixType invMatrix = matrix.GetInverse(); > TransformType::ParametersType finalParameters = transform->GetParameters(); > /* Write to file */ > std::ofstream trans(fileName,std::ios::app); > trans << "Image: " << imageNumber << std::endl; > trans << "\tMatrix:" << std::endl; > trans << "\t\t" << matrix[0][0] <<" "<< matrix[0][1] <<" "<< matrix [0][2] > << std::endl; > trans << "\t\t" << matrix[1][0] <<" "<< matrix[1][1] <<" "<< matrix [1][2] > << std::endl; > trans << "\t\t" << matrix[2][0] <<" "<< matrix[2][1] <<" "<< matrix [2][2] > << std::endl << std::endl; > trans << "\tInverse matrix:" << std::endl; > trans << "\t\t" << invMatrix[0][0] <<" "<< invMatrix[0][1] <<" "<< invMatrix > [0][2] << std::endl; > trans << "\t\t" << invMatrix[1][0] <<" "<< invMatrix[1][1] <<" "<< invMatrix > [1][2] << std::endl; > trans << "\t\t" << invMatrix[2][0] <<" "<< invMatrix[2][1] <<" "<< invMatrix > [2][2] << std::endl << std::endl; > trans << "\tOffset vector:" << std::endl; > trans << "\t\t" << offset[0]<<" "< std::endl; > trans << "\tVersor transform:" << std::endl; > trans << "\t\t" << finalParameters[0]<<" "< "< <<" "< trans << "\tCenter of Rotation:" << std::endl; > trans << "\t\t" << transform->GetCenter()[0] <<" " << > transform->GetCenter()[1] <<" "<< transform->GetCenter()[2]<< std::endl << > std::endl; > A result file might look like: > Image: 1 > Matrix: > 0.99998 -0.00105588 -0.00631213 > 0.00111111 0.999961 0.00875183 > 0.00630265 -0.00875866 0.999942 > Inverse matrix: > 0.99998 0.00111111 0.00630265 > -0.00105588 0.999961 -0.00875866 > -0.00631213 0.00875183 0.999942 > Offset vector: > 0.453916 -0.946682 0.388294 > Versor transform: > -0.00437769 -0.00315374 0.000541755 0.259976 -0.727504 0.0970571 > Center of Rotation: > -1.96057 31.6714 25.4334 > I hope this helps to fix the problem! > > Regards > Patrik > 2009/11/30 Luis Ibanez >> >> Hi Patrik, >> >> 1) What version of ITK are you using ? >> >> 2) The error that you are getting indicates that the >> ? ?matrix is non-orthogonal "to a certain precision level". >> >> 3) It would seem that the file where the transform >> ? ?is saved is not using all the required precision. >> ? This is a common problem when writing float/double >> ? numbers as text. >> >> Could you please post to the mailing list the Transform >> file that is not working for loading ? >> >> We can use it to track down the location where the >> precision is being lost at the moment of writing. >> Most likely what we need to fix is the "precision" >> modifier of the ostream that is writing the data out. >> >> -- >> >> If you are in a hurry, a work around would be for >> you to "manually" save the array of parameters >> of the transform. This will be more stable, since >> it is saved as: >> >> ? Three Versor components for the rotation and >> ? Three Vector components for ?the translation, >> ? and, don't forget to save also the Fixed parameters >> ? that will consist of the three components of the >> ? center of rotation. >> >> >> >> ? ?Thanks >> >> >> ? ? ? ? Luis >> >> >> >> ------------------------------------------------------------------------------ >> On Fri, Nov 27, 2009 at 9:01 AM, Patrik Brynolfsson >> wrote: >> > Hello, >> > I'm performing 3D rigid registration using the versorRigid3DTransform on >> > a >> > lot of images and save the resulting versors, rotation matrices,?center >> > of >> > rotation and?translations vectors in a text file connected to each >> > image. My >> > problem is that when I read the rotation matrix from file to perform the >> > actual transform ITK complains, saying: >> > "itk::ERROR: VersorRigid3DTransform(031BFC78): Attempting to set a >> > non-orthogonal rotation matrix" >> > It is the same matrix that ITK returned when the original registration >> > was >> > performed. How do I solve this? >> > Thanks in advance, >> > -- >> > Patrik Brynolfsson >> > >> > >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> > > > > > -- > Patrik Brynolfsson > > > From bill.lorensen at gmail.com Tue Dec 1 19:40:33 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 1 Dec 2009 19:40:33 -0500 Subject: [Insight-users] Fwd: Bug in itk::kdTree ? In-Reply-To: References: <54eca6a70911261032u6980530er2e8e7f272293e887@mail.gmail.com> <54eca6a70911261055n5f50917et372e41561ed6bd2@mail.gmail.com> <54eca6a70911261159u7e9fd0dem73596bf1414050f@mail.gmail.com> Message-ID: <4db4735c0912011640q7634889alf23d211cdf81286f@mail.gmail.com> Luis, I think the problem has been isolated to the fact that itkKdTree is not thread-safe. Unfortunately, this issue has been active in multiple threads. Motes can verify? Bill On Tue, Dec 1, 2009 at 6:02 PM, Luis Ibanez wrote: > ---------- Forwarded message ---------- > From: Luis Ibanez > Date: Tue, Dec 1, 2009 at 6:02 PM > Subject: Re: [Insight-users] Bug in itk::kdTree ? > To: motes motes > > > Hi Motes, > > Here is a suggestion for tracking this problem. > > If we take the test: > > ? Insight/Testing/Code/Numerics/Statistics/ > ? ? ? ? ? ? ? ? ? itkKdTreeGeneratorTest.cxx > > and replace the initialization of the array in lines: 39-45 > with loading the list of points that you are generating > for your test, > > then we should be able to reproduce the problem > that you are seeing. > > Could you describe how are you generating the set > of points ? > > Or send us a file with the list of points ? > (assuming that is less than 1Mb in size...) > > In this way we can track is this is actually a bug in > the KdTree (or its generator) > > > ? ? Thanks > > > ? ? ? ? ?Luis > > > > ------------------------------------------------------------------------------ > On Thu, Nov 26, 2009 at 2:59 PM, motes motes wrote: >> I have written my own transform where no of the regular grid >> structures (bspline grid, coeff_image, etc) are used. >> >> Since the transform gets points in physical coordinates from the >> metric the radius and other measures used in the transform must also >> be in converted to physical coordinates. >> >> >> >> >> >> Here is an example: >> >> I define the radius as the basisfunction doman divided by 2. I still >> use the BSpline kernel which has a domain over 4 "blocks" and the >> radius is therefore 2 "blocks". >> >> >> >> One "block" in pixel coordinates is: >> >> blockInPixels = ImageDimension/(numberOfNodes-1) >> >> So if we have a 128*128*128 volume and define 4*4*4 nodes each block is: >> >> blockInPixel = 128/3 = 43 pixels >> >> Since the radius is two blocks the radius becomes 2*43 = 85 pixels. >> >> Now we need to convert this to physical space which is done with the formula: >> >> physical = I*S+O >> >> where I is index, S is scaling and O is origin of the fixed image. >> Assume that the fixed image has the following spacing and origin >> respectivily: >> >> ? ? ? ? ? ? [3.125, 3.125, 4] and [0,0,0] >> >> the radius in each dimension therefore becomes: >> >> ? ? ? ? ? ?[3.125 * 85, 3.125 * 85, 4 * 85] = ?[266, 266, 340] >> >> >> Currently I choose the first element as radius, 266 for all dimensions >> and feed that to the kd-tree. >> >> But maybe I am doing something wrong in this custom transform? >> >> But in principle it should be possible to specify a radius of any size >> to the kd-tree without getting a segmentation fault. >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Thu, Nov 26, 2009 at 7:59 PM, Luis Ibanez wrote: >>> Hi Motes, >>> >>> Why are you using such a large radius ? >>> >>> The method will return ALL the points that are inside >>> ?a hyper-shpere of radius 262. >>> >>> Do you really anticipate that to be the region of the >>> space that you need is that large ? >>> >>> >>> ? ?Luis >>> >>> >>> -------------------------------------------------------- >>> On Thu, Nov 26, 2009 at 1:55 PM, motes motes wrote: >>>> The value is: >>>> >>>> m_radius = 262 >>>> >>>> when I do std::cout << "m_radius" << std::endl; I ?have also tried: >>>> >>>> ? ? ? ? ? ?static_cast(m_kernel_radius)/1.0; >>>> >>>> But I still get the error. >>>> >>>> >>>> >>>> >>>> When I look in the implementation (itkKdTree.txx) in the ::SearchLoop >>>> function (a recursive function) I see that the radius is used: >>>> >>>> >>>> ? ?// search the other node, if necessary >>>> ? ?tempValue = lowerBound[partitionDimension]; >>>> ? ?lowerBound[partitionDimension] = partitionValue; >>>> ? ?if ( this->BoundsOverlapBall(query, lowerBound, upperBound, >>>> ? ? ? ? ? ? ? ? ? ? ? ? ? m_SearchRadius) ) >>>> ? ? ?{ >>>> ? ? ?SearchLoop(node->Right(), query, lowerBound, upperBound); >>>> ? ? ?} >>>> ? ?lowerBound[partitionDimension] = tempValue; >>>> >>>> >>>> My thought was therefore (under the assumption that a "bad" radius is >>>> supplied) that the function never terminates since its a recursive >>>> function. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> On Thu, Nov 26, 2009 at 7:46 PM, Luis Ibanez wrote: >>>>> Hi Motes, >>>>> >>>>> What is the value of m_radius ? ? >>>>> >>>>> Please report this to the mailing list. >>>>> >>>>> >>>>> ? ? Thanks >>>>> >>>>> >>>>> ? ? ? ? ? Luis >>>>> >>>>> >>>>> ----------------------------------------- >>>>> On Thu, Nov 26, 2009 at 1:32 PM, motes motes wrote: >>>>>> For the last couple of days I have tried to find a solution for a >>>>>> segmentation fault that happens when I use the itk::kdTree. >>>>>> >>>>>> I am using the version of search where the radius is specified: >>>>>> >>>>>> ?/** Searches the neighbors fallen into a hypersphere */ >>>>>> ?void Search(const MeasurementVectorType &query, >>>>>> ? ? ? ? ? ? ?double radius, >>>>>> ? ? ? ? ? ? ?InstanceIdentifierVectorType& result) const; >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> From my function I call it with: >>>>>> >>>>>> ? ?VectorType vectorPoint; >>>>>> ? ?for (int i=0; i>>>>> ? ? ?vectorPoint[i] = point[i]; >>>>>> ? ?} >>>>>> >>>>>> ? ?NeighborsType neighbors; >>>>>> ? ?tree->Search(vectorPoint, m_radius, neighbors); >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Where radius is computed like: >>>>>> >>>>>> ?unsigned int FVOrder = 3; >>>>>> ?double Order = (double)(FVOrder+1.0); >>>>>> ?double ?m_radius = ?(1.0*maxValue * Order)/2.0; >>>>>> >>>>>> >>>>>> Now if I do: >>>>>> >>>>>> ? ?tree->Search(vectorPoint, 5.0, neighbors); >>>>>> >>>>>> it works fine without any segmentation errors. But if I do: >>>>>> >>>>>> ? ?tree->Search(vectorPoint, m_radius, neighbors); >>>>>> >>>>>> where m_radius is compted as above I get the segmentation error (after >>>>>> a few thousand calls). >>>>>> >>>>>> Could this be a bug or am I doing something wrong here? >>>>>> _____________________________________ >>>>>> Powered by www.kitware.com >>>>>> >>>>>> Visit other Kitware open-source projects at >>>>>> http://www.kitware.com/opensource/opensource.html >>>>>> >>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>> http://www.kitware.com/products/protraining.html >>>>>> >>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>> >>>>>> Follow this link to subscribe/unsubscribe: >>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>> >>>>> >>>> >>> >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Tue Dec 1 19:47:47 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 19:47:47 -0500 Subject: [Insight-users] call metric in Observer code In-Reply-To: References: Message-ID: Hi Serena, Thanks for letting us know of your progress. -- Regarding your question, Please note that Mutual Information is NOT and additive measure. That is, if you computed a value of Mutual Information, in a region R, and then you partition that Region R into two subregions R1 and R2, and compute Mutual information in R1 and then in R2, the sum of these two last numbers will NOT be equal to the mutual information of R. In short: MI( R ) != MI( R1 ) + MI( R2 ) This is because MI is related to the logs of probabilities of intensity pairs (pixel counts). So... it still may be ok that you get similar values of Mutual Information from MI(R) and MI( R1). In principle, it just tells you that the statistical distribution of pixels intensity pairs in the Region R is similar to the one in the subregion R1. I don't know if that helps you with the original goal that you had for computing MI in subregions of the image..... Regards, Luis ----------------------------------------------------------------------------------- On Mon, Nov 30, 2009 at 8:10 PM, Serena Fabbri wrote: > > Hi Luis, > > thank you very much to explain clearly the mistake. > I fixed the code and now I am able to calculate local MI. > > > Now I am a bit surprised because the SetFixedImageRegion is (10,17,20) > pixelsize and the FixedImage is ?(80,80,101) pixelsize and > I am finding that the values of local MI are pretty close to the global > values of MI. I use all pixel for ?local MI and 10% of statistic for global > MI. > > Do you think this is reasonable? > > Thanks again for any suggestion. > > Serena. > > > These are the results of LOCAL MI: > > 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 ? -0.468013 > ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 > -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 ? -0.492886 > ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 ? 18 > -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 > -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 > -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 ? -0.51411 > 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 > -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 > -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 > -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 ? -0.526987 > ? 48 ? -0.528026 ? 49 ? -0.528595 ? 50 ? -0.529578 > > > -GLOBAL MI > 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 ? -0.468013 > ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 > -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 ? -0.492886 > ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 ? 18 > -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 > -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 > -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 ? -0.51411 > 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 > -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 > -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 > -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 ? -0.526987 > ? 48 ? -0.528026 ? 49 ? -0.528595 > > > On Thu, 26 Nov 2009, Luis Ibanez wrote: > >> Serena, >> >> The "caller" argument of the Execute method is an Observer >> is the pointer to the object that invoked the event. >> >> In your particular case, this is the Optimizer. >> >> As Bill explained, >> you can only cast "caller" to the OptimizerType. >> >> >> For all the other elements of the registration framework, you have >> to pass them through other means to the command. >> >> One way of doing this is to have them as Member variables, >> and to have "Set" methods for them. >> >> Like >> >>> class CommandIterationUpdate : public itk::Command { >>> public: >>> ?typedef ?CommandIterationUpdate ? Self; >>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>> ?typedef itk::SmartPointer ?Pointer; >>> ?itkNewMacro( Self ); >>> >>> protected: >>> ?CommandIterationUpdate() {}; >>> >>> public: >>> ?typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>> ?typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>> >>> ? ? ? typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>> ? ? ? typedef ? const ?FixedImageType* ?FixedImagePointer; >>> >>> ? ? ? typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>> >>> ? ? ? typedef itk::MattesMutualInformationImageToImageMetric< >>> FixedImageType, MovingImageType >>>> >>>> MetricType; >>> >>> ? ? ? typedef ? const MetricType* ?MetricPointer; >>> >>> ? ? ? typedef itk::BSplineDeformableTransform< double,3,3 > >>> DeformableTransformType; >>> ? ? ? typedef ? const DeformableTransformType* ?TransformPointer; >>> >> MetricPointer ? ? ? ? ? ?m_Metric; >> TransformPointer ? ?m_Transform; >> FixedImagePointer ? ?m_FixedImage; >> MovingImagePointer ? ?m_MovingImage; >> >> >> public: >> >> ?SetTransform( TransformType * transform ) { ?m_Transform = transform; } >> ?SetFixedImage( FixedImageType * fixed ) { ?m_FixedImage = fixed; } >> ?SetMovingImage( MovingImageType * moving ) { ?m_MovingImage = moving; } >> >> >> and then you can use them in your Execute method. >> >> Also, >> when you connect the Command to the optimizer, >> you should also do: >> >> >> ? observer->SetFixedImage( fixedImage ); >> ? observer->SetMovingImage( movingImage ); >> ? observer->SetTransform( transform ); >> >> ? optimizer->AddObserver( itk::IterationEvent(), observer ); >> >> In this way, the components of the registration framework >> will be available to the internals of your observer class. >> >> >> Regards, >> >> >> ? ? ? ? Luis >> >> >> >> ------------------------------------------------------------------------------- >> On Wed, Nov 25, 2009 at 8:51 PM, Serena Fabbri >> wrote: >>> >>> Hi All, >>> >>> I am registering CT image and MRI image with Mattes MI and Bspline >>> Transformation. >>> I'd like to know the value of MI of a little area of the fixed image >>> during >>> the registration process. >>> I call the metric in the observer code but i get a bus error. >>> >>> could anybody suggest me where the error is? >>> >>> Thank you very much. >>> >>> Serena >>> >>> >>> >>> >>> >>> class CommandIterationUpdate : public itk::Command { >>> public: >>> ?typedef ?CommandIterationUpdate ? Self; >>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>> ?typedef itk::SmartPointer ?Pointer; >>> ?itkNewMacro( Self ); >>> >>> protected: >>> ?CommandIterationUpdate() {}; >>> >>> public: >>> ? typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>> ? typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>> >>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>> ? ? ? ?typedef ? const ?FixedImageType* ?FixedImagePointer; >>> >>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>> >>> ? ? ? ?typedef itk::MattesMutualInformationImageToImageMetric< >>> FixedImageType, MovingImageType >>>> >>>> MetricType; >>> >>> ? ? ? ?typedef ? const MetricType* ?MetricPointer; >>> >>> ? ? ? ?typedef itk::BSplineDeformableTransform< double,3,3 > >>> DeformableTransformType; >>> ? ? ? ?typedef ? const DeformableTransformType* ?TransformPointer; >>> >>> >>> >>> >>> ?void Execute(itk::Object *caller, const itk::EventObject & event) >>> ? ?{ >>> ? ? ?Execute( (const itk::Object *)caller, event); >>> ? ?} >>> >>> ?void Execute(const itk::Object * object, const itk::EventObject & event) >>> ? ?{ >>> >>> ? ? ? ? ? ? ? ?OptimizerPointer optimizer = dynamic_cast< >>> OptimizerPointer >>>> >>>> ( object ); >>> >>> ? ? ? ? ? ? ? ?MetricPointer metric = dynamic_cast< MetricPointer >( >>> object >>> ); >>> ? ? ? ? ? ? ? ?TransformPointer transform = dynamic_cast< >>> TransformPointer >>>> >>>> ( object ); >>> >>> ? ? ? ? ? ?FixedImagePointer fixedImage = dynamic_cast< >>> FixedImagePointer>( >>> object ); >>> ? ? ? ? ? ? ? ?FixedImageType::IndexType start; >>> ? ? ? ? ? ? ? ?FixedImageType::SizeType size; >>> >>> ? ? ? ? ? ? ? ? start[0]=43; >>> ? ? ? ? ? ? ? ? start[1]=30; >>> ? ? ? ? ? ? ? ? start[2]=0; >>> >>> ? ? ? ? ? ? ? ? size[0]=10; >>> ? ? ? ? ? ? ? ? size[1]=17; >>> ? ? ? ? ? ? ? ? size[2]=20; >>> >>> >>> ? ? ? ? ? ? ? ? FixedImageType::RegionType fixedRegionMetric ; >>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetIndex(start); >>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetSize(size); >>> >>> ? ? ? ? ? ? ? ?OptimizerType::ParametersType parameters; >>> >>> >>> ? ? ?if( !(itk::IterationEvent().CheckEvent( &event )) ) >>> ? ? ? ?{ >>> ? ? ? ?return; >>> ? ? ? ?} >>> ? ? ? ? ? ?metric->SetFixedImageRegion(fixedRegionMetric); >>> ? ? ? ? ? ? ? ?metric->SetUseAllPixels( true ); >>> ? ? ? ? ? ?parameters = transform->GetParameters(); >>> >>> >>> ? ? ? ? ?std::cout << optimizer->GetCurrentIteration() << "MIglobal ? "<< >>> optimizer->GetValue() << " MIlocal ?"<GetValue(parameters); >>> ? ? ?std::cout << std::endl; >>> >>> >>> >>> ? ?} >>> }; >>> >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > > > From luis.ibanez at kitware.com Tue Dec 1 19:51:51 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 19:51:51 -0500 Subject: [Insight-users] How to define registration error without external markers In-Reply-To: <26586401.post@talk.nabble.com> References: <26586401.post@talk.nabble.com> Message-ID: Hi SuperZZ, You may find interesting the following paper in the Insight Journal: http://www.insight-journal.org/browse/publication/166 http://hdl.handle.net/1926/561 "A Framework for Comparison and Evaluation of Nonlinear Intra-Subject Image Registration Algorithms" Urschler M., Kluckner S., Bischof H. Institute for Computer Graphics and Vision, Graz University of Technology, Austria Regards, Luis ------------------------------------------------------------------------- On Mon, Nov 30, 2009 at 11:28 PM, superzz wrote: > > Hello > I am applying ICP to do medicinal registration. The result is fine by eye > judgement. But I need to clearly know the registration error defined in > measurement unit such as mm. The problem could be solved if some external > markers can be placed on registration objects as a fiducial mark. But due to > environment restriction, external markers are not allowed. > > Anyone who has experienced in defining registration error without external > markers? > > Thanks! > > superZZ > -- > View this message in context: http://old.nabble.com/How-to-define-registration-error-without-external-markers-tp26586401p26586401.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Tue Dec 1 19:56:02 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 1 Dec 2009 19:56:02 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter In-Reply-To: <439667C97F3241448A8E96B0A22D647E0460D6F3@EDUNIVMAIL07.ad.umassmed.edu> References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6EF@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011001o34bddee6pbfa27272e9154ced@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F2@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F3@EDUNIVMAIL07.ad.umassmed.edu> Message-ID: Hi Michael, What is the pixel spacing of your image ? I believe that the ITK implementation may be taking the pixel spacing into account when using the value of conductance. Please let us know, Thanks Luis ------------------------------------------------------------------ On Tue, Dec 1, 2009 at 5:17 PM, O'Connor, Michael wrote: > Hi Bill, > ??? I use the exact same file with ITK (the one attached to the previous > email with MATLAB code). > > Regards, > ?? Michael > > > -----Original Message----- > From: Bill Lorensen [mailto:bill.lorensen at gmail.com] > Sent: Tue 12/1/2009 4:17 PM > To: O'Connor, Michael > Cc: insight-users at itk.org > Subject: Re: [Insight-users] Problem implementing > GradientAnisotropicDiffusionImageFilter > > Can you provide a png file or meta file, or whatever file you tried with > itk? > > On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael > wrote: >> Hi Bill, >> ??? Thanks.?? Attached is simple MATLAB test code? + the MATLAB filter >> function used (Dr. Guy Gilboa's code).?? I've also take the liberty of >> attaching a test image (specifically opened in MATLAB code).?? The test >> image is 400x400 float with background = 0.024 + additive Gaussian Noise >> and >> foreground (circle) = 0.031 + additive Gaussian Noise.?? As said >> previously >> MATLAB code seems to work as expected as shown in plot.?? In ITK there is >> no >> similar intraregion filtering (i.e. filtered image ~ input ) >> >> Regards, >> ?? Michael >> From webmaster at insightsoftwareconsortium.org Tue Dec 1 20:47:34 2009 From: webmaster at insightsoftwareconsortium.org (Insight Journal) Date: Tue, 1 Dec 2009 20:47:34 -0500 (EST) Subject: [Insight-users] The Insight Journal-New Submission Message-ID: <20091202014734.BD616574F4@insightjournal.kitwarein.com> Hello, A new submission has been added to the Insight Journal. Title: Introducing Dice, Jaccard, and Other Label Overlap Measures To ITK Author(s):Tustison N., Gee J. Abstract: Although the KappaStatisticImageToImageMetric can be used to obtain the Dice metric (or mean overlap), there are other related measurements that are useful for evaluating results derived from various image analysis tasks. These measures include the target overlap, union overlap (or Jaccard coefficient), and false positive/negative errors. There are also related measures for multilabeled images. The class included with this submission, the itkLabelOverlapMeasuresImageFilter, is meant to provide an easy mechanism for calculating such measures. Download and Review the paper at: http://www.insight-journal.org/browse/publication/707 Generated by the Insight Journal You are receiving this email because you asked to be informed by the Insight Journal for new submissions. To change your email preference go to http://www.insight-journal.org . From Michael.OConnor at umassmed.edu Tue Dec 1 21:01:03 2009 From: Michael.OConnor at umassmed.edu (O'Connor, Michael) Date: Tue, 1 Dec 2009 21:01:03 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6EF@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011001o34bddee6pbfa27272e9154ced@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F2@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F3@EDUNIVMAIL07.ad.umassmed.edu> Message-ID: <439667C97F3241448A8E96B0A22D647E0460D6F5@EDUNIVMAIL07.ad.umassmed.edu> Hello Luis, The pixel spacing is .2 mm. I did not SetSpacing in ITK code. Thanks for the insight. I will check that out. Regards, Michael -----Original Message----- From: Luis Ibanez [mailto:luis.ibanez at kitware.com] Sent: Tue 12/1/2009 7:56 PM To: O'Connor, Michael Cc: Bill Lorensen; insight-users at itk.org Subject: Re: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter Hi Michael, What is the pixel spacing of your image ? I believe that the ITK implementation may be taking the pixel spacing into account when using the value of conductance. Please let us know, Thanks Luis ------------------------------------------------------------------ On Tue, Dec 1, 2009 at 5:17 PM, O'Connor, Michael wrote: > Hi Bill, > ??? I use the exact same file with ITK (the one attached to the previous > email with MATLAB code). > > Regards, > ?? Michael > > > -----Original Message----- > From: Bill Lorensen [mailto:bill.lorensen at gmail.com] > Sent: Tue 12/1/2009 4:17 PM > To: O'Connor, Michael > Cc: insight-users at itk.org > Subject: Re: [Insight-users] Problem implementing > GradientAnisotropicDiffusionImageFilter > > Can you provide a png file or meta file, or whatever file you tried with > itk? > > On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael > wrote: >> Hi Bill, >> ??? Thanks.?? Attached is simple MATLAB test code? + the MATLAB filter >> function used (Dr. Guy Gilboa's code).?? I've also take the liberty of >> attaching a test image (specifically opened in MATLAB code).?? The test >> image is 400x400 float with background = 0.024 + additive Gaussian Noise >> and >> foreground (circle) = 0.031 + additive Gaussian Noise.?? As said >> previously >> MATLAB code seems to work as expected as shown in plot.?? In ITK there is >> no >> similar intraregion filtering (i.e. filtered image ~ input ) >> >> Regards, >> ?? Michael >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Tue Dec 1 23:08:20 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 1 Dec 2009 23:08:20 -0500 Subject: [Insight-users] itk::octree In-Reply-To: References: <54eca6a70911280842u43eea2e7h4f735285e58aaf7e@mail.gmail.com> <54eca6a70911280925l3557512ayb516832fb35b4b8@mail.gmail.com> Message-ID: <4db4735c0912012008l3099b3bav298e75316d97299b@mail.gmail.com> Luis, This thread is also related to the kdtree not being thread-safe. Bill On Tue, Dec 1, 2009 at 6:29 PM, Luis Ibanez wrote: > Hi motes, > > We should reduce your case to a minimal test, > as suggested in my previous email. > > Let's try doing that with the tests: > > ? ?Testing/Code/Numerics/Statistics/ > ? ? ? ? ? ? ? ? ? ? ? ?itkKdTreeGeneratorTest.cxx > > We just need to get a duplicate of your > process for generating points. (or a file > with the point coordinates). > > > ? ? Thanks, > > ? ? ? ? ?Luis > > > ----------------------------------- > On Sat, Nov 28, 2009 at 12:25 PM, motes motes wrote: >> On Sat, Nov 28, 2009 at 5:47 PM, David Doria wrote: >>> On Sat, Nov 28, 2009 at 11:42 AM, motes motes wrote: >>>> >>>> I am looking at itkOctreeTest.cxx which runs a test on an octree. The >>>> octree is build from a 3D image where each pixel has a value. >>>> >>>> My question is now. Is it possible to use the above octree as >>>> structure to find the k-nn to a point p? >>>> >>>> Assume that we have a 3D image which contains 12*12*12 nodes >>>> distributed randomly in the volume. Now for a given point p in the >>>> volume, the nodes within a specified radius r should be returned. >>>> >>>> As I understand the octree returns values of pixels and not locations >>>> but maybe with some modification it could be possible to convert this >>>> into locations? Does anyone have an idea for this? >>>> >>> >>> My understanding is that typical practice says to use a kdtree for NN >>> searches and an octree for ray intersections (although I've found the >>> modified-BSP tree to be MUCH faster at ray intersections). Can someone >>> verify this? >>> >>> Were you having a problem doing a NN search with the ITK kdtree? >> >> >> Yes but it only happens when using it in a transform in a resampling >> filter. I have tried various techniques (Valgrind, unit-test) to find >> the error but I still have not been able to locate it. I can only >> conclude that doing a seach on a kdTree from ?the function >> "TransformPoint" is not a good idea and will cause a segmentation >> fault. But I am still trying to find it. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From bill.lorensen at gmail.com Tue Dec 1 23:36:35 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 1 Dec 2009 23:36:35 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter In-Reply-To: <439667C97F3241448A8E96B0A22D647E0460D6F5@EDUNIVMAIL07.ad.umassmed.edu> References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6EF@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011001o34bddee6pbfa27272e9154ced@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F2@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F3@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6F5@EDUNIVMAIL07.ad.umassmed.edu> Message-ID: <4db4735c0912012036mc8c0404ub3ba352f6bae1da@mail.gmail.com> In itk, the K divisor is average_gradient_squared * conductance_squared. I suspect that accounts for some of the difference. On Tue, Dec 1, 2009 at 9:01 PM, O'Connor, Michael wrote: > Hello Luis, > ???? The pixel spacing is .2 mm.?? I did not SetSpacing in ITK code. > Thanks for the insight.?? I will check that out. > > Regards, > ?? Michael > > > -----Original Message----- > From: Luis Ibanez [mailto:luis.ibanez at kitware.com] > Sent: Tue 12/1/2009 7:56 PM > To: O'Connor, Michael > Cc: Bill Lorensen; insight-users at itk.org > Subject: Re: [Insight-users] Problem implementing > GradientAnisotropicDiffusionImageFilter > > Hi Michael, > > What is the pixel spacing of your image ? > > I believe that the ITK implementation may > be taking the pixel spacing into account > when using the value of conductance. > > > ?? Please let us know, > > > ???????????? Thanks > > > ?????????????????????? Luis > > > ------------------------------------------------------------------ > On Tue, Dec 1, 2009 at 5:17 PM, O'Connor, Michael > wrote: >> Hi Bill, >> ??? I use the exact same file with ITK (the one attached to the previous >> email with MATLAB code). >> >> Regards, >> ?? Michael >> >> >> -----Original Message----- >> From: Bill Lorensen [mailto:bill.lorensen at gmail.com] >> Sent: Tue 12/1/2009 4:17 PM >> To: O'Connor, Michael >> Cc: insight-users at itk.org >> Subject: Re: [Insight-users] Problem implementing >> GradientAnisotropicDiffusionImageFilter >> >> Can you provide a png file or meta file, or whatever file you tried with >> itk? >> >> On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael >> wrote: >>> Hi Bill, >>> ??? Thanks.?? Attached is simple MATLAB test code? + the MATLAB filter >>> function used (Dr. Guy Gilboa's code).?? I've also take the liberty of >>> attaching a test image (specifically opened in MATLAB code).?? The test >>> image is 400x400 float with background = 0.024 + additive Gaussian Noise >>> and >>> foreground (circle) = 0.031 + additive Gaussian Noise.?? As said >>> previously >>> MATLAB code seems to work as expected as shown in plot.?? In ITK there is >>> no >>> similar intraregion filtering (i.e. filtered image ~ input ) >>> >>> Regards, >>> ?? Michael >>> > > > From bill.lorensen at gmail.com Tue Dec 1 23:39:26 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 1 Dec 2009 23:39:26 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter In-Reply-To: <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6EF@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011001o34bddee6pbfa27272e9154ced@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F2@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> Message-ID: <4db4735c0912012039u1dfc0295lc5568304ceee8516@mail.gmail.com> It's a raw file. Can you provide the config file that describes the image. On Tue, Dec 1, 2009 at 4:17 PM, Bill Lorensen wrote: > Can you provide a png file or meta file, or whatever file you tried with itk? > > On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael > wrote: >> Hi Bill, >> ??? Thanks.?? Attached is simple MATLAB test code? + the MATLAB filter >> function used (Dr. Guy Gilboa's code).?? I've also take the liberty of >> attaching a test image (specifically opened in MATLAB code).?? The test >> image is 400x400 float with background = 0.024 + additive Gaussian Noise and >> foreground (circle) = 0.031 + additive Gaussian Noise.?? As said previously >> MATLAB code seems to work as expected as shown in plot.?? In ITK there is no >> similar intraregion filtering (i.e. filtered image ~ input ) >> >> Regards, >> ?? Michael >> >> ****** >> %%% simple test of anisotropic diffusion filter >> %%% uses Guy Gilboa's? diffusion function (from his website) >> %%% >> clear all; >> close all; >> close all hidden; >> row = 400; >> col = 400; >> GAIN = 1; >> iter = 5; >> conductance = 0.003 * GAIN; >> timestep = 0.125; >> >> >> %% >> fid_raw = fopen('/Users/michaeloconnor/Desktop/phantom_ADF3.rec','r'); >> >> if (fid_raw == -1 ) >> ??? fprintf('NO Input File(s) in Working Directory \n'); >> ??? break;????????????????????????????????? %stop now - invalid file >> end >> %% >> >> fprintf('iterations = %i timestep = %4.3f? conductance = %f Gain = %i >> \n',iter,timestep,conductance, GAIN) >> >> read_raw= fread(fid_raw, [row col],'single'); >> I=read_raw*GAIN; >> >> J_adf=diffusion2(I, 'pm1', iter,? conductance, timestep); >> >> %% Display Both input and Filtered Using Image Processing Toolkit >> >> imtool(J_adf, []) >> imtool(I, []) >> >> %% Plot 1D Profile >> >> p=plot([1:400],I(200,:),[1:400],J_adf(200,:)); >> set(p,'LineWidth',2); >> title('1D Profile (row 200)','FontSize',14, 'FontWeight', 'bold'); >> xlabel('Column (1:400)','FontSize',14, 'FontWeight', 'bold') >> ylabel('MU Value','FontSize',14, 'FontWeight', 'bold') >> legend('Pre-Filter', 'ADF Filter') >> fclose all; >> >> ******* filter function (Dr. Gilboa's code) >> function Jd = diffusion2(J,method,N,K,dt,theta,sigma2) >> % private function: diffusion (by Guy Gilboa): >> % Jd=diffusion(J,method,N,K) >> % Simulates N iterations of diffusion, parameters: >> % J =? source image (2D gray-level matrix) for diffusio >> % method =? 'lin':? Linear diffusion (constant c=1). >> %?????????? 'pm1': perona-malik, c=exp{-(|grad(J)|/K)^2} [PM90] >> %?????????? 'pm2': perona-malik, c=1/{1+(|grad(J)|/K)^2} [PM90] >> %?????????? 'rmp': complex valued - ramp preserving [GSZ01] >> % K??? edge threshold parameter >> % N??? number of iterations >> % dt?? time increment (0 < dt <= 0.25, default 0.2) >> % sigma2 - if present, calculates gradients of diffusion coefficient >> %????????? convolved with gaussian of var sigma2 (Catte et al [CLMC92]) >> >> if ~exist('N','var') >> ??? %fprintf('No iterations\n') >> ?? N=1; >> end >> if ~exist('K','var') >> ?? % fprintf('No edge threshold\n') >> ?? K=1; >> end >> if ~exist('dt','var') >> ?? % fprintf('No time increment\n') >> ?? dt=0.2; >> end >> if ~exist('theta','var') >> ?? % fprintf('No theta\n') >> ?? theta=pi/30; >> end >> >> if ~exist('sigma2','var') >> ??? %fprintf('No gradients of diffusion\n') >> ?? sigma2=0; >> end >> >> [Ny,Nx]=size(J); >> >> if (nargin<3) >> ?? error('not enough arguments (at least 3 should be given)'); >> end >> >> for i=1:N; >> ?? % gaussian filter with kernel 5x5 (Catte et al) >> ?? if (sigma2>0) >> ????? Jo = J;?? % save J original >> ????? J=gauss(J,7,sigma2); >> ?? end >> >> ??????? % calculate gradient in all directions (N,S,E,W) >> ??????? In=[J(1,:); J(1:Ny-1,:)]-J; >> ??????? Is=[J(2:Ny,:); J(Ny,:)]-J; >> ??????? Ie=[J(:,2:Nx) J(:,Nx)]-J; >> ??? Iw=[J(:,1) J(:,1:Nx-1)]-J; >> >> ??????? % calculate diffusion coefficients in all directions according to >> method >> ?? if (method == 'lin') >> ??????? ?? Cn=K; Cs=K; Ce=K; Cw=K; >> ?? elseif (method == 'pm1') >> ??????? Cn=exp(-(abs(In)/K).^2); >> ??????? ??????? Cs=exp(-(abs(Is)/K).^2); >> ??????? ??????? Ce=exp(-(abs(Ie)/K).^2); >> ??????? ??????? Cw=exp(-(abs(Iw)/K).^2); >> ?? elseif (method == 'pm2') >> ??????? ?? Cn=1./(1+(abs(In)/K).^2); >> ??????? ??????? Cs=1./(1+(abs(Is)/K).^2); >> ??????? ??????? Ce=1./(1+(abs(Ie)/K).^2); >> ????? Cw=1./(1+(abs(Iw)/K).^2); >> ?? elseif (method == 'rmp')? % complex - ramp preserving >> ????? k=K;? j=sqrt(-1); >> >> ??????? ?? Cn=exp(j*theta)./(1+(imag(In)/(k*theta)).^2); >> ??????? ?? Cs=exp(j*theta)./(1+(imag(Is)/(k*theta)).^2); >> ??????? ?? Ce=exp(j*theta)./(1+(imag(Ie)/(k*theta)).^2); >> ?????? Cw=exp(j*theta)./(1+(imag(Iw)/(k*theta)).^2); >> >> ??????? else >> ????? error(['Unknown method "' method '"']); >> ?? end >> >> ?? if (sigma2>0)?? % calculate real gradiants (not smoothed) >> ?? ???? In=[Jo(1,:); Jo(1:Ny-1,:)]-Jo; >> ??????? ??????? Is=[Jo(2:Ny,:); Jo(Ny,:)]-Jo; >> ??????? ??????? Ie=[Jo(:,2:Nx) Jo(:,Nx)]-Jo; >> ????? Iw=[Jo(:,1) Jo(:,1:Nx-1)]-Jo; >> ????? J=Jo; >> ??????? end >> >> ?? % Next Image J >> ?? J=J+dt*(Cn.*In + Cs.*Is + Ce.*Ie + Cw.*Iw); >> >> end; % for i >> >> Jd = J; >> >> >> %%%% Refs: >> % [PM90] P. Perona, J. Malik, "Scale-space and edge detection using >> anisotropic diffusion", PAMI 12(7), pp. 629-639, 1990. >> % [CLMC92] F. Catte, P. L. Lions, J. M. Morel and T. Coll, "Image selective >> smoothing and edge detection by nonlinear diffusion", SIAM J. Num. Anal., >> vol. 29, no. 1, pp. 182-193, 1992. >> % [GSZ01] G. Gilboa, N. Sochen, Y. Y. Zeevi, "Complex Diffusion Processes >> for Image Filtering", Scale-Space 2001, LNCS 2106, pp. 299-307, >> Springer-Verlag 2001. >> >> >> >> -----Original Message----- >> From: Bill Lorensen [mailto:bill.lorensen at gmail.com] >> Sent: Tue 12/1/2009 1:01 PM >> To: O'Connor, Michael >> Cc: insight-users at itk.org >> Subject: Re: [Insight-users] Problem implementing >> GradientAnisotropicDiffusionImageFilter >> >> Can you post the matlab source code for the algorithm? Perhaps there >> is a difference in parameters? Or implementation? >> >> On Tue, Dec 1, 2009 at 8:48 AM, O'Connor, Michael >> wrote: >>> ?Hi, >>> ?? I am new to ITK.? I have just started changing some of my >>> post-processing >>> tools from MATLAB to ITK (Version 3.12).? So far I have only had one issue >>> that I cannot solve and that is implementing >>> GradientAnisotropicDiffusionImageFilter.? I can workaround this issue but >>> would rather get to the bottom of my problem as I suspect that I am >>> missing >>> something fundamental about data type in ITK.? I have read pertinent >>> sections of ITK Software Guide 2nd Edition (dated 11/21/05) and template >>> guide on www.itk.org. >>> ??? I am processing data obtained on a prototype CT system and am >>> processing >>> in order to eventually segment between one tissue type (approx linear >>> attenuation coefficient 0.024 per mm) from another (approx attenuation >>> coefficient 0.031 per mm).? Setting parameters of 5 iterations, timestep >>> of >>> 0.125 and conductance 0.003, there is minimal filtering when using >>> following >>> ITK program (i.e. not consistent with conductance parameter).?? Using same >>> values and same test input file in MATLAB, I do get reasonable output. >>> If >>> I take another test input file scaled up by 10000 (both data values and >>> conductance - i.e. approx data coefficients 240 per mm and 310 per mm and >>> conductance 30), I do obtain reasonable results with the same ITK program >>> (as well as MATLAB program with only change in conductance). >>> ?? As pixel type is float in either case, I cannot understand why the >>> GradientAnisotropicDiffusionImageFilter does not work with both range of >>> data values in ITK as it does in MATLAB.? While I can perform scaling to >>> workaround my ITK issue, as stated, I suspect that I am doing something >>> wrong in ITK and would rather correct my misunderstanding.?? I would >>> greatly >>> appreciate any comments or suggestions. >>> >>> Regards, >>> ?? Michael O'Connor >>> >>> >>> /*========================================================================= >>> >>> ? Program:?? ITKFilterTest >>> ? Module:??? ITKFilterTest.cxx >>> ? Language:? C++ >>> ? Date:????? 24 Nov 2009 >>> ? Version:?? Revision: 1.0?? Mike O'Connor >>> >>> >>> =========================================================================*/ >>> >>> // NOTE: much of this code and description is taken directly from ITK >>> documentation. Module initially based >>> //? on the Filter Example modules in ITK source code. >>> //? The module runs one ITK filter. >>> // >>> //? Filter 1: is ITK GradientAnisotropicDiffusionImageFilter. This filter >>> implements an >>> //??? N-dimensional version of the classic Perona-Malik anisotropic >>> diffusion >>> //??? equation for scalar-valued images (Perona 1990). >>> // >>> //??? The conductance term for this implementation is chosen as a function >>> of the >>> //??? gradient magnitude of the image at each point, reducing the strength >>> of >>> //??? diffusion at edge pixels. >>> // >>> //??? The numerical implementation of this equation is similar to that >>> described >>> //??? in the Perona-Malik paper, but uses a more robust technique >>> //??? for gradient magnitude estimation and has been generalized to >>> N-dimensions. >>> //? Input Parameters for this implementation are passed using a 'config >>> file'.? Objects and methods for the >>> //? config file are based on CBSS.? There are booleans to determine if one >>> or both of the filters are run. >>> //? The input parameters for each filter as well as parameters for file >>> reader. >>> >>> >>> #include "itkImage.h" >>> #include "itkImageFileReader.h" >>> #include "itkImageFileWriter.h" >>> #include "itkRawImageIO.h" >>> #include "itkGradientAnisotropicDiffusionImageFilter.h" >>> #include "FilterSystem.h" >>> #include "Filter.h" >>> #include "Files.h" >>> #include "Message.h" >>> >>> >>> >>> const unsigned int Dimension = 2; >>> >>> int main( int argc, char * argv[] ) >>> { >>> ?// This is structure for our config file (used for parameter passing) >>> ? FilterSystem f_system; >>> ? WhatFunction function = Filter; >>> ? if(parseArgs(argc,argv) == UtilError) return EXIT_FAILURE; >>> ? if(f_system.initialize(function, usage) == >>> UtilError)closeAndExit(EXIT_FAILURE); >>> >>> ? typedef??? float??? InputPixelType; >>> ? typedef??? float??? OutputPixelType; >>> >>> // >>> // Instatiate using input & output image types >>> // >>> ? typedef itk::Image< >>> ??????? ??????? ??????? InputPixelType, >>> ??????? ??????? ??????? Dimension >?? ? ??????? InputImageType; >>> ? typedef itk::Image< >>> ??????? ??????? ??????? OutputPixelType, >>> ??????? ??????? ??????? Dimension >?? ? ??????? OutputImageType; >>> ? typedef itk::ImageFileReader< >>> ??????? ??????? ??????? InputImageType > ?????? ReaderType; >>> ? typedef itk::GradientAnisotropicDiffusionImageFilter< >>> ??????????????? ??????? InputImageType, >>> ??????? ??????? ??????? OutputImageType >? ???? ADF_FilterType; >>> ? typedef itk::RawImageIO< >>> ??????? ??????? ??????? InputPixelType, >>> ??????? ??????? ??????? Dimension?????? >?????? ImageIOType; >>> ? typedef itk::ImageFileWriter< >>> ??????? ??????? ??????? OutputImageType > >>> WriterType; >>> // >>> // Filter object, Image object and Reader & Writer object are? created >>> // >>> ? ImageIOType::Pointer? rawIO ? ??????? = ImageIOType::New(); >>> ? ReaderType::Pointer ? reader? ??????? = ReaderType::New(); >>> ? ADF_FilterType::Pointer ADfilter ???? = ADF_FilterType::New(); >>> ? WriterType::Pointer ? writer2 ??????? = WriterType::New(); >>> >>> // Get parameters from config file >>> ? rawIO->SetHeaderSize(f_system.m_cfg.header); >>> ? rawIO->SetDimensions(0, f_system.m_cfg.file_dim_x); >>> ? rawIO->SetDimensions(1, f_system.m_cfg.file_dim_y); >>> ? rawIO->SetByteOrderToLittleEndian(); >>> >>> ? // Define Input file >>> ? writeMsg(DEBUG1, "Input File: %s \n",files.input); >>> ? reader->SetFileName( files.input ); >>> ? reader->SetImageIO( rawIO ); >>> //? reader->Update();?? ??????? //Read the file >>> ? // >>> ? //Get other parameters from Config file >>> ? const unsigned int ?? numberOfIterations =? f_system.m_cfg.iter; >>> ? const double? ? ????? timeStep = (double) f_system.m_cfg.timestep; >>> ? const double?????? ?? conductance = (double) f_system.m_cfg.conductance; >>> ? writeMsg(DEBUG1,"Version 2: Iterations = %i, Timestep = %f,? Conductance >>> = >>> %f \n", numberOfIterations, timeStep, conductance); >>> >>> ? //Set Parameters in ADF Filter & invoke filter >>> ? ADfilter->SetInput( reader->GetOutput() ); >>> ? ADfilter->SetNumberOfIterations( numberOfIterations ); >>> ? ADfilter->SetTimeStep( timeStep ); >>> ? ADfilter->SetConductanceParameter( conductance ); >>> ? ADfilter->Update(); >>> >>> ? // >>> ? // Write the output file >>> ? // >>> ? writer2->SetImageIO (rawIO); >>> ? writer2->SetFileName( files.output ); >>> ? writer2->SetInput( ADfilter->GetOutput() ); >>> ? writeMsg(DEBUG1, "Writing output of the AnisoDiff to output File: %s >>> \n",files.output); >>> ? writer2->Update(); >>> ? return EXIT_SUCCESS; >>> >>> } >>> >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >>> >> >> >> >> > From bill.lorensen at gmail.com Wed Dec 2 00:03:56 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 2 Dec 2009 00:03:56 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter In-Reply-To: <4db4735c0912012036mc8c0404ub3ba352f6bae1da@mail.gmail.com> References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6EF@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011001o34bddee6pbfa27272e9154ced@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F2@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F3@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6F5@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912012036mc8c0404ub3ba352f6bae1da@mail.gmail.com> Message-ID: <4db4735c0912012103t591c3b7ne14df2c8c3f3e2d0@mail.gmail.com> The average gradient in your data is about .0005. So the conductance of the itk code should be about the matlab conductance / .0005 which is about .003 / .0005 = 6. Try a conductance of 6 without scaling your data and see how it compares. Bill On Tue, Dec 1, 2009 at 11:36 PM, Bill Lorensen wrote: > In itk, the K divisor is average_gradient_squared * > conductance_squared. I suspect that accounts for some of the > difference. > > On Tue, Dec 1, 2009 at 9:01 PM, O'Connor, Michael > wrote: >> Hello Luis, >> ???? The pixel spacing is .2 mm.?? I did not SetSpacing in ITK code. >> Thanks for the insight.?? I will check that out. >> >> Regards, >> ?? Michael >> >> >> -----Original Message----- >> From: Luis Ibanez [mailto:luis.ibanez at kitware.com] >> Sent: Tue 12/1/2009 7:56 PM >> To: O'Connor, Michael >> Cc: Bill Lorensen; insight-users at itk.org >> Subject: Re: [Insight-users] Problem implementing >> GradientAnisotropicDiffusionImageFilter >> >> Hi Michael, >> >> What is the pixel spacing of your image ? >> >> I believe that the ITK implementation may >> be taking the pixel spacing into account >> when using the value of conductance. >> >> >> ?? Please let us know, >> >> >> ???????????? Thanks >> >> >> ?????????????????????? Luis >> >> >> ------------------------------------------------------------------ >> On Tue, Dec 1, 2009 at 5:17 PM, O'Connor, Michael >> wrote: >>> Hi Bill, >>> ??? I use the exact same file with ITK (the one attached to the previous >>> email with MATLAB code). >>> >>> Regards, >>> ?? Michael >>> >>> >>> -----Original Message----- >>> From: Bill Lorensen [mailto:bill.lorensen at gmail.com] >>> Sent: Tue 12/1/2009 4:17 PM >>> To: O'Connor, Michael >>> Cc: insight-users at itk.org >>> Subject: Re: [Insight-users] Problem implementing >>> GradientAnisotropicDiffusionImageFilter >>> >>> Can you provide a png file or meta file, or whatever file you tried with >>> itk? >>> >>> On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael >>> wrote: >>>> Hi Bill, >>>> ??? Thanks.?? Attached is simple MATLAB test code? + the MATLAB filter >>>> function used (Dr. Guy Gilboa's code).?? I've also take the liberty of >>>> attaching a test image (specifically opened in MATLAB code).?? The test >>>> image is 400x400 float with background = 0.024 + additive Gaussian Noise >>>> and >>>> foreground (circle) = 0.031 + additive Gaussian Noise.?? As said >>>> previously >>>> MATLAB code seems to work as expected as shown in plot.?? In ITK there is >>>> no >>>> similar intraregion filtering (i.e. filtered image ~ input ) >>>> >>>> Regards, >>>> ?? Michael >>>> >> >> >> > From neema.anand at hotmail.com Wed Dec 2 03:10:09 2009 From: neema.anand at hotmail.com (Anand Neema) Date: Wed, 2 Dec 2009 13:40:09 +0530 Subject: [Insight-users] Problem in DeformableRegistration3DTimeSeries Message-ID: Hello to all,I am a ITK User.I have one problem in an application.DeformableRegistration3DTimeSeries (Sample Application) provided with toolkit is working properly, but when the same code from that application I try to build in my application, then it is not working properly. Rather it works on our Server but not on the systems connected to that server.Build process is completed successfully, there is no problem in built the application. After build, when I run the .exe file and try to load a DICOM Series the application terminates. I run the application in debug mode, and it is throwing an exception as:CXX0030: Error: expression cannot be evaluated. Any kind of help would be appreciated Thanks & Regds,Anand Neema _________________________________________________________________ New Windows 7: Simplify what you do everyday. Find the right PC for you. http://windows.microsoft.com/shop -------------- next part -------------- An HTML attachment was scrubbed... URL: From patrik.brynolfsson at gmail.com Wed Dec 2 05:30:07 2009 From: patrik.brynolfsson at gmail.com (Patrik Brynolfsson) Date: Wed, 2 Dec 2009 11:30:07 +0100 Subject: [Insight-users] Composition of two versor transforms In-Reply-To: References: <8d0068770911260105g79f17352gb5114df93d739d69@mail.gmail.com> <8d0068770911270423y67fdcf35sa8a0e8d50d715359@mail.gmail.com> Message-ID: <8d0068770912020230i4f788699hac80ce288a66bb91@mail.gmail.com> Ok, thank you for your explanations, I see that it's not as easy as I hoped it to be. I don't have very much experience in C++ programming, so I don't think I can contribute very much in a new method. I use MATLAB alot, and call ITK when heavy computations are needed. I implemented a short ITK script that returns the composite versor using the rotation matrix and translation vector, and it works just fine so thank you very much for your help and insight! Regards Patrik 2009/12/2 Luis Ibanez > Hi Patrik, > > I'm afraid that even if you avoid the Matrices, the combination > of two Versor transforms is still going to be a bit complicated. > > You can rewrite the transformation: > > P' = M x P + T > as > P' = V * P + T > > by using "*" as the composition operator for the Versor "V", > and still the full conversion will be of the type: > > P" = V2 * ( P' - C2 ) + T2 + C2 > P" = V2 * ( V1 * ( P - C1) + T1 + C1 ) + T2 + C2 > > and in practice, the implementation of the operator "*" > between Versor and Point ends up being very close > to a Matrix multiplication (actually a bit more expensive > since the intermediate computations are not reused) > > Probably the best way to go is to add to the VersorTransform > class a "Composition()" method, and we pack all this math > above inside. We have similar methods for the Affine Transform. > > > Would you like to give it a first try ? > > > Luis > > > > ------------------------------------------------------- > On Fri, Nov 27, 2009 at 7:23 AM, Patrik Brynolfsson > wrote: > > Hello Luis, > > Thanks for the answer and sorry for the double post, I had some problems > > with my mail account. > > I'm using "versorRigid3DTransform", and from what I've gathered all i > need > > is to save the versor (1x6) and center of rotation (1x3) to perform the > same > > transform again. A while back I tried to extract the rotation matrix and > use > > that with the versorRigid3DTransform but from what I recall that was not > > allowed. Perhaps I misremember. Anyway was wondering if there is a way to > > only use the versors and center of rotation to combine the two > transforms, > > without the extra step of dealing with matrices? > > Thanks for the detailed explanation in your answer! > > Regards, Patrik > > > > 2009/11/26 Luis Ibanez > >> > >> Hi Patrik, > >> > >> Each Versor Transform does the equivalent of: > >> > >> P' = Transform(P) = M x P + T > >> > >> Where M is a rotation matrix computed from the Versor parameters, > >> and T is the Translation vector. > >> > >> to be more precise, > >> this Transform also has a Center of rotation "C", > >> so the actual computation is: > >> > >> P' = Transform(P) = M x ( P - C ) + T + C > >> > >> Now, when you compose two Versor Transforms you should do: > >> > >> P" = Transform2( P' ) = Transform2( Transform1( P ) ) > >> > >> This leads to: > >> > >> P" = M2 x ( P' - C2 ) + T2 + C2 > >> P" = M2 x ( M1 x ( P - C1 ) + T1 + C1 - C2 ) + T2 + C2 > >> > >> which leads to > >> > >> P" = M2 x M1 x ( P - C1 ) + M2x(T1+C1-C2) + (T2+C2) > >> > >> You can get the matrix M from each transform by calling the > >> method: GetMatrix(); the translation by calling GetTranslation(); > >> and the center C by calling the method GetCenter(). > >> > >> > >> > >> Regards, > >> > >> > >> Luis > >> > >> > >> -------------------------------------------------------- > >> On Thu, Nov 26, 2009 at 4:05 AM, Patrik Brynolfsson > >> wrote: > >> > Hello everyone, > >> > I have a question I hope someone can clarify for me. I want to combine > >> > the > >> > result from two versor transforms. From what I've gathered I shouldn't > >> > add > >> > the elements of the two, but how then? Can someone please explain? > >> > Thanks in advance! > >> > -- > >> > Patrik Brynolfsson > >> > > >> > > >> > _____________________________________ > >> > Powered by www.kitware.com > >> > > >> > Visit other Kitware open-source projects at > >> > http://www.kitware.com/opensource/opensource.html > >> > > >> > Kitware offers ITK Training Courses, for more information visit: > >> > http://www.kitware.com/products/protraining.html > >> > > >> > Please keep messages on-topic and check the ITK FAQ at: > >> > http://www.itk.org/Wiki/ITK_FAQ > >> > > >> > Follow this link to subscribe/unsubscribe: > >> > http://www.itk.org/mailman/listinfo/insight-users > >> > > >> > > > > > > > > > -- > > Patrik Brynolfsson > > > > > > > -- Patrik Brynolfsson -------------- next part -------------- An HTML attachment was scrubbed... URL: From oesteban at die.upm.es Wed Dec 2 05:41:18 2009 From: oesteban at die.upm.es (Oscar Esteban Sanz-Dranguet) Date: Wed, 02 Dec 2009 11:41:18 +0100 Subject: [Insight-users] Normalized Mutual Information Metric Methods Message-ID: <4B16444E.4090108@die.upm.es> Hi all, I would like to know some more detailed explanations about: SetLowerBound (const MeasurementVectorType &bound) SetPaddingValue (FixedImagePixelType _arg) I've looked for it on the Software Guide, but I didn't found anything. This is my guess: SetLowerBound lets you to set two pixel values for fixed and moving images so that below them, the sample will be ignored on metric computation. Its use would be like this: // Initialization of n_init_metric and typedefs NMIMetric::HistogramType::SizeType histogramSize; histogramSize[0]=HISTOGRAM_BINS; histogramSize[1]=HISTOGRAM_BINS; m_init_metric->SetHistogramSize( histogramSize ); NMIMetric::MeasurementVectorType lBound; lBound[0] = lBound[1] = vcl_ceil( std::numeric_limits::max()/(HISTOGRAM_BINS*1.0) ); m_init_metric->SetLowerBound( lBound ); With this code, I'm trying to ignore the bin 0 for metric computation. You could set some fixed values, e.g.: lBound[0] = 132; // Ignore values on FIXED image under 132 lBound[1] = 50; // Ignore values on MOVING image under 50 m_init_metric->SetLowerBound( lBound ); Is it all right? And, then, focusing on SetPaddingValue: I interpret from documentation that you can set a value on fixed image that will not be used for metric computation (e. g. using padding value 80, any pixel with that value will be ignored). Thanks in advance. Cheers, -- Oscar Esteban BIT - UPM (http://www.die.upm.es/im/) +34 913 366 827 ext.4248 From anja.ende at googlemail.com Wed Dec 2 06:56:18 2009 From: anja.ende at googlemail.com (Anja Ende) Date: Wed, 2 Dec 2009 11:56:18 +0000 Subject: [Insight-users] Using the meshing classes in ITK Message-ID: <1f5d2b4f0912020356l4b2f03e0s6aabdb85639f7048@mail.gmail.com> Hello everyone, This is more of a general question. I would like to know more about generating meshes from MR and CT data. So, I have a brain image and I would like to generate a tetrahedral based mesh from it and then use it further for some FEM processing. I am a newbie to this field and would like to ask a couple of questions and would be very grateful if someone can take the time to answer them: - What pre-processing do I need to do to the itk image so that I can feed it to a mesh generator? Would I first need to segment the bit that I am interested in? So, would I need to segment the background out of the image. - I am guessing the mesh generators would need some point set as their input. How could I generate a point set from an itk image? I am quite new to this area and am a bit lost as to how to start. Would really appreciate your help. Cheers, Anja From david.pastor at die.upm.es Wed Dec 2 07:02:38 2009 From: david.pastor at die.upm.es (David Pastor) Date: Wed, 2 Dec 2009 13:02:38 +0100 Subject: [Insight-users] add and remove subimages References: <002801ca71b1$de0378c0$a337048a@POSEIDON> Message-ID: <000701ca7347$57bc4930$a337048a@POSEIDON> Hi Luis, It would be at the end or at the beginning. In this case I just pretend to insert and remove images without arithmetic operations. And certainly the image size should be updated after the removal or the insertion (no substitutions or holes are expected either). So basically I need insertion and deletion of N-1 D images into/from N D images and adjust the origin and size of the resulting N D image (end and beginning) I imagine than deletion can be achieved by selecting an interest region and then adjust the origin. Insertion might be more tricky. It would be nice to have some general insertion/deletion/replacement methods though. Another issue would be if we can work with negative index positions. The point is that I need markers to be placed outside the LargestPossibleRegion, so i have to make the image size grow without affecting the content more than a shift in the growing dimension in respect of the new origin. I hope this is clearer now. thanks david ----- Original Message ----- From: "Luis Ibanez" To: "David Pastor" Cc: Sent: Wednesday, December 02, 2009 1:28 AM Subject: Re: [Insight-users] add and remove subimages Hi David, By "Add" do you mean to "insert" a N-D image into a (N+1)-D image ? or do you actually mean to perform an arithmetic addition between the pixel values of the N-D image and the corresponding sub-region of the (N+1)-D image ? Do you need to do this many times ? Would you be adding and removing always at the end ? like a FIFO queue ? or do you plan to insert and remove from arbitrary locations ? ... then default method that comes to mind, will not be an efficient way of doing this for many insertions and deletions... Also, please clarify if when you insert you want the new data to replace a pre-existing region of the N+1 D image, or you want the image to expand in extent. Same for the removal: do you want to extract regions from the N+1 D image and leave the original image untouched, or do you want to also get a reduced (smaller) version of the N+1 D image, that now is missing the N-D image that you extracted. Please let us know, Thanks Luis -------------------------------------------------------------------------------------------- On Mon, Nov 30, 2009 at 6:40 AM, David Pastor wrote: > Hello, > > I'd like to add an n dimensional image to a n+1 dimensional image. Also i > would like to be able to remove selected subimages. > > I'm not sure if i can use TileImageFilter for that as the InputImages > would > have different dimensions. > > pushbackinput(4d image) > pushbackinput(3d image) > > out-> 4d image > > is this possible? any specific layout for it? even it would be great to be > able to set the 3d image in any point of the 4d image like an > interleaving. > > I don't know if ExtractImageFilter could be used for the opposite either. > > Cheers, > D. Pastor > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From mort.motes at gmail.com Wed Dec 2 07:05:36 2009 From: mort.motes at gmail.com (motes motes) Date: Wed, 2 Dec 2009 13:05:36 +0100 Subject: [Insight-users] Fwd: Bug in itk::kdTree ? In-Reply-To: <4db4735c0912011640q7634889alf23d211cdf81286f@mail.gmail.com> References: <54eca6a70911261032u6980530er2e8e7f272293e887@mail.gmail.com> <54eca6a70911261055n5f50917et372e41561ed6bd2@mail.gmail.com> <54eca6a70911261159u7e9fd0dem73596bf1414050f@mail.gmail.com> <4db4735c0912011640q7634889alf23d211cdf81286f@mail.gmail.com> Message-ID: <54eca6a70912020405l10020869mb972bc4f55fe5e7c@mail.gmail.com> Yes the subjects: # Cannot run the Resampling filter # Segmentation fault when calling itk::KdTree::Search(queryPoint, radius, neighbors) # Bug in itk::kdTree ? # "Killing" itk::kdTree ?? # HEAP CORRUPTION DETECTED:after Normal block .... all deals with the same problem which is currently related to the fact that calling the kdTree from the transform when using the resampling filter only works when specifying: resampler->SetNumberOfThreads(1); which lead to the conclusion that the kdTree is not thread-safe. On Wed, Dec 2, 2009 at 1:40 AM, Bill Lorensen wrote: > Luis, > > I think the problem has been isolated to the fact that itkKdTree is > not thread-safe. Unfortunately, this issue has been active in multiple > threads. > > Motes can verify? > > Bill > > On Tue, Dec 1, 2009 at 6:02 PM, Luis Ibanez wrote: >> ---------- Forwarded message ---------- >> From: Luis Ibanez >> Date: Tue, Dec 1, 2009 at 6:02 PM >> Subject: Re: [Insight-users] Bug in itk::kdTree ? >> To: motes motes >> >> >> Hi Motes, >> >> Here is a suggestion for tracking this problem. >> >> If we take the test: >> >> ? Insight/Testing/Code/Numerics/Statistics/ >> ? ? ? ? ? ? ? ? ? itkKdTreeGeneratorTest.cxx >> >> and replace the initialization of the array in lines: 39-45 >> with loading the list of points that you are generating >> for your test, >> >> then we should be able to reproduce the problem >> that you are seeing. >> >> Could you describe how are you generating the set >> of points ? >> >> Or send us a file with the list of points ? >> (assuming that is less than 1Mb in size...) >> >> In this way we can track is this is actually a bug in >> the KdTree (or its generator) >> >> >> ? ? Thanks >> >> >> ? ? ? ? ?Luis >> >> >> >> ------------------------------------------------------------------------------ >> On Thu, Nov 26, 2009 at 2:59 PM, motes motes wrote: >>> I have written my own transform where no of the regular grid >>> structures (bspline grid, coeff_image, etc) are used. >>> >>> Since the transform gets points in physical coordinates from the >>> metric the radius and other measures used in the transform must also >>> be in converted to physical coordinates. >>> >>> >>> >>> >>> >>> Here is an example: >>> >>> I define the radius as the basisfunction doman divided by 2. I still >>> use the BSpline kernel which has a domain over 4 "blocks" and the >>> radius is therefore 2 "blocks". >>> >>> >>> >>> One "block" in pixel coordinates is: >>> >>> blockInPixels = ImageDimension/(numberOfNodes-1) >>> >>> So if we have a 128*128*128 volume and define 4*4*4 nodes each block is: >>> >>> blockInPixel = 128/3 = 43 pixels >>> >>> Since the radius is two blocks the radius becomes 2*43 = 85 pixels. >>> >>> Now we need to convert this to physical space which is done with the formula: >>> >>> physical = I*S+O >>> >>> where I is index, S is scaling and O is origin of the fixed image. >>> Assume that the fixed image has the following spacing and origin >>> respectivily: >>> >>> ? ? ? ? ? ? [3.125, 3.125, 4] and [0,0,0] >>> >>> the radius in each dimension therefore becomes: >>> >>> ? ? ? ? ? ?[3.125 * 85, 3.125 * 85, 4 * 85] = ?[266, 266, 340] >>> >>> >>> Currently I choose the first element as radius, 266 for all dimensions >>> and feed that to the kd-tree. >>> >>> But maybe I am doing something wrong in this custom transform? >>> >>> But in principle it should be possible to specify a radius of any size >>> to the kd-tree without getting a segmentation fault. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> On Thu, Nov 26, 2009 at 7:59 PM, Luis Ibanez wrote: >>>> Hi Motes, >>>> >>>> Why are you using such a large radius ? >>>> >>>> The method will return ALL the points that are inside >>>> ?a hyper-shpere of radius 262. >>>> >>>> Do you really anticipate that to be the region of the >>>> space that you need is that large ? >>>> >>>> >>>> ? ?Luis >>>> >>>> >>>> -------------------------------------------------------- >>>> On Thu, Nov 26, 2009 at 1:55 PM, motes motes wrote: >>>>> The value is: >>>>> >>>>> m_radius = 262 >>>>> >>>>> when I do std::cout << "m_radius" << std::endl; I ?have also tried: >>>>> >>>>> ? ? ? ? ? ?static_cast(m_kernel_radius)/1.0; >>>>> >>>>> But I still get the error. >>>>> >>>>> >>>>> >>>>> >>>>> When I look in the implementation (itkKdTree.txx) in the ::SearchLoop >>>>> function (a recursive function) I see that the radius is used: >>>>> >>>>> >>>>> ? ?// search the other node, if necessary >>>>> ? ?tempValue = lowerBound[partitionDimension]; >>>>> ? ?lowerBound[partitionDimension] = partitionValue; >>>>> ? ?if ( this->BoundsOverlapBall(query, lowerBound, upperBound, >>>>> ? ? ? ? ? ? ? ? ? ? ? ? ? m_SearchRadius) ) >>>>> ? ? ?{ >>>>> ? ? ?SearchLoop(node->Right(), query, lowerBound, upperBound); >>>>> ? ? ?} >>>>> ? ?lowerBound[partitionDimension] = tempValue; >>>>> >>>>> >>>>> My thought was therefore (under the assumption that a "bad" radius is >>>>> supplied) that the function never terminates since its a recursive >>>>> function. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Thu, Nov 26, 2009 at 7:46 PM, Luis Ibanez wrote: >>>>>> Hi Motes, >>>>>> >>>>>> What is the value of m_radius ? ? >>>>>> >>>>>> Please report this to the mailing list. >>>>>> >>>>>> >>>>>> ? ? Thanks >>>>>> >>>>>> >>>>>> ? ? ? ? ? Luis >>>>>> >>>>>> >>>>>> ----------------------------------------- >>>>>> On Thu, Nov 26, 2009 at 1:32 PM, motes motes wrote: >>>>>>> For the last couple of days I have tried to find a solution for a >>>>>>> segmentation fault that happens when I use the itk::kdTree. >>>>>>> >>>>>>> I am using the version of search where the radius is specified: >>>>>>> >>>>>>> ?/** Searches the neighbors fallen into a hypersphere */ >>>>>>> ?void Search(const MeasurementVectorType &query, >>>>>>> ? ? ? ? ? ? ?double radius, >>>>>>> ? ? ? ? ? ? ?InstanceIdentifierVectorType& result) const; >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> From my function I call it with: >>>>>>> >>>>>>> ? ?VectorType vectorPoint; >>>>>>> ? ?for (int i=0; i>>>>>> ? ? ?vectorPoint[i] = point[i]; >>>>>>> ? ?} >>>>>>> >>>>>>> ? ?NeighborsType neighbors; >>>>>>> ? ?tree->Search(vectorPoint, m_radius, neighbors); >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Where radius is computed like: >>>>>>> >>>>>>> ?unsigned int FVOrder = 3; >>>>>>> ?double Order = (double)(FVOrder+1.0); >>>>>>> ?double ?m_radius = ?(1.0*maxValue * Order)/2.0; >>>>>>> >>>>>>> >>>>>>> Now if I do: >>>>>>> >>>>>>> ? ?tree->Search(vectorPoint, 5.0, neighbors); >>>>>>> >>>>>>> it works fine without any segmentation errors. But if I do: >>>>>>> >>>>>>> ? ?tree->Search(vectorPoint, m_radius, neighbors); >>>>>>> >>>>>>> where m_radius is compted as above I get the segmentation error (after >>>>>>> a few thousand calls). >>>>>>> >>>>>>> Could this be a bug or am I doing something wrong here? >>>>>>> _____________________________________ >>>>>>> Powered by www.kitware.com >>>>>>> >>>>>>> Visit other Kitware open-source projects at >>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>> >>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>> http://www.kitware.com/products/protraining.html >>>>>>> >>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>> >>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>> >>>>>> >>>>> >>>> >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From blowekamp at mail.nih.gov Wed Dec 2 10:04:04 2009 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Wed, 2 Dec 2009 10:04:04 -0500 Subject: [Insight-users] Fwd: Bug in itk::kdTree ? In-Reply-To: <54eca6a70912020405l10020869mb972bc4f55fe5e7c@mail.gmail.com> References: <54eca6a70911261032u6980530er2e8e7f272293e887@mail.gmail.com> <54eca6a70911261055n5f50917et372e41561ed6bd2@mail.gmail.com> <54eca6a70911261159u7e9fd0dem73596bf1414050f@mail.gmail.com> <4db4735c0912011640q7634889alf23d211cdf81286f@mail.gmail.com> <54eca6a70912020405l10020869mb972bc4f55fe5e7c@mail.gmail.com> Message-ID: <81A76D30-3DEF-4DD4-B9AE-1A6057FB6F66@mail.nih.gov> A brief look at the class reviles that KdTree has a large number of mutable member variable, which would be very problematic for multi-threading. Not to mention makes the const member functions not really constant. I think this should be logged as a feature request in the bug tracker for this class. A reasonable approach to remove the mutable is to create a struct that is passed between the searching functions, and removing the private mutables. Brad On Dec 2, 2009, at 7:05 AM, motes motes wrote: > Yes the subjects: > > # Cannot run the Resampling filter > # Segmentation fault when calling itk::KdTree::Search(queryPoint, > radius, neighbors) > # Bug in itk::kdTree ? > # "Killing" itk::kdTree ?? > # HEAP CORRUPTION DETECTED:after Normal block .... > > all deals with the same problem which is currently related to the fact > that calling the kdTree from the transform when using the resampling > filter only works when specifying: > > resampler->SetNumberOfThreads(1); > > which lead to the conclusion that the kdTree is not thread-safe. > > > > > On Wed, Dec 2, 2009 at 1:40 AM, Bill Lorensen wrote: >> Luis, >> >> I think the problem has been isolated to the fact that itkKdTree is >> not thread-safe. Unfortunately, this issue has been active in multiple >> threads. >> >> Motes can verify? >> >> Bill >> >> On Tue, Dec 1, 2009 at 6:02 PM, Luis Ibanez wrote: >>> ---------- Forwarded message ---------- >>> From: Luis Ibanez >>> Date: Tue, Dec 1, 2009 at 6:02 PM >>> Subject: Re: [Insight-users] Bug in itk::kdTree ? >>> To: motes motes >>> >>> >>> Hi Motes, >>> >>> Here is a suggestion for tracking this problem. >>> >>> If we take the test: >>> >>> Insight/Testing/Code/Numerics/Statistics/ >>> itkKdTreeGeneratorTest.cxx >>> >>> and replace the initialization of the array in lines: 39-45 >>> with loading the list of points that you are generating >>> for your test, >>> >>> then we should be able to reproduce the problem >>> that you are seeing. >>> >>> Could you describe how are you generating the set >>> of points ? >>> >>> Or send us a file with the list of points ? >>> (assuming that is less than 1Mb in size...) >>> >>> In this way we can track is this is actually a bug in >>> the KdTree (or its generator) >>> >>> >>> Thanks >>> >>> >>> Luis >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> On Thu, Nov 26, 2009 at 2:59 PM, motes motes wrote: >>>> I have written my own transform where no of the regular grid >>>> structures (bspline grid, coeff_image, etc) are used. >>>> >>>> Since the transform gets points in physical coordinates from the >>>> metric the radius and other measures used in the transform must also >>>> be in converted to physical coordinates. >>>> >>>> >>>> >>>> >>>> >>>> Here is an example: >>>> >>>> I define the radius as the basisfunction doman divided by 2. I still >>>> use the BSpline kernel which has a domain over 4 "blocks" and the >>>> radius is therefore 2 "blocks". >>>> >>>> >>>> >>>> One "block" in pixel coordinates is: >>>> >>>> blockInPixels = ImageDimension/(numberOfNodes-1) >>>> >>>> So if we have a 128*128*128 volume and define 4*4*4 nodes each block is: >>>> >>>> blockInPixel = 128/3 = 43 pixels >>>> >>>> Since the radius is two blocks the radius becomes 2*43 = 85 pixels. >>>> >>>> Now we need to convert this to physical space which is done with the formula: >>>> >>>> physical = I*S+O >>>> >>>> where I is index, S is scaling and O is origin of the fixed image. >>>> Assume that the fixed image has the following spacing and origin >>>> respectivily: >>>> >>>> [3.125, 3.125, 4] and [0,0,0] >>>> >>>> the radius in each dimension therefore becomes: >>>> >>>> [3.125 * 85, 3.125 * 85, 4 * 85] = [266, 266, 340] >>>> >>>> >>>> Currently I choose the first element as radius, 266 for all dimensions >>>> and feed that to the kd-tree. >>>> >>>> But maybe I am doing something wrong in this custom transform? >>>> >>>> But in principle it should be possible to specify a radius of any size >>>> to the kd-tree without getting a segmentation fault. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> On Thu, Nov 26, 2009 at 7:59 PM, Luis Ibanez wrote: >>>>> Hi Motes, >>>>> >>>>> Why are you using such a large radius ? >>>>> >>>>> The method will return ALL the points that are inside >>>>> a hyper-shpere of radius 262. >>>>> >>>>> Do you really anticipate that to be the region of the >>>>> space that you need is that large ? >>>>> >>>>> >>>>> Luis >>>>> >>>>> >>>>> -------------------------------------------------------- >>>>> On Thu, Nov 26, 2009 at 1:55 PM, motes motes wrote: >>>>>> The value is: >>>>>> >>>>>> m_radius = 262 >>>>>> >>>>>> when I do std::cout << "m_radius" << std::endl; I have also tried: >>>>>> >>>>>> static_cast(m_kernel_radius)/1.0; >>>>>> >>>>>> But I still get the error. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> When I look in the implementation (itkKdTree.txx) in the ::SearchLoop >>>>>> function (a recursive function) I see that the radius is used: >>>>>> >>>>>> >>>>>> // search the other node, if necessary >>>>>> tempValue = lowerBound[partitionDimension]; >>>>>> lowerBound[partitionDimension] = partitionValue; >>>>>> if ( this->BoundsOverlapBall(query, lowerBound, upperBound, >>>>>> m_SearchRadius) ) >>>>>> { >>>>>> SearchLoop(node->Right(), query, lowerBound, upperBound); >>>>>> } >>>>>> lowerBound[partitionDimension] = tempValue; >>>>>> >>>>>> >>>>>> My thought was therefore (under the assumption that a "bad" radius is >>>>>> supplied) that the function never terminates since its a recursive >>>>>> function. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Thu, Nov 26, 2009 at 7:46 PM, Luis Ibanez wrote: >>>>>>> Hi Motes, >>>>>>> >>>>>>> What is the value of m_radius ? >>>>>>> >>>>>>> Please report this to the mailing list. >>>>>>> >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> >>>>>>> Luis >>>>>>> >>>>>>> >>>>>>> ----------------------------------------- >>>>>>> On Thu, Nov 26, 2009 at 1:32 PM, motes motes wrote: >>>>>>>> For the last couple of days I have tried to find a solution for a >>>>>>>> segmentation fault that happens when I use the itk::kdTree. >>>>>>>> >>>>>>>> I am using the version of search where the radius is specified: >>>>>>>> >>>>>>>> /** Searches the neighbors fallen into a hypersphere */ >>>>>>>> void Search(const MeasurementVectorType &query, >>>>>>>> double radius, >>>>>>>> InstanceIdentifierVectorType& result) const; >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> From my function I call it with: >>>>>>>> >>>>>>>> VectorType vectorPoint; >>>>>>>> for (int i=0; i>>>>>>> vectorPoint[i] = point[i]; >>>>>>>> } >>>>>>>> >>>>>>>> NeighborsType neighbors; >>>>>>>> tree->Search(vectorPoint, m_radius, neighbors); >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Where radius is computed like: >>>>>>>> >>>>>>>> unsigned int FVOrder = 3; >>>>>>>> double Order = (double)(FVOrder+1.0); >>>>>>>> double m_radius = (1.0*maxValue * Order)/2.0; >>>>>>>> >>>>>>>> >>>>>>>> Now if I do: >>>>>>>> >>>>>>>> tree->Search(vectorPoint, 5.0, neighbors); >>>>>>>> >>>>>>>> it works fine without any segmentation errors. But if I do: >>>>>>>> >>>>>>>> tree->Search(vectorPoint, m_radius, neighbors); >>>>>>>> >>>>>>>> where m_radius is compted as above I get the segmentation error (after >>>>>>>> a few thousand calls). >>>>>>>> >>>>>>>> Could this be a bug or am I doing something wrong here? >>>>>>>> _____________________________________ >>>>>>>> Powered by www.kitware.com >>>>>>>> >>>>>>>> Visit other Kitware open-source projects at >>>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>>> >>>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>>> http://www.kitware.com/products/protraining.html >>>>>>>> >>>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>>> >>>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users ======================================================== Bradley Lowekamp Lockheed Martin Contractor for Office of High Performance Computing and Communications National Library of Medicine blowekamp at mail.nih.gov -------------- next part -------------- An HTML attachment was scrubbed... URL: From Michael.OConnor at umassmed.edu Wed Dec 2 10:12:27 2009 From: Michael.OConnor at umassmed.edu (O'Connor, Michael) Date: Wed, 2 Dec 2009 10:12:27 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6EF@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011001o34bddee6pbfa27272e9154ced@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F2@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F3@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6F5@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912012036mc8c0404ub3ba352f6bae1da@mail.gmail.com> <4db4735c0912012103t591c3b7ne14df2c8c3f3e2d0@mail.gmail.com> Message-ID: <439667C97F3241448A8E96B0A22D647E0460D6F7@EDUNIVMAIL07.ad.umassmed.edu> Hello Bill and Luis, With conductance = 6 the ITK data output do compare well with MATLAB. Thanks for your help. Regards, Mike -----Original Message----- From: Bill Lorensen [mailto:bill.lorensen at gmail.com] Sent: Wed 12/2/2009 12:03 AM To: O'Connor, Michael Cc: Luis Ibanez; insight-users at itk.org Subject: Re: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter The average gradient in your data is about .0005. So the conductance of the itk code should be about the matlab conductance / .0005 which is about .003 / .0005 = 6. Try a conductance of 6 without scaling your data and see how it compares. Bill On Tue, Dec 1, 2009 at 11:36 PM, Bill Lorensen wrote: > In itk, the K divisor is average_gradient_squared * > conductance_squared. I suspect that accounts for some of the > difference. > > On Tue, Dec 1, 2009 at 9:01 PM, O'Connor, Michael > wrote: >> Hello Luis, >> The pixel spacing is .2 mm. I did not SetSpacing in ITK code. >> Thanks for the insight. I will check that out. >> >> Regards, >> Michael >> >> >> -----Original Message----- >> From: Luis Ibanez [mailto:luis.ibanez at kitware.com] >> Sent: Tue 12/1/2009 7:56 PM >> To: O'Connor, Michael >> Cc: Bill Lorensen; insight-users at itk.org >> Subject: Re: [Insight-users] Problem implementing >> GradientAnisotropicDiffusionImageFilter >> >> Hi Michael, >> >> What is the pixel spacing of your image ? >> >> I believe that the ITK implementation may >> be taking the pixel spacing into account >> when using the value of conductance. >> >> >> Please let us know, >> >> >> Thanks >> >> >> Luis >> >> >> ------------------------------------------------------------------ >> On Tue, Dec 1, 2009 at 5:17 PM, O'Connor, Michael >> wrote: >>> Hi Bill, >>> I use the exact same file with ITK (the one attached to the previous >>> email with MATLAB code). >>> >>> Regards, >>> Michael >>> >>> >>> -----Original Message----- >>> From: Bill Lorensen [mailto:bill.lorensen at gmail.com] >>> Sent: Tue 12/1/2009 4:17 PM >>> To: O'Connor, Michael >>> Cc: insight-users at itk.org >>> Subject: Re: [Insight-users] Problem implementing >>> GradientAnisotropicDiffusionImageFilter >>> >>> Can you provide a png file or meta file, or whatever file you tried with >>> itk? >>> >>> On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael >>> wrote: >>>> Hi Bill, >>>> Thanks. Attached is simple MATLAB test code + the MATLAB filter >>>> function used (Dr. Guy Gilboa's code). I've also take the liberty of >>>> attaching a test image (specifically opened in MATLAB code). The test >>>> image is 400x400 float with background = 0.024 + additive Gaussian Noise >>>> and >>>> foreground (circle) = 0.031 + additive Gaussian Noise. As said >>>> previously >>>> MATLAB code seems to work as expected as shown in plot. In ITK there is >>>> no >>>> similar intraregion filtering (i.e. filtered image ~ input ) >>>> >>>> Regards, >>>> Michael >>>> >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Wed Dec 2 10:22:19 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 2 Dec 2009 10:22:19 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter In-Reply-To: <439667C97F3241448A8E96B0A22D647E0460D6F7@EDUNIVMAIL07.ad.umassmed.edu> References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011001o34bddee6pbfa27272e9154ced@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F2@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F3@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6F5@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912012036mc8c0404ub3ba352f6bae1da@mail.gmail.com> <4db4735c0912012103t591c3b7ne14df2c8c3f3e2d0@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F7@EDUNIVMAIL07.ad.umassmed.edu> Message-ID: <4db4735c0912020722y7df0762boe05a30e7b666d370@mail.gmail.com> The advantage of the itk class is that the conductance you provide is independent of the image intensity range. On Wed, Dec 2, 2009 at 10:12 AM, O'Connor, Michael wrote: > Hello Bill and Luis, > ?? With conductance = 6 the ITK data output do compare well with MATLAB. > Thanks for your help. > > Regards, > ?? Mike > > > -----Original Message----- > From: Bill Lorensen [mailto:bill.lorensen at gmail.com] > Sent: Wed 12/2/2009 12:03 AM > To: O'Connor, Michael > Cc: Luis Ibanez; insight-users at itk.org > Subject: Re: [Insight-users] Problem implementing > GradientAnisotropicDiffusionImageFilter > > The average gradient in your data is about .0005.? So the conductance > of the itk code should be about the matlab conductance / .0005 which > is about .003 / .0005 = 6. > > Try a conductance of 6? without scaling your data and see how it compares. > > Bill > > > On Tue, Dec 1, 2009 at 11:36 PM, Bill Lorensen > wrote: >> In itk, the K divisor is average_gradient_squared * >> conductance_squared. I suspect that accounts for some of the >> difference. >> >> On Tue, Dec 1, 2009 at 9:01 PM, O'Connor, Michael >> wrote: >>> Hello Luis, >>>????? The pixel spacing is .2 mm.?? I did not SetSpacing in ITK code. >>> Thanks for the insight.?? I will check that out. >>> >>> Regards, >>>??? Michael >>> >>> >>> -----Original Message----- >>> From: Luis Ibanez [mailto:luis.ibanez at kitware.com] >>> Sent: Tue 12/1/2009 7:56 PM >>> To: O'Connor, Michael >>> Cc: Bill Lorensen; insight-users at itk.org >>> Subject: Re: [Insight-users] Problem implementing >>> GradientAnisotropicDiffusionImageFilter >>> >>> Hi Michael, >>> >>> What is the pixel spacing of your image ? >>> >>> I believe that the ITK implementation may >>> be taking the pixel spacing into account >>> when using the value of conductance. >>> >>> >>>??? Please let us know, >>> >>> >>>????????????? Thanks >>> >>> >>>??????????????????????? Luis >>> >>> >>> ------------------------------------------------------------------ >>> On Tue, Dec 1, 2009 at 5:17 PM, O'Connor, Michael >>> wrote: >>>> Hi Bill, >>>>???? I use the exact same file with ITK (the one attached to the previous >>>> email with MATLAB code). >>>> >>>> Regards, >>>>??? Michael >>>> >>>> >>>> -----Original Message----- >>>> From: Bill Lorensen [mailto:bill.lorensen at gmail.com] >>>> Sent: Tue 12/1/2009 4:17 PM >>>> To: O'Connor, Michael >>>> Cc: insight-users at itk.org >>>> Subject: Re: [Insight-users] Problem implementing >>>> GradientAnisotropicDiffusionImageFilter >>>> >>>> Can you provide a png file or meta file, or whatever file you tried with >>>> itk? >>>> >>>> On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael >>>> wrote: >>>>> Hi Bill, >>>>>???? Thanks.?? Attached is simple MATLAB test code? + the MATLAB filter >>>>> function used (Dr. Guy Gilboa's code).?? I've also take the liberty of >>>>> attaching a test image (specifically opened in MATLAB code).?? The test >>>>> image is 400x400 float with background = 0.024 + additive Gaussian >>>>> Noise >>>>> and >>>>> foreground (circle) = 0.031 + additive Gaussian Noise.?? As said >>>>> previously >>>>> MATLAB code seems to work as expected as shown in plot.?? In ITK there >>>>> is >>>>> no >>>>> similar intraregion filtering (i.e. filtered image ~ input ) >>>>> >>>>> Regards, >>>>>??? Michael >>>>> >>> >>> >>> >> > > > From bill.lorensen at gmail.com Wed Dec 2 10:32:46 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 2 Dec 2009 10:32:46 -0500 Subject: [Insight-users] Fwd: Bug in itk::kdTree ? In-Reply-To: <81A76D30-3DEF-4DD4-B9AE-1A6057FB6F66@mail.nih.gov> References: <54eca6a70911261032u6980530er2e8e7f272293e887@mail.gmail.com> <54eca6a70911261055n5f50917et372e41561ed6bd2@mail.gmail.com> <54eca6a70911261159u7e9fd0dem73596bf1414050f@mail.gmail.com> <4db4735c0912011640q7634889alf23d211cdf81286f@mail.gmail.com> <54eca6a70912020405l10020869mb972bc4f55fe5e7c@mail.gmail.com> <81A76D30-3DEF-4DD4-B9AE-1A6057FB6F66@mail.nih.gov> Message-ID: <4db4735c0912020732h710b4ffctbf82e2165d3c071f@mail.gmail.com> Brad, Thanks. Karthik described the same issues in another thread. Unfortunately, this problem has been discussed in 5 different e-mail threads. Bill On Wed, Dec 2, 2009 at 10:04 AM, Bradley Lowekamp wrote: > A brief look at the class reviles that KdTree has a large number of mutable > member variable, which would be very problematic for multi-threading. Not to > mention makes the const member functions not really constant. > I think this should be logged as a feature request in the bug tracker for > this class. > A reasonable approach to remove the mutable is to create a struct that is > passed between the searching functions, and removing the private mutables. > Brad > > > > On Dec 2, 2009, at 7:05 AM, motes motes wrote: > > Yes the subjects: > > # Cannot run the Resampling filter > # Segmentation fault when calling itk::KdTree::Search(queryPoint, > radius, neighbors) > # Bug in itk::kdTree ? > # "Killing" itk::kdTree ?? > # HEAP CORRUPTION DETECTED:after Normal block .... > > all deals with the same problem which is currently related to the fact > that calling the kdTree from the transform when using the resampling > filter only works when specifying: > > ?????resampler->SetNumberOfThreads(1); > > which lead to the conclusion that the kdTree is not thread-safe. > > > > > On Wed, Dec 2, 2009 at 1:40 AM, Bill Lorensen > wrote: > > Luis, > > I think the problem has been isolated to the fact that itkKdTree is > > not thread-safe. Unfortunately, this issue has been active in multiple > > threads. > > Motes can verify? > > Bill > > On Tue, Dec 1, 2009 at 6:02 PM, Luis Ibanez wrote: > > ---------- Forwarded message ---------- > > From: Luis Ibanez > > Date: Tue, Dec 1, 2009 at 6:02 PM > > Subject: Re: [Insight-users] Bug in itk::kdTree ? > > To: motes motes > > > Hi Motes, > > Here is a suggestion for tracking this problem. > > If we take the test: > > ?Insight/Testing/Code/Numerics/Statistics/ > > ?????????????????itkKdTreeGeneratorTest.cxx > > and replace the initialization of the array in lines: 39-45 > > with loading the list of points that you are generating > > for your test, > > then we should be able to reproduce the problem > > that you are seeing. > > Could you describe how are you generating the set > > of points ? > > Or send us a file with the list of points ? > > (assuming that is less than 1Mb in size...) > > In this way we can track is this is actually a bug in > > the KdTree (or its generator) > > > ???Thanks > > > ????????Luis > > > > ------------------------------------------------------------------------------ > > On Thu, Nov 26, 2009 at 2:59 PM, motes motes wrote: > > I have written my own transform where no of the regular grid > > structures (bspline grid, coeff_image, etc) are used. > > Since the transform gets points in physical coordinates from the > > metric the radius and other measures used in the transform must also > > be in converted to physical coordinates. > > > > > > Here is an example: > > I define the radius as the basisfunction doman divided by 2. I still > > use the BSpline kernel which has a domain over 4 "blocks" and the > > radius is therefore 2 "blocks". > > > > One "block" in pixel coordinates is: > > blockInPixels = ImageDimension/(numberOfNodes-1) > > So if we have a 128*128*128 volume and define 4*4*4 nodes each block is: > > blockInPixel = 128/3 = 43 pixels > > Since the radius is two blocks the radius becomes 2*43 = 85 pixels. > > Now we need to convert this to physical space which is done with the > formula: > > physical = I*S+O > > where I is index, S is scaling and O is origin of the fixed image. > > Assume that the fixed image has the following spacing and origin > > respectivily: > > ???????????[3.125, 3.125, 4] and [0,0,0] > > the radius in each dimension therefore becomes: > > ??????????[3.125 * 85, 3.125 * 85, 4 * 85] = ?[266, 266, 340] > > > Currently I choose the first element as radius, 266 for all dimensions > > and feed that to the kd-tree. > > But maybe I am doing something wrong in this custom transform? > > But in principle it should be possible to specify a radius of any size > > to the kd-tree without getting a segmentation fault. > > > > > > > > > > > > > > On Thu, Nov 26, 2009 at 7:59 PM, Luis Ibanez > wrote: > > Hi Motes, > > Why are you using such a large radius ? > > The method will return ALL the points that are inside > > a hyper-shpere of radius 262. > > Do you really anticipate that to be the region of the > > space that you need is that large ? > > > ??Luis > > > -------------------------------------------------------- > > On Thu, Nov 26, 2009 at 1:55 PM, motes motes wrote: > > The value is: > > m_radius = 262 > > when I do std::cout << "m_radius" << std::endl; I ?have also tried: > > ??????????static_cast(m_kernel_radius)/1.0; > > But I still get the error. > > > > > When I look in the implementation (itkKdTree.txx) in the ::SearchLoop > > function (a recursive function) I see that the radius is used: > > > ??// search the other node, if necessary > > ??tempValue = lowerBound[partitionDimension]; > > ??lowerBound[partitionDimension] = partitionValue; > > ??if ( this->BoundsOverlapBall(query, lowerBound, upperBound, > > ?????????????????????????m_SearchRadius) ) > > ????{ > > ????SearchLoop(node->Right(), query, lowerBound, upperBound); > > ????} > > ??lowerBound[partitionDimension] = tempValue; > > > My thought was therefore (under the assumption that a "bad" radius is > > supplied) that the function never terminates since its a recursive > > function. > > > > > > > > > On Thu, Nov 26, 2009 at 7:46 PM, Luis Ibanez > wrote: > > Hi Motes, > > What is the value of m_radius ??? > > Please report this to the mailing list. > > > ???Thanks > > > ?????????Luis > > > ----------------------------------------- > > On Thu, Nov 26, 2009 at 1:32 PM, motes motes wrote: > > For the last couple of days I have tried to find a solution for a > > segmentation fault that happens when I use the itk::kdTree. > > I am using the version of search where the radius is specified: > > /** Searches the neighbors fallen into a hypersphere */ > > void Search(const MeasurementVectorType &query, > > ????????????double radius, > > ????????????InstanceIdentifierVectorType& result) const; > > > > > From my function I call it with: > > ??VectorType vectorPoint; > > ??for (int i=0; i > ????vectorPoint[i] = point[i]; > > ??} > > ??NeighborsType neighbors; > > ??tree->Search(vectorPoint, m_radius, neighbors); > > > > > > Where radius is computed like: > > unsigned int FVOrder = 3; > > double Order = (double)(FVOrder+1.0); > > double ?m_radius = ?(1.0*maxValue * Order)/2.0; > > > Now if I do: > > ??tree->Search(vectorPoint, 5.0, neighbors); > > it works fine without any segmentation errors. But if I do: > > ??tree->Search(vectorPoint, m_radius, neighbors); > > where m_radius is compted as above I get the segmentation error (after > > a few thousand calls). > > Could this be a bug or am I doing something wrong here? > > _____________________________________ > > Powered by www.kitware.com > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > > > _____________________________________ > > Powered by www.kitware.com > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > _____________________________________ > > Powered by www.kitware.com > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > ======================================================== > > Bradley Lowekamp > > Lockheed Martin?Contractor for > > Office of High Performance Computing and Communications > > National Library of Medicine > > blowekamp at mail.nih.gov > > From luke.bloy at gmail.com Wed Dec 2 11:23:37 2009 From: luke.bloy at gmail.com (Luke Bloy) Date: Wed, 02 Dec 2009 11:23:37 -0500 Subject: [Insight-users] Segmentation/Clustering Question Message-ID: <4B169489.8020505@gmail.com> Hello Itk community. I'm not a segmentation/clustering person so i was hoping to get some insight from those of you who are. Here is what I am trying to accomplish. Given an image, I would like to determine minimal partitioning of the image space, where each cluster is spatially coherent (all attached) and the intensity variance with in each cluster is below some supplied value. This seems like a problem that should have been tackled before. So i'm hoping there is something out there, either code, literature, or even some appropriate keywords to give me an entry point into the literature. Thanks Luke From mrceresa at gmail.com Wed Dec 2 11:44:21 2009 From: mrceresa at gmail.com (Mario Ceresa) Date: Wed, 2 Dec 2009 17:44:21 +0100 Subject: [Insight-users] Fedora-RHEL packages In-Reply-To: <93dce8f90911171354o414c89e1g321284f3a1ca47ec@mail.gmail.com> References: <93dce8f90911171354o414c89e1g321284f3a1ca47ec@mail.gmail.com> Message-ID: <93dce8f90912020844m54e68eb7q93ecc3a59a84a97d@mail.gmail.com> Hello everybody, things move slowly on the Fedora package front but moves! The reviewer asked me about possible copyright issues for the Review - Patented folders in the ITK build tree (ver 3.16). https://bugzilla.redhat.com/show_bug.cgi?id=539387#c6 We agreed not to include Patented, but I'd like to include at least Review in the rpm because is needed for wrapitk (If I'm not mistaking). Does anyone know if the Review folder (or a subset of it) is compatible with one of these licenses? http://fedoraproject.org/wiki/Licensing#SoftwareLicenses Thanks and regards, Mario 2009/11/17 Mario Ceresa : > Hello everybody, > first of all, thanks for the great work done: I've been happily using > both ITK and WrapITK for a while and also received a lot of help from > this mail list. > > Still I'm a bit confused about the packaging status: are there any > prebuilt packages available for Fedora/RHEL? > I noticed that while there are WrapITK packages for Debian/Ubuntu, > there seem to be none for Fedora/RHEL. > > Is there anyone interested in using binaries for this distributions? > If so, I would be more than happy to contribute back a package for the > two of them, or help anyone else who is working on it. Just let me > know! > > Thanks and regards, > > Mario > From mort.motes at gmail.com Wed Dec 2 12:49:35 2009 From: mort.motes at gmail.com (motes motes) Date: Wed, 2 Dec 2009 18:49:35 +0100 Subject: [Insight-users] Running multilevel image registration Message-ID: <54eca6a70912020949o574c230ct5e7aa1c565325b31@mail.gmail.com> I run a multi-level image registration process using the BSplineDeformableTransform on a 3D image volume. In the first level I run with 6*6*6 nodes. In the second level I run with 8*8*8 nodes and in the last level I run with 12*12*12 Each level is run for 10 iterations (I know the is very low but I am currently in a testing phase). Now when it gets to the third level (12*12*12) the time used is around 40 seconds. But if I start with the 12*12*12 cube it only takes around 8 seconds. Any ideas on what might be the reason that the 12*12*12 level takes longer time when executed last? I have checked that data is not duplicated or allocated twice anywhere. From zallen at wheelinghospital.com Wed Dec 2 12:59:42 2009 From: zallen at wheelinghospital.com (URI) Date: Wed, 2 Dec 2009 09:59:42 -0800 (PST) Subject: [Insight-users] (no subject) In-Reply-To: References: <764384C94AFE4A4389A3DBFE58640F26DE14D0@exch6.jmu.ac.uk> <2b8d077d0911190422o18030c0fkf6cded539328cb6a@mail.gmail.com> <2b8d077d0911230921v12515bbehd0eb46d7407db7f3@mail.gmail.com> <1259110814599-4062270.post@n2.nabble.com> <1259176668602-4067071.post@n2.nabble.com> <1259340869603-4076602.post@n2.nabble.com> Message-ID: <1259776782113-4101223.post@n2.nabble.com> Luis- Thanks for trying to help me work this out. 1. I do not believe that I am using ccmake, I wouldn't even know how to do that. I am just using the CMake gui that was placed in my Start menu by the CMake installer which I got here: http://www.cmake.org/files/v2.6/cmake-2.6.4-win32-x86.exe. Also, I am not using MinGW because I have any special affinity for it, it was just the only way I could figure out to install gcc under Windows. I installed it by running the installer that I found here: http://sourceforge.net/projects/mingw/files/. I didn't do any special configuration for either MinGW or CMake, I just ran the installers and let them do their thing. 2. I'm not really sure how to answer this question, I don't know very much about this "building" and "makefiles" stuff. The programming that I am used to doing is coding in Visual C++ and then just compiling it, I am new to this technique of using CMake. I am following the instructions given in chapter 2 of the ITK Software Guide (http://www.itk.org/ItkSoftwareGuide.pdf). Maybe this guide is outdated, because if you look at the image on page 15 you will see an image of CMake 1.6 and I am using 2.6, but the interface is still similar. I have set the "source code directory" to the directory called "Code" in my CMake installation and the "build binaries directory" to a bin directory that I created in my CMake installation. Then when I hit "Configure" for the first time a window pops up that says "Specify the generator for this project" and I select "MinGW Makefiles" from the list. There is also a box checked that says "Use default native compilers". 3. There is a value of "C:/Program Files/Project" in the CMAKE_INSTALL_PREFIX variable, but I didn't put it there, CMake did that on its own. As a side note, the ITK manual says to set the variables BUILD_TESTING=OFF and BUILD_EXAMPLES=OFF, but I don't see these variables in the variable list, even if I choose "Advanced View" from the drop down. All the errors I get are in various CMakeLists.txt files in the subdirectories of the "Code" directory. If I open them and look at the lines that are giving me errors, I find the something similar in all of them: IF(NOT ITK_INSTALL_NO_LIBRARIES) INSTALL(TARGETS ITKCommon itkvnl_inst RUNTIME DESTINATION ${ITK_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries LIBRARY DESTINATION ${ITK_INSTALL_LIB_DIR_CM24} COMPONENT RuntimeLibraries ARCHIVE DESTINATION ${ITK_INSTALL_LIB_DIR_CM24} COMPONENT Development) ENDIF(NOT ITK_INSTALL_NO_LIBRARIES) CMake identifies the second line above as the source of this error: install TARGETS given no ARCHIVE DESTINATION for static library target "ITKCommon". Luis Ibanez wrote: > > Hi URI, > > > 1) Since you are using MinGW under Windows, > When you configure with CMake: > > are you using "ccmake" ? > > > 2) Are you building CMake in your MinGW ? > or using one that you install ? > > > 3) When you configure ITK, > are you writing anything in the CMake variable: > > CMAKE_INSTALL_PREFIX > > ?? > > > Please let us know, > > > Thanks > > > Luis > > > ----------------------------------------------------------------------- > On Fri, Nov 27, 2009 at 11:54 AM, URI wrote: >> >> Ok, I went back to CMake version 2.8 like I was oringinally using and >> added >> the line to all the CMakelists.txt files that were giving me errors. ?It >> removed the warning, but all the errors are still there. >> >> This is what I get now: >> >> CMake Error at Common/CMakeLists.txt:164 (INSTALL): >> ?install TARGETS given no ARCHIVE DESTINATION for static library target >> ?"ITKCommon". >> >> >> CMake Error at Numerics/CMakeLists.txt:48 (INSTALL): >> ?install TARGETS given no ARCHIVE DESTINATION for static library target >> ?"ITKNumerics". >> >> >> CMake Error at Numerics/Statistics/CMakeLists.txt:22 (INSTALL): >> ?install TARGETS given no ARCHIVE DESTINATION for static library target >> ?"ITKStatistics". >> >> >> CMake Error at Numerics/FEM/CMakeLists.txt:170 (INCLUDE): >> ?include could not find load file: >> >> ? ?/CMake/itkCheckCXXAcceptsFlags.cmake >> >> >> CMake Error at Numerics/FEM/CMakeLists.txt:171 >> (itkCHECK_CXX_ACCEPTS_FLAGS): >> ?Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". >> >> >> Configuring incomplete, errors occurred! >> >> >> >> >> >> ============================================= >> >> Luis Ibanez wrote: >>> >>> You just need to add the line: >>> >>> ? ?cmake_minimum_required(VERSION 2.4) >>> >>> to be the first line of the CMakeLists.txt file. >>> >>> Just as the error message indicates. >>> >>> -- >>> >>> Note that "2.4" in this command >>> should work for any subsequent version of CMake. >>> >>> There is no need for you to use an older CMake. >>> >>> Any version of CMake from 2.6.4 and up should >>> work fine with ITK. >>> >>> >>> Please let us know if you still have any problems. >>> >>> >>> ? ? ?Thanks, >>> >>> >>> ? ? ? ? ? Luis >>> >>> >>> ----------------------------------------------------------------------------------------------- >>> On Wed, Nov 25, 2009 at 2:17 PM, URI >>> wrote: >>>> >>>> I found where the earlier versions of CMake are stored and I tried >>>> using >>>> version 2.4.2, but I got the same errors plus more. ?Does anyone know >>>> what >>>> the solution to this is? ?This has to be a basic thing, I'm just trying >>>> to >>>> get it configured for the first time by following the instructions in >>>> the >>>> manual, I'm not even trying to compile a new program or anything. >>>> >>>> >>>> I am getting the exact same error codes as the original poster. ?I am >>>> using >>>> MinGW on a 64-bit Windows 7 machine. ?I would like to try Dan's >>>> suggestion >>>> about using CMake 2.4 but I can't find anywhere to download it. ?The >>>> only >>>> versions I can find on the CMake site >>>> (http://www.cmake.org/cmake/resources/software.html) are version 2.8 >>>> and >>>> 2.6.4. >>>> >>>> >>>> >>>> Dan Mueller wrote: >>>>> >>>>> Hi Munther, >>>>> >>>>> It seems the "Hello World" application is not compatible with your >>>>> version of CMake... >>>>> >>>>> Perhaps try CMake version 2.4.x? Anyone else on the list have ideas? >>>>> >>>>> Regards, Dan >>>>> >>>>> 2009/11/23 Gdeisat, Munther : >>>>> >>>>>> ##########================================= >>>>>> Check for working C compiler: cl >>>>>> >>>>>> Check for working C compiler: cl -- works >>>>>> >>>>>> Detecting C compiler ABI info >>>>>> >>>>>> Detecting C compiler ABI info - done >>>>>> >>>>>> Check for working CXX compiler: cl >>>>>> >>>>>> Check for working CXX compiler: cl -- works >>>>>> >>>>>> Detecting CXX compiler ABI info >>>>>> >>>>>> Detecting CXX compiler ABI info - done >>>>>> >>>>>> CMake Warning (dev) in CMakeLists.txt: >>>>>> >>>>>> No cmake_minimum_required command is present. A line of code such as >>>>>> >>>>>> cmake_minimum_required(VERSION 2.8) >>>>>> >>>>>> should be added at the top of the file. The version specified may be >>>>>> lower >>>>>> >>>>>> if you wish to support older CMake versions for this project. For >>>>>> more >>>>>> >>>>>> information run "cmake --help-policy CMP0000". >>>>>> >>>>>> This warning is for project developers. Use -Wno-dev to suppress it. >>>>>> >>>>>> Looking for EnumProcesses in Psapi >>>>>> >>>>>> Looking for EnumProcesses in Psapi - not found >>>>>> >>>>>> Looking for mallinfo in malloc >>>>>> >>>>>> Looking for mallinfo in malloc - not found >>>>>> >>>>>> CMake Error at Common/CMakeLists.txt:163 (INSTALL): >>>>>> >>>>>> install TARGETS given no ARCHIVE DESTINATION for static library >>>>>> target >>>>>> >>>>>> "ITKCommon". >>>>>> >>>>>> CMake Error at Numerics/CMakeLists.txt:47 (INSTALL): >>>>>> >>>>>> install TARGETS given no ARCHIVE DESTINATION for static library >>>>>> target >>>>>> >>>>>> "ITKNumerics". >>>>>> >>>>>> CMake Error at Numerics/Statistics/CMakeLists.txt:21 (INSTALL): >>>>>> >>>>>> install TARGETS given no ARCHIVE DESTINATION for static library >>>>>> target >>>>>> >>>>>> "ITKStatistics". >>>>>> >>>>>> CMake Error at Numerics/FEM/CMakeLists.txt:169 (INCLUDE): >>>>>> >>>>>> include could not find load file: >>>>>> >>>>>> /CMake/itkCheckCXXAcceptsFlags.cmake >>>>>> >>>>>> CMake Error at Numerics/FEM/CMakeLists.txt:170 >>>>>> (itkCHECK_CXX_ACCEPTS_FLAGS): >>>>>> >>>>>> Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". >>>>>> >>>>>> Configuring incomplete, errors occurred! >>>>>> >>>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://n2.nabble.com/no-subject-tp4031125p4067071.html >>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >>> >> >> -- >> View this message in context: >> http://n2.nabble.com/no-subject-tp4031125p4076602.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/no-subject-tp4031125p4101223.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From adityargupta at gmail.com Wed Dec 2 14:35:00 2009 From: adityargupta at gmail.com (Gupt) Date: Wed, 2 Dec 2009 11:35:00 -0800 (PST) Subject: [Insight-users] Interpolation Volume Message-ID: <26614974.post@talk.nabble.com> I've a stack of 2d cardiac mri images in single view. I've written the code to do a surface reconstruction of the left ventricle wall of the heart (looks like a hollow cylinder). Is there a method/ function to incorporate the intensity information (in the 2d slices) in to the model, like some kind of interpolation to obtain intensity between the slices? Thanks for the help. -- View this message in context: http://old.nabble.com/Interpolation-Volume-tp26614974p26614974.html Sent from the ITK - Users mailing list archive at Nabble.com. From markus_m at gmx.net Wed Dec 2 15:34:17 2009 From: markus_m at gmx.net (sacrif) Date: Wed, 2 Dec 2009 12:34:17 -0800 (PST) Subject: [Insight-users] Histogram modification - troubles with SetFrequency Message-ID: <26615939.post@talk.nabble.com> Hello, I am new to ITK and have troubles with the histogram->SetFrequency() method. What I did yet was to read in a 3d Analyse image (.hdr and .img format) using the filereader and the AnlayseImageIO class. Then I used the "itkScalarImageToHistogramGenerator.h" class to create a histogram out of the image I read in. So far everything worked well. However my next step is to modify the histogram. I want to exponentiate the frequency value of every bin by a certain number. I tried to do that with the following code. //------------------------------------------- typedef signed short PixelType; static const unsigned int Dimension = 3; typedef itk::Image ImageType; typedef itk::Statistics::ScalarImageToHistogramGenerator< ImageType > HistogramGeneratorType; typedef HistogramGeneratorType::HistogramType HistogramType; ... const HistogramType * histogram = histogramGenerator->GetOutput(); const unsigned int histogramSize = histogram->Size(); unsigned int bin; for( bin=0; bin < histogramSize; bin++ ) { histogram->SetFrequency(bin, pow(histogram->GetFrequency(bin,0),2)); // pow(x,2) just exponentitates x with 2. } //------------------------------------------- Unfortunately this does not work - obviously "unsigned int" is not the right type to asign. I also tried to define: HistogramType::IndexType index; index[0] = 1000; // just as an example and put "index" at the place of "bin"( histogram->SetFrequency(index, pow(histogram->GetFrequency(bin,0),2));), but it did not work. Could you please tell me what kind of arguments SetFrequency needs, or whether there is a better way to modify the histogram. (histogram->GetFrequency(bin, 0) works without any problems by the way) Kind Regards Mark -- View this message in context: http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26615939.html Sent from the ITK - Users mailing list archive at Nabble.com. From luis.ibanez at kitware.com Wed Dec 2 15:43:25 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 15:43:25 -0500 Subject: [Insight-users] Problem in DeformableRegistration3DTimeSeries In-Reply-To: References: Message-ID: Hi Anand, Apparently the error message: > CXX0030: Error: expression cannot be evaluated. is produced by the Visual Studio debugger when a program tries to call methods using the pointer of an object that has not been allocated yet. -- Why is this happening to you only in some machines, is something that we should track down, and for which we need you to provide a lot more information. Starting with: 1) What is the full description of the system in which the application fails: - Operating system - compiler version 2) You say that the program "works on your Sever but not on the systems connected to that server" Please describe in detail what kind of server connection you are using. Are you talking about using VPN connection ? using a RemoteDesktop connection ? or are you simply sharing a drive from one machine to another ? 3) Are you building the program in the server and then trying to run it in another machine that is connected to the server ? or are you building the application directly on the connected machine ? (in which case, why should the server matter at all ?) Thanks Luis ----------------------------------------------------------------------------------------------- On Wed, Dec 2, 2009 at 3:10 AM, Anand Neema wrote: > Hello to all, > I am a ITK User. > I have one problem in an application. > DeformableRegistration3DTimeSeries (Sample Application) provided with > toolkit is working properly, but when the same code from that application I > try to build in my application, then it is not working properly. Rather it > works on our Server but not on the systems connected to that server. > Build process is completed successfully, there is no problem in built the > application. After build, when I run the .exe file and try to load a DICOM > Series the application terminates. > I run the application in debug mode, and it is throwing an exception as: > CXX0030: Error: expression cannot be evaluated. > Any kind of help would be appreciated > Thanks & Regds, > Anand Neema > ________________________________ > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Wed Dec 2 15:52:25 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 15:52:25 -0500 Subject: [Insight-users] Histogram modification - troubles with SetFrequency In-Reply-To: <26615939.post@talk.nabble.com> References: <26615939.post@talk.nabble.com> Message-ID: Hi Sacrif, In the old statistics framework, the FrequencyType of the Histogram is defined as: typedef float FrequencyType; in the file Insight/Code/Numerics/Statistics/itkDenseFrequencyContainer.h When you say about the expression: > histogram->SetFrequency(bin, pow(histogram->GetFrequency(bin,0),2)); // > pow(x,2) that: "It doesn't work"... do you mean that: A) It doesn't compile ? B) It seg. faults at run time ? C) It throws an exception at run time ? D) It doesn't produce any errors, but the resulting numerical value is not the expected one ? Please be more specific, Thanks Luis ---------- BTW: Please note that the Statistics Framework was fully refactored and that the new version is under: Insight/Code/Review/Statistics we strongly encourage you to adopt this new version. In order to use it, you just need to reconfigure ITK with CMake and turn ON the following two CMake variables: ITK_USE_REVIEW ITK_USE_REVIEW_STATISTICS -------------------------------------------------------------------------------------------------------------- On Wed, Dec 2, 2009 at 3:34 PM, sacrif wrote: > > Hello, > > I am new to ITK and have troubles with the histogram->SetFrequency() > method. > What I did yet was to read in a 3d Analyse image (.hdr and .img format) > using the filereader > and the AnlayseImageIO class. Then I used the > "itkScalarImageToHistogramGenerator.h" class to create a histogram out of > the image I read in. So far everything worked well. However my next step is > to modify the histogram. I want to exponentiate the frequency value of every > bin by a certain number. ?I tried to do that with the following code. > > //------------------------------------------- > typedef signed short PixelType; > static const unsigned int Dimension = 3; > typedef itk::Image ImageType; > typedef itk::Statistics::ScalarImageToHistogramGenerator< ImageType > > HistogramGeneratorType; > typedef HistogramGeneratorType::HistogramType ?HistogramType; > ?... > ?const HistogramType * histogram = histogramGenerator->GetOutput(); > ?const unsigned int histogramSize = histogram->Size(); > > ?unsigned int bin; > ?for( bin=0; bin < histogramSize; bin++ ) > ? ?{ > ? ? ? ?histogram->SetFrequency(bin, pow(histogram->GetFrequency(bin,0),2)); // > pow(x,2) just exponentitates x with 2. > ? ?} > //------------------------------------------- > > Unfortunately this does not work - obviously "unsigned int" is not the right > type to asign. > I also tried to define: > ? ? ? ?HistogramType::IndexType index; > ? ? ? ?index[0] = 1000; // just as an example > > and put "index" at the place of "bin"( histogram->SetFrequency(index, > pow(histogram->GetFrequency(bin,0),2));), but it did not work. > Could you please tell me what kind of arguments SetFrequency needs, or > whether there is a better way to modify the histogram. > (histogram->GetFrequency(bin, 0) works without any problems by the way) > > Kind Regards > Mark > -- > View this message in context: http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26615939.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Wed Dec 2 16:04:49 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 16:04:49 -0500 Subject: [Insight-users] (no subject) In-Reply-To: <1259776782113-4101223.post@n2.nabble.com> References: <764384C94AFE4A4389A3DBFE58640F26DE14D0@exch6.jmu.ac.uk> <2b8d077d0911190422o18030c0fkf6cded539328cb6a@mail.gmail.com> <2b8d077d0911230921v12515bbehd0eb46d7407db7f3@mail.gmail.com> <1259110814599-4062270.post@n2.nabble.com> <1259176668602-4067071.post@n2.nabble.com> <1259340869603-4076602.post@n2.nabble.com> <1259776782113-4101223.post@n2.nabble.com> Message-ID: Hi URI, Thanks for the additional details. The essential problem is that you are trying to use the Windows version of CMake in order to configure a project under MinGW. That will not work. What you must do: is to use the MinGW version of CMake. You have two options: 1) Install CMake as part of MinGW or 2) build CMake yourself in MinGW For option (1) you can actually check if cmake is already installed in your MinGW system, by just opening a shell and typing which cmake If you find it, then now just need to delete the binary directory where you have been trying to build ITK, and then, start from scratch by following the LINUX instructions given in the Tutorial http://www.itk.org/ITK/help/tutorials.html more specifically in: http://www.itk.org/CourseWare/Training/GettingStarted-I.pdf For option (2), you can follow the LINUX instructions for building CMake. They come down to: a) open a shell b) download and expand the source code of CMake (from www.cmake.org) let's say that you expanded it in a directory called "cmakesrc" b) create a binary directory: mkdir ~/cmakebin c) enter in this directory cd cmakebin d) run the configuration ~/cmakesrc/configure e) build cmake, just by typing make When "make" is done, you will find several executables under the directory cmakebin/bin Note that "ccmake" will only build if you have the library ncurses installed in your system. ----- BTW It is great that you are using MinGW. The problem with Visual Studio (and IDE's in general) is that it hides from developers the details of what actually happens during the configuration and build process. I'm sure that you will find MinGW very interesting. Please follow the LINUX instructions and let us know if you run into any problem. -------------------------------------------------------------------------------------- On Wed, Dec 2, 2009 at 12:59 PM, URI wrote: > > Luis- > > Thanks for trying to help me work this out. > > 1. ?I do not believe that I am using ccmake, I wouldn't even know how to do > that. ?I am just using the CMake gui that was placed in my Start menu by the > CMake installer which I got here: > http://www.cmake.org/files/v2.6/cmake-2.6.4-win32-x86.exe. ?Also, I am not > using MinGW because I have any special affinity for it, it was just the only > way I could figure out to install gcc under Windows. ?I installed it by > running the installer that I found here: > http://sourceforge.net/projects/mingw/files/. ?I didn't do any special > configuration for either MinGW or CMake, I just ran the installers and let > them do their thing. > > 2. ?I'm not really sure how to answer this question, I don't know very much > about this "building" and "makefiles" stuff. ?The programming that I am used > to doing is coding in Visual C++ and then just compiling it, I am new to > this technique of using CMake. ?I am following the instructions given in > chapter 2 of the ITK Software Guide > (http://www.itk.org/ItkSoftwareGuide.pdf). ?Maybe this guide is outdated, > because if you look at the image on page 15 you will see an image of CMake > 1.6 and I am using 2.6, but the interface is still similar. ?I have set the > "source code directory" to the directory called "Code" in my CMake > installation and the "build binaries directory" to a bin directory that I > created in my CMake installation. ?Then when I hit "Configure" for the first > time a window pops up that says "Specify the generator for this project" and > I select "MinGW Makefiles" from the list. ?There is also a box checked that > says "Use default native compilers". > > 3. ?There is a value of "C:/Program Files/Project" in the > CMAKE_INSTALL_PREFIX variable, but I didn't put it there, CMake did that on > its own. ?As a side note, the ITK manual says to set the variables > BUILD_TESTING=OFF and BUILD_EXAMPLES=OFF, but I don't see these variables in > the variable list, even if I choose "Advanced View" from the drop down. > > All the errors I get are in various CMakeLists.txt files in the > subdirectories of the "Code" directory. ?If I open them and look at the > lines that are giving me errors, I find the something similar in all of > them: > > IF(NOT ITK_INSTALL_NO_LIBRARIES) > ?INSTALL(TARGETS ITKCommon itkvnl_inst > ? ?RUNTIME DESTINATION ${ITK_INSTALL_BIN_DIR_CM24} COMPONENT > RuntimeLibraries > ? ?LIBRARY DESTINATION ${ITK_INSTALL_LIB_DIR_CM24} COMPONENT > RuntimeLibraries > ? ?ARCHIVE DESTINATION ${ITK_INSTALL_LIB_DIR_CM24} COMPONENT Development) > ENDIF(NOT ITK_INSTALL_NO_LIBRARIES) > > > CMake identifies the second line above as the source of this error: install > TARGETS given no ARCHIVE DESTINATION for static library target "ITKCommon". > > > > > > > > Luis Ibanez wrote: >> >> Hi URI, >> >> >> 1) Since you are using MinGW under Windows, >> ? ? When you configure with CMake: >> >> ? ? ? ? ? ? ? are you using "ccmake" ? ?? >> >> >> 2) Are you building CMake in your MinGW ? >> ? ? or using one that you install ? >> >> >> 3) When you configure ITK, >> ? ? are you writing anything in the CMake variable: >> >> ? ? ? ? ? ? ? ?CMAKE_INSTALL_PREFIX >> >> ? ? ?? >> >> >> Please let us know, >> >> >> ? ? ?Thanks >> >> >> ? ? ? ? ? ?Luis >> >> >> ----------------------------------------------------------------------- >> On Fri, Nov 27, 2009 at 11:54 AM, URI wrote: >>> >>> Ok, I went back to CMake version 2.8 like I was oringinally using and >>> added >>> the line to all the CMakelists.txt files that were giving me errors. ?It >>> removed the warning, but all the errors are still there. >>> >>> This is what I get now: >>> >>> CMake Error at Common/CMakeLists.txt:164 (INSTALL): >>> ?install TARGETS given no ARCHIVE DESTINATION for static library target >>> ?"ITKCommon". >>> >>> >>> CMake Error at Numerics/CMakeLists.txt:48 (INSTALL): >>> ?install TARGETS given no ARCHIVE DESTINATION for static library target >>> ?"ITKNumerics". >>> >>> >>> CMake Error at Numerics/Statistics/CMakeLists.txt:22 (INSTALL): >>> ?install TARGETS given no ARCHIVE DESTINATION for static library target >>> ?"ITKStatistics". >>> >>> >>> CMake Error at Numerics/FEM/CMakeLists.txt:170 (INCLUDE): >>> ?include could not find load file: >>> >>> ? ?/CMake/itkCheckCXXAcceptsFlags.cmake >>> >>> >>> CMake Error at Numerics/FEM/CMakeLists.txt:171 >>> (itkCHECK_CXX_ACCEPTS_FLAGS): >>> ?Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". >>> >>> >>> Configuring incomplete, errors occurred! >>> >>> >>> >>> >>> >>> ============================================= >>> >>> Luis Ibanez wrote: >>>> >>>> You just need to add the line: >>>> >>>> ? ?cmake_minimum_required(VERSION 2.4) >>>> >>>> to be the first line of the CMakeLists.txt file. >>>> >>>> Just as the error message indicates. >>>> >>>> -- >>>> >>>> Note that "2.4" in this command >>>> should work for any subsequent version of CMake. >>>> >>>> There is no need for you to use an older CMake. >>>> >>>> Any version of CMake from 2.6.4 and up should >>>> work fine with ITK. >>>> >>>> >>>> Please let us know if you still have any problems. >>>> >>>> >>>> ? ? ?Thanks, >>>> >>>> >>>> ? ? ? ? ? Luis >>>> >>>> >>>> ----------------------------------------------------------------------------------------------- >>>> On Wed, Nov 25, 2009 at 2:17 PM, URI >>>> wrote: >>>>> >>>>> I found where the earlier versions of CMake are stored and I tried >>>>> using >>>>> version 2.4.2, but I got the same errors plus more. ?Does anyone know >>>>> what >>>>> the solution to this is? ?This has to be a basic thing, I'm just trying >>>>> to >>>>> get it configured for the first time by following the instructions in >>>>> the >>>>> manual, I'm not even trying to compile a new program or anything. >>>>> >>>>> >>>>> I am getting the exact same error codes as the original poster. ?I am >>>>> using >>>>> MinGW on a 64-bit Windows 7 machine. ?I would like to try Dan's >>>>> suggestion >>>>> about using CMake 2.4 but I can't find anywhere to download it. ?The >>>>> only >>>>> versions I can find on the CMake site >>>>> (http://www.cmake.org/cmake/resources/software.html) are version 2.8 >>>>> and >>>>> 2.6.4. >>>>> >>>>> >>>>> >>>>> Dan Mueller wrote: >>>>>> >>>>>> Hi Munther, >>>>>> >>>>>> It seems the "Hello World" application is not compatible with your >>>>>> version of CMake... >>>>>> >>>>>> Perhaps try CMake version 2.4.x? Anyone else on the list have ideas? >>>>>> >>>>>> Regards, Dan >>>>>> >>>>>> 2009/11/23 Gdeisat, Munther : >>>>>> >>>>>>> ##########================================= >>>>>>> Check for working C compiler: cl >>>>>>> >>>>>>> Check for working C compiler: cl -- works >>>>>>> >>>>>>> Detecting C compiler ABI info >>>>>>> >>>>>>> Detecting C compiler ABI info - done >>>>>>> >>>>>>> Check for working CXX compiler: cl >>>>>>> >>>>>>> Check for working CXX compiler: cl -- works >>>>>>> >>>>>>> Detecting CXX compiler ABI info >>>>>>> >>>>>>> Detecting CXX compiler ABI info - done >>>>>>> >>>>>>> CMake Warning (dev) in CMakeLists.txt: >>>>>>> >>>>>>> No cmake_minimum_required command is present. A line of code such as >>>>>>> >>>>>>> cmake_minimum_required(VERSION 2.8) >>>>>>> >>>>>>> should be added at the top of the file. The version specified may be >>>>>>> lower >>>>>>> >>>>>>> if you wish to support older CMake versions for this project. For >>>>>>> more >>>>>>> >>>>>>> information run "cmake --help-policy CMP0000". >>>>>>> >>>>>>> This warning is for project developers. Use -Wno-dev to suppress it. >>>>>>> >>>>>>> Looking for EnumProcesses in Psapi >>>>>>> >>>>>>> Looking for EnumProcesses in Psapi - not found >>>>>>> >>>>>>> Looking for mallinfo in malloc >>>>>>> >>>>>>> Looking for mallinfo in malloc - not found >>>>>>> >>>>>>> CMake Error at Common/CMakeLists.txt:163 (INSTALL): >>>>>>> >>>>>>> install TARGETS given no ARCHIVE DESTINATION for static library >>>>>>> target >>>>>>> >>>>>>> "ITKCommon". >>>>>>> >>>>>>> CMake Error at Numerics/CMakeLists.txt:47 (INSTALL): >>>>>>> >>>>>>> install TARGETS given no ARCHIVE DESTINATION for static library >>>>>>> target >>>>>>> >>>>>>> "ITKNumerics". >>>>>>> >>>>>>> CMake Error at Numerics/Statistics/CMakeLists.txt:21 (INSTALL): >>>>>>> >>>>>>> install TARGETS given no ARCHIVE DESTINATION for static library >>>>>>> target >>>>>>> >>>>>>> "ITKStatistics". >>>>>>> >>>>>>> CMake Error at Numerics/FEM/CMakeLists.txt:169 (INCLUDE): >>>>>>> >>>>>>> include could not find load file: >>>>>>> >>>>>>> /CMake/itkCheckCXXAcceptsFlags.cmake >>>>>>> >>>>>>> CMake Error at Numerics/FEM/CMakeLists.txt:170 >>>>>>> (itkCHECK_CXX_ACCEPTS_FLAGS): >>>>>>> >>>>>>> Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". >>>>>>> >>>>>>> Configuring incomplete, errors occurred! >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://n2.nabble.com/no-subject-tp4031125p4067071.html >>>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.html >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://n2.nabble.com/no-subject-tp4031125p4076602.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/no-subject-tp4031125p4101223.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Wed Dec 2 16:32:20 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 16:32:20 -0500 Subject: [Insight-users] Fedora-RHEL packages: Status of "Patented" and "Review" directories Message-ID: Hi Mario, Thanks a lot for your efforts on packaging ITK for Fedora. 1) About the Patented directory: It is not worth the trouble, just exclude it. We must get rid of it as soon as we can, anyways. We shouldn't provide free advertisement for those who decided to acquire 20-years monopolies for excluding others from the use of ideas. In fact, for some of the examples there, (the ICP, the (20 year-long monopoly) "patent" has expired, and the method is back in the public domain, where it should have always been, given that the US Congress have never authorized the use of Patents for software. Even the US Supreme Court made clear that only Congress had the power for making such determination. Not to mention that they have repeatedly clarified that Algorithms are NOT patentable, because they are equivalent to Mathematics and to Laws of Nature. It has been only the misguided decisions of the US Court of Appeals of the Federal Circuit (CAFC) that have brought the patent system to it current mess. With about 170,000 software patents being awarded, it is practically impossible to write any piece of software without infringing on somebody else's "imaginary property". Nobody should own Mathematics. Hopefully, now that the Bilsky case has been ruled in the Supreme Court ( http://en.wikipedia.org/wiki/In_re_Bilski) we may see some rational sense coming back to the US Patent Office, and hopefully the CAFC will be re-populated with more diverse Judges, as the US National Academy of Science has recommended: http://www7.nationalacademies.org/ocga/testimony/Patent_System_Overhaul.asp 2) About the Review directory: Strictly speaking, you must exclude it as well. The copyright of many of the files in this directory has not been officially transferred to the Insight Software Consortium. Most of them have been moved from the Insight Journal, but still the copyright and license status is unclear. We should focus on moving files from this directory into the toolkit itself during the following months. Regards, Luis ---------------------------------------------------------------------------------- On Wed, Dec 2, 2009 at 11:44 AM, Mario Ceresa wrote: > Hello everybody, > things move slowly on the Fedora package front but moves! > The reviewer asked me about possible copyright issues for the Review - > Patented folders in the ITK build tree (ver 3.16). > > https://bugzilla.redhat.com/show_bug.cgi?id=539387#c6 > > We agreed not to include Patented, but I'd like to include at least > Review in the rpm because is needed for wrapitk (If I'm not > mistaking). > > Does anyone know if the Review folder (or a subset of it) is > compatible with one of these licenses? > > http://fedoraproject.org/wiki/Licensing#SoftwareLicenses > > Thanks and regards, > > Mario > > 2009/11/17 Mario Ceresa : >> Hello everybody, >> first of all, thanks for the great work done: I've been happily using >> both ITK and WrapITK for a while and also received a lot of help from >> this mail list. >> >> Still I'm a bit confused about the packaging status: are there any >> prebuilt packages available for Fedora/RHEL? >> I noticed that while there are WrapITK packages for Debian/Ubuntu, >> there seem to be none for Fedora/RHEL. >> >> Is there anyone interested in using binaries for this distributions? >> If so, I would be more than happy to contribute back a package for the >> two of them, or help anyone else who is working on it. Just let me >> know! >> >> Thanks and regards, >> >> Mario >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From fabbri at u.washington.edu Wed Dec 2 17:52:52 2009 From: fabbri at u.washington.edu (Serena Fabbri) Date: Wed, 2 Dec 2009 14:52:52 -0800 (PST) Subject: [Insight-users] call metric in Observer code...bug? In-Reply-To: Message-ID: Hi Luis, Thank you for your replay. I think it was my oversight because I printed the globalMI twice......sorry about that!! I fixed the code and now I am obtaining this error: ExceptionObject caught ! itk::ExceptionObject (0xd01060) Location: "typename itk::ImageToImageMetric::MeasureType itk::MattesMutualInformationImageToImageMetric::GetValue(typename itk::ImageToImageMetric::ParametersType&) const [with TFixedImage = itk::OrientedImage, TMovingImage = itk::OrientedImage]" File: /Users/fabbri/InsightToolkit- 3.10.0/Code/Algorithms/itkMattesMutualInformationImageToImageMetric.txx Line: 830 Description: itk::ERROR: MattesMutualInformationImageToImageMetric(0xd01b00): Too many samples map outside moving image buffer: 0 / 1000 I have taken a look to MattesMutualInformation code and I have found that: Initialize() calls PreComputeTransformValues() In PreComputeTransformValues() weights and indices are calculated. I have found that weights are 0 or e-306 and the indices are always 0. These values are used in TransformPoint (GetValue() code) to calculate the mappedPoints. The calculated mappedPoints are outside my movingImage. I'd like to ask you if it is a bug or I get this error because the region I used for MI local is really little compared to fixed and moving image. Any suggestion will be very appreciate. Thank you. Serena. On Tue, 1 Dec 2009, Luis Ibanez wrote: > Hi Serena, > > Thanks for letting us know of your progress. > > -- > > Regarding your question, > > Please note that Mutual Information is NOT and additive measure. > > > That is, if you computed a value of Mutual Information, in a region R, > and then you partition that Region R into two subregions R1 and R2, > and compute Mutual information in R1 and then in R2, the sum of > these two last numbers will NOT be equal to the mutual information > of R. > > In short: > > MI( R ) != MI( R1 ) + MI( R2 ) > > This is because MI is related to the logs of probabilities of intensity > pairs (pixel counts). > > So... it still may be ok that you get similar values of Mutual Information > from MI(R) and MI( R1). In principle, it just tells you that the statistical > distribution of pixels intensity pairs in the Region R is similar to the one > in the subregion R1. > > I don't know if that helps you with the original goal that you had for > computing MI in subregions of the image..... > > > Regards, > > > Luis > > > -------------------------------------------------------------------------------- --- > On Mon, Nov 30, 2009 at 8:10 PM, Serena Fabbri wrote: >> >> Hi Luis, >> >> thank you very much to explain clearly the mistake. >> I fixed the code and now I am able to calculate local MI. >> >> >> Now I am a bit surprised because the SetFixedImageRegion is (10,17,20) >> pixelsize and the FixedImage is ?(80,80,101) pixelsize and >> I am finding that the values of local MI are pretty close to the global >> values of MI. I use all pixel for ?local MI and 10% of statistic for global >> MI. >> >> Do you think this is reasonable? >> >> Thanks again for any suggestion. >> >> Serena. >> >> >> These are the results of LOCAL MI: >> >> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 ? -0.468013 >> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 ? -0.492886 >> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 ? 18 >> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 ? -0.51411 >> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 >> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 ? -0.526987 >> ? 48 ? -0.528026 ? 49 ? -0.528595 ? 50 ? -0.529578 >> >> >> -GLOBAL MI >> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 ? -0.468013 >> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 ? -0.492886 >> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 ? 18 >> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 ? -0.51411 >> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 >> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 ? -0.526987 >> ? 48 ? -0.528026 ? 49 ? -0.528595 >> >> >> On Thu, 26 Nov 2009, Luis Ibanez wrote: >> >>> Serena, >>> >>> The "caller" argument of the Execute method is an Observer >>> is the pointer to the object that invoked the event. >>> >>> In your particular case, this is the Optimizer. >>> >>> As Bill explained, >>> you can only cast "caller" to the OptimizerType. >>> >>> >>> For all the other elements of the registration framework, you have >>> to pass them through other means to the command. >>> >>> One way of doing this is to have them as Member variables, >>> and to have "Set" methods for them. >>> >>> Like >>> >>>> class CommandIterationUpdate : public itk::Command { >>>> public: >>>> ?typedef ?CommandIterationUpdate ? Self; >>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>> ?typedef itk::SmartPointer ?Pointer; >>>> ?itkNewMacro( Self ); >>>> >>>> protected: >>>> ?CommandIterationUpdate() {}; >>>> >>>> public: >>>> ?typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>>> ?typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>> >>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>> ? ? ? typedef ? const ?FixedImageType* ?FixedImagePointer; >>>> >>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>> >>>> ? ? ? typedef itk::MattesMutualInformationImageToImageMetric< >>>> FixedImageType, MovingImageType >>>>> >>>>> MetricType; >>>> >>>> ? ? ? typedef ? const MetricType* ?MetricPointer; >>>> >>>> ? ? ? typedef itk::BSplineDeformableTransform< double,3,3 > >>>> DeformableTransformType; >>>> ? ? ? typedef ? const DeformableTransformType* ?TransformPointer; >>>> >>> MetricPointer ? ? ? ? ? ?m_Metric; >>> TransformPointer ? ?m_Transform; >>> FixedImagePointer ? ?m_FixedImage; >>> MovingImagePointer ? ?m_MovingImage; >>> >>> >>> public: >>> >>> ?SetTransform( TransformType * transform ) { ?m_Transform = transform; } >>> ?SetFixedImage( FixedImageType * fixed ) { ?m_FixedImage = fixed; } >>> ?SetMovingImage( MovingImageType * moving ) { ?m_MovingImage = moving; } >>> >>> >>> and then you can use them in your Execute method. >>> >>> Also, >>> when you connect the Command to the optimizer, >>> you should also do: >>> >>> >>> ? observer->SetFixedImage( fixedImage ); >>> ? observer->SetMovingImage( movingImage ); >>> ? observer->SetTransform( transform ); >>> >>> ? optimizer->AddObserver( itk::IterationEvent(), observer ); >>> >>> In this way, the components of the registration framework >>> will be available to the internals of your observer class. >>> >>> >>> Regards, >>> >>> >>> ? ? ? ? Luis >>> >>> >>> >>> ----------------------------------------------------------------------------- -- >>> On Wed, Nov 25, 2009 at 8:51 PM, Serena Fabbri >>> wrote: >>>> >>>> Hi All, >>>> >>>> I am registering CT image and MRI image with Mattes MI and Bspline >>>> Transformation. >>>> I'd like to know the value of MI of a little area of the fixed image >>>> during >>>> the registration process. >>>> I call the metric in the observer code but i get a bus error. >>>> >>>> could anybody suggest me where the error is? >>>> >>>> Thank you very much. >>>> >>>> Serena >>>> >>>> >>>> >>>> >>>> >>>> class CommandIterationUpdate : public itk::Command { >>>> public: >>>> ?typedef ?CommandIterationUpdate ? Self; >>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>> ?typedef itk::SmartPointer ?Pointer; >>>> ?itkNewMacro( Self ); >>>> >>>> protected: >>>> ?CommandIterationUpdate() {}; >>>> >>>> public: >>>> ? typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>>> ? typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>> >>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>> ? ? ? ?typedef ? const ?FixedImageType* ?FixedImagePointer; >>>> >>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>> >>>> ? ? ? ?typedef itk::MattesMutualInformationImageToImageMetric< >>>> FixedImageType, MovingImageType >>>>> >>>>> MetricType; >>>> >>>> ? ? ? ?typedef ? const MetricType* ?MetricPointer; >>>> >>>> ? ? ? ?typedef itk::BSplineDeformableTransform< double,3,3 > >>>> DeformableTransformType; >>>> ? ? ? ?typedef ? const DeformableTransformType* ?TransformPointer; >>>> >>>> >>>> >>>> >>>> ?void Execute(itk::Object *caller, const itk::EventObject & event) >>>> ? ?{ >>>> ? ? ?Execute( (const itk::Object *)caller, event); >>>> ? ?} >>>> >>>> ?void Execute(const itk::Object * object, const itk::EventObject & event) >>>> ? ?{ >>>> >>>> ? ? ? ? ? ? ? ?OptimizerPointer optimizer = dynamic_cast< >>>> OptimizerPointer >>>>> >>>>> ( object ); >>>> >>>> ? ? ? ? ? ? ? ?MetricPointer metric = dynamic_cast< MetricPointer >( >>>> object >>>> ); >>>> ? ? ? ? ? ? ? ?TransformPointer transform = dynamic_cast< >>>> TransformPointer >>>>> >>>>> ( object ); >>>> >>>> ? ? ? ? ? ?FixedImagePointer fixedImage = dynamic_cast< >>>> FixedImagePointer>( >>>> object ); >>>> ? ? ? ? ? ? ? ?FixedImageType::IndexType start; >>>> ? ? ? ? ? ? ? ?FixedImageType::SizeType size; >>>> >>>> ? ? ? ? ? ? ? ? start[0]=43; >>>> ? ? ? ? ? ? ? ? start[1]=30; >>>> ? ? ? ? ? ? ? ? start[2]=0; >>>> >>>> ? ? ? ? ? ? ? ? size[0]=10; >>>> ? ? ? ? ? ? ? ? size[1]=17; >>>> ? ? ? ? ? ? ? ? size[2]=20; >>>> >>>> >>>> ? ? ? ? ? ? ? ? FixedImageType::RegionType fixedRegionMetric ; >>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetIndex(start); >>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetSize(size); >>>> >>>> ? ? ? ? ? ? ? ?OptimizerType::ParametersType parameters; >>>> >>>> >>>> ? ? ?if( !(itk::IterationEvent().CheckEvent( &event )) ) >>>> ? ? ? ?{ >>>> ? ? ? ?return; >>>> ? ? ? ?} >>>> ? ? ? ? ? ?metric->SetFixedImageRegion(fixedRegionMetric); >>>> ? ? ? ? ? ? ? ?metric->SetUseAllPixels( true ); >>>> ? ? ? ? ? ?parameters = transform->GetParameters(); >>>> >>>> >>>> ? ? ? ? ?std::cout << optimizer->GetCurrentIteration() << "MIglobal ? "<< >>>> optimizer->GetValue() << " MIlocal ?"<GetValue(parameters); >>>> ? ? ?std::cout << std::endl; >>>> >>>> >>>> >>>> ? ?} >>>> }; >>>> >>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>> >> >> >> > From luis.ibanez at kitware.com Wed Dec 2 18:10:10 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 18:10:10 -0500 Subject: [Insight-users] Normalized Mutual Information Metric Methods In-Reply-To: <4B16444E.4090108@die.upm.es> References: <4B16444E.4090108@die.upm.es> Message-ID: Hi Oscar, A) Your interpretation of the Lower Bound is correct. By setting the values of LowerBound, you can exclude certain pixels from participating in the computation of the metric. More specifically, you can exclude the pixels whose intensities are below the values that you set in the lowerbound array. The value of lowerbound[0] will apply to the Fixed image intensities, and The value of lowerbound[1] will apply to the Moving image intensities. For details, you can take a look at the file: Insight/Code/Algorithms/itkHistogramImageToImageMetric.txx in line 286. where the values are used to initialize the internal histogram. B) Your interpretation of the PaddingValue is consistent with the documentation of the class... but.... when looking at the code it does not seem to be doing the same thing. To be more specific: The documentation claims that values of the fixed image that are equal to the padding value will be excluded from the metric computation. However, the way the PaddingValue is used in the code is in lines 281-298: FixedIteratorType ti( fixedImage, fixedRegion ); ... ti.GoToBegin(); while ( !ti.IsAtEnd() ) { index = ti.GetIndex(); if (fixedRegion.IsInside(index) && (!m_UsePaddingValue || (m_UsePaddingValue && ti.Get() > m_PaddingValue))) { InputPointType inputPoint; fixedImage->TransformIndexToPhysicalPoint(index, inputPoint); where, clearly, all (Fixed) pixel values that are LESS-OR-EQUAL to the padding value, are being excluded from the computation of the metric. This seems indeed to be redundant with the option of setting the lower bounds. We could claim that it is a bug in the documentation, or that it is a bug in the code. Probably the larger question is: Is it useful one way or the other ? From what I can tell, if you are already using the LowerBound setting, there is no reason for also using the Paddding Value. Luis ------------------------------------------------------------------------------------------- On Wed, Dec 2, 2009 at 5:41 AM, Oscar Esteban Sanz-Dranguet wrote: > Hi all, > > I would like to know some more detailed explanations about: > > SetLowerBound > > (const MeasurementVectorType > > &bound) > SetPaddingValue > > (FixedImagePixelType > > _arg) > > I've looked for it on the Software Guide, but I didn't found anything. > > This is my guess: SetLowerBound lets you to set two pixel values for fixed > and moving images so that below them, the sample will be ignored on metric > computation. Its use would be like this: > > ? ? ? // Initialization of n_init_metric and typedefs > > ? ? ? NMIMetric::HistogramType::SizeType histogramSize; > ? ? ? histogramSize[0]=HISTOGRAM_BINS; > ? ? ? histogramSize[1]=HISTOGRAM_BINS; > ? ? ? m_init_metric->SetHistogramSize( histogramSize ); > > ? ? ? NMIMetric::MeasurementVectorType lBound; > ? ? ? lBound[0] = lBound[1] = vcl_ceil( > std::numeric_limits::max()/(HISTOGRAM_BINS*1.0) ); > ? ? ? m_init_metric->SetLowerBound( lBound ); > > With this code, I'm trying to ignore the bin 0 for metric computation. You > could set some fixed values, e.g.: > > ? ? ? lBound[0] = 132; // Ignore values on FIXED image under 132 > ? ? ? lBound[1] = 50; // Ignore values on MOVING image under 50 > ? ? ? m_init_metric->SetLowerBound( lBound ); > > Is it all right? > > And, then, focusing on SetPaddingValue: I interpret from documentation that > you can set a value on fixed image that will not be used for metric > computation (e. g. using padding value 80, any pixel with that value will be > ignored). > > Thanks in advance. Cheers, > > -- > Oscar Esteban > BIT - UPM (http://www.die.upm.es/im/) > +34 913 366 827 ext.4248 > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From flair.liu at gmail.com Wed Dec 2 18:18:55 2009 From: flair.liu at gmail.com (liu jianfei) Date: Wed, 2 Dec 2009 18:18:55 -0500 Subject: [Insight-users] vnl_generalized_eigensystem Message-ID: <1b0ef4df0912021518y64812cbehaf4810b0aa6ad3df@mail.gmail.com> Dear all I want to solve a generalized eigen system AX=\lambda BX. I noticed that it could be computed through vnl_generalized_eigensystemcall. Most numerical computation of ITK are supposed to use the VNL library. I wonder whether ITK has the similar class to solve the system. Some symmetrical eigen-computation classes can be found from ITK documentation, but I could not find the corresponding function of vnl_generalized_eigensystem. Does ITK provide this function or I have to install VNL library to call it directly? Thanks Looking forward to your reply -- Sincerely Jianfei Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: From luis.ibanez at kitware.com Wed Dec 2 18:46:25 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 18:46:25 -0500 Subject: [Insight-users] Using the meshing classes in ITK In-Reply-To: <1f5d2b4f0912020356l4b2f03e0s6aabdb85639f7048@mail.gmail.com> References: <1f5d2b4f0912020356l4b2f03e0s6aabdb85639f7048@mail.gmail.com> Message-ID: Hi Anja, Welcome to ITK ! Your question is a very interesting one. And to put it shortly: It is one for which we don't have a full answer involving only ITK methods. There are two major pieces to what you are trying to do: 1) Segmenting brain structures from MR and CT brain data. 2) Generating tetrahedral meshes from the segmented regions For (1), ITK provides a very rich set of methods. For (2), you will have to use additional tools. Regarding (1), the type of segmentation methods that you need to use is closely related to the specific brain structure that you want to segment. Popular methods are: * Region growing * Level Sets * Statistical Classification * Atlas-based segmentation and combinations of them, for example * EM segmentation. You will find an introduction to (some of the) segmentation methods in ITK, in the Software Guide: http://www.itk.org/ItkSoftwareGuide.pdf You will also find a good deal of Brain segmentation tools at NAMIC: http://www.na-mic.org/Wiki/index.php/Main_Page and NITRC: http://www.nitrc.org/ Many of them, based on ITK. Regarding the tetrahedral mesh generation: ITK itself does not provide that functionality. The tool that you should try is: http://www.ccad.uiowa.edu/mimx/IA-FEMesh/ (which is also used by several groups at NAMIC): http://www.na-mic.org/Wiki/index.php/NA-MIC_NCBC_Collaboration:Automated_FE_Mesh_Development This tool needs as input a surface. (a 2D manifold embedded in a 3D space) You can generate such surface by taking the segmentation (typically a binary image) of the brain structures of your interests and extracting its Iso-surface with VTK (typically with the vtkContourFilter) or with a ready-to-use tool like ParaView http://www.paraview.org). (which is based on VTK). Please take a look at these resources and let us know if you have further questions, Thanks Luis ------------------------------------------------------------------------------------- On Wed, Dec 2, 2009 at 6:56 AM, Anja Ende wrote: > Hello everyone, > > This is more of a general question. I would like to know more about > generating meshes from MR and CT data. So, I have a brain image and I > would like to generate a tetrahedral based mesh from it and then use > it further for some FEM processing. I am a newbie to this field and > would like to ask a couple of questions and would be very grateful if > someone can take the time to answer them: > > - What pre-processing do I need to do to the itk image so that I can > feed it to a mesh generator? Would I first need to segment the bit > that I am interested in? So, would I need to segment the background > out of the image. > - I am guessing the mesh generators would need some point set as their > input. How could I generate a point set from an itk image? > > I am quite new to this area and am a bit lost as to how to start. > Would really appreciate your help. > > Cheers, > > Anja > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Wed Dec 2 18:52:12 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 18:52:12 -0500 Subject: [Insight-users] add and remove subimages In-Reply-To: <000701ca7347$57bc4930$a337048a@POSEIDON> References: <002801ca71b1$de0378c0$a337048a@POSEIDON> <000701ca7347$57bc4930$a337048a@POSEIDON> Message-ID: Hi David, Thanks for the clarifications. They are very helpful. There is not quite a filter in ITK that will do exactly what you describe. However, you could write such filter by using existing ones as helpers. but... before you go down that route, please note that your operations will be almost trivial with an image that supports sliced-based memory allocation, such as the one described in the following Insight Journal paper: http://www.insight-journal.org/browse/publication/646 --- If you prefer to follow the route of writing a new ITK filter, we will be happy to assist you in the process, and of course we will strongly encourage you to share the resulting code with the ITK community by submitting it as a paper to the Insight Journal: http://www.insight-journal.org/ Regards, Luis ------------------------------------------------------------------------------------------------------ On Wed, Dec 2, 2009 at 7:02 AM, David Pastor wrote: > Hi Luis, > > It would be at the end or at the beginning. In this case I just pretend to > insert and remove images without arithmetic operations. > > And certainly the image size should be updated after the removal or the > insertion (no substitutions or holes are expected either). > > So basically I need insertion and deletion of N-1 D images into/from N D > images and adjust the origin and size of the resulting N D image (end and > beginning) > > I imagine than deletion can be achieved by selecting an interest region and > then adjust the origin. > Insertion might be more tricky. > > It would be nice to have some general insertion/deletion/replacement methods > though. > > Another issue would be if we can work with negative index positions. The > point is that I need markers to be placed outside the LargestPossibleRegion, > so i have to make the image size grow without affecting the content more > than a shift in the growing dimension in respect of the new origin. > > I hope this is clearer now. > > thanks > david > > ----- Original Message ----- From: "Luis Ibanez" > To: "David Pastor" > Cc: > Sent: Wednesday, December 02, 2009 1:28 AM > Subject: Re: [Insight-users] add and remove subimages > > > Hi David, > > By "Add" do you mean to "insert" a N-D image into a (N+1)-D image ? > > or do you actually mean to perform an arithmetic addition between > the pixel values of the N-D image and the corresponding sub-region > of the (N+1)-D image ? > > > Do you need to do this many times ? > > Would you be adding and removing always at the end ? > like a FIFO queue ? or do you plan to insert and remove > from arbitrary locations ? > > ... then default method that comes ?to mind, will not > be an efficient way of doing this for many insertions > and deletions... > > Also, please clarify if when you insert you want the new data > to replace a pre-existing region of the N+1 D image, or you > want the image to expand in extent. > > Same for the removal: do you want to extract regions from > the N+1 D image and leave the original image untouched, > or do you want to also get a reduced (smaller) version of > the N+1 D image, that now is missing the N-D image that > you extracted. > > > ?Please let us know, > > > ? ? ? ? ? Thanks > > > > ? ? ? ? ? ? ? ?Luis > > > > -------------------------------------------------------------------------------------------- > On Mon, Nov 30, 2009 at 6:40 AM, David Pastor > wrote: >> >> Hello, >> >> I'd like to add an n dimensional image to a n+1 dimensional image. Also i >> would like to be able to remove selected subimages. >> >> I'm not sure if i can use TileImageFilter for that as the InputImages >> would >> have different dimensions. >> >> pushbackinput(4d image) >> pushbackinput(3d image) >> >> out-> 4d image >> >> is this possible? any specific layout for it? even it would be great to be >> able to set the 3d image in any point of the 4d image like an >> interleaving. >> >> I don't know if ExtractImageFilter could be used for the opposite either. >> >> Cheers, >> D. Pastor >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > From luis.ibanez at kitware.com Wed Dec 2 19:02:03 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 19:02:03 -0500 Subject: [Insight-users] Segmentation/Clustering Question In-Reply-To: <4B169489.8020505@gmail.com> References: <4B169489.8020505@gmail.com> Message-ID: Hi Luke, It will seem that Graph-Cuts is what you are looking for. You may want to start by looking at the following paper in the Insight Journal: http://www.insight-journal.org/browse/publication/306 "Graph Cuts, Caveat Utilitor, and Euler's Bridges of Konigsberg" by Tustison N., Yushkevich P., Song Z., Gee J. University of Pennsylvania Please let us know if that was not what you had in mind, in which case we can look for a better fit. Thanks Luis --------------------------------------------------------------------------------------------------------------- On Wed, Dec 2, 2009 at 11:23 AM, Luke Bloy wrote: > Hello Itk community. > > I'm not a segmentation/clustering person so i was hoping to get some insight > from those of you who are. > > Here is what I am trying to accomplish. > > Given an image, I would like to determine minimal partitioning of the image > space, where each cluster is spatially coherent (all attached) and the > intensity variance with in each cluster is below some supplied value. > > This seems like a problem that should have been tackled before. ?So i'm > hoping there is something out there, either code, literature, or even some > appropriate keywords to give me an entry point into the literature. > > Thanks > Luke > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Wed Dec 2 19:07:47 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 19:07:47 -0500 Subject: [Insight-users] Interpolation Volume In-Reply-To: <26614974.post@talk.nabble.com> References: <26614974.post@talk.nabble.com> Message-ID: Hi Gupt, Yes, just do the following: A) Load the 2D slices into a single 3D image using the itk::ImageSeriesReader, B) Connect the image an ImageInterpolator The typical choice is the itkLinearImageInterpolateFunction class, (but you can also use NearestNeighbors, BSpline and WindowedSinc, it is a trade-off between computation time and interpolation precision) C) Take all the points from your surface model and for every point call the method: PixelType pixelValue = Interpolator->Evaluate( point ) and then assign that pixel value to the corresponding point in the surface model. Please let us know if you run into any problem. Thanks Luis ------------------------------------------------------------------ On Wed, Dec 2, 2009 at 2:35 PM, Gupt wrote: > > I've a stack of 2d cardiac mri images in single view. I've written the code > to do a surface reconstruction of the left ventricle wall of the heart > (looks like a hollow cylinder). Is there a method/ function to incorporate > the intensity information (in the 2d slices) in to the model, like some kind > of interpolation to obtain intensity between the slices? Thanks for the > help. > -- > View this message in context: http://old.nabble.com/Interpolation-Volume-tp26614974p26614974.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Wed Dec 2 19:45:12 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 19:45:12 -0500 Subject: [Insight-users] vnl_generalized_eigensystem In-Reply-To: <1b0ef4df0912021518y64812cbehaf4810b0aa6ad3df@mail.gmail.com> References: <1b0ef4df0912021518y64812cbehaf4810b0aa6ad3df@mail.gmail.com> Message-ID: Hi Liu, Your observation is correct. The VNL class vnl_generalized_eigensystem has not been wrapped inside an ITK class. Your best option at this point is probably to use the VNL class directly. Please note that if you have ITK matrices, you can get their equivalent Vnl matrices by calling the method: matrix.GetVnlMatrix() You can as well, assign a Vnl matrix to an itkMatrix with an expression such as itk::Matrix mm; mm = vnlMatrixAA; or using the constructor, as in: itk::Matrix mm( vnlMatrixAA ); of course, assuming that their dimensionalities are consistent. For an example of the use of vnl_generalized_eigensystem you may want to take a look at: Insight/Code/Common/itkBloxCoreAtomPixel.txx in lines 217-218 and 283-284. Regards, Luis ------------------------------ On Wed, Dec 2, 2009 at 6:18 PM, liu jianfei wrote: > Dear all > > ?? I want to solve a generalized eigen system AX=\lambda BX. I noticed that > it could be computed through vnl_generalized_eigensystem call. Most > numerical computation of ITK are supposed to use the VNL library. I wonder > whether ITK has the similar class to solve the system. Some symmetrical > eigen-computation classes can be found from ITK documentation, but I could > not find the corresponding function of vnl_generalized_eigensystem. Does ITK > provide this function or I have to install VNL library to call it directly? > Thanks > > > ? Looking forward to your reply > > -- > Sincerely > Jianfei Liu > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Wed Dec 2 20:12:05 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 20:12:05 -0500 Subject: [Insight-users] call metric in Observer code...bug? In-Reply-To: References: Message-ID: Hi Serena, Thanks for the update. The new error message indicates that the number of samples landing in the overlapping region between the FixedImageRegion and the moving image is too small. This is usually an indication of: A) A poorly initialized Transform, or B) A transform that went too far usually due to a misconfigured optimizer C) Setting the number of samples to a value that is too small. Let's start with (A),.... how are you initializing the Transform used to compute the value of MI in the local small regions ? Please let us know, Thanks Luis ----------------------------------------------------- On Wed, Dec 2, 2009 at 5:52 PM, Serena Fabbri wrote: > > Hi Luis, > > Thank you for your replay. > > I think it was my oversight because I printed the globalMI twice......sorry > about that!! > > > I fixed the code and now I am obtaining this error: > > ExceptionObject caught ! > > itk::ExceptionObject (0xd01060) > Location: "typename itk::ImageToImageMetric TMovingImage>::MeasureType > itk::MattesMutualInformationImageToImageMetric TMovingImage>::GetValue(typename itk::ImageToImageMetric TMovingImage>::ParametersType&) const [with TFixedImage = > itk::OrientedImage, TMovingImage = itk::OrientedImage]" > File: /Users/fabbri/InsightToolkit- > 3.10.0/Code/Algorithms/itkMattesMutualInformationImageToImageMetric.txx > Line: 830 > Description: itk::ERROR: > MattesMutualInformationImageToImageMetric(0xd01b00): Too many samples map > outside moving image buffer: 0 / 1000 > > > I have taken a look to MattesMutualInformation code and I have found that: > Initialize() calls PreComputeTransformValues() > In PreComputeTransformValues() weights and indices are calculated. > I have found that weights are 0 or e-306 and the indices are always 0. > These values are used in TransformPoint (GetValue() code) to calculate the > mappedPoints. > The calculated mappedPoints are outside my movingImage. > > I'd like to ask you if it is a bug or I get this error because the region I > used for MI local is really little compared to fixed and moving image. > > Any suggestion will be very appreciate. > > Thank you. > Serena. > > > > > > On Tue, 1 Dec 2009, Luis Ibanez wrote: > >> Hi Serena, >> >> Thanks for letting us know of your progress. >> >> -- >> >> Regarding your question, >> >> Please note that Mutual Information is NOT and additive measure. >> >> >> That is, if you computed a value of Mutual Information, in a region R, >> and then you partition that Region R into two subregions R1 and R2, >> and compute Mutual information in R1 and then in R2, the sum of >> these two last numbers will NOT be equal to the mutual information >> of R. >> >> In short: >> >> ? ? ? ? ? ? ? ? ? ? MI( R ) ?!= ?MI( R1 ) ?+ MI( R2 ) >> >> This is because MI is related to the logs of probabilities of intensity >> pairs (pixel counts). >> >> So... it still may be ok that you get similar values of Mutual Information >> from MI(R) ?and MI( R1). ? In principle, it just tells you that the >> statistical >> distribution of pixels intensity pairs in the Region R is similar to the >> one >> in the subregion R1. >> >> I don't know if that helps you with the original goal that you had for >> computing MI in subregions of the image..... >> >> >> ? ? ?Regards, >> >> >> ? ? ? ? ? ? Luis >> >> >> >> -------------------------------------------------------------------------------- > > --- >> >> On Mon, Nov 30, 2009 at 8:10 PM, Serena Fabbri >> wrote: >>> >>> Hi Luis, >>> >>> thank you very much to explain clearly the mistake. >>> I fixed the code and now I am able to calculate local MI. >>> >>> >>> Now I am a bit surprised because the SetFixedImageRegion is (10,17,20) >>> pixelsize and the FixedImage is ?(80,80,101) pixelsize and >>> I am finding that the values of local MI are pretty close to the global >>> values of MI. I use all pixel for ?local MI and 10% of statistic for >>> global >>> MI. >>> >>> Do you think this is reasonable? >>> >>> Thanks again for any suggestion. >>> >>> Serena. >>> >>> >>> These are the results of LOCAL MI: >>> >>> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 >>> -0.468013 >>> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >>> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 >>> -0.492886 >>> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 ? 18 >>> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >>> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >>> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 >>> -0.51411 >>> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 >>> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >>> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >>> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 >>> -0.526987 >>> ? 48 ? -0.528026 ? 49 ? -0.528595 ? 50 ? -0.529578 >>> >>> >>> -GLOBAL MI >>> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 >>> -0.468013 >>> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >>> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 >>> -0.492886 >>> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 ? 18 >>> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >>> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >>> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 >>> -0.51411 >>> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 >>> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >>> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >>> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 >>> -0.526987 >>> ? 48 ? -0.528026 ? 49 ? -0.528595 >>> >>> >>> On Thu, 26 Nov 2009, Luis Ibanez wrote: >>> >>>> Serena, >>>> >>>> The "caller" argument of the Execute method is an Observer >>>> is the pointer to the object that invoked the event. >>>> >>>> In your particular case, this is the Optimizer. >>>> >>>> As Bill explained, >>>> you can only cast "caller" to the OptimizerType. >>>> >>>> >>>> For all the other elements of the registration framework, you have >>>> to pass them through other means to the command. >>>> >>>> One way of doing this is to have them as Member variables, >>>> and to have "Set" methods for them. >>>> >>>> Like >>>> >>>>> class CommandIterationUpdate : public itk::Command { >>>>> public: >>>>> ?typedef ?CommandIterationUpdate ? Self; >>>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>>> ?typedef itk::SmartPointer ?Pointer; >>>>> ?itkNewMacro( Self ); >>>>> >>>>> protected: >>>>> ?CommandIterationUpdate() {}; >>>>> >>>>> public: >>>>> ?typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>>>> ?typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>>> >>>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>>> ? ? ? typedef ? const ?FixedImageType* ?FixedImagePointer; >>>>> >>>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>>> >>>>> ? ? ? typedef itk::MattesMutualInformationImageToImageMetric< >>>>> FixedImageType, MovingImageType >>>>>> >>>>>> MetricType; >>>>> >>>>> ? ? ? typedef ? const MetricType* ?MetricPointer; >>>>> >>>>> ? ? ? typedef itk::BSplineDeformableTransform< double,3,3 > >>>>> DeformableTransformType; >>>>> ? ? ? typedef ? const DeformableTransformType* ?TransformPointer; >>>>> >>>> MetricPointer ? ? ? ? ? ?m_Metric; >>>> TransformPointer ? ?m_Transform; >>>> FixedImagePointer ? ?m_FixedImage; >>>> MovingImagePointer ? ?m_MovingImage; >>>> >>>> >>>> public: >>>> >>>> ?SetTransform( TransformType * transform ) { ?m_Transform = transform; } >>>> ?SetFixedImage( FixedImageType * fixed ) { ?m_FixedImage = fixed; } >>>> ?SetMovingImage( MovingImageType * moving ) { ?m_MovingImage = moving; } >>>> >>>> >>>> and then you can use them in your Execute method. >>>> >>>> Also, >>>> when you connect the Command to the optimizer, >>>> you should also do: >>>> >>>> >>>> ? observer->SetFixedImage( fixedImage ); >>>> ? observer->SetMovingImage( movingImage ); >>>> ? observer->SetTransform( transform ); >>>> >>>> ? optimizer->AddObserver( itk::IterationEvent(), observer ); >>>> >>>> In this way, the components of the registration framework >>>> will be available to the internals of your observer class. >>>> >>>> >>>> Regards, >>>> >>>> >>>> ? ? ? ? Luis >>>> >>>> >>>> >>>> >>>> ----------------------------------------------------------------------------- > > -- >>>> >>>> On Wed, Nov 25, 2009 at 8:51 PM, Serena Fabbri >>>> wrote: >>>>> >>>>> Hi All, >>>>> >>>>> I am registering CT image and MRI image with Mattes MI and Bspline >>>>> Transformation. >>>>> I'd like to know the value of MI of a little area of the fixed image >>>>> during >>>>> the registration process. >>>>> I call the metric in the observer code but i get a bus error. >>>>> >>>>> could anybody suggest me where the error is? >>>>> >>>>> Thank you very much. >>>>> >>>>> Serena >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> class CommandIterationUpdate : public itk::Command { >>>>> public: >>>>> ?typedef ?CommandIterationUpdate ? Self; >>>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>>> ?typedef itk::SmartPointer ?Pointer; >>>>> ?itkNewMacro( Self ); >>>>> >>>>> protected: >>>>> ?CommandIterationUpdate() {}; >>>>> >>>>> public: >>>>> ? typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>>>> ? typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>>> >>>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>>> ? ? ? ?typedef ? const ?FixedImageType* ?FixedImagePointer; >>>>> >>>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>>> >>>>> ? ? ? ?typedef itk::MattesMutualInformationImageToImageMetric< >>>>> FixedImageType, MovingImageType >>>>>> >>>>>> MetricType; >>>>> >>>>> ? ? ? ?typedef ? const MetricType* ?MetricPointer; >>>>> >>>>> ? ? ? ?typedef itk::BSplineDeformableTransform< double,3,3 > >>>>> DeformableTransformType; >>>>> ? ? ? ?typedef ? const DeformableTransformType* ?TransformPointer; >>>>> >>>>> >>>>> >>>>> >>>>> ?void Execute(itk::Object *caller, const itk::EventObject & event) >>>>> ? ?{ >>>>> ? ? ?Execute( (const itk::Object *)caller, event); >>>>> ? ?} >>>>> >>>>> ?void Execute(const itk::Object * object, const itk::EventObject & >>>>> event) >>>>> ? ?{ >>>>> >>>>> ? ? ? ? ? ? ? ?OptimizerPointer optimizer = dynamic_cast< >>>>> OptimizerPointer >>>>>> >>>>>> ( object ); >>>>> >>>>> ? ? ? ? ? ? ? ?MetricPointer metric = dynamic_cast< MetricPointer >( >>>>> object >>>>> ); >>>>> ? ? ? ? ? ? ? ?TransformPointer transform = dynamic_cast< >>>>> TransformPointer >>>>>> >>>>>> ( object ); >>>>> >>>>> ? ? ? ? ? ?FixedImagePointer fixedImage = dynamic_cast< >>>>> FixedImagePointer>( >>>>> object ); >>>>> ? ? ? ? ? ? ? ?FixedImageType::IndexType start; >>>>> ? ? ? ? ? ? ? ?FixedImageType::SizeType size; >>>>> >>>>> ? ? ? ? ? ? ? ? start[0]=43; >>>>> ? ? ? ? ? ? ? ? start[1]=30; >>>>> ? ? ? ? ? ? ? ? start[2]=0; >>>>> >>>>> ? ? ? ? ? ? ? ? size[0]=10; >>>>> ? ? ? ? ? ? ? ? size[1]=17; >>>>> ? ? ? ? ? ? ? ? size[2]=20; >>>>> >>>>> >>>>> ? ? ? ? ? ? ? ? FixedImageType::RegionType fixedRegionMetric ; >>>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetIndex(start); >>>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetSize(size); >>>>> >>>>> ? ? ? ? ? ? ? ?OptimizerType::ParametersType parameters; >>>>> >>>>> >>>>> ? ? ?if( !(itk::IterationEvent().CheckEvent( &event )) ) >>>>> ? ? ? ?{ >>>>> ? ? ? ?return; >>>>> ? ? ? ?} >>>>> ? ? ? ? ? ?metric->SetFixedImageRegion(fixedRegionMetric); >>>>> ? ? ? ? ? ? ? ?metric->SetUseAllPixels( true ); >>>>> ? ? ? ? ? ?parameters = transform->GetParameters(); >>>>> >>>>> >>>>> ? ? ? ? ?std::cout << optimizer->GetCurrentIteration() << "MIglobal >>>>> "<< >>>>> optimizer->GetValue() << " MIlocal ?"<GetValue(parameters); >>>>> ? ? ?std::cout << std::endl; >>>>> >>>>> >>>>> >>>>> ? ?} >>>>> }; >>>>> >>>>> >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.html >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>> >>>> >>> >>> >>> >> > > > From luis.ibanez at kitware.com Wed Dec 2 20:16:45 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 2 Dec 2009 20:16:45 -0500 Subject: [Insight-users] Running multilevel image registration In-Reply-To: <54eca6a70912020949o574c230ct5e7aa1c565325b31@mail.gmail.com> References: <54eca6a70912020949o574c230ct5e7aa1c565325b31@mail.gmail.com> Message-ID: Hi Motes, 1) What Image metric are you using ? 2) If it is Mutual Information, could you please make sure that you are using the same number of samples in both scenarios of BSpline grid 12 * 12 * 12 ? 3) When it takes only 8 seconds,... does it still run 10 iterations ? 4) Have you compiling your code for Release ? (you shouldn't measure times with code compiled for Debug). Please let us know, Thanks Luis ------------------------------------------------------ On Wed, Dec 2, 2009 at 12:49 PM, motes motes wrote: > I run a multi-level image registration process using the > BSplineDeformableTransform on a 3D image volume. > > In the first level I run with 6*6*6 nodes. In the second level I run > with 8*8*8 nodes and in the last level I run with 12*12*12 > > ?Each level is run for 10 iterations (I know the is very low but I am > currently in a testing phase). > > Now when it gets to the third level (12*12*12) the time used is around > 40 seconds. But if I start with the 12*12*12 cube it only takes around > 8 seconds. > > Any ideas on what might be the reason that the 12*12*12 level takes > longer time when executed last? I have checked that data is not > duplicated or allocated twice anywhere. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From liangxi1986317 at hotmail.com Wed Dec 2 21:32:58 2009 From: liangxi1986317 at hotmail.com (Xi LIANG) Date: Thu, 3 Dec 2009 10:32:58 +0800 Subject: [Insight-users] Registration example in ITK User guide Message-ID: Dear all, Finally I finished compiling and building Examples/Registration/DeformableRegistration8.cxx. This is a multi-resolution, 3D deformable registration example. I got couple of mha, mhd, raw files for fixed, moving, transformed images, and deformation fields as output. However, I realize what I have done was the easiest part, and the visualization is my real problem. Followings are my understanding of what I should do 1. process mha, raw format of data by VTK, and generates corresponding *.vtk files.2. Then visualize VTK files through ParaView or Slicer. I doubt that the VTK file I need to write wont be easily done, as Im reading the VTK user guide, and the 3D visualization is not an easy sell. Is there any other easy choice to visualize the image, since my focus is Registration. OR... I really need to work hard on VTK as well, in order to evaluate the registration from ITK properly. Cheers, -------------------------------- Xi Liang ?? -------------------------------- _________________________________________________________________ Windows Live Hotmail: Your friends can get your Facebook updates, right from Hotmail?. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_4:092009 -------------- next part -------------- An HTML attachment was scrubbed... URL: From fedorov at bwh.harvard.edu Wed Dec 2 22:58:19 2009 From: fedorov at bwh.harvard.edu (Andriy Fedorov) Date: Wed, 2 Dec 2009 22:58:19 -0500 Subject: [Insight-users] Using the meshing classes in ITK Message-ID: <82f536810912021958l526bd930sda888585a23bcb56@mail.gmail.com> Anja, Here's a package that you might find helpful: http://iso2mesh.sourceforge.net/ I personally never used it, but I did have good experience with Tetgen and CGAL for the tasks similar to what you want to accomplish. From the first look, iso2mesh appears to be a wrapper around several lower level meshing tools (including Tetgen and some algorithms from CGAL). You can use CGAL+Tetgen directly to construct a tetrahedral mesh from segmentation, but this will require some time to understand formats, parameters, and write some extra code. It looks like iso2mesh does this transparently from the user, but I have not tried it myself to confirm this. If you do use this iso2mesh tool, please update the list with your experience. Andriy Fedorov > Date: Wed, 2 Dec 2009 18:46:25 -0500 > From: Luis Ibanez > Subject: Re: [Insight-users] Using the meshing classes in ITK > To: Anja Ende > Cc: insight-users at itk.org > Message-ID: > ? ? ? ? > Content-Type: text/plain; charset=ISO-8859-1 > > Hi ?Anja, > > ? ? ? ? ? ? ? ? ?Welcome to ITK ! > > Your question is a very interesting one. > > > And to put it shortly: > > ? ? ? ? It is one for which we don't have > ? ? ? ? a full answer involving only ITK methods. > > > There are two major pieces to what you are > trying to do: > > 1) ?Segmenting brain structures from MR ?and CT brain data. > > 2) ?Generating tetrahedral meshes from the segmented > ? ? regions > > > > For (1), ITK provides a very rich set of methods. > > > For (2), you will have to use additional tools. > > > Regarding (1), the type of segmentation methods that you > need to use is closely related to the specific brain structure > that you want to segment. > > Popular methods are: > > * Region growing > * Level Sets > * Statistical Classification > * Atlas-based segmentation > > and combinations of them, for example > > * EM segmentation. > > You will find an introduction to (some of the) > segmentation methods in ITK, in the > Software Guide: > > ?http://www.itk.org/ItkSoftwareGuide.pdf > > > You will also find a good deal of Brain segmentation > tools at NAMIC: > http://www.na-mic.org/Wiki/index.php/Main_Page > > and > > NITRC: > http://www.nitrc.org/ > > > Many of them, based on ITK. > > > > Regarding the tetrahedral mesh generation: > ITK itself does not provide that functionality. > > The tool that you should try is: > http://www.ccad.uiowa.edu/mimx/IA-FEMesh/ > > (which is also used by several groups at NAMIC): > http://www.na-mic.org/Wiki/index.php/NA-MIC_NCBC_Collaboration:Automated_FE_Mesh_Development > > > This tool needs as input a surface. > (a 2D manifold embedded in a 3D space) > > You can generate such surface by taking the > segmentation (typically a binary image) of the > brain structures of your interests and extracting > its Iso-surface with VTK (typically with the > vtkContourFilter) or with a ready-to-use tool > like ParaView http://www.paraview.org). > (which is based on VTK). > > > > ? ? Please take a look at these resources > ? ? and let us know if you have further > ? ? questions, > > > ? ? ? ? ? ?Thanks > > > ? ? ? ? ? ? ? ? ?Luis > > > > ------------------------------------------------------------------------------------- > On Wed, Dec 2, 2009 at 6:56 AM, Anja Ende wrote: >> Hello everyone, >> >> This is more of a general question. I would like to know more about >> generating meshes from MR and CT data. So, I have a brain image and I >> would like to generate a tetrahedral based mesh from it and then use >> it further for some FEM processing. I am a newbie to this field and >> would like to ask a couple of questions and would be very grateful if >> someone can take the time to answer them: >> >> - What pre-processing do I need to do to the itk image so that I can >> feed it to a mesh generator? Would I first need to segment the bit >> that I am interested in? So, would I need to segment the background >> out of the image. >> - I am guessing the mesh generators would need some point set as their >> input. How could I generate a point set from an itk image? >> >> I am quite new to this area and am a bit lost as to how to start. >> Would really appreciate your help. >> >> Cheers, >> >> Anja >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> From bill.lorensen at gmail.com Wed Dec 2 23:34:43 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 2 Dec 2009 23:34:43 -0500 Subject: [Insight-users] Problems building itk under MinGW Message-ID: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> URI, I have changed the subject so that we can start from scratch with your problem. What exactly are you trying to buiild? I build itk on mingw frequently. I use the windows cmake. Bill On Tue, Nov 24, 2009 at 8:00 PM, URI wrote: > > I am getting the exact same error codes as the original poster. ?I am using > MinGW on a 64-bit Windows 7 machine. ?I would like to try Dan's suggestion > about using CMake 2.4 but I can't find anywhere to download it. ?The only > versions I can find on the CMake site > (http://www.cmake.org/cmake/resources/software.html) are version 2.8 and > 2.6.4. > > > > Hi Munther, > > It seems the "Hello World" application is not compatible with your > version of CMake... > > Perhaps try CMake version 2.4.x? Anyone else on the list have ideas? > > Regards, Dan > > 2009/11/23 Gdeisat, Munther : > >> ##########================================= >> Check for working C compiler: cl >> >> Check for working C compiler: cl -- works >> >> Detecting C compiler ABI info >> >> Detecting C compiler ABI info - done >> >> Check for working CXX compiler: cl >> >> Check for working CXX compiler: cl -- works >> >> Detecting CXX compiler ABI info >> >> Detecting CXX compiler ABI info - done >> >> CMake Warning (dev) in CMakeLists.txt: >> >> No cmake_minimum_required command is present. A line of code such as >> >> cmake_minimum_required(VERSION 2.8) >> >> should be added at the top of the file. The version specified may be lower >> >> if you wish to support older CMake versions for this project. For more >> >> information run "cmake --help-policy CMP0000". >> >> This warning is for project developers. Use -Wno-dev to suppress it. >> >> Looking for EnumProcesses in Psapi >> >> Looking for EnumProcesses in Psapi - not found >> >> Looking for mallinfo in malloc >> >> Looking for mallinfo in malloc - not found >> >> CMake Error at Common/CMakeLists.txt:163 (INSTALL): >> >> install TARGETS given no ARCHIVE DESTINATION for static library target >> >> "ITKCommon". >> >> CMake Error at Numerics/CMakeLists.txt:47 (INSTALL): >> >> install TARGETS given no ARCHIVE DESTINATION for static library target >> >> "ITKNumerics". >> >> CMake Error at Numerics/Statistics/CMakeLists.txt:21 (INSTALL): >> >> install TARGETS given no ARCHIVE DESTINATION for static library target >> >> "ITKStatistics". >> >> CMake Error at Numerics/FEM/CMakeLists.txt:169 (INCLUDE): >> >> include could not find load file: >> >> /CMake/itkCheckCXXAcceptsFlags.cmake >> >> CMake Error at Numerics/FEM/CMakeLists.txt:170 >> (itkCHECK_CXX_ACCEPTS_FLAGS): >> >> Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". >> >> Configuring incomplete, errors occurred! >> >> > -- > View this message in context: http://n2.nabble.com/no-subject-tp4031125p4062270.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From markus_m at gmx.net Thu Dec 3 03:12:42 2009 From: markus_m at gmx.net (sacrif) Date: Thu, 3 Dec 2009 00:12:42 -0800 (PST) Subject: [Insight-users] Histogram modification - troubles with SetFrequency In-Reply-To: References: <26615939.post@talk.nabble.com> Message-ID: <26621725.post@talk.nabble.com> Hi Luis! Thank you for your reply. The program does not compile. The exact error message is: 1>Compiling... 2>AlphaHistogram.cpp 2>..\Alpha_Histogramm\AlphaHistogram.cpp(229) : error C2663: 'itk::Statistics::Histogram::SetFrequency' : 4 overloads have no legal conversion for 'this' pointer 2> with 2> [ 2> TMeasurement=double 2> ] So if I take the "bool SetFrequency" method my arguments should be: 1. unsigned long identifier; 2. float value; So what I tried now is the following but the same error still occures: unsigned long bin = 1000; float value = 10; partialHistogramVector_[0]->SetFrequency(bin, value); When I use the new Statistics Framework, are there any changes for the creation of histograms(or are descriptions in ImageHistogram1-4.cxx and Histogram.cxx still valid) the and the use of the Set - GetFrequency methods? Regards Mark Luis Ibanez wrote: > > Hi Sacrif, > > In the old statistics framework, > the FrequencyType of the Histogram is defined as: > > typedef float FrequencyType; > > in the file > > Insight/Code/Numerics/Statistics/itkDenseFrequencyContainer.h > > > > When you say about the expression: > > >> histogram->SetFrequency(bin, pow(histogram->GetFrequency(bin,0),2)); // >> pow(x,2) > > > that: > > "It doesn't work"... > > > do you mean that: > > A) It doesn't compile ? > > B) It seg. faults at run time ? > > C) It throws an exception at run time ? > > D) It doesn't produce any errors, but the resulting > numerical value is not the expected one ? > > > Please be more specific, > > > Thanks > > > Luis > > ---------- > > BTW: Please note that the Statistics Framework was fully > refactored and that the new version is under: > > Insight/Code/Review/Statistics > > we strongly encourage you to adopt this new version. > > In order to use it, you just need to reconfigure ITK with CMake > and turn ON the following two CMake variables: > > ITK_USE_REVIEW > ITK_USE_REVIEW_STATISTICS > > > > > > -------------------------------------------------------------------------------------------------------------- > On Wed, Dec 2, 2009 at 3:34 PM, sacrif wrote: >> >> Hello, >> >> I am new to ITK and have troubles with the histogram->SetFrequency() >> method. >> What I did yet was to read in a 3d Analyse image (.hdr and .img format) >> using the filereader >> and the AnlayseImageIO class. Then I used the >> "itkScalarImageToHistogramGenerator.h" class to create a histogram out of >> the image I read in. So far everything worked well. However my next step >> is >> to modify the histogram. I want to exponentiate the frequency value of >> every >> bin by a certain number. ?I tried to do that with the following code. >> >> //------------------------------------------- >> typedef signed short PixelType; >> static const unsigned int Dimension = 3; >> typedef itk::Image ImageType; >> typedef itk::Statistics::ScalarImageToHistogramGenerator< ImageType > >> HistogramGeneratorType; >> typedef HistogramGeneratorType::HistogramType ?HistogramType; >> ?... >> ?const HistogramType * histogram = histogramGenerator->GetOutput(); >> ?const unsigned int histogramSize = histogram->Size(); >> >> ?unsigned int bin; >> ?for( bin=0; bin < histogramSize; bin++ ) >> ? ?{ >> ? ? ? ?histogram->SetFrequency(bin, >> pow(histogram->GetFrequency(bin,0),2)); // >> pow(x,2) just exponentitates x with 2. >> ? ?} >> //------------------------------------------- >> >> Unfortunately this does not work - obviously "unsigned int" is not the >> right >> type to asign. >> I also tried to define: >> ? ? ? ?HistogramType::IndexType index; >> ? ? ? ?index[0] = 1000; // just as an example >> >> and put "index" at the place of "bin"( histogram->SetFrequency(index, >> pow(histogram->GetFrequency(bin,0),2));), but it did not work. >> Could you please tell me what kind of arguments SetFrequency needs, or >> whether there is a better way to modify the histogram. >> (histogram->GetFrequency(bin, 0) works without any problems by the way) >> >> Kind Regards >> Mark >> -- >> View this message in context: >> http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26615939.html >> Sent from the ITK - Users mailing list archive at Nabble.com. >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26621725.html Sent from the ITK - Users mailing list archive at Nabble.com. From seress.zoltan at gmail.com Thu Dec 3 03:49:56 2009 From: seress.zoltan at gmail.com (Zoltan Seress) Date: Thu, 3 Dec 2009 09:49:56 +0100 Subject: [Insight-users] registration and warping composite filter In-Reply-To: References: <5fbb7840911271123m13065784hb5f0835b4ed19784@mail.gmail.com> <5fbb7840911271131y343194f5s4d97b4bf0f718bc8@mail.gmail.com> <9ddb27260911290114v5f6ac4d9ne869d0ac8a705f0c@mail.gmail.com> <5fbb7840911290157u680be5d7x305b17de032273bf@mail.gmail.com> Message-ID: <5fbb7840912030049s15d2061g35d7c0c8223f6d45@mail.gmail.com> Hi Luis, Thanks for the detailed answer. Meanwhile I managed to write what I wanted, but I derived it from itkPDEDeformableRegistrationFilter. Maybe the result does not completely fulfill the requirements of a standard itk filter, but it seems to work.Nevertheless I will take a good look at the tutorial you proposed. On Wed, Dec 2, 2009 at 1:13 AM, Luis Ibanez wrote: > Hi Zoltan, > > If you want to package the full functionality of the classes: > > * itkDemonsRegistrationFilter > * itkLinearInterpolateImageFunction > * itkWarpImageFilter > > > you should create a new filter that derives from > > itk::ImageToImageFilter > > takes 2 inputs: > > * The Fixed Image > * The Moving Image > > and produce one output: > > * The Resampled Image > > > Inside the GenerateData() method of your new filter, > you could pack most of the code of the example: > > > Insight/Examples/Registration/ > DeformableRegistration2.cxx > > > For instructions on how to write a new ITK filter, > you may want to look at the Tutorial: > > http://www.na-mic.org/Wiki/images/b/bc/Insight-Writing-a-New-Filter.ppt > > > Regards, > > > Luis > > > --------------------------------------------------- > On Sun, Nov 29, 2009 at 4:57 AM, Zoltan Seress > wrote: > > Hi, > > Nothing new strategy, I just want to combine that 3 filters in one. So > the > > answers are: > > > > On Sun, Nov 29, 2009 at 10:14 AM, Karthik Krishnan > > wrote: > >> > >> What exactly is your goal ? Are you simply trying to encapsulate the > >> combined functionality of demons registration and the final resampling > >> using the resulting vector field into a single filter ? > > > > Yes. > > > >> > >> Or are you > >> trying to implement a new registration strategy ? > > > > No. > >> > >> On Fri, Nov 27, 2009 at 2:31 PM, Zoltan Seress > > >> wrote: > >> > Hi, > >> > Sorry for the first letter! It was an accident. > >> > I would like to write a composite filter, which > >> > > >> > > encapsulates itkDemonsRegistrationFilter, itkLinearInterpolateImageFunction > >> > and itkWarpImageFilter (at least for now). Should I derivate it > >> > from itkPDEDeformableRegistrationFilter (parent > >> > of itkDemonsRegistrationFilter) or itkImageToImageFilter (parent > >> > of itkWarpImageFilter)? Actually I have more questions, but that is > the > >> > first to start. > >> > On Fri, Nov 27, 2009 at 8:23 PM, Zoltan Seress < > seress.zoltan at gmail.com> > >> > wrote: > >> >> > >> >> Dear Listmembers! > >> >> > >> >> -- > >> >> Zoli > >> > > >> > > >> > > >> > -- > >> > Zoli > >> > > >> > _____________________________________ > >> > Powered by www.kitware.com > >> > > >> > Visit other Kitware open-source projects at > >> > http://www.kitware.com/opensource/opensource.html > >> > > >> > Kitware offers ITK Training Courses, for more information visit: > >> > http://www.kitware.com/products/protraining.html > >> > > >> > Please keep messages on-topic and check the ITK FAQ at: > >> > http://www.itk.org/Wiki/ITK_FAQ > >> > > >> > Follow this link to subscribe/unsubscribe: > >> > http://www.itk.org/mailman/listinfo/insight-users > >> > > >> > > > > > > > > > -- > > Zoli > > > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > > -- Zoli -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthias.dodt at mdc-berlin.de Thu Dec 3 04:50:59 2009 From: matthias.dodt at mdc-berlin.de (Matthias Dodt) Date: Thu, 03 Dec 2009 10:50:59 +0100 Subject: [Insight-users] Using FEM In-Reply-To: References: <4B0A9433.2080002@mdc-berlin.de> Message-ID: <4B178A03.3060505@mdc-berlin.de> Hi Luis! Thanks - i got it! best, mat Luis Ibanez schrieb: > Hi Matthias, > > Then class > > itk::fem::LinearSystemWrapperVNL > > is defined in the file: > > Insight/Code/Numerics/FEM/itkFEMLinearSystemWrapperVNL.h > > and it has been in ITK since March 6th 2002: > > http://public.kitware.com/cgi-bin/viewcvs.cgi/Code/Numerics/FEM/itkFEMLinearSystemWrapperVNL.h?root=Insight&sortby=date&view=log > > > The FEM directory should be under > > Insight/Code/Numerics/ > > and it must be in ITK 3.14 > > > Please let us know if you still don't find it. > > > Thanks, > > > Luis > > > ------------------------------------------------------------------ > On Mon, Nov 23, 2009 at 8:54 AM, Matthias Dodt > wrote: > >> Hi! >> >> I want to compute the least-squares straight-line through a set of points. I >> think the itk::fem::LinearSystemWrapperVNL would do the job, but the FEM >> directory is missing in my 3.14 Installation- Do i have to download VNL or >> is there a build option for this? >> >> thanks! >> >> mat >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> -- ------------------------------------------------ Matthias Dodt Scientific Programmer at Bioinformatics platform AG Dieterich Berlin Institute for Medical Systems Biology at the Max-Delbrueck-Center for Molecular Medicine Robert-Roessle-Strasse 10, 13125 Berlin, Germany fon: +49 30 9406 4261 email: matthias.dodt at mdc-berlin.de From jmalsoaz at yahoo.fr Thu Dec 3 05:36:38 2009 From: jmalsoaz at yahoo.fr (Malsoaz James) Date: Thu, 3 Dec 2009 10:36:38 +0000 (GMT) Subject: [Insight-users] Labeling an image and displaying results with distinguished levels of gray/colors Message-ID: <989261.56305.qm@web28316.mail.ukl.yahoo.com> Hello, I'm trying to label a binary image. For that, I have been using ConnectedComponentImageFilter and RelabelComponentImageFilter with no problem apparently. I'm able to get the number of objects and the size of them. But I can't figure out how to display the objects found in the image with different levels of gray (prefered solution) or different colors. Indeed, I'm getting an almost black image where I can difficultly distinguish the objects. I would really appreciate some help to solve this. Thank you. James By the way, here is my code: typedef unsigned char PixelType; typedef itk::Image ImageType; typedef itk::ImageFileReader ReaderType; typedef itk::ImageFileWriter WriterType; typedef itk::ConnectedComponentImageFilter LabelType; typedef itk::RelabelComponentImageFilter RelabelType; int main(int argc, char *argv[]) { ??? ReaderType::Pointer reader = ReaderType::New(); ??? WriterType::Pointer writer = WriterType::New(); ??? LabelType::Pointer labeler = LabelType::New(); ??? RelabelType::Pointer relabeler = RelabelType::New(); ??? reader->SetFileName("input.bmp"); ??? labeler->SetInput(reader->GetOutput()); ??? labeler->Update(); ??? relabeler->SetInput(labeler->GetOutput()); ??? relabeler->Update(); ??? for (unsigned int i=0; iGetNumberOfObjects(); i++) ??? { ??????? std::cout<<"Number of pixel for object "<GetSizeOfObjectsInPixels()[i]<SetFileName("output.bmp"); ??? writer->SetInput(relabeler->GetOutput()); ??? writer->Update(); ??? return EXIT_SUCCESS; } -------------- next part -------------- An HTML attachment was scrubbed... URL: From anja.ende at googlemail.com Thu Dec 3 06:45:10 2009 From: anja.ende at googlemail.com (Anja Ende) Date: Thu, 3 Dec 2009 11:45:10 +0000 Subject: [Insight-users] Using the meshing classes in ITK In-Reply-To: <82f536810912021958l526bd930sda888585a23bcb56@mail.gmail.com> References: <82f536810912021958l526bd930sda888585a23bcb56@mail.gmail.com> Message-ID: <1f5d2b4f0912030345j34e13751q192fdac93bec18f8@mail.gmail.com> Thank you all for your reply. I will try the iso2Mesh tool and will let the list know about my experience. Cheers, Anja 2009/12/3 Andriy Fedorov : > Anja, > > Here's a package that you might find helpful: > > http://iso2mesh.sourceforge.net/ > > I personally never used it, but I did have good experience with Tetgen > and CGAL for the tasks similar to what you want to accomplish. From > the first look, iso2mesh appears to be a wrapper around several lower > level meshing tools (including Tetgen and some algorithms from CGAL). > > You can use CGAL+Tetgen directly to construct a tetrahedral mesh from > segmentation, but this will require some time to understand formats, > parameters, and write some extra code. It looks like iso2mesh does > this transparently from the user, but I have not tried it myself to > confirm this. > > If you do use this iso2mesh tool, please update the list with your experience. > > Andriy Fedorov > > > > >> Date: Wed, 2 Dec 2009 18:46:25 -0500 >> From: Luis Ibanez >> Subject: Re: [Insight-users] Using the meshing classes in ITK >> To: Anja Ende >> Cc: insight-users at itk.org >> Message-ID: >> ? ? ? ? >> Content-Type: text/plain; charset=ISO-8859-1 >> >> Hi ?Anja, >> >> ? ? ? ? ? ? ? ? ?Welcome to ITK ! >> >> Your question is a very interesting one. >> >> >> And to put it shortly: >> >> ? ? ? ? It is one for which we don't have >> ? ? ? ? a full answer involving only ITK methods. >> >> >> There are two major pieces to what you are >> trying to do: >> >> 1) ?Segmenting brain structures from MR ?and CT brain data. >> >> 2) ?Generating tetrahedral meshes from the segmented >> ? ? regions >> >> >> >> For (1), ITK provides a very rich set of methods. >> >> >> For (2), you will have to use additional tools. >> >> >> Regarding (1), the type of segmentation methods that you >> need to use is closely related to the specific brain structure >> that you want to segment. >> >> Popular methods are: >> >> * Region growing >> * Level Sets >> * Statistical Classification >> * Atlas-based segmentation >> >> and combinations of them, for example >> >> * EM segmentation. >> >> You will find an introduction to (some of the) >> segmentation methods in ITK, in the >> Software Guide: >> >> ?http://www.itk.org/ItkSoftwareGuide.pdf >> >> >> You will also find a good deal of Brain segmentation >> tools at NAMIC: >> http://www.na-mic.org/Wiki/index.php/Main_Page >> >> and >> >> NITRC: >> http://www.nitrc.org/ >> >> >> Many of them, based on ITK. >> >> >> >> Regarding the tetrahedral mesh generation: >> ITK itself does not provide that functionality. >> >> The tool that you should try is: >> http://www.ccad.uiowa.edu/mimx/IA-FEMesh/ >> >> (which is also used by several groups at NAMIC): >> http://www.na-mic.org/Wiki/index.php/NA-MIC_NCBC_Collaboration:Automated_FE_Mesh_Development >> >> >> This tool needs as input a surface. >> (a 2D manifold embedded in a 3D space) >> >> You can generate such surface by taking the >> segmentation (typically a binary image) of the >> brain structures of your interests and extracting >> its Iso-surface with VTK (typically with the >> vtkContourFilter) or with a ready-to-use tool >> like ParaView http://www.paraview.org). >> (which is based on VTK). >> >> >> >> ? ? Please take a look at these resources >> ? ? and let us know if you have further >> ? ? questions, >> >> >> ? ? ? ? ? ?Thanks >> >> >> ? ? ? ? ? ? ? ? ?Luis >> >> >> >> ------------------------------------------------------------------------------------- >> On Wed, Dec 2, 2009 at 6:56 AM, Anja Ende wrote: >>> Hello everyone, >>> >>> This is more of a general question. I would like to know more about >>> generating meshes from MR and CT data. So, I have a brain image and I >>> would like to generate a tetrahedral based mesh from it and then use >>> it further for some FEM processing. I am a newbie to this field and >>> would like to ask a couple of questions and would be very grateful if >>> someone can take the time to answer them: >>> >>> - What pre-processing do I need to do to the itk image so that I can >>> feed it to a mesh generator? Would I first need to segment the bit >>> that I am interested in? So, would I need to segment the background >>> out of the image. >>> - I am guessing the mesh generators would need some point set as their >>> input. How could I generate a point set from an itk image? >>> >>> I am quite new to this area and am a bit lost as to how to start. >>> Would really appreciate your help. >>> >>> Cheers, >>> >>> Anja >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> > -- Cheers, Anja From matthias.dodt at mdc-berlin.de Thu Dec 3 08:41:54 2009 From: matthias.dodt at mdc-berlin.de (Matthias Dodt) Date: Thu, 03 Dec 2009 14:41:54 +0100 Subject: [Insight-users] Calculating least squares straight-line In-Reply-To: <8151b65f0911240909n3e999946xdf5723db31cb764@mail.gmail.com> References: <4B0AA8BE.8050501@mdc-berlin.de> <4B0BA2F9.9010808@mdc-berlin.de> <8151b65f0911240909n3e999946xdf5723db31cb764@mail.gmail.com> Message-ID: <4B17C022.3090500@mdc-berlin.de> Hi Sajendra! Thanks for the advice- i have binary images containing "tubes" and just want to compute the line for determining the orientation of those. So its not based on intensities- Thanks for the links! Best, mat Sajendra schrieb: > Hi Matthias, > > I'm not familiar with the itk FEM classes nor using them for data > fitting; however, If you just need simple linear least solution to an > overdetermined system can you not use the closed form solution?: > http://en.wikipedia.org/wiki/Linear_least_squares#Computation > http://mathworld.wolfram.com/LeastSquaresFitting.html > > It is quite simple to compute. I recently hacked an ITK image filter > to perform that computation on input ITK image intensities so I could > use ITKs multithreading and IO. Let me know if that would help with > your problem. > > Sajendra > > > > On Tue, Nov 24, 2009 at 4:10 AM, Matthias Dodt > wrote: > >> Thanks for the hint - but i think the problem is that the matrix A has to be >> a square matrix. My system of equations is overdetermined, so maybe i should >> use a different solver...? >> >> I would need a MultipleValuedLinearOptimizer- but i am not sure which class >> to use- >> >> best, >> >> mat >> >> C.Cagatay Bilgin schrieb: >> >>> I did not know this functionality existed in ITK and implemented >>> my own. Can you try running this on a smaller set of points and >>> provide those points to us so that I can give it a try as well. >>> >>> Also, I see the following lines in the source code that looks related >>> to your problem. If you have zero elements, just setting them to >>> something really small like 1.0e-16 might help, maybe. >>> >>> /* ******************************************************************* >>> 00541 * FIX ME: itpack does not allow for any non-zero diagonal >>> elements >>> 00542 * so "very small" numbers are inserted to allow for a solution >>> 00543 * >>> 00544 int i; >>> 00545 doublereal fakeZero = 1.0e-16; >>> 00546 >>> 00547 //insert "fake" zeros >>> 00548 for (i=0; i(m_Order); i++) >>> 00549 { >>> 00550 if ( (*m_Matrices)[0].Get(i,i) == 0.0) >>> 00551 { >>> 00552 (*m_Matrices)[0].Set(i,i,fakeZero); >>> 00553 } >>> 00554 } >>> 00555 // END FIXME >>> 00556 >>> *********************************************************************/ >>> >>> >>> On Nov 23, 2009, at 10:22 AM, Matthias Dodt wrote: >>> >>> >>>> Hi! >>>> >>>> I have some problems using the LinearSystemWrapperItpack class. I want to >>>> compute the straight-line wich fits a set of points best. Till now i got: >>>> >>>> void CalculateLeastSquares(){ >>>> using namespace fem; >>>> //Least squares: b + A * x = y >>>> //given Pi(xi,yi): 1b + xi * x = yi >>>> >>>> fem::LinearSystemWrapperItpack lsw; >>>> lsw.SetNumberOfMatrices(1u); >>>> lsw.SetNumberOfVectors(1u); >>>> lsw.SetNumberOfSolutions(1u); >>>> lsw.SetSystemOrder(areaPoints->size()); >>>> lsw.SetMaximumNonZeroValuesInMatrix(areaPoints->size() *4); >>>> lsw.InitializeMatrix(0); >>>> lsw.InitializeSolution(0); >>>> lsw.InitializeVector(0); >>>> >>>> >>>> //Matrix coeff; >>>> //Vector y; >>>> for(unsigned int t=0;tsize();++t){ >>>> //coeff(0,i) = 1; >>>> std::cout << "Setting: " << t << "," << areaPoints->at(t)[0] << >>>> "," << areaPoints->at(t)[1] << std::endl; >>>> lsw.SetMatrixValue(t,0u,1u,0); >>>> >>>> lsw.SetMatrixValue(t,1,static_cast(areaPoints->at(t)[0]),0); >>>> //coeff(1,i) = static_cast(areaPoints->at(i)[0]); >>>> >>>> lsw.SetSolutionValue(t,static_cast(areaPoints->at(t)[1]),0); >>>> //y(i) = static_cast(areaPoints->at(i)[1]); >>>> } >>>> >>>> lsw.Solve(); >>>> >>>> for(unsigned int i=0;i>>> std::cout << "Coefficient: " << lsw.GetSolutionValue(i,0); >>>> } >>>> >>>> >>>> >>>> } >>>> >>>> Anyway the .Solve() crashes with: >>>> >>>> itk::FEMExceptionItpackSolver (0x66c1a0) >>>> Location: "LinearSystemWrapperItpack::Solve" >>>> File: >>>> /Users/mat/Documents/InsightToolkit-3.14.0/Code/Numerics/FEM/itkFEMLinearSystemWrapperItpack.cxx >>>> Line: 659 >>>> Description: Error: A diagonal element is not positive >>>> >>>> Somebody has a clue? >>>> >>>> thanks! >>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >> -- >> ------------------------------------------------ >> Matthias Dodt >> >> Scientific Programmer at Bioinformaitcs platform AG Dieterich >> >> Berlin Institute for Medical Systems Biology at the >> Max-Delbrueck-Center for Molecular Medicine >> Robert-Roessle-Strasse 10, 13125 Berlin, Germany >> >> fon: +49 30 9406 4261 >> email: matthias.dodt at mdc-berlin.de >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> -- ------------------------------------------------ Matthias Dodt Scientific Programmer at Bioinformatics platform AG Dieterich Berlin Institute for Medical Systems Biology at the Max-Delbrueck-Center for Molecular Medicine Robert-Roessle-Strasse 10, 13125 Berlin, Germany fon: +49 30 9406 4261 email: matthias.dodt at mdc-berlin.de From Gerald.Lodron at joanneum.at Thu Dec 3 09:49:10 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Thu, 3 Dec 2009 15:49:10 +0100 Subject: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images Message-ID: Hello, I want to write a code to reduce/increase the resolution of an image and i am using the itk::ResampleImageFilter. The code works fine but there is one small problem: When i compare the original and the resampled image with a checkerboard i see that the images are not registered any more (so there must be a problem with the origin). How should i set the origin? Here my code: Input: Int *iDownsampleFactor; // = e.g. {2,0.5,4}; Itk::OrientedImage::Pointer image; Code: Typedef itk::ResampleImageFilter ResampleType; ResampleType::Pointer resampler = ResampleType::New(); OutputImageType::SpacingType Spacing; OutputImageType::PointType Origin; OutputImageType::DirectionType Direction = image->GetDirection(); OutputImageType::SizeType Size; OutputImageType::RegionType::IndexType Index = image->getLargestPossibleRegion().GetIndex(); For (int i=0; i<3; i++) { Spacing[i] = image->GetSpacing()[i] * iDownsampleFactor[i] ; Origin[i] = image->GetOrigin()[i];//???????????????????? Size[i] = image->GetLargestPossibleRegion().GetSize()[i]/iDownsampleFactor[i] ; } Resampler->SetInput(image); resampler->SetOutputSpacing( Spacing ); resampler->SetOutputOrigin( Origin ); resampler->SetOutputDirection( Direction ); resampler->SetSize( Size ); resampler->SetOutputStartIndex( Index ); Output = resampler->GetOutput(); //Wrong alignment/registration to input Best regards From bill.lorensen at gmail.com Thu Dec 3 10:34:57 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Thu, 3 Dec 2009 10:34:57 -0500 Subject: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images In-Reply-To: References: Message-ID: <4db4735c0912030734h2d7102fbw76c96adaf43b46ad@mail.gmail.com> What version of itk are you using? Prior to itk 3.16 there was an issue with the location of sample points. IN 3.16 we changed the default for ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY to be ON. This made itk consistent with the behavior described in the software guide. It also corrected the 1/2 pixel offset you are seeing when down/up sampling. If you are using 3.14, you can set ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY ON when you run cmake. Bill On Thu, Dec 3, 2009 at 9:49 AM, Lodron, Gerald wrote: > > > Hello, > > I want to write a code to reduce/increase the resolution of an image and i am using the itk::ResampleImageFilter. The code works fine but there is one small problem: When i compare the original and the resampled image with a checkerboard i see that the images are not registered any more (so there must be a problem with the origin). How should i set the origin? Here my code: > > Input: > > Int *iDownsampleFactor; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // = e.g. {2,0.5,4}; > Itk::OrientedImage::Pointer image; > > Code: > > Typedef itk::ResampleImageFilter ResampleType; > > ResampleType::Pointer ?resampler = ResampleType::New(); > > OutputImageType::SpacingType ? ? ? ? ? ? ? ? ? ?Spacing; > OutputImageType::PointType ? ? ? ? ? ? ? ? ? ? ?Origin; > OutputImageType::DirectionType ? ? ? ? ?Direction = image->GetDirection(); > OutputImageType::SizeType ? ? ? ? ? ? ? ? ? ? ? Size; > OutputImageType::RegionType::IndexType ?Index = image->getLargestPossibleRegion().GetIndex(); > > For (int i=0; i<3; i++) > { > ? ? ? ?Spacing[i] = image->GetSpacing()[i] * iDownsampleFactor[i] ; > ? ? ? ?Origin[i] = image->GetOrigin()[i];//???????????????????? > ? ? ? ?Size[i] = image->GetLargestPossibleRegion().GetSize()[i]/iDownsampleFactor[i] ; > } > > Resampler->SetInput(image); > resampler->SetOutputSpacing( Spacing ); > resampler->SetOutputOrigin( ?Origin ?); > resampler->SetOutputDirection( ?Direction ?); > resampler->SetSize( Size ); > resampler->SetOutputStartIndex( ?Index ); > > Output = resampler->GetOutput(); ? ? ? ?//Wrong alignment/registration to input > > Best regards > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From Gerald.Lodron at joanneum.at Thu Dec 3 10:37:13 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Thu, 3 Dec 2009 16:37:13 +0100 Subject: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images In-Reply-To: <4db4735c0912030734h2d7102fbw76c96adaf43b46ad@mail.gmail.com> References: <4db4735c0912030734h2d7102fbw76c96adaf43b46ad@mail.gmail.com> Message-ID: No, i am already using 3.16 and i did not changed such a flag. Best regards -----Urspr?ngliche Nachricht----- Von: Bill Lorensen [mailto:bill.lorensen at gmail.com] Gesendet: Donnerstag, 03. Dezember 2009 16:35 An: Lodron, Gerald Cc: insight-users at itk.org Betreff: Re: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images What version of itk are you using? Prior to itk 3.16 there was an issue with the location of sample points. IN 3.16 we changed the default for ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY to be ON. This made itk consistent with the behavior described in the software guide. It also corrected the 1/2 pixel offset you are seeing when down/up sampling. If you are using 3.14, you can set ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY ON when you run cmake. Bill On Thu, Dec 3, 2009 at 9:49 AM, Lodron, Gerald wrote: > > > Hello, > > I want to write a code to reduce/increase the resolution of an image and i am using the itk::ResampleImageFilter. The code works fine but there is one small problem: When i compare the original and the resampled image with a checkerboard i see that the images are not registered any more (so there must be a problem with the origin). How should i set the origin? Here my code: > > Input: > > Int *iDownsampleFactor; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // = e.g. > {2,0.5,4}; Itk::OrientedImage::Pointer image; > > Code: > > Typedef itk::ResampleImageFilter InterpolationPrecisionType> ResampleType; > > ResampleType::Pointer ?resampler = ResampleType::New(); > > OutputImageType::SpacingType ? ? ? ? ? ? ? ? ? ?Spacing; > OutputImageType::PointType ? ? ? ? ? ? ? ? ? ? ?Origin; > OutputImageType::DirectionType ? ? ? ? ?Direction = > image->GetDirection(); OutputImageType::SizeType ? ? ? ? ? ? ? ? ? ? ? > Size; OutputImageType::RegionType::IndexType ?Index = > image->getLargestPossibleRegion().GetIndex(); > > For (int i=0; i<3; i++) > { > ? ? ? ?Spacing[i] = image->GetSpacing()[i] * iDownsampleFactor[i] ; > ? ? ? ?Origin[i] = image->GetOrigin()[i];//???????????????????? > ? ? ? ?Size[i] = > image->GetLargestPossibleRegion().GetSize()[i]/iDownsampleFactor[i] ; > } > > Resampler->SetInput(image); > resampler->SetOutputSpacing( Spacing ); SetOutputOrigin( ?Origin ?); > resampler->SetOutputDirection( ?Direction ?); SetSize( Size ); > resampler->SetOutputStartIndex( ?Index ); > > Output = resampler->GetOutput(); ? ? ? ?//Wrong alignment/registration > to input > > Best regards > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From bill.lorensen at gmail.com Thu Dec 3 11:07:59 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Thu, 3 Dec 2009 11:07:59 -0500 Subject: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images In-Reply-To: References: <4db4735c0912030734h2d7102fbw76c96adaf43b46ad@mail.gmail.com> Message-ID: <4db4735c0912030807n290b5111sf0464538f499eef5@mail.gmail.com> Sorry I read your e-mail too quickly. Attached is code I wrote a while back. It keep the same origin, but adjusts the spacing. Bill On Thu, Dec 3, 2009 at 10:37 AM, Lodron, Gerald wrote: > No, i am already using 3.16 and i did not changed such a flag. > > Best regards > > -----Urspr?ngliche Nachricht----- > Von: Bill Lorensen [mailto:bill.lorensen at gmail.com] > Gesendet: Donnerstag, 03. Dezember 2009 16:35 > An: Lodron, Gerald > Cc: insight-users at itk.org > Betreff: Re: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images > > What version of itk are you using? Prior to itk 3.16 there was an issue with the location of sample points. IN 3.16 we changed the default for ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY to be ON. > This made itk consistent with the behavior described in the software guide. It also corrected the 1/2 pixel offset you are seeing when down/up sampling. > > If you are using 3.14, you can set > ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY ON when you run cmake. > > Bill > > On Thu, Dec 3, 2009 at 9:49 AM, Lodron, Gerald wrote: >> >> >> Hello, >> >> I want to write a code to reduce/increase the resolution of an image and i am using the itk::ResampleImageFilter. The code works fine but there is one small problem: When i compare the original and the resampled image with a checkerboard i see that the images are not registered any more (so there must be a problem with the origin). How should i set the origin? Here my code: >> >> Input: >> >> Int *iDownsampleFactor; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // = e.g. >> {2,0.5,4}; Itk::OrientedImage::Pointer image; >> >> Code: >> >> Typedef itk::ResampleImageFilter> InterpolationPrecisionType> ResampleType; >> >> ResampleType::Pointer ?resampler = ResampleType::New(); >> >> OutputImageType::SpacingType ? ? ? ? ? ? ? ? ? ?Spacing; >> OutputImageType::PointType ? ? ? ? ? ? ? ? ? ? ?Origin; >> OutputImageType::DirectionType ? ? ? ? ?Direction = >> image->GetDirection(); OutputImageType::SizeType >> Size; OutputImageType::RegionType::IndexType ?Index = >> image->getLargestPossibleRegion().GetIndex(); >> >> For (int i=0; i<3; i++) >> { >> ? ? ? ?Spacing[i] = image->GetSpacing()[i] * iDownsampleFactor[i] ; >> ? ? ? ?Origin[i] = image->GetOrigin()[i];//???????????????????? >> ? ? ? ?Size[i] = >> image->GetLargestPossibleRegion().GetSize()[i]/iDownsampleFactor[i] ; >> } >> >> Resampler->SetInput(image); >> resampler->SetOutputSpacing( Spacing ); SetOutputOrigin( ?Origin ?); >> resampler->SetOutputDirection( ?Direction ?); SetSize( Size ); >> resampler->SetOutputStartIndex( ?Index ); >> >> Output = resampler->GetOutput(); ? ? ? ?//Wrong alignment/registration >> to input >> >> Best regards >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > -------------- next part -------------- A non-text attachment was scrubbed... Name: MetaResample.cxx Type: application/octet-stream Size: 5652 bytes Desc: not available URL: From bill.lorensen at gmail.com Thu Dec 3 11:36:25 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Thu, 3 Dec 2009 11:36:25 -0500 Subject: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images In-Reply-To: <4db4735c0912030807n290b5111sf0464538f499eef5@mail.gmail.com> References: <4db4735c0912030734h2d7102fbw76c96adaf43b46ad@mail.gmail.com> <4db4735c0912030807n290b5111sf0464538f499eef5@mail.gmail.com> Message-ID: <4db4735c0912030836m262ebd88ud9557f5aa90376e9@mail.gmail.com> Gerald, Another approach we used in itkShrinkImageFIlter modifies the origin of the output so that the center's of the input and output align. I think this is what you want. Here is a snippet from Code/BasicFilters/itkShrinkImageFilter.txx. In your case, the input and output start index should be 0. // Compute origin offset // The physical center's of the input and output should be the same ContinuousIndex inputCenterIndex; ContinuousIndex outputCenterIndex; for (i = 0; i < TOutputImage::ImageDimension; i++) { inputCenterIndex[i] = inputStartIndex[i] + (inputSize[i] - 1) / 2.0; outputCenterIndex[i] = outputStartIndex[i] + (outputSize[i] - 1) / 2.0; } typename TOutputImage::PointType inputCenterPoint; typename TOutputImage::PointType outputCenterPoint; inputPtr->TransformContinuousIndexToPhysicalPoint(inputCenterIndex, inputCenterPoint); outputPtr->TransformContinuousIndexToPhysicalPoint(outputCenterIndex, outputCenterPoint); typename TOutputImage::PointType outputOrigin = outputPtr->GetOrigin(); outputOrigin = outputOrigin + (inputCenterPoint - outputCenterPoint); outputPtr->SetOrigin(outputOrigin); On Thu, Dec 3, 2009 at 11:07 AM, Bill Lorensen wrote: > Sorry I read your e-mail too quickly. > Attached is code I wrote a while back. It keep the same origin, but > adjusts the spacing. > > Bill > > On Thu, Dec 3, 2009 at 10:37 AM, Lodron, Gerald > wrote: >> No, i am already using 3.16 and i did not changed such a flag. >> >> Best regards >> >> -----Urspr?ngliche Nachricht----- >> Von: Bill Lorensen [mailto:bill.lorensen at gmail.com] >> Gesendet: Donnerstag, 03. Dezember 2009 16:35 >> An: Lodron, Gerald >> Cc: insight-users at itk.org >> Betreff: Re: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images >> >> What version of itk are you using? Prior to itk 3.16 there was an issue with the location of sample points. IN 3.16 we changed the default for ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY to be ON. >> This made itk consistent with the behavior described in the software guide. It also corrected the 1/2 pixel offset you are seeing when down/up sampling. >> >> If you are using 3.14, you can set >> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY ON when you run cmake. >> >> Bill >> >> On Thu, Dec 3, 2009 at 9:49 AM, Lodron, Gerald wrote: >>> >>> >>> Hello, >>> >>> I want to write a code to reduce/increase the resolution of an image and i am using the itk::ResampleImageFilter. The code works fine but there is one small problem: When i compare the original and the resampled image with a checkerboard i see that the images are not registered any more (so there must be a problem with the origin). How should i set the origin? Here my code: >>> >>> Input: >>> >>> Int *iDownsampleFactor; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // = e.g. >>> {2,0.5,4}; Itk::OrientedImage::Pointer image; >>> >>> Code: >>> >>> Typedef itk::ResampleImageFilter>> InterpolationPrecisionType> ResampleType; >>> >>> ResampleType::Pointer ?resampler = ResampleType::New(); >>> >>> OutputImageType::SpacingType ? ? ? ? ? ? ? ? ? ?Spacing; >>> OutputImageType::PointType ? ? ? ? ? ? ? ? ? ? ?Origin; >>> OutputImageType::DirectionType ? ? ? ? ?Direction = >>> image->GetDirection(); OutputImageType::SizeType >>> Size; OutputImageType::RegionType::IndexType ?Index = >>> image->getLargestPossibleRegion().GetIndex(); >>> >>> For (int i=0; i<3; i++) >>> { >>> ? ? ? ?Spacing[i] = image->GetSpacing()[i] * iDownsampleFactor[i] ; >>> ? ? ? ?Origin[i] = image->GetOrigin()[i];//???????????????????? >>> ? ? ? ?Size[i] = >>> image->GetLargestPossibleRegion().GetSize()[i]/iDownsampleFactor[i] ; >>> } >>> >>> Resampler->SetInput(image); >>> resampler->SetOutputSpacing( Spacing ); SetOutputOrigin( ?Origin ?); >>> resampler->SetOutputDirection( ?Direction ?); SetSize( Size ); >>> resampler->SetOutputStartIndex( ?Index ); >>> >>> Output = resampler->GetOutput(); ? ? ? ?//Wrong alignment/registration >>> to input >>> >>> Best regards >>> >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > From Gerald.Lodron at joanneum.at Thu Dec 3 11:41:29 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Thu, 3 Dec 2009 17:41:29 +0100 Subject: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images Message-ID: I already saw that but i want to allow upscaling as well as downscaling (and i think the shrink filter is only for one direction). The other thing is that i want also to specify the up/downscaling per direction (anisotropic, the shrink filter makes it isotropic). I read DICOM images so i should not change the position of the image at all (the images which should be down/upscaled are registered and should also be registered after up/downscaling). -----Urspr?ngliche Nachricht----- Von: Bill Lorensen [mailto:bill.lorensen at gmail.com] Gesendet: Donnerstag, 03. Dezember 2009 17:36 An: Lodron, Gerald Cc: insight-users at itk.org Betreff: Re: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images Gerald, Another approach we used in itkShrinkImageFIlter modifies the origin of the output so that the center's of the input and output align. I think this is what you want. Here is a snippet from Code/BasicFilters/itkShrinkImageFilter.txx. In your case, the input and output start index should be 0. // Compute origin offset // The physical center's of the input and output should be the same ContinuousIndex inputCenterIndex; ContinuousIndex outputCenterIndex; for (i = 0; i < TOutputImage::ImageDimension; i++) { inputCenterIndex[i] = inputStartIndex[i] + (inputSize[i] - 1) / 2.0; outputCenterIndex[i] = outputStartIndex[i] + (outputSize[i] - 1) / 2.0; } typename TOutputImage::PointType inputCenterPoint; typename TOutputImage::PointType outputCenterPoint; inputPtr->TransformContinuousIndexToPhysicalPoint(inputCenterIndex, inputCenterPoint); outputPtr->TransformContinuousIndexToPhysicalPoint(outputCenterIndex, outputCenterPoint); typename TOutputImage::PointType outputOrigin = outputPtr->GetOrigin(); outputOrigin = outputOrigin + (inputCenterPoint - outputCenterPoint); outputPtr->SetOrigin(outputOrigin); On Thu, Dec 3, 2009 at 11:07 AM, Bill Lorensen wrote: > Sorry I read your e-mail too quickly. > Attached is code I wrote a while back. It keep the same origin, but > adjusts the spacing. > > Bill > > On Thu, Dec 3, 2009 at 10:37 AM, Lodron, Gerald > wrote: >> No, i am already using 3.16 and i did not changed such a flag. >> >> Best regards >> >> -----Urspr?ngliche Nachricht----- >> Von: Bill Lorensen [mailto:bill.lorensen at gmail.com] >> Gesendet: Donnerstag, 03. Dezember 2009 16:35 >> An: Lodron, Gerald >> Cc: insight-users at itk.org >> Betreff: Re: [Insight-users] Question on itk::ResampleImageFilter for >> up and downsampling images >> >> What version of itk are you using? Prior to itk 3.16 there was an issue with the location of sample points. IN 3.16 we changed the default for ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY to be ON. >> This made itk consistent with the behavior described in the software guide. It also corrected the 1/2 pixel offset you are seeing when down/up sampling. >> >> If you are using 3.14, you can set >> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY ON when you run cmake. >> >> Bill >> >> On Thu, Dec 3, 2009 at 9:49 AM, Lodron, Gerald wrote: >>> >>> >>> Hello, >>> >>> I want to write a code to reduce/increase the resolution of an image and i am using the itk::ResampleImageFilter. The code works fine but there is one small problem: When i compare the original and the resampled image with a checkerboard i see that the images are not registered any more (so there must be a problem with the origin). How should i set the origin? Here my code: >>> >>> Input: >>> >>> Int *iDownsampleFactor; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // = e.g. >>> {2,0.5,4}; Itk::OrientedImage::Pointer image; >>> >>> Code: >>> >>> Typedef itk::ResampleImageFilter>> InterpolationPrecisionType> ResampleType; >>> >>> ResampleType::Pointer ?resampler = ResampleType::New(); >>> >>> OutputImageType::SpacingType ? ? ? ? ? ? ? ? ? ?Spacing; >>> OutputImageType::PointType ? ? ? ? ? ? ? ? ? ? ?Origin; >>> OutputImageType::DirectionType ? ? ? ? ?Direction = >>> image->GetDirection(); OutputImageType::SizeType >>> Size; OutputImageType::RegionType::IndexType ?Index = >>> image->getLargestPossibleRegion().GetIndex(); >>> >>> For (int i=0; i<3; i++) >>> { >>> ? ? ? ?Spacing[i] = image->GetSpacing()[i] * iDownsampleFactor[i] ; >>> ? ? ? ?Origin[i] = image->GetOrigin()[i];//???????????????????? >>> ? ? ? ?Size[i] = >>> image->GetLargestPossibleRegion().GetSize()[i]/iDownsampleFactor[i] >>> image->; >>> } >>> >>> Resampler->SetInput(image); >>> resampler->SetOutputSpacing( Spacing ); SetOutputOrigin( ?Origin ?); >>> resampler->SetOutputDirection( ?Direction ?); SetSize( Size ); >>> resampler->SetOutputStartIndex( ?Index ); >>> >>> Output = resampler->GetOutput(); ? ? ? ?//Wrong >>> alignment/registration to input >>> >>> Best regards >>> >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > From bill.lorensen at gmail.com Thu Dec 3 11:46:13 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Thu, 3 Dec 2009 11:46:13 -0500 Subject: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images In-Reply-To: References: Message-ID: <4db4735c0912030846q99dafaj8494b56d5a1cf937@mail.gmail.com> You can do all of that using similar logic that is in the shrink filter. On Thu, Dec 3, 2009 at 11:41 AM, Lodron, Gerald wrote: > > I already saw that but i want to allow upscaling as well as downscaling (and i think the shrink filter is only for one direction). The other thing is that i want also to specify the up/downscaling per direction (anisotropic, the shrink filter makes it isotropic). I read DICOM images so i should not change the position of the image at all (the images which should be down/upscaled are registered and should also be registered after ?up/downscaling). > > > > > -----Urspr?ngliche Nachricht----- > Von: Bill Lorensen [mailto:bill.lorensen at gmail.com] > Gesendet: Donnerstag, 03. Dezember 2009 17:36 > An: Lodron, Gerald > Cc: insight-users at itk.org > Betreff: Re: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images > > Gerald, > > Another approach we used in itkShrinkImageFIlter modifies the origin of the output so that the center's of the input and output align. I think this is what you want. Here is a snippet from Code/BasicFilters/itkShrinkImageFilter.txx. In your case, the input and output start index should be 0. > > ?// Compute origin offset > ?// The physical center's of the input and output should be the same > ?ContinuousIndex inputCenterIndex; > ?ContinuousIndex outputCenterIndex; > ?for (i = 0; i < TOutputImage::ImageDimension; i++) > ? ?{ > ? ?inputCenterIndex[i] = inputStartIndex[i] + (inputSize[i] - 1) / 2.0; > ? ?outputCenterIndex[i] = outputStartIndex[i] + (outputSize[i] - 1) / 2.0; > ? ?} > > ?typename TOutputImage::PointType inputCenterPoint; > ?typename TOutputImage::PointType outputCenterPoint; > ?inputPtr->TransformContinuousIndexToPhysicalPoint(inputCenterIndex, > inputCenterPoint); > ?outputPtr->TransformContinuousIndexToPhysicalPoint(outputCenterIndex, > outputCenterPoint); > > ?typename TOutputImage::PointType outputOrigin = outputPtr->GetOrigin(); > ?outputOrigin = outputOrigin + (inputCenterPoint - outputCenterPoint); > ?outputPtr->SetOrigin(outputOrigin); > > > > On Thu, Dec 3, 2009 at 11:07 AM, Bill Lorensen wrote: >> Sorry I read your e-mail too quickly. >> Attached is code I wrote a while back. It keep the same origin, but >> adjusts the spacing. >> >> Bill >> >> On Thu, Dec 3, 2009 at 10:37 AM, Lodron, Gerald >> wrote: >>> No, i am already using 3.16 and i did not changed such a flag. >>> >>> Best regards >>> >>> -----Urspr?ngliche Nachricht----- >>> Von: Bill Lorensen [mailto:bill.lorensen at gmail.com] >>> Gesendet: Donnerstag, 03. Dezember 2009 16:35 >>> An: Lodron, Gerald >>> Cc: insight-users at itk.org >>> Betreff: Re: [Insight-users] Question on itk::ResampleImageFilter for >>> up and downsampling images >>> >>> What version of itk are you using? Prior to itk 3.16 there was an issue with the location of sample points. IN 3.16 we changed the default for ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY to be ON. >>> This made itk consistent with the behavior described in the software guide. It also corrected the 1/2 pixel offset you are seeing when down/up sampling. >>> >>> If you are using 3.14, you can set >>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY ON when you run cmake. >>> >>> Bill >>> >>> On Thu, Dec 3, 2009 at 9:49 AM, Lodron, Gerald wrote: >>>> >>>> >>>> Hello, >>>> >>>> I want to write a code to reduce/increase the resolution of an image and i am using the itk::ResampleImageFilter. The code works fine but there is one small problem: When i compare the original and the resampled image with a checkerboard i see that the images are not registered any more (so there must be a problem with the origin). How should i set the origin? Here my code: >>>> >>>> Input: >>>> >>>> Int *iDownsampleFactor; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // = e.g. >>>> {2,0.5,4}; Itk::OrientedImage::Pointer image; >>>> >>>> Code: >>>> >>>> Typedef itk::ResampleImageFilter>>> InterpolationPrecisionType> ResampleType; >>>> >>>> ResampleType::Pointer ?resampler = ResampleType::New(); >>>> >>>> OutputImageType::SpacingType ? ? ? ? ? ? ? ? ? ?Spacing; >>>> OutputImageType::PointType ? ? ? ? ? ? ? ? ? ? ?Origin; >>>> OutputImageType::DirectionType ? ? ? ? ?Direction = >>>> image->GetDirection(); OutputImageType::SizeType >>>> Size; OutputImageType::RegionType::IndexType ?Index = >>>> image->getLargestPossibleRegion().GetIndex(); >>>> >>>> For (int i=0; i<3; i++) >>>> { >>>> ? ? ? ?Spacing[i] = image->GetSpacing()[i] * iDownsampleFactor[i] ; >>>> ? ? ? ?Origin[i] = image->GetOrigin()[i];//???????????????????? >>>> ? ? ? ?Size[i] = >>>> image->GetLargestPossibleRegion().GetSize()[i]/iDownsampleFactor[i] >>>> image->; >>>> } >>>> >>>> Resampler->SetInput(image); >>>> resampler->SetOutputSpacing( Spacing ); SetOutputOrigin( ?Origin ?); >>>> resampler->SetOutputDirection( ?Direction ?); SetSize( Size ); >>>> resampler->SetOutputStartIndex( ?Index ); >>>> >>>> Output = resampler->GetOutput(); ? ? ? ?//Wrong >>>> alignment/registration to input >>>> >>>> Best regards >>>> >>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>> >> > From luke.bloy at gmail.com Thu Dec 3 12:15:11 2009 From: luke.bloy at gmail.com (Luke Bloy) Date: Thu, 03 Dec 2009 12:15:11 -0500 Subject: [Insight-users] Multi threading in ITK Message-ID: <4B17F21F.90503@gmail.com> Hi, I'm wondering how ITK determines the maximal number of threads to allow for a single process. I've looked at itk::MultiThreader some, what I'm curious of is what occurs without calls to SetGlobalMaximumNumberOfThreads (int val) or SetGlobalDefaultNumberOfThreads (int val). I have a multiuser linux environment and would like to have some control over the default number of threads per process that itk makes at a system level. Id rather not have the process call SetGlobalMaximumNumberOfThreads themselves, so i was wondering if there was an environment variable or some other way to set this. Thanks. Luke From bill.lorensen at gmail.com Thu Dec 3 12:36:03 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Thu, 3 Dec 2009 12:36:03 -0500 Subject: [Insight-users] Multi threading in ITK In-Reply-To: <4B17F21F.90503@gmail.com> References: <4B17F21F.90503@gmail.com> Message-ID: <4db4735c0912030936q48b28c02rc385dc1dd8787453@mail.gmail.com> The environment variable ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS should do the trick. On Thu, Dec 3, 2009 at 12:15 PM, Luke Bloy wrote: > Hi, > > I'm wondering how ITK determines the maximal number of threads to allow for > a single process. I've looked at itk::MultiThreader some, what I'm curious > of is what occurs without calls to SetGlobalMaximumNumberOfThreads > > (int val) or SetGlobalDefaultNumberOfThreads > > (int val). > > > I have a multiuser linux environment and would like to have some control > over the default number of threads per process that itk makes at a system > level. Id rather not have the process call SetGlobalMaximumNumberOfThreads > > themselves, so i was wondering if there was an environment variable or some > other way to set this. > > Thanks. > Luke > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From fabbri at u.washington.edu Thu Dec 3 14:05:53 2009 From: fabbri at u.washington.edu (Serena Fabbri) Date: Thu, 3 Dec 2009 11:05:53 -0800 (PST) Subject: [Insight-users] call metric in Observer code...bug? In-Reply-To: Message-ID: Hi Luis, A) I am using BSpline Transform. I pass the Trasform used for Global MI to the metric2. If I define a Transform for the small region I obtain this error: BSpline_MMI_RSG(4731) malloc: *** vm_allocate(size=4294926336) failed (error code=3) BSpline_MMI_RSG(4731) malloc: *** error: can't allocate region BSpline_MMI_RSG_1(4731) malloc: *** set a breakpoint in szone_error to debug Abort trap This is the code for the Transform FixedImageType::IndexType start; FixedImageType::SizeType size; start[0]=43; start[1]=17; start[2]=0; size[0]=10; size[1]=13; size[2]=20; FixedImageType::RegionType fixedRegionMetric; fixedRegionMetric.SetIndex(start); fixedRegionMetric.SetSize(size); typedef DeformableTransformType::RegionType RegionTypeM; RegionTypeM bsplineRegionM; RegionTypeM::SizeType gridSizeOnImageM; RegionTypeM::SizeType gridBorderSizeM; RegionTypeM::SizeType totalGridSizeM; unsigned int numberOfGridNodesInOneDimensionCoarseM = 3; numberOfGridNodesInOneDimensionCoarseM = 10; gridSizeOnImageM.Fill( numberOfGridNodesInOneDimensionCoarseM ); gridBorderSizeM.Fill( SplineOrder ); // Border for spline order = 3 ( 1 lower, 2 upper ) totalGridSizeM = gridSizeOnImageM + gridBorderSizeM; bsplineRegionM.SetSize( totalGridSizeM ); SpacingType spacingM = fixedImage->GetSpacing(); OriginType originM = fixedImage->GetOrigin(); FixedImageType::SizeType fixedImageSizeM = fixedRegionMetric.GetSize(); std::cout<(fixedImageSizeM[r] - 1) / static_cast(gridSizeOnImageM[r] - 1); } FixedImageType::DirectionType gridDirectionM = fixedImage->GetDirection(); SpacingType gridOriginOffsetM = gridDirectionM * spacingM; OriginType gridOriginM = originM - gridOriginOffsetM; bsplineTransformCoarseM->SetGridSpacing( spacingM ); bsplineTransformCoarseM->SetGridOrigin( gridOriginM ); bsplineTransformCoarseM->SetGridRegion( bsplineRegionM ); bsplineTransformCoarseM->SetGridDirection( gridDirectionM ); bsplineTransformCoarseM->SetParameters( initialDeformableTransformParameters ); B) local MI uses the same optimizer than global MI (Regular Step Gradient Descent). It works fine in the registration task. C) I used SetUseAllPixels for the small region too. The region is small in fact the number of pixel is 2600. On Wed, 2 Dec 2009, Luis Ibanez wrote: > Hi Serena, > > > Thanks for the update. > > > The new error message indicates that the number of samples > landing in the overlapping region between the FixedImageRegion > and the moving image is too small. > > This is usually an indication of: > > > A) A poorly initialized Transform, or > > B) A transform that went too far > usually due to a misconfigured optimizer > > C) Setting the number of samples > to a value that is too small. > > > Let's start with (A),.... how are you initializing > the Transform used to compute the value of MI > in the local small regions ? > > > Please let us know, > > > Thanks > > > Luis > > > ----------------------------------------------------- > On Wed, Dec 2, 2009 at 5:52 PM, Serena Fabbri wrote: >> >> Hi Luis, >> >> Thank you for your replay. >> >> I think it was my oversight because I printed the globalMI twice......sorry >> about that!! >> >> >> I fixed the code and now I am obtaining this error: >> >> ExceptionObject caught ! >> >> itk::ExceptionObject (0xd01060) >> Location: "typename itk::ImageToImageMetric> TMovingImage>::MeasureType >> itk::MattesMutualInformationImageToImageMetric> TMovingImage>::GetValue(typename itk::ImageToImageMetric> TMovingImage>::ParametersType&) const [with TFixedImage = >> itk::OrientedImage, TMovingImage = itk::OrientedImage]" >> File: /Users/fabbri/InsightToolkit- >> 3.10.0/Code/Algorithms/itkMattesMutualInformationImageToImageMetric.txx >> Line: 830 >> Description: itk::ERROR: >> MattesMutualInformationImageToImageMetric(0xd01b00): Too many samples map >> outside moving image buffer: 0 / 1000 >> >> >> I have taken a look to MattesMutualInformation code and I have found that: >> Initialize() calls PreComputeTransformValues() >> In PreComputeTransformValues() weights and indices are calculated. >> I have found that weights are 0 or e-306 and the indices are always 0. >> These values are used in TransformPoint (GetValue() code) to calculate the >> mappedPoints. >> The calculated mappedPoints are outside my movingImage. >> >> I'd like to ask you if it is a bug or I get this error because the region I >> used for MI local is really little compared to fixed and moving image. >> >> Any suggestion will be very appreciate. >> >> Thank you. >> Serena. >> >> >> >> >> >> On Tue, 1 Dec 2009, Luis Ibanez wrote: >> >>> Hi Serena, >>> >>> Thanks for letting us know of your progress. >>> >>> -- >>> >>> Regarding your question, >>> >>> Please note that Mutual Information is NOT and additive measure. >>> >>> >>> That is, if you computed a value of Mutual Information, in a region R, >>> and then you partition that Region R into two subregions R1 and R2, >>> and compute Mutual information in R1 and then in R2, the sum of >>> these two last numbers will NOT be equal to the mutual information >>> of R. >>> >>> In short: >>> >>> ? ? ? ? ? ? ? ? ? ? MI( R ) ?!= ?MI( R1 ) ?+ MI( R2 ) >>> >>> This is because MI is related to the logs of probabilities of intensity >>> pairs (pixel counts). >>> >>> So... it still may be ok that you get similar values of Mutual Information >>> from MI(R) ?and MI( R1). ? In principle, it just tells you that the >>> statistical >>> distribution of pixels intensity pairs in the Region R is similar to the >>> one >>> in the subregion R1. >>> >>> I don't know if that helps you with the original goal that you had for >>> computing MI in subregions of the image..... >>> >>> >>> ? ? ?Regards, >>> >>> >>> ? ? ? ? ? ? Luis >>> >>> >>> >>> ----------------------------------------------------------------------------- --- >> >> --- >>> >>> On Mon, Nov 30, 2009 at 8:10 PM, Serena Fabbri >>> wrote: >>>> >>>> Hi Luis, >>>> >>>> thank you very much to explain clearly the mistake. >>>> I fixed the code and now I am able to calculate local MI. >>>> >>>> >>>> Now I am a bit surprised because the SetFixedImageRegion is (10,17,20) >>>> pixelsize and the FixedImage is ?(80,80,101) pixelsize and >>>> I am finding that the values of local MI are pretty close to the global >>>> values of MI. I use all pixel for ?local MI and 10% of statistic for >>>> global >>>> MI. >>>> >>>> Do you think this is reasonable? >>>> >>>> Thanks again for any suggestion. >>>> >>>> Serena. >>>> >>>> >>>> These are the results of LOCAL MI: >>>> >>>> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 >>>> -0.468013 >>>> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >>>> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 >>>> -0.492886 >>>> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 ? 18 >>>> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >>>> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >>>> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 >>>> -0.51411 >>>> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 >>>> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >>>> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >>>> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 >>>> -0.526987 >>>> ? 48 ? -0.528026 ? 49 ? -0.528595 ? 50 ? -0.529578 >>>> >>>> >>>> -GLOBAL MI >>>> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 >>>> -0.468013 >>>> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >>>> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 >>>> -0.492886 >>>> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 ? 18 >>>> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >>>> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >>>> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 >>>> -0.51411 >>>> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 >>>> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >>>> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >>>> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 >>>> -0.526987 >>>> ? 48 ? -0.528026 ? 49 ? -0.528595 >>>> >>>> >>>> On Thu, 26 Nov 2009, Luis Ibanez wrote: >>>> >>>>> Serena, >>>>> >>>>> The "caller" argument of the Execute method is an Observer >>>>> is the pointer to the object that invoked the event. >>>>> >>>>> In your particular case, this is the Optimizer. >>>>> >>>>> As Bill explained, >>>>> you can only cast "caller" to the OptimizerType. >>>>> >>>>> >>>>> For all the other elements of the registration framework, you have >>>>> to pass them through other means to the command. >>>>> >>>>> One way of doing this is to have them as Member variables, >>>>> and to have "Set" methods for them. >>>>> >>>>> Like >>>>> >>>>>> class CommandIterationUpdate : public itk::Command { >>>>>> public: >>>>>> ?typedef ?CommandIterationUpdate ? Self; >>>>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>>>> ?typedef itk::SmartPointer ?Pointer; >>>>>> ?itkNewMacro( Self ); >>>>>> >>>>>> protected: >>>>>> ?CommandIterationUpdate() {}; >>>>>> >>>>>> public: >>>>>> ?typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>>>>> ?typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>>>> >>>>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>>>> ? ? ? typedef ? const ?FixedImageType* ?FixedImagePointer; >>>>>> >>>>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>>>> >>>>>> ? ? ? typedef itk::MattesMutualInformationImageToImageMetric< >>>>>> FixedImageType, MovingImageType >>>>>>> >>>>>>> MetricType; >>>>>> >>>>>> ? ? ? typedef ? const MetricType* ?MetricPointer; >>>>>> >>>>>> ? ? ? typedef itk::BSplineDeformableTransform< double,3,3 > >>>>>> DeformableTransformType; >>>>>> ? ? ? typedef ? const DeformableTransformType* ?TransformPointer; >>>>>> >>>>> MetricPointer ? ? ? ? ? ?m_Metric; >>>>> TransformPointer ? ?m_Transform; >>>>> FixedImagePointer ? ?m_FixedImage; >>>>> MovingImagePointer ? ?m_MovingImage; >>>>> >>>>> >>>>> public: >>>>> >>>>> ?SetTransform( TransformType * transform ) { ?m_Transform = transform; } >>>>> ?SetFixedImage( FixedImageType * fixed ) { ?m_FixedImage = fixed; } >>>>> ?SetMovingImage( MovingImageType * moving ) { ?m_MovingImage = moving; } >>>>> >>>>> >>>>> and then you can use them in your Execute method. >>>>> >>>>> Also, >>>>> when you connect the Command to the optimizer, >>>>> you should also do: >>>>> >>>>> >>>>> ? observer->SetFixedImage( fixedImage ); >>>>> ? observer->SetMovingImage( movingImage ); >>>>> ? observer->SetTransform( transform ); >>>>> >>>>> ? optimizer->AddObserver( itk::IterationEvent(), observer ); >>>>> >>>>> In this way, the components of the registration framework >>>>> will be available to the internals of your observer class. >>>>> >>>>> >>>>> Regards, >>>>> >>>>> >>>>> ? ? ? ? Luis >>>>> >>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------------- -- >> >> -- >>>>> >>>>> On Wed, Nov 25, 2009 at 8:51 PM, Serena Fabbri >>>>> wrote: >>>>>> >>>>>> Hi All, >>>>>> >>>>>> I am registering CT image and MRI image with Mattes MI and Bspline >>>>>> Transformation. >>>>>> I'd like to know the value of MI of a little area of the fixed image >>>>>> during >>>>>> the registration process. >>>>>> I call the metric in the observer code but i get a bus error. >>>>>> >>>>>> could anybody suggest me where the error is? >>>>>> >>>>>> Thank you very much. >>>>>> >>>>>> Serena >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> class CommandIterationUpdate : public itk::Command { >>>>>> public: >>>>>> ?typedef ?CommandIterationUpdate ? Self; >>>>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>>>> ?typedef itk::SmartPointer ?Pointer; >>>>>> ?itkNewMacro( Self ); >>>>>> >>>>>> protected: >>>>>> ?CommandIterationUpdate() {}; >>>>>> >>>>>> public: >>>>>> ? typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>>>>> ? typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>>>> >>>>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>>>> ? ? ? ?typedef ? const ?FixedImageType* ?FixedImagePointer; >>>>>> >>>>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>>>> >>>>>> ? ? ? ?typedef itk::MattesMutualInformationImageToImageMetric< >>>>>> FixedImageType, MovingImageType >>>>>>> >>>>>>> MetricType; >>>>>> >>>>>> ? ? ? ?typedef ? const MetricType* ?MetricPointer; >>>>>> >>>>>> ? ? ? ?typedef itk::BSplineDeformableTransform< double,3,3 > >>>>>> DeformableTransformType; >>>>>> ? ? ? ?typedef ? const DeformableTransformType* ?TransformPointer; >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> ?void Execute(itk::Object *caller, const itk::EventObject & event) >>>>>> ? ?{ >>>>>> ? ? ?Execute( (const itk::Object *)caller, event); >>>>>> ? ?} >>>>>> >>>>>> ?void Execute(const itk::Object * object, const itk::EventObject & >>>>>> event) >>>>>> ? ?{ >>>>>> >>>>>> ? ? ? ? ? ? ? ?OptimizerPointer optimizer = dynamic_cast< >>>>>> OptimizerPointer >>>>>>> >>>>>>> ( object ); >>>>>> >>>>>> ? ? ? ? ? ? ? ?MetricPointer metric = dynamic_cast< MetricPointer >( >>>>>> object >>>>>> ); >>>>>> ? ? ? ? ? ? ? ?TransformPointer transform = dynamic_cast< >>>>>> TransformPointer >>>>>>> >>>>>>> ( object ); >>>>>> >>>>>> ? ? ? ? ? ?FixedImagePointer fixedImage = dynamic_cast< >>>>>> FixedImagePointer>( >>>>>> object ); >>>>>> ? ? ? ? ? ? ? ?FixedImageType::IndexType start; >>>>>> ? ? ? ? ? ? ? ?FixedImageType::SizeType size; >>>>>> >>>>>> ? ? ? ? ? ? ? ? start[0]=43; >>>>>> ? ? ? ? ? ? ? ? start[1]=30; >>>>>> ? ? ? ? ? ? ? ? start[2]=0; >>>>>> >>>>>> ? ? ? ? ? ? ? ? size[0]=10; >>>>>> ? ? ? ? ? ? ? ? size[1]=17; >>>>>> ? ? ? ? ? ? ? ? size[2]=20; >>>>>> >>>>>> >>>>>> ? ? ? ? ? ? ? ? FixedImageType::RegionType fixedRegionMetric ; >>>>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetIndex(start); >>>>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetSize(size); >>>>>> >>>>>> ? ? ? ? ? ? ? ?OptimizerType::ParametersType parameters; >>>>>> >>>>>> >>>>>> ? ? ?if( !(itk::IterationEvent().CheckEvent( &event )) ) >>>>>> ? ? ? ?{ >>>>>> ? ? ? ?return; >>>>>> ? ? ? ?} >>>>>> ? ? ? ? ? ?metric->SetFixedImageRegion(fixedRegionMetric); >>>>>> ? ? ? ? ? ? ? ?metric->SetUseAllPixels( true ); >>>>>> ? ? ? ? ? ?parameters = transform->GetParameters(); >>>>>> >>>>>> >>>>>> ? ? ? ? ?std::cout << optimizer->GetCurrentIteration() << "MIglobal >>>>>> "<< >>>>>> optimizer->GetValue() << " MIlocal ?"<GetValue(parameters); >>>>>> ? ? ?std::cout << std::endl; >>>>>> >>>>>> >>>>>> >>>>>> ? ?} >>>>>> }; >>>>>> >>>>>> >>>>>> _____________________________________ >>>>>> Powered by www.kitware.com >>>>>> >>>>>> Visit other Kitware open-source projects at >>>>>> http://www.kitware.com/opensource/opensource.html >>>>>> >>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>> http://www.kitware.com/products/protraining.html >>>>>> >>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>> >>>>>> Follow this link to subscribe/unsubscribe: >>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>> >>>>> >>>> >>>> >>>> >>> >> >> >> > From john.drozd at gmail.com Thu Dec 3 15:35:52 2009 From: john.drozd at gmail.com (John Drozd) Date: Thu, 3 Dec 2009 15:35:52 -0500 Subject: [Insight-users] now my dicom series reader seg faults with the changes Message-ID: Hi Bill, Sorry, but it's getting more complicated with itkGDCMIMageIO.cxx. With the previous ITK (the version prior to the rev 1.162 change that you did to itkGDCMIMageIO.cxx so my outputted 3d dicom volume would be in the correct orientation): With this previous ITK, I had code working that read two dicom series and wrote them to a 3d dicom single file volume. Now with the revised ITK (the version with the re 1.162 change that you did to itkGDCMIMageIO.cxx so my outputted 3d dicom volume would be in the correct orientation): With this revised ITK, my code that reads two dicom series and writes them to a 3d dicom single file volume. seg faults. Could you check this for me please. Ideally, I would like my previous segmentation code to output the correct dicom orientation, and my code that reads dicom series to both work with the same version of ITK. Thanks, john You can download my dicom series data as compressed tar.gz from the following links: http://www.apmaths.uwo.ca/~jdrozd/datasubject.tar.gz and http://www.apmaths.uwo.ca/~jdrozd/datasubject4.tar.gz (Prior to running the below code, untar and unzip these two compressed files and have them in the same directory as the code executable) Below is my code: /* to run ReadAtlasDicomSeriesAndReadSubjectDicomSeries.cxx, compile and type: ./ReadAtlasDicomSeriesAndReadSubjectDicomSeries "datasubject" "datasubject4/136_S_0429/MPR__GradWarp__B1_Correction__N3__Scaled/2007-06-18_13_28_06.0/S33724/70809234826766_S33724_I66806_Dicom" */ #if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkOrientedImage.h" #include "itkGDCMImageIO.h" #include "itkGDCMSeriesFileNames.h" #include "itkImageSeriesReader.h" int main(int argc, char *argv[]) { typedef short InputPixelType; const unsigned int InputDimension = 3; typedef itk::Image< InputPixelType, InputDimension > InputImageType; typedef itk::ImageSeriesReader< InputImageType > AtlasReaderSeriesType; typedef itk::ImageSeriesReader< InputImageType > SubjectReaderSeriesType; AtlasReaderSeriesType::Pointer movingatlasfilter = AtlasReaderSeriesType::New(); SubjectReaderSeriesType::Pointer fixedsubjectfilter = SubjectReaderSeriesType::New(); typedef itk::GDCMImageIO ImageIOType; ImageIOType::Pointer gdcmImageIOAtlas = ImageIOType::New(); ImageIOType::Pointer gdcmImageIOSubject = ImageIOType::New(); fixedsubjectfilter->SetImageIO( gdcmImageIOSubject ); movingatlasfilter->SetImageIO( gdcmImageIOAtlas ); typedef itk::GDCMSeriesFileNames AtlasNamesGeneratorType; AtlasNamesGeneratorType::Pointer AtlasnameGenerator = AtlasNamesGeneratorType::New(); typedef itk::GDCMSeriesFileNames SubjectNamesGeneratorType; SubjectNamesGeneratorType::Pointer SubjectnameGenerator = SubjectNamesGeneratorType::New(); SubjectnameGenerator->SetUseSeriesDetails( true ); SubjectnameGenerator->AddSeriesRestriction("0008|0021" ); SubjectnameGenerator->SetDirectory( argv[2] ); AtlasnameGenerator->SetUseSeriesDetails( true ); AtlasnameGenerator->AddSeriesRestriction("0008|0021" ); AtlasnameGenerator->SetDirectory( argv[1] ); try { std::cout << std::endl << "The directory: " << std::endl; std::cout << std::endl << argv[1] << std::endl << std::endl; std::cout << "Contains the following Atlas DICOM Series: "; std::cout << std::endl << std::endl; typedef std::vector< std::string > AtlasSeriesIdContainer; const AtlasSeriesIdContainer & AtlasseriesUID = AtlasnameGenerator->GetSeriesUIDs(); AtlasSeriesIdContainer::const_iterator AtlasseriesItr = AtlasseriesUID.begin(); AtlasSeriesIdContainer::const_iterator AtlasseriesEnd = AtlasseriesUID.end(); while( AtlasseriesItr != AtlasseriesEnd ) { std::cout << AtlasseriesItr->c_str() << std::endl; AtlasseriesItr++; } std::string AtlasseriesIdentifier; if( argc > 4 ) // If no optional series identifier { AtlasseriesIdentifier = argv[3]; } else { AtlasseriesIdentifier = AtlasseriesUID.begin()->c_str(); } std::cout << std::endl << std::endl; std::cout << "Now reading Atlas series: " << std::endl << std::endl; std::cout << AtlasseriesIdentifier << std::endl; std::cout << std::endl << std::endl; typedef std::vector< std::string > AtlasFileNamesContainer; AtlasFileNamesContainer AtlasfileNames; AtlasfileNames = AtlasnameGenerator->GetFileNames( AtlasseriesIdentifier ); movingatlasfilter->SetFileNames( AtlasfileNames ); try { movingatlasfilter->Update(); std::cout << "Atlas read successfully" << std::endl; } catch (itk::ExceptionObject &ex) { std::cout << ex << std::endl; return EXIT_FAILURE; } typedef itk::ImageFileWriter< InputImageType > AtlasWriterSubjectType; AtlasWriterSubjectType::Pointer movingatlasfilterwriter = AtlasWriterSubjectType::New(); movingatlasfilterwriter->UseInputMetaDataDictionaryOff(); movingatlasfilterwriter->SetImageIO( gdcmImageIOAtlas ); movingatlasfilterwriter->SetFileName( "atlasout.dcm" ); movingatlasfilterwriter->SetInput( movingatlasfilter->GetOutput() ); try { movingatlasfilterwriter->Update(); } catch (itk::ExceptionObject &ex) { std::cout << ex << std::endl; return EXIT_FAILURE; } } catch (itk::ExceptionObject &ex) { std::cout << ex << std::endl; return EXIT_FAILURE; } try { std::cout << std::endl << "The directory: " << std::endl; std::cout << std::endl << argv[2] << std::endl << std::endl; std::cout << "Contains the following Subject DICOM Series: "; std::cout << std::endl << std::endl; typedef std::vector< std::string > SubjectSeriesIdContainer; const SubjectSeriesIdContainer & SubjectseriesUID = SubjectnameGenerator->GetSeriesUIDs(); SubjectSeriesIdContainer::const_iterator SubjectseriesItr = SubjectseriesUID.begin(); SubjectSeriesIdContainer::const_iterator SubjectseriesEnd = SubjectseriesUID.end(); while( SubjectseriesItr != SubjectseriesEnd ) { std::cout << SubjectseriesItr->c_str() << std::endl; SubjectseriesItr++; } std::string SubjectseriesIdentifier; if( argc > 4 ) // If no optional series identifier { SubjectseriesIdentifier = argv[2]; } else { SubjectseriesIdentifier = SubjectseriesUID.begin()->c_str(); } std::cout << std::endl << std::endl; std::cout << "Now reading Subject series: " << std::endl << std::endl; std::cout << SubjectseriesIdentifier << std::endl; std::cout << std::endl << std::endl; typedef std::vector< std::string > SubjectFileNamesContainer; SubjectFileNamesContainer SubjectfileNames; SubjectfileNames = SubjectnameGenerator->GetFileNames( SubjectseriesIdentifier ); fixedsubjectfilter->SetFileNames( SubjectfileNames ); try { fixedsubjectfilter->Update(); std::cout << "Subject read successfully" << std::endl; } catch (itk::ExceptionObject &ex) { std::cout << ex << std::endl; return EXIT_FAILURE; } typedef itk::ImageFileWriter< InputImageType > SubjectWriterSubjectType; SubjectWriterSubjectType::Pointer fixedsubjectfilterwriter = SubjectWriterSubjectType::New(); fixedsubjectfilterwriter->UseInputMetaDataDictionaryOff(); fixedsubjectfilterwriter->SetImageIO( gdcmImageIOSubject ); fixedsubjectfilterwriter->SetFileName( "subjectout.dcm" ); fixedsubjectfilterwriter->SetInput( fixedsubjectfilter->GetOutput() ); try { fixedsubjectfilterwriter->Update(); } catch (itk::ExceptionObject &ex) { std::cout << ex << std::endl; return EXIT_FAILURE; } } catch (itk::ExceptionObject &ex) { std::cout << ex << std::endl; return EXIT_FAILURE; } return EXIT_SUCCESS; } -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Thu Dec 3 16:46:22 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Thu, 3 Dec 2009 16:46:22 -0500 Subject: [Insight-users] now my dicom series reader seg faults with the changes In-Reply-To: References: Message-ID: <4db4735c0912031346t5f06aa2bwe6a55e118a92d558@mail.gmail.com> I'll take a look, but it won't be for a few days... Can you clarify what version of itk you are referring to? Is it 3.16? If not, is it the current cvs? There was a bug introduced in the current cvs yesterday. It has been removed. That's why we must know clearly which version you are talking about. Bill On Thu, Dec 3, 2009 at 3:35 PM, John Drozd wrote: > Hi Bill, > > Sorry, but it's getting more complicated with itkGDCMIMageIO.cxx. > > With the previous ITK (the version prior to the rev 1.162 change that you > did to itkGDCMIMageIO.cxx so my outputted 3d dicom volume would be in the > correct orientation): > > With this previous ITK, I had code working that read two dicom series and > wrote them to a 3d dicom single file volume. > > Now with the revised ITK (the version with the re 1.162 change that you did > to itkGDCMIMageIO.cxx so my outputted 3d dicom volume would be in the > correct orientation): > > With this revised ITK, my code that reads two dicom series and writes them > to a 3d dicom single file volume. > seg faults. > > Could you check this for me please. > > Ideally, I would like my previous segmentation code to output the correct > dicom orientation, and my code that reads dicom series to both work with the > same version of ITK. > > Thanks, > john > > You can download my dicom series data as compressed tar.gz from the > following links: > > http://www.apmaths.uwo.ca/~jdrozd/datasubject.tar.gz > > and > > http://www.apmaths.uwo.ca/~jdrozd/datasubject4.tar.gz > > (Prior to running the below code, untar and unzip these two compressed files > and have them in the same directory as the code executable) > > Below is my code: > > /* to run ReadAtlasDicomSeriesAndReadSubjectDicomSeries.cxx, compile and > type: > ./ReadAtlasDicomSeriesAndReadSubjectDicomSeries "datasubject" > "datasubject4/136_S_0429/MPR__GradWarp__B1_Correction__N3__Scaled/2007-06-18_13_28_06.0/S33724/70809234826766_S33724_I66806_Dicom" > */ > > #if defined(_MSC_VER) > #pragma warning ( disable : 4786 ) > #endif > > #include "itkImageFileReader.h" > #include "itkImageFileWriter.h" > #include "itkOrientedImage.h" > #include "itkGDCMImageIO.h" > #include "itkGDCMSeriesFileNames.h" > #include "itkImageSeriesReader.h" > > int main(int argc, char *argv[]) > { > > ? typedef short InputPixelType; > ? const unsigned int?? InputDimension = 3; > > ? typedef itk::Image< InputPixelType, InputDimension > InputImageType; > > ? typedef itk::ImageSeriesReader< InputImageType > AtlasReaderSeriesType; > > ? typedef itk::ImageSeriesReader< InputImageType > SubjectReaderSeriesType; > > ? AtlasReaderSeriesType::Pointer movingatlasfilter = > AtlasReaderSeriesType::New(); > > ? SubjectReaderSeriesType::Pointer fixedsubjectfilter = > SubjectReaderSeriesType::New(); > > ?typedef itk::GDCMImageIO?????????? ImageIOType; > > ? ImageIOType::Pointer gdcmImageIOAtlas = ImageIOType::New(); > > ? ImageIOType::Pointer gdcmImageIOSubject = ImageIOType::New(); > > ? fixedsubjectfilter->SetImageIO( gdcmImageIOSubject ); > > ? movingatlasfilter->SetImageIO( gdcmImageIOAtlas ); > > typedef itk::GDCMSeriesFileNames AtlasNamesGeneratorType; > ? AtlasNamesGeneratorType::Pointer AtlasnameGenerator = > AtlasNamesGeneratorType::New(); > > typedef itk::GDCMSeriesFileNames SubjectNamesGeneratorType; > ? SubjectNamesGeneratorType::Pointer SubjectnameGenerator = > SubjectNamesGeneratorType::New(); > > ? SubjectnameGenerator->SetUseSeriesDetails( true ); > ? SubjectnameGenerator->AddSeriesRestriction("0008|0021" ); > > ? SubjectnameGenerator->SetDirectory( argv[2] ); > > ? AtlasnameGenerator->SetUseSeriesDetails( true ); > ? AtlasnameGenerator->AddSeriesRestriction("0008|0021" ); > > ? AtlasnameGenerator->SetDirectory( argv[1] ); > > try > ??? { > ??? std::cout << std::endl << "The directory: " << std::endl; > ??? std::cout << std::endl << argv[1] << std::endl << std::endl; > ??? std::cout << "Contains the following Atlas DICOM Series: "; > ??? std::cout << std::endl << std::endl; > > typedef std::vector< std::string >??? AtlasSeriesIdContainer; > > ??? const AtlasSeriesIdContainer & AtlasseriesUID = > AtlasnameGenerator->GetSeriesUIDs(); > > ??? AtlasSeriesIdContainer::const_iterator AtlasseriesItr = > AtlasseriesUID.begin(); > ??? AtlasSeriesIdContainer::const_iterator AtlasseriesEnd = > AtlasseriesUID.end(); > ??? while( AtlasseriesItr != AtlasseriesEnd ) > ????? { > ????? std::cout << AtlasseriesItr->c_str() << std::endl; > ????? AtlasseriesItr++; > ????? } > > std::string AtlasseriesIdentifier; > > ??? if( argc > 4 ) // If no optional series identifier > ????? { > ????? AtlasseriesIdentifier = argv[3]; > ????? } > ??? else > ????? { > ????? AtlasseriesIdentifier = AtlasseriesUID.begin()->c_str(); > ????? } > > std::cout << std::endl << std::endl; > ??? std::cout << "Now reading Atlas series: " << std::endl << std::endl; > ??? std::cout << AtlasseriesIdentifier << std::endl; > ??? std::cout << std::endl << std::endl; > > typedef std::vector< std::string >?? AtlasFileNamesContainer; > ??? AtlasFileNamesContainer AtlasfileNames; > > ??? AtlasfileNames = AtlasnameGenerator->GetFileNames( AtlasseriesIdentifier > ); > > ??? movingatlasfilter->SetFileNames( AtlasfileNames ); > > > ??? try > ????? { > ????? movingatlasfilter->Update(); > ????? std::cout << "Atlas read successfully"? << std::endl; > ????? } > ??? catch (itk::ExceptionObject &ex) > ????? { > ????? std::cout << ex << std::endl; > ????? return EXIT_FAILURE; > ????? } > > ????? typedef itk::ImageFileWriter< InputImageType > AtlasWriterSubjectType; > > ? AtlasWriterSubjectType::Pointer movingatlasfilterwriter = > AtlasWriterSubjectType::New(); > > > ? movingatlasfilterwriter->UseInputMetaDataDictionaryOff(); > ? movingatlasfilterwriter->SetImageIO( gdcmImageIOAtlas ); > > > movingatlasfilterwriter->SetFileName( "atlasout.dcm" ); > > movingatlasfilterwriter->SetInput( movingatlasfilter->GetOutput() ); > > > try > ????? { > ????? movingatlasfilterwriter->Update(); > ????? } > ??? catch (itk::ExceptionObject &ex) > ????? { > ????? std::cout << ex << std::endl; > ????? return EXIT_FAILURE; > ????? } > ??? } > ? catch (itk::ExceptionObject &ex) > ??? { > ??? std::cout << ex << std::endl; > ??? return EXIT_FAILURE; > ??? } > > ??? try > ??? { > ??? std::cout << std::endl << "The directory: " << std::endl; > ??? std::cout << std::endl << argv[2] << std::endl << std::endl; > ??? std::cout << "Contains the following Subject DICOM Series: "; > ??? std::cout << std::endl << std::endl; > > typedef std::vector< std::string >??? SubjectSeriesIdContainer; > > ??? const SubjectSeriesIdContainer & SubjectseriesUID = > SubjectnameGenerator->GetSeriesUIDs(); > > ??? SubjectSeriesIdContainer::const_iterator SubjectseriesItr = > SubjectseriesUID.begin(); > ??? SubjectSeriesIdContainer::const_iterator SubjectseriesEnd = > SubjectseriesUID.end(); > ??? while( SubjectseriesItr != SubjectseriesEnd ) > ????? { > ????? std::cout << SubjectseriesItr->c_str() << std::endl; > ????? SubjectseriesItr++; > ????? } > > std::string SubjectseriesIdentifier; > > ??? if( argc > 4 ) // If no optional series identifier > ????? { > ????? SubjectseriesIdentifier = argv[2]; > ????? } > ??? else > ????? { > ????? SubjectseriesIdentifier = SubjectseriesUID.begin()->c_str(); > ????? } > > std::cout << std::endl << std::endl; > ??? std::cout << "Now reading Subject series: " << std::endl << std::endl; > ??? std::cout << SubjectseriesIdentifier << std::endl; > ??? std::cout << std::endl << std::endl; > > typedef std::vector< std::string >?? SubjectFileNamesContainer; > ??? SubjectFileNamesContainer SubjectfileNames; > > ??? SubjectfileNames = SubjectnameGenerator->GetFileNames( > SubjectseriesIdentifier ); > > ??? fixedsubjectfilter->SetFileNames( SubjectfileNames ); > > ??? try > ????? { > ????? fixedsubjectfilter->Update(); > ????? std::cout << "Subject read successfully"? << std::endl; > ????? } > ??? catch (itk::ExceptionObject &ex) > ????? { > ????? std::cout << ex << std::endl; > ????? return EXIT_FAILURE; > ????? } > > ????? typedef itk::ImageFileWriter< InputImageType > > SubjectWriterSubjectType; > > ? SubjectWriterSubjectType::Pointer fixedsubjectfilterwriter = > SubjectWriterSubjectType::New(); > > ? fixedsubjectfilterwriter->UseInputMetaDataDictionaryOff(); > ? fixedsubjectfilterwriter->SetImageIO( gdcmImageIOSubject ); > > ? fixedsubjectfilterwriter->SetFileName( "subjectout.dcm" ); > > ? fixedsubjectfilterwriter->SetInput( fixedsubjectfilter->GetOutput() ); > > > try > ????? { > ????? fixedsubjectfilterwriter->Update(); > ????? } > ??? catch (itk::ExceptionObject &ex) > ????? { > ????? std::cout << ex << std::endl; > ????? return EXIT_FAILURE; > ????? } > ????? } > ? catch (itk::ExceptionObject &ex) > ??? { > ??? std::cout << ex << std::endl; > ??? return EXIT_FAILURE; > ??? } > > > > return EXIT_SUCCESS; > } > > From john.drozd at gmail.com Thu Dec 3 18:54:55 2009 From: john.drozd at gmail.com (John Drozd) Date: Thu, 3 Dec 2009 18:54:55 -0500 Subject: [Insight-users] now my dicom series reader seg faults with the changes In-Reply-To: <4db4735c0912031346t5f06aa2bwe6a55e118a92d558@mail.gmail.com> References: <4db4735c0912031346t5f06aa2bwe6a55e118a92d558@mail.gmail.com> Message-ID: Hi Bill, Thanks. Of course, try this when you find time. That's fine. BUT BEFORE YOU DO ANYTHING, give me a day to download the latest Slicer and CVS and 3.16 to retest my code. The ITK that my dicom series reader code worked with was ITK 3.14 that came with Slicer 3.4. The ITK that my dicom series reader code seg faults with is the ITK that came with the 3D Slicer 3.5 alpha download that I downloaded on 2009-12-02 15:43. I believe that this version of Slicer that I downloaded has ITK 3.16 with the fix that you did to establish the correct orientation, because with this version of ITK, I get the correct orientation from my segmentation code that I sent a few days ago. I've also tested the CVS that I downloaded on 2009-12-01 12:07 and my dicom series reader code seg faults as well. Thanks, john On Thu, Dec 3, 2009 at 4:46 PM, Bill Lorensen wrote: > I'll take a look, but it won't be for a few days... Can you clarify > what version of itk you are referring to? Is it 3.16? If not, is it > the current cvs? There was a bug introduced in the current cvs > yesterday. It has been removed. That's why we must know clearly which > version you are talking about. > > Bill > > On Thu, Dec 3, 2009 at 3:35 PM, John Drozd wrote: > > Hi Bill, > > > > Sorry, but it's getting more complicated with itkGDCMIMageIO.cxx. > > > > With the previous ITK (the version prior to the rev 1.162 change that you > > did to itkGDCMIMageIO.cxx so my outputted 3d dicom volume would be in the > > correct orientation): > > > > With this previous ITK, I had code working that read two dicom series and > > wrote them to a 3d dicom single file volume. > > > > Now with the revised ITK (the version with the re 1.162 change that you > did > > to itkGDCMIMageIO.cxx so my outputted 3d dicom volume would be in the > > correct orientation): > > > > With this revised ITK, my code that reads two dicom series and writes > them > > to a 3d dicom single file volume. > > seg faults. > > > > Could you check this for me please. > > > > Ideally, I would like my previous segmentation code to output the correct > > dicom orientation, and my code that reads dicom series to both work with > the > > same version of ITK. > > > > Thanks, > > john > > > > You can download my dicom series data as compressed tar.gz from the > > following links: > > > > http://www.apmaths.uwo.ca/~jdrozd/datasubject.tar.gz > > > > and > > > > http://www.apmaths.uwo.ca/~jdrozd/datasubject4.tar.gz > > > > (Prior to running the below code, untar and unzip these two compressed > files > > and have them in the same directory as the code executable) > > > > Below is my code: > > > > /* to run ReadAtlasDicomSeriesAndReadSubjectDicomSeries.cxx, compile and > > type: > > ./ReadAtlasDicomSeriesAndReadSubjectDicomSeries "datasubject" > > > "datasubject4/136_S_0429/MPR__GradWarp__B1_Correction__N3__Scaled/2007-06-18_13_28_06.0/S33724/70809234826766_S33724_I66806_Dicom" > > */ > > > > #if defined(_MSC_VER) > > #pragma warning ( disable : 4786 ) > > #endif > > > > #include "itkImageFileReader.h" > > #include "itkImageFileWriter.h" > > #include "itkOrientedImage.h" > > #include "itkGDCMImageIO.h" > > #include "itkGDCMSeriesFileNames.h" > > #include "itkImageSeriesReader.h" > > > > int main(int argc, char *argv[]) > > { > > > > typedef short InputPixelType; > > const unsigned int InputDimension = 3; > > > > typedef itk::Image< InputPixelType, InputDimension > InputImageType; > > > > typedef itk::ImageSeriesReader< InputImageType > AtlasReaderSeriesType; > > > > typedef itk::ImageSeriesReader< InputImageType > > SubjectReaderSeriesType; > > > > AtlasReaderSeriesType::Pointer movingatlasfilter = > > AtlasReaderSeriesType::New(); > > > > SubjectReaderSeriesType::Pointer fixedsubjectfilter = > > SubjectReaderSeriesType::New(); > > > > typedef itk::GDCMImageIO ImageIOType; > > > > ImageIOType::Pointer gdcmImageIOAtlas = ImageIOType::New(); > > > > ImageIOType::Pointer gdcmImageIOSubject = ImageIOType::New(); > > > > fixedsubjectfilter->SetImageIO( gdcmImageIOSubject ); > > > > movingatlasfilter->SetImageIO( gdcmImageIOAtlas ); > > > > typedef itk::GDCMSeriesFileNames AtlasNamesGeneratorType; > > AtlasNamesGeneratorType::Pointer AtlasnameGenerator = > > AtlasNamesGeneratorType::New(); > > > > typedef itk::GDCMSeriesFileNames SubjectNamesGeneratorType; > > SubjectNamesGeneratorType::Pointer SubjectnameGenerator = > > SubjectNamesGeneratorType::New(); > > > > SubjectnameGenerator->SetUseSeriesDetails( true ); > > SubjectnameGenerator->AddSeriesRestriction("0008|0021" ); > > > > SubjectnameGenerator->SetDirectory( argv[2] ); > > > > AtlasnameGenerator->SetUseSeriesDetails( true ); > > AtlasnameGenerator->AddSeriesRestriction("0008|0021" ); > > > > AtlasnameGenerator->SetDirectory( argv[1] ); > > > > try > > { > > std::cout << std::endl << "The directory: " << std::endl; > > std::cout << std::endl << argv[1] << std::endl << std::endl; > > std::cout << "Contains the following Atlas DICOM Series: "; > > std::cout << std::endl << std::endl; > > > > typedef std::vector< std::string > AtlasSeriesIdContainer; > > > > const AtlasSeriesIdContainer & AtlasseriesUID = > > AtlasnameGenerator->GetSeriesUIDs(); > > > > AtlasSeriesIdContainer::const_iterator AtlasseriesItr = > > AtlasseriesUID.begin(); > > AtlasSeriesIdContainer::const_iterator AtlasseriesEnd = > > AtlasseriesUID.end(); > > while( AtlasseriesItr != AtlasseriesEnd ) > > { > > std::cout << AtlasseriesItr->c_str() << std::endl; > > AtlasseriesItr++; > > } > > > > std::string AtlasseriesIdentifier; > > > > if( argc > 4 ) // If no optional series identifier > > { > > AtlasseriesIdentifier = argv[3]; > > } > > else > > { > > AtlasseriesIdentifier = AtlasseriesUID.begin()->c_str(); > > } > > > > std::cout << std::endl << std::endl; > > std::cout << "Now reading Atlas series: " << std::endl << std::endl; > > std::cout << AtlasseriesIdentifier << std::endl; > > std::cout << std::endl << std::endl; > > > > typedef std::vector< std::string > AtlasFileNamesContainer; > > AtlasFileNamesContainer AtlasfileNames; > > > > AtlasfileNames = AtlasnameGenerator->GetFileNames( > AtlasseriesIdentifier > > ); > > > > movingatlasfilter->SetFileNames( AtlasfileNames ); > > > > > > try > > { > > movingatlasfilter->Update(); > > std::cout << "Atlas read successfully" << std::endl; > > } > > catch (itk::ExceptionObject &ex) > > { > > std::cout << ex << std::endl; > > return EXIT_FAILURE; > > } > > > > typedef itk::ImageFileWriter< InputImageType > > AtlasWriterSubjectType; > > > > AtlasWriterSubjectType::Pointer movingatlasfilterwriter = > > AtlasWriterSubjectType::New(); > > > > > > movingatlasfilterwriter->UseInputMetaDataDictionaryOff(); > > movingatlasfilterwriter->SetImageIO( gdcmImageIOAtlas ); > > > > > > movingatlasfilterwriter->SetFileName( "atlasout.dcm" ); > > > > movingatlasfilterwriter->SetInput( movingatlasfilter->GetOutput() ); > > > > > > try > > { > > movingatlasfilterwriter->Update(); > > } > > catch (itk::ExceptionObject &ex) > > { > > std::cout << ex << std::endl; > > return EXIT_FAILURE; > > } > > } > > catch (itk::ExceptionObject &ex) > > { > > std::cout << ex << std::endl; > > return EXIT_FAILURE; > > } > > > > try > > { > > std::cout << std::endl << "The directory: " << std::endl; > > std::cout << std::endl << argv[2] << std::endl << std::endl; > > std::cout << "Contains the following Subject DICOM Series: "; > > std::cout << std::endl << std::endl; > > > > typedef std::vector< std::string > SubjectSeriesIdContainer; > > > > const SubjectSeriesIdContainer & SubjectseriesUID = > > SubjectnameGenerator->GetSeriesUIDs(); > > > > SubjectSeriesIdContainer::const_iterator SubjectseriesItr = > > SubjectseriesUID.begin(); > > SubjectSeriesIdContainer::const_iterator SubjectseriesEnd = > > SubjectseriesUID.end(); > > while( SubjectseriesItr != SubjectseriesEnd ) > > { > > std::cout << SubjectseriesItr->c_str() << std::endl; > > SubjectseriesItr++; > > } > > > > std::string SubjectseriesIdentifier; > > > > if( argc > 4 ) // If no optional series identifier > > { > > SubjectseriesIdentifier = argv[2]; > > } > > else > > { > > SubjectseriesIdentifier = SubjectseriesUID.begin()->c_str(); > > } > > > > std::cout << std::endl << std::endl; > > std::cout << "Now reading Subject series: " << std::endl << > std::endl; > > std::cout << SubjectseriesIdentifier << std::endl; > > std::cout << std::endl << std::endl; > > > > typedef std::vector< std::string > SubjectFileNamesContainer; > > SubjectFileNamesContainer SubjectfileNames; > > > > SubjectfileNames = SubjectnameGenerator->GetFileNames( > > SubjectseriesIdentifier ); > > > > fixedsubjectfilter->SetFileNames( SubjectfileNames ); > > > > try > > { > > fixedsubjectfilter->Update(); > > std::cout << "Subject read successfully" << std::endl; > > } > > catch (itk::ExceptionObject &ex) > > { > > std::cout << ex << std::endl; > > return EXIT_FAILURE; > > } > > > > typedef itk::ImageFileWriter< InputImageType > > > SubjectWriterSubjectType; > > > > SubjectWriterSubjectType::Pointer fixedsubjectfilterwriter = > > SubjectWriterSubjectType::New(); > > > > fixedsubjectfilterwriter->UseInputMetaDataDictionaryOff(); > > fixedsubjectfilterwriter->SetImageIO( gdcmImageIOSubject ); > > > > fixedsubjectfilterwriter->SetFileName( "subjectout.dcm" ); > > > > fixedsubjectfilterwriter->SetInput( fixedsubjectfilter->GetOutput() ); > > > > > > try > > { > > fixedsubjectfilterwriter->Update(); > > } > > catch (itk::ExceptionObject &ex) > > { > > std::cout << ex << std::endl; > > return EXIT_FAILURE; > > } > > } > > catch (itk::ExceptionObject &ex) > > { > > std::cout << ex << std::endl; > > return EXIT_FAILURE; > > } > > > > > > > > return EXIT_SUCCESS; > > } > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan.daenzer at gmail.com Thu Dec 3 20:36:13 2009 From: stefan.daenzer at gmail.com (=?ISO-8859-1?Q?Stefan_D=E4nzer?=) Date: Fri, 4 Dec 2009 02:36:13 +0100 Subject: [Insight-users] Using the meshing classes in ITK In-Reply-To: <1f5d2b4f0912030345j34e13751q192fdac93bec18f8@mail.gmail.com> References: <82f536810912021958l526bd930sda888585a23bcb56@mail.gmail.com> <1f5d2b4f0912030345j34e13751q192fdac93bec18f8@mail.gmail.com> Message-ID: <96b2e5f30912031736g12223b75j3dd9b15cd716cd@mail.gmail.com> Anja, there's also another tool you might want to have a look at for generating tetrahedral meshes. It's called "Voxelizer" by Dan Morris, you can get it here: http://techhouse.brown.edu/~dmorris/projects/voxelizer/ I have used it in the past to generate volumetric meshes from a surface representation in a virtual surgical training simulator a while ago. Good luck with your work! Stefan On Thu, Dec 3, 2009 at 12:45 PM, Anja Ende wrote: > Thank you all for your reply. I will try the iso2Mesh tool and will > let the list know about my experience. > > Cheers, > Anja > > 2009/12/3 Andriy Fedorov : > > Anja, > > > > Here's a package that you might find helpful: > > > > http://iso2mesh.sourceforge.net/ > > > > I personally never used it, but I did have good experience with Tetgen > > and CGAL for the tasks similar to what you want to accomplish. From > > the first look, iso2mesh appears to be a wrapper around several lower > > level meshing tools (including Tetgen and some algorithms from CGAL). > > > > You can use CGAL+Tetgen directly to construct a tetrahedral mesh from > > segmentation, but this will require some time to understand formats, > > parameters, and write some extra code. It looks like iso2mesh does > > this transparently from the user, but I have not tried it myself to > > confirm this. > > > > If you do use this iso2mesh tool, please update the list with your > experience. > > > > Andriy Fedorov > > > > > > > > > >> Date: Wed, 2 Dec 2009 18:46:25 -0500 > >> From: Luis Ibanez > >> Subject: Re: [Insight-users] Using the meshing classes in ITK > >> To: Anja Ende > >> Cc: insight-users at itk.org > >> Message-ID: > >> > >> Content-Type: text/plain; charset=ISO-8859-1 > >> > >> Hi Anja, > >> > >> Welcome to ITK ! > >> > >> Your question is a very interesting one. > >> > >> > >> And to put it shortly: > >> > >> It is one for which we don't have > >> a full answer involving only ITK methods. > >> > >> > >> There are two major pieces to what you are > >> trying to do: > >> > >> 1) Segmenting brain structures from MR and CT brain data. > >> > >> 2) Generating tetrahedral meshes from the segmented > >> regions > >> > >> > >> > >> For (1), ITK provides a very rich set of methods. > >> > >> > >> For (2), you will have to use additional tools. > >> > >> > >> Regarding (1), the type of segmentation methods that you > >> need to use is closely related to the specific brain structure > >> that you want to segment. > >> > >> Popular methods are: > >> > >> * Region growing > >> * Level Sets > >> * Statistical Classification > >> * Atlas-based segmentation > >> > >> and combinations of them, for example > >> > >> * EM segmentation. > >> > >> You will find an introduction to (some of the) > >> segmentation methods in ITK, in the > >> Software Guide: > >> > >> http://www.itk.org/ItkSoftwareGuide.pdf > >> > >> > >> You will also find a good deal of Brain segmentation > >> tools at NAMIC: > >> http://www.na-mic.org/Wiki/index.php/Main_Page > >> > >> and > >> > >> NITRC: > >> http://www.nitrc.org/ > >> > >> > >> Many of them, based on ITK. > >> > >> > >> > >> Regarding the tetrahedral mesh generation: > >> ITK itself does not provide that functionality. > >> > >> The tool that you should try is: > >> http://www.ccad.uiowa.edu/mimx/IA-FEMesh/ > >> > >> (which is also used by several groups at NAMIC): > >> > http://www.na-mic.org/Wiki/index.php/NA-MIC_NCBC_Collaboration:Automated_FE_Mesh_Development > >> > >> > >> This tool needs as input a surface. > >> (a 2D manifold embedded in a 3D space) > >> > >> You can generate such surface by taking the > >> segmentation (typically a binary image) of the > >> brain structures of your interests and extracting > >> its Iso-surface with VTK (typically with the > >> vtkContourFilter) or with a ready-to-use tool > >> like ParaView http://www.paraview.org). > >> (which is based on VTK). > >> > >> > >> > >> Please take a look at these resources > >> and let us know if you have further > >> questions, > >> > >> > >> Thanks > >> > >> > >> Luis > >> > >> > >> > >> > ------------------------------------------------------------------------------------- > >> On Wed, Dec 2, 2009 at 6:56 AM, Anja Ende > wrote: > >>> Hello everyone, > >>> > >>> This is more of a general question. I would like to know more about > >>> generating meshes from MR and CT data. So, I have a brain image and I > >>> would like to generate a tetrahedral based mesh from it and then use > >>> it further for some FEM processing. I am a newbie to this field and > >>> would like to ask a couple of questions and would be very grateful if > >>> someone can take the time to answer them: > >>> > >>> - What pre-processing do I need to do to the itk image so that I can > >>> feed it to a mesh generator? Would I first need to segment the bit > >>> that I am interested in? So, would I need to segment the background > >>> out of the image. > >>> - I am guessing the mesh generators would need some point set as their > >>> input. How could I generate a point set from an itk image? > >>> > >>> I am quite new to this area and am a bit lost as to how to start. > >>> Would really appreciate your help. > >>> > >>> Cheers, > >>> > >>> Anja > >>> _____________________________________ > >>> Powered by www.kitware.com > >>> > >>> Visit other Kitware open-source projects at > >>> http://www.kitware.com/opensource/opensource.html > >>> > >>> Kitware offers ITK Training Courses, for more information visit: > >>> http://www.kitware.com/products/protraining.html > >>> > >>> Please keep messages on-topic and check the ITK FAQ at: > >>> http://www.itk.org/Wiki/ITK_FAQ > >>> > >>> Follow this link to subscribe/unsubscribe: > >>> http://www.itk.org/mailman/listinfo/insight-users > >>> > > > > > > -- > Cheers, > > Anja > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > -- -- Stefan Daenzer K?rnerplatz 8 04107 Leipzig Tel.: +49-176-61157550 "Work like you don't need the money, love like you've never been hurt and dance like no one is watching." - Randall G Leighton -------------- next part -------------- An HTML attachment was scrubbed... URL: From luis.ibanez at kitware.com Thu Dec 3 21:24:34 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Thu, 3 Dec 2009 21:24:34 -0500 Subject: [Insight-users] Registration example in ITK User guide In-Reply-To: References: Message-ID: Hi Xi, If the purpose of the visualization is to verify the quality of the registration, you simply need to use A) the VV application from the Creatis group: http://www.creatis.insa-lyon.fr/rio/vv or B) Slicer (http://www.slicer.org) They are both based on ITK and VTK, and have built-in method for performing visualization of registered images. You will find VV described in the following paper in the Insight Journal: http://www.midasjournal.org/browse/publication/617 Of course, you can also use ParaView directly. Note that ITK can write images in .VTK format, and they can in turn be read in ParaView (and Slicer and VV) directly. Note also that your current .mha or .mhd image can also be directly loaded in ParaView, and Slicer, and VV. In summary: You can simply download any of those three applications and open your current output files without having to do any further processing on them. Regards, Luis ---------------------------------------------------------------------------------------------- On Wed, Dec 2, 2009 at 9:32 PM, Xi LIANG wrote: > Dear all, > Finally I finished compiling and > building?Examples/Registration/DeformableRegistration8.cxx. This is a > multi-resolution, 3D deformable registration example. I got couple of mha, > mhd, raw files for fixed, moving, transformed images, and deformation fields > as output. > However, I realize what I have done was the easiest part, and > the?visualization?is my real problem. Followings are my understanding of > what I should do > 1. process mha, raw format of data by VTK, and generates corresponding *.vtk > files. > 2. Then visualize VTK files through ParaView or Slicer. > I doubt that the VTK file I need to write wont be easily done, as Im reading > the VTK user guide, and the 3D?visualization is not an easy sell. > Is there any other easy choice to visualize the image, since my focus is > Registration. OR... I really need to work hard on VTK as well, in order to > evaluate the registration from ITK properly. > > Cheers, > -------------------------------- > Xi Liang > > ?? > -------------------------------- > > > > ________________________________ > Windows Live Hotmail: Your friends can get your Facebook updates, right from > Hotmail?. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Thu Dec 3 21:39:43 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Thu, 3 Dec 2009 21:39:43 -0500 Subject: [Insight-users] Histogram modification - troubles with SetFrequency In-Reply-To: <26621725.post@talk.nabble.com> References: <26615939.post@talk.nabble.com> <26621725.post@talk.nabble.com> Message-ID: Hi Sacrif, A) The problem is probably that "pow()" is returning a double. Please try replacing the expression: histogram->SetFrequency(bin, pow(histogram->GetFrequency(bin,0),2)); with the more explicit: const float value = pow(histogram->GetFrequency(bin,0),2); histogram->SetFrequency(bin,value); B) In your second expression: partialHistogramVector_[0]->SetFrequency(bin, value); what is the type of the variable : partialHistogramVector_ please post the declaration of its type. C) If you use the New Statistics Framework, you will have available the following method: /** Set all the bins in the histogram to a specified frequency */ void SetFrequency( AbsoluteFrequencyType value ); /** Set the frequency of an instance identifier. Returns false if the bin is * out of bounds. */ bool SetFrequency( InstanceIdentifier id, AbsoluteFrequencyType value); /** Set the frequency of an index. Returns false if the bin is * out of bounds. */ bool SetFrequency(const IndexType &index, AbsoluteFrequencyType value); /** Set the frequency of a measurement. Returns false if the bin is * out of bounds. */ bool SetFrequency(const MeasurementVectorType &measurement, AbsoluteFrequencyType value); Note that in the New Statistics Framework, the type AbsoluteFrequencyType is declared in the file Insight/Code/Review/Statistics/ itkMeasurementVectorTraits.h as typedef size_t InstanceIdentifier; /** Type defined for representing the frequency of measurement vectors */ typedef InstanceIdentifier AbsoluteFrequencyType; which is intended to just "Count" elements the histogram bins. this is therefore an "Integer" type. Not a float type as the FrequencyType was in the old framework. Should you need to compute relative frequencies, then you can use in the New framework, the type RelativeFrequencyType. Regards, Luis ------------------------------------------------------------------------------------------------- On Thu, Dec 3, 2009 at 3:12 AM, sacrif wrote: > > Hi Luis! > > Thank you for your reply. > The program does not compile. The exact error message is: > > 1>Compiling... > 2>AlphaHistogram.cpp > 2>..\Alpha_Histogramm\AlphaHistogram.cpp(229) : error C2663: > 'itk::Statistics::Histogram::SetFrequency' : 4 overloads have > no legal conversion for 'this' pointer > 2> ? ? ? ?with > 2> ? ? ? ?[ > 2> ? ? ? ? ? ?TMeasurement=double > 2> ? ? ? ?] > > > So if I take the "bool SetFrequency" method my arguments should be: > 1. unsigned long identifier; > 2. float value; > > So what I tried now is the following but the same error still occures: > unsigned long bin = 1000; > float value = 10; > partialHistogramVector_[0]->SetFrequency(bin, value); > > > When I use the new Statistics Framework, are there any changes for the > creation of histograms(or are descriptions in ImageHistogram1-4.cxx and > Histogram.cxx still valid) the ?and the use of the Set - GetFrequency > methods? > > Regards Mark > > > Luis Ibanez wrote: >> >> Hi Sacrif, >> >> In the old statistics framework, >> the FrequencyType of the Histogram is defined as: >> >> ? ? ? ? ? ? ? ? ? ?typedef float FrequencyType; >> >> in the file >> >> ? Insight/Code/Numerics/Statistics/itkDenseFrequencyContainer.h >> >> >> >> When you say about the expression: >> >> >>> ?histogram->SetFrequency(bin, pow(histogram->GetFrequency(bin,0),2)); // >>> pow(x,2) >> >> >> that: >> >> ? ? ? ? ? ? ? ? "It doesn't work"... >> >> >> do you mean that: >> >> A) It doesn't compile ? >> >> B) It seg. faults at run time ? >> >> C) It throws an exception at run time ? >> >> D) It doesn't produce any errors, but the resulting >> ? ? numerical value is not the expected one ?? >> >> >> ? Please be more specific, >> >> >> ? ? ? ?Thanks >> >> >> ? ? ? ? ? ? ? Luis >> >> ---------- >> >> BTW: Please note that the Statistics Framework was fully >> refactored and that the new version is under: >> >> ? ? Insight/Code/Review/Statistics >> >> we strongly encourage you to adopt this new version. >> >> In order to use it, you just need to reconfigure ITK with CMake >> and turn ON the following two CMake variables: >> >> ? ? ? ? ? ITK_USE_REVIEW >> ? ? ? ? ? ITK_USE_REVIEW_STATISTICS >> >> >> >> >> >> -------------------------------------------------------------------------------------------------------------- >> On Wed, Dec 2, 2009 at 3:34 PM, sacrif wrote: >>> >>> Hello, >>> >>> I am new to ITK and have troubles with the histogram->SetFrequency() >>> method. >>> What I did yet was to read in a 3d Analyse image (.hdr and .img format) >>> using the filereader >>> and the AnlayseImageIO class. Then I used the >>> "itkScalarImageToHistogramGenerator.h" class to create a histogram out of >>> the image I read in. So far everything worked well. However my next step >>> is >>> to modify the histogram. I want to exponentiate the frequency value of >>> every >>> bin by a certain number. ?I tried to do that with the following code. >>> >>> //------------------------------------------- >>> typedef signed short PixelType; >>> static const unsigned int Dimension = 3; >>> typedef itk::Image ImageType; >>> typedef itk::Statistics::ScalarImageToHistogramGenerator< ImageType > >>> HistogramGeneratorType; >>> typedef HistogramGeneratorType::HistogramType ?HistogramType; >>> ?... >>> ?const HistogramType * histogram = histogramGenerator->GetOutput(); >>> ?const unsigned int histogramSize = histogram->Size(); >>> >>> ?unsigned int bin; >>> ?for( bin=0; bin < histogramSize; bin++ ) >>> ? ?{ >>> ? ? ? ?histogram->SetFrequency(bin, >>> pow(histogram->GetFrequency(bin,0),2)); // >>> pow(x,2) just exponentitates x with 2. >>> ? ?} >>> //------------------------------------------- >>> >>> Unfortunately this does not work - obviously "unsigned int" is not the >>> right >>> type to asign. >>> I also tried to define: >>> ? ? ? ?HistogramType::IndexType index; >>> ? ? ? ?index[0] = 1000; // just as an example >>> >>> and put "index" at the place of "bin"( histogram->SetFrequency(index, >>> pow(histogram->GetFrequency(bin,0),2));), but it did not work. >>> Could you please tell me what kind of arguments SetFrequency needs, or >>> whether there is a better way to modify the histogram. >>> (histogram->GetFrequency(bin, 0) works without any problems by the way) >>> >>> Kind Regards >>> Mark >>> -- >>> View this message in context: >>> http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26615939.html >>> Sent from the ITK - Users mailing list archive at Nabble.com. >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26621725.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Thu Dec 3 21:51:52 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Thu, 3 Dec 2009 21:51:52 -0500 Subject: [Insight-users] Labeling an image and displaying results with distinguished levels of gray/colors In-Reply-To: <989261.56305.qm@web28316.mail.ukl.yahoo.com> References: <989261.56305.qm@web28316.mail.ukl.yahoo.com> Message-ID: Hi James, There are three easy methods for coloring an image of labels. Method A: Use the method illustrated in the example: Insight/Examples/Segmentation/WatershedSegmentation1.cxx namely: typedef itk::Functor::ScalarToRGBPixelFunctor ColorMapFunctorType; typedef itk::UnaryFunctorImageFilter ColorMapFilterType; ColorMapFilterType::Pointer colormapper = ColorMapFilterType::New(); Method B: Use the tkScalarToRGBColormapImageFilter.h class in the directory: Insight/Code/Review This filter is described in the following Insight Journal paper: http://www.insight-journal.org/browse/publication/285 Method C: Use the filter Insight/Code/Review/ itkLabelToRGBImageFilter.h that is described in the Insight Journal paper: http://www.insight-journal.org/browse/publication/176 If you are planning on doing extensive work with labeled images, you may want to use Method C, and get familiar with the associated Insight Journal paper, since it provides a very rich collection of classes and filters for dealing with labeled images. Regards, Luis -------------------------------------------------------------------------------------- On Thu, Dec 3, 2009 at 5:36 AM, Malsoaz James wrote: > Hello, I'm trying to label a binary image. For that, I have been using > ConnectedComponentImageFilter and RelabelComponentImageFilter with no > problem apparently. > > I'm able to get the number of objects and the size of them. But I can't > figure out how to display the objects found in the image with different > levels of gray (prefered solution) or different colors. Indeed, I'm getting > an almost black image where I can difficultly distinguish the objects. > > I would really appreciate some help to solve this. > Thank you. > James > > By the way, here is my code: > > typedef unsigned char PixelType; > typedef itk::Image ImageType; > typedef itk::ImageFileReader ReaderType; > typedef itk::ImageFileWriter WriterType; > typedef itk::ConnectedComponentImageFilter > LabelType; > typedef itk::RelabelComponentImageFilter > RelabelType; > > > int main(int argc, char *argv[]) > { > ReaderType::Pointer reader = ReaderType::New(); > WriterType::Pointer writer = WriterType::New(); > LabelType::Pointer labeler = LabelType::New(); > RelabelType::Pointer relabeler = RelabelType::New(); > > reader->SetFileName("input.bmp"); > > labeler->SetInput(reader->GetOutput()); > labeler->Update(); > > relabeler->SetInput(labeler->GetOutput()); > relabeler->Update(); > > for (unsigned int i=0; iGetNumberOfObjects(); i++) > { > std::cout<<"Number of pixel for object "< "<GetSizeOfObjectsInPixels()[i]< } > writer->SetFileName("output.bmp"); > writer->SetInput(relabeler->GetOutput()); > writer->Update(); > return EXIT_SUCCESS; > > } > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From luis.ibanez at kitware.com Thu Dec 3 22:08:06 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Thu, 3 Dec 2009 22:08:06 -0500 Subject: [Insight-users] call metric in Observer code...bug? In-Reply-To: References: Message-ID: Hi Serena, Thanks for the details.... but... I have now more questions here In (A), I guess that you meant that you pass to the local BSpline transform the same AFFINE transform that you used for the Bulk Transform of the Global BSpline Transform. Is that right ? -- The Error: BSpline_MMI_RSG(4731) malloc: *** vm_allocate(size=4294926336) failed (error code=3) Seems to be the result of storing a negative number into an unsigned type, in which case you get the modulo 2 of that number under the 32 bits conversion. The number "4294926336" is what you will get if you assign -40960 to an unsigned type. One of your computations may have slipped an incorrect sign.... B) When you set the optimizer for the local region you probably should start with a very small step length. What value of "maximum step length" are you currently using ? C) Using All pixels in the small regions sounds like the right thing to do in this case. Regards, Luis -------------------------------------------------------------------------------------------- On Thu, Dec 3, 2009 at 2:05 PM, Serena Fabbri wrote: > Hi Luis, > > A) > I am using BSpline Transform. > I pass the Trasform used for Global MI to the metric2. > > If I define a Transform ?for the small region I obtain this error: > > BSpline_MMI_RSG(4731) malloc: *** vm_allocate(size=4294926336) failed (error > code=3) > BSpline_MMI_RSG(4731) malloc: *** error: can't allocate region > BSpline_MMI_RSG_1(4731) malloc: *** set a breakpoint in szone_error to debug > Abort trap > > > > This is the code for the Transform > > ? ? ? ?FixedImageType::IndexType start; > ? ? ? ?FixedImageType::SizeType size; > > ? ? ? ?start[0]=43; > ? ? ? ?start[1]=17; > ? ? ? ?start[2]=0; > > ? ? ? ?size[0]=10; > ? ? ? ?size[1]=13; > ? ? ? ?size[2]=20; > > > ? ? ? ?FixedImageType::RegionType fixedRegionMetric; > ? ? ? ?fixedRegionMetric.SetIndex(start); > ? ? ? ?fixedRegionMetric.SetSize(size); > > > ?typedef DeformableTransformType::RegionType RegionTypeM; > ?RegionTypeM bsplineRegionM; > ?RegionTypeM::SizeType ? gridSizeOnImageM; > ?RegionTypeM::SizeType ? gridBorderSizeM; > ?RegionTypeM::SizeType ? totalGridSizeM; > > ?unsigned int numberOfGridNodesInOneDimensionCoarseM = 3; > ?numberOfGridNodesInOneDimensionCoarseM = 10; > ?gridSizeOnImageM.Fill( numberOfGridNodesInOneDimensionCoarseM ); > ?gridBorderSizeM.Fill( SplineOrder ); ? ?// Border for spline order = 3 ( 1 > lower, 2 upper ) > ?totalGridSizeM = gridSizeOnImageM + gridBorderSizeM; > > ?bsplineRegionM.SetSize( totalGridSizeM ); > > > ?SpacingType spacingM = fixedImage->GetSpacing(); > ?OriginType originM = fixedImage->GetOrigin(); > > ?FixedImageType::SizeType fixedImageSizeM = fixedRegionMetric.GetSize(); > ?std::cout< > ?for(unsigned int r=0; r ? ?{ > ? ?spacingM[r] *= static_cast(fixedImageSizeM[r] - 1) ?/ > ? ? ? ? ? ? ? ? ?static_cast(gridSizeOnImageM[r] - 1); > ? ?} > > ?FixedImageType::DirectionType gridDirectionM = fixedImage->GetDirection(); > ?SpacingType gridOriginOffsetM = gridDirectionM * spacingM; > > ?OriginType gridOriginM = originM - gridOriginOffsetM; > > ?bsplineTransformCoarseM->SetGridSpacing( spacingM ); > ?bsplineTransformCoarseM->SetGridOrigin( gridOriginM ); > ?bsplineTransformCoarseM->SetGridRegion( bsplineRegionM ); > ?bsplineTransformCoarseM->SetGridDirection( gridDirectionM ); > ?bsplineTransformCoarseM->SetParameters( > initialDeformableTransformParameters ); > > > > > B) > local MI uses the same optimizer than global MI (Regular Step Gradient > Descent). > It works fine in the registration task. > > > C) > I used SetUseAllPixels for the small region too. The region is small in fact > the number of pixel is 2600. > > > > > > > > On Wed, 2 Dec 2009, Luis Ibanez wrote: > >> Hi Serena, >> >> >> Thanks for the update. >> >> >> The new error message indicates that the number of samples >> landing ?in the overlapping region between the FixedImageRegion >> and the moving image is too small. >> >> This is usually an ?indication of: >> >> >> ? ? ? ? ? A) ? A poorly initialized Transform, ? or >> >> ? ? ? ? ? B) ? A transform that went too far >> ? ? ? ? ? ? ? ? usually due to a misconfigured optimizer >> >> ? ? ? ? ? C) ? Setting the number of samples >> ? ? ? ? ? ? ? ? to a value that is too small. >> >> >> Let's start with (A),.... how are you initializing >> the Transform used to compute the value of MI >> in the local small regions ? >> >> >> ? ?Please let us know, >> >> >> ? ? ? ? Thanks >> >> >> ? ? ? ? ? ? ? Luis >> >> >> ----------------------------------------------------- >> On Wed, Dec 2, 2009 at 5:52 PM, Serena Fabbri >> wrote: >>> >>> Hi Luis, >>> >>> Thank you for your replay. >>> >>> I think it was my oversight because I printed the globalMI >>> twice......sorry >>> about that!! >>> >>> >>> I fixed the code and now I am obtaining this error: >>> >>> ExceptionObject caught ! >>> >>> itk::ExceptionObject (0xd01060) >>> Location: "typename itk::ImageToImageMetric>> TMovingImage>::MeasureType >>> itk::MattesMutualInformationImageToImageMetric>> TMovingImage>::GetValue(typename itk::ImageToImageMetric>> TMovingImage>::ParametersType&) const [with TFixedImage = >>> itk::OrientedImage, TMovingImage = itk::OrientedImage>> 3>]" >>> File: /Users/fabbri/InsightToolkit- >>> 3.10.0/Code/Algorithms/itkMattesMutualInformationImageToImageMetric.txx >>> Line: 830 >>> Description: itk::ERROR: >>> MattesMutualInformationImageToImageMetric(0xd01b00): Too many samples map >>> outside moving image buffer: 0 / 1000 >>> >>> >>> I have taken a look to MattesMutualInformation code and I have found >>> that: >>> Initialize() calls PreComputeTransformValues() >>> In PreComputeTransformValues() weights and indices are calculated. >>> I have found that weights are 0 or e-306 and the indices are always 0. >>> These values are used in TransformPoint (GetValue() code) to calculate >>> the >>> mappedPoints. >>> The calculated mappedPoints are outside my movingImage. >>> >>> I'd like to ask you if it is a bug or I get this error because the region >>> I >>> used for MI local is really little compared to fixed and moving image. >>> >>> Any suggestion will be very appreciate. >>> >>> Thank you. >>> Serena. >>> >>> >>> >>> >>> >>> On Tue, 1 Dec 2009, Luis Ibanez wrote: >>> >>>> Hi Serena, >>>> >>>> Thanks for letting us know of your progress. >>>> >>>> -- >>>> >>>> Regarding your question, >>>> >>>> Please note that Mutual Information is NOT and additive measure. >>>> >>>> >>>> That is, if you computed a value of Mutual Information, in a region R, >>>> and then you partition that Region R into two subregions R1 and R2, >>>> and compute Mutual information in R1 and then in R2, the sum of >>>> these two last numbers will NOT be equal to the mutual information >>>> of R. >>>> >>>> In short: >>>> >>>> ? ? ? ? ? ? ? ? ? ? MI( R ) ?!= ?MI( R1 ) ?+ MI( R2 ) >>>> >>>> This is because MI is related to the logs of probabilities of intensity >>>> pairs (pixel counts). >>>> >>>> So... it still may be ok that you get similar values of Mutual >>>> Information >>>> from MI(R) ?and MI( R1). ? In principle, it just tells you that the >>>> statistical >>>> distribution of pixels intensity pairs in the Region R is similar to the >>>> one >>>> in the subregion R1. >>>> >>>> I don't know if that helps you with the original goal that you had for >>>> computing MI in subregions of the image..... >>>> >>>> >>>> ? ? ?Regards, >>>> >>>> >>>> ? ? ? ? ? ? Luis >>>> >>>> >>>> >>>> >>>> ----------------------------------------------------------------------------- > > --- >>> >>> --- >>>> >>>> On Mon, Nov 30, 2009 at 8:10 PM, Serena Fabbri >>>> wrote: >>>>> >>>>> Hi Luis, >>>>> >>>>> thank you very much to explain clearly the mistake. >>>>> I fixed the code and now I am able to calculate local MI. >>>>> >>>>> >>>>> Now I am a bit surprised because the SetFixedImageRegion is (10,17,20) >>>>> pixelsize and the FixedImage is ?(80,80,101) pixelsize and >>>>> I am finding that the values of local MI are pretty close to the global >>>>> values of MI. I use all pixel for ?local MI and 10% of statistic for >>>>> global >>>>> MI. >>>>> >>>>> Do you think this is reasonable? >>>>> >>>>> Thanks again for any suggestion. >>>>> >>>>> Serena. >>>>> >>>>> >>>>> These are the results of LOCAL MI: >>>>> >>>>> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 >>>>> -0.468013 >>>>> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >>>>> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 >>>>> -0.492886 >>>>> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 >>>>> 18 >>>>> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >>>>> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >>>>> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 >>>>> -0.51411 >>>>> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 >>>>> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >>>>> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >>>>> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 >>>>> -0.526987 >>>>> ? 48 ? -0.528026 ? 49 ? -0.528595 ? 50 ? -0.529578 >>>>> >>>>> >>>>> -GLOBAL MI >>>>> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 >>>>> -0.468013 >>>>> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >>>>> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 >>>>> -0.492886 >>>>> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 >>>>> 18 >>>>> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >>>>> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >>>>> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 >>>>> -0.51411 >>>>> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 >>>>> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >>>>> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >>>>> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 >>>>> -0.526987 >>>>> ? 48 ? -0.528026 ? 49 ? -0.528595 >>>>> >>>>> >>>>> On Thu, 26 Nov 2009, Luis Ibanez wrote: >>>>> >>>>>> Serena, >>>>>> >>>>>> The "caller" argument of the Execute method is an Observer >>>>>> is the pointer to the object that invoked the event. >>>>>> >>>>>> In your particular case, this is the Optimizer. >>>>>> >>>>>> As Bill explained, >>>>>> you can only cast "caller" to the OptimizerType. >>>>>> >>>>>> >>>>>> For all the other elements of the registration framework, you have >>>>>> to pass them through other means to the command. >>>>>> >>>>>> One way of doing this is to have them as Member variables, >>>>>> and to have "Set" methods for them. >>>>>> >>>>>> Like >>>>>> >>>>>>> class CommandIterationUpdate : public itk::Command { >>>>>>> public: >>>>>>> ?typedef ?CommandIterationUpdate ? Self; >>>>>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>>>>> ?typedef itk::SmartPointer ?Pointer; >>>>>>> ?itkNewMacro( Self ); >>>>>>> >>>>>>> protected: >>>>>>> ?CommandIterationUpdate() {}; >>>>>>> >>>>>>> public: >>>>>>> ?typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>>>>>> ?typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>>>>> >>>>>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>>>>> ? ? ? typedef ? const ?FixedImageType* ?FixedImagePointer; >>>>>>> >>>>>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>>>>> >>>>>>> ? ? ? typedef itk::MattesMutualInformationImageToImageMetric< >>>>>>> FixedImageType, MovingImageType >>>>>>>> >>>>>>>> MetricType; >>>>>>> >>>>>>> ? ? ? typedef ? const MetricType* ?MetricPointer; >>>>>>> >>>>>>> ? ? ? typedef itk::BSplineDeformableTransform< double,3,3 > >>>>>>> DeformableTransformType; >>>>>>> ? ? ? typedef ? const DeformableTransformType* ?TransformPointer; >>>>>>> >>>>>> MetricPointer ? ? ? ? ? ?m_Metric; >>>>>> TransformPointer ? ?m_Transform; >>>>>> FixedImagePointer ? ?m_FixedImage; >>>>>> MovingImagePointer ? ?m_MovingImage; >>>>>> >>>>>> >>>>>> public: >>>>>> >>>>>> ?SetTransform( TransformType * transform ) { ?m_Transform = transform; >>>>>> } >>>>>> ?SetFixedImage( FixedImageType * fixed ) { ?m_FixedImage = fixed; } >>>>>> ?SetMovingImage( MovingImageType * moving ) { ?m_MovingImage = moving; >>>>>> } >>>>>> >>>>>> >>>>>> and then you can use them in your Execute method. >>>>>> >>>>>> Also, >>>>>> when you connect the Command to the optimizer, >>>>>> you should also do: >>>>>> >>>>>> >>>>>> ? observer->SetFixedImage( fixedImage ); >>>>>> ? observer->SetMovingImage( movingImage ); >>>>>> ? observer->SetTransform( transform ); >>>>>> >>>>>> ? optimizer->AddObserver( itk::IterationEvent(), observer ); >>>>>> >>>>>> In this way, the components of the registration framework >>>>>> will be available to the internals of your observer class. >>>>>> >>>>>> >>>>>> Regards, >>>>>> >>>>>> >>>>>> ? ? ? ? Luis >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------------- > > -- >>> >>> -- >>>>>> >>>>>> On Wed, Nov 25, 2009 at 8:51 PM, Serena Fabbri >>>>>> >>>>>> wrote: >>>>>>> >>>>>>> Hi All, >>>>>>> >>>>>>> I am registering CT image and MRI image with Mattes MI and Bspline >>>>>>> Transformation. >>>>>>> I'd like to know the value of MI of a little area of the fixed image >>>>>>> during >>>>>>> the registration process. >>>>>>> I call the metric in the observer code but i get a bus error. >>>>>>> >>>>>>> could anybody suggest me where the error is? >>>>>>> >>>>>>> Thank you very much. >>>>>>> >>>>>>> Serena >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> class CommandIterationUpdate : public itk::Command { >>>>>>> public: >>>>>>> ?typedef ?CommandIterationUpdate ? Self; >>>>>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>>>>> ?typedef itk::SmartPointer ?Pointer; >>>>>>> ?itkNewMacro( Self ); >>>>>>> >>>>>>> protected: >>>>>>> ?CommandIterationUpdate() {}; >>>>>>> >>>>>>> public: >>>>>>> ? typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>>>>>> ? typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>>>>> >>>>>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>>>>> ? ? ? ?typedef ? const ?FixedImageType* ?FixedImagePointer; >>>>>>> >>>>>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>>>>> >>>>>>> ? ? ? ?typedef itk::MattesMutualInformationImageToImageMetric< >>>>>>> FixedImageType, MovingImageType >>>>>>>> >>>>>>>> MetricType; >>>>>>> >>>>>>> ? ? ? ?typedef ? const MetricType* ?MetricPointer; >>>>>>> >>>>>>> ? ? ? ?typedef itk::BSplineDeformableTransform< double,3,3 > >>>>>>> DeformableTransformType; >>>>>>> ? ? ? ?typedef ? const DeformableTransformType* ?TransformPointer; >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> ?void Execute(itk::Object *caller, const itk::EventObject & event) >>>>>>> ? ?{ >>>>>>> ? ? ?Execute( (const itk::Object *)caller, event); >>>>>>> ? ?} >>>>>>> >>>>>>> ?void Execute(const itk::Object * object, const itk::EventObject & >>>>>>> event) >>>>>>> ? ?{ >>>>>>> >>>>>>> ? ? ? ? ? ? ? ?OptimizerPointer optimizer = dynamic_cast< >>>>>>> OptimizerPointer >>>>>>>> >>>>>>>> ( object ); >>>>>>> >>>>>>> ? ? ? ? ? ? ? ?MetricPointer metric = dynamic_cast< MetricPointer >( >>>>>>> object >>>>>>> ); >>>>>>> ? ? ? ? ? ? ? ?TransformPointer transform = dynamic_cast< >>>>>>> TransformPointer >>>>>>>> >>>>>>>> ( object ); >>>>>>> >>>>>>> ? ? ? ? ? ?FixedImagePointer fixedImage = dynamic_cast< >>>>>>> FixedImagePointer>( >>>>>>> object ); >>>>>>> ? ? ? ? ? ? ? ?FixedImageType::IndexType start; >>>>>>> ? ? ? ? ? ? ? ?FixedImageType::SizeType size; >>>>>>> >>>>>>> ? ? ? ? ? ? ? ? start[0]=43; >>>>>>> ? ? ? ? ? ? ? ? start[1]=30; >>>>>>> ? ? ? ? ? ? ? ? start[2]=0; >>>>>>> >>>>>>> ? ? ? ? ? ? ? ? size[0]=10; >>>>>>> ? ? ? ? ? ? ? ? size[1]=17; >>>>>>> ? ? ? ? ? ? ? ? size[2]=20; >>>>>>> >>>>>>> >>>>>>> ? ? ? ? ? ? ? ? FixedImageType::RegionType fixedRegionMetric ; >>>>>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetIndex(start); >>>>>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetSize(size); >>>>>>> >>>>>>> ? ? ? ? ? ? ? ?OptimizerType::ParametersType parameters; >>>>>>> >>>>>>> >>>>>>> ? ? ?if( !(itk::IterationEvent().CheckEvent( &event )) ) >>>>>>> ? ? ? ?{ >>>>>>> ? ? ? ?return; >>>>>>> ? ? ? ?} >>>>>>> ? ? ? ? ? ?metric->SetFixedImageRegion(fixedRegionMetric); >>>>>>> ? ? ? ? ? ? ? ?metric->SetUseAllPixels( true ); >>>>>>> ? ? ? ? ? ?parameters = transform->GetParameters(); >>>>>>> >>>>>>> >>>>>>> ? ? ? ? ?std::cout << optimizer->GetCurrentIteration() << "MIglobal >>>>>>> "<< >>>>>>> optimizer->GetValue() << " MIlocal ?"<GetValue(parameters); >>>>>>> ? ? ?std::cout << std::endl; >>>>>>> >>>>>>> >>>>>>> >>>>>>> ? ?} >>>>>>> }; >>>>>>> >>>>>>> >>>>>>> _____________________________________ >>>>>>> Powered by www.kitware.com >>>>>>> >>>>>>> Visit other Kitware open-source projects at >>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>> >>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>> http://www.kitware.com/products/protraining.html >>>>>>> >>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>> >>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>> >>> >>> >> > > > From luis.ibanez at kitware.com Thu Dec 3 22:16:55 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Thu, 3 Dec 2009 22:16:55 -0500 Subject: [Insight-users] ITK Tcon Agenda posted: Plans for ITK 3.18 Release (January 2010) Message-ID: The agenda for tomorrow's tcon has been posted at: http://www.itk.org/Wiki/Agenda%26Status_120309 It includes a suggested list of items to work on for the release of ITK 3.18 by January 2010. Please add to the agenda any other topics of your interest. As always, the ITK Tcon is open to everybody. For instructions on how to join, please see: http://www.itk.org/Wiki/ITK_in_Second_Life Thanks Luis From john.drozd at gmail.com Thu Dec 3 23:41:53 2009 From: john.drozd at gmail.com (John Drozd) Date: Thu, 3 Dec 2009 23:41:53 -0500 Subject: [Insight-users] now my dicom series reader seg faults with the changes In-Reply-To: References: <4db4735c0912031346t5f06aa2bwe6a55e118a92d558@mail.gmail.com> Message-ID: Hi Bill, You don't have to test my code anymore. Everything is fine now. There was an error in my CMakeLists.txt file that was causing the seg fault. I updated my 3DSlicer which updated its ITK and now both my dicom series reader code and my segmentation code works. Thanks, john On Thu, Dec 3, 2009 at 6:54 PM, John Drozd wrote: > Hi Bill, > > Thanks. Of course, try this when you find time. That's fine. > > BUT BEFORE YOU DO ANYTHING, give me a day to download the latest Slicer and > CVS and 3.16 to retest my code. > > The ITK that my dicom series reader code worked with was ITK 3.14 that came > with Slicer 3.4. > > The ITK that my dicom series reader code seg faults with is the ITK that > came with the 3D Slicer 3.5 alpha download that I downloaded on 2009-12-02 > 15:43. I believe that this version of Slicer that I downloaded has ITK 3.16 > with the fix that you did to establish the correct orientation, because with > this version of ITK, I get the correct orientation from my segmentation code > that I sent a few days ago. > > I've also tested the CVS that I downloaded on 2009-12-01 12:07 and my dicom > series reader code seg faults as well. > > Thanks, > john > > > > On Thu, Dec 3, 2009 at 4:46 PM, Bill Lorensen wrote: > >> I'll take a look, but it won't be for a few days... Can you clarify >> what version of itk you are referring to? Is it 3.16? If not, is it >> the current cvs? There was a bug introduced in the current cvs >> yesterday. It has been removed. That's why we must know clearly which >> version you are talking about. >> >> Bill >> >> On Thu, Dec 3, 2009 at 3:35 PM, John Drozd wrote: >> > Hi Bill, >> > >> > Sorry, but it's getting more complicated with itkGDCMIMageIO.cxx. >> > >> > With the previous ITK (the version prior to the rev 1.162 change that >> you >> > did to itkGDCMIMageIO.cxx so my outputted 3d dicom volume would be in >> the >> > correct orientation): >> > >> > With this previous ITK, I had code working that read two dicom series >> and >> > wrote them to a 3d dicom single file volume. >> > >> > Now with the revised ITK (the version with the re 1.162 change that you >> did >> > to itkGDCMIMageIO.cxx so my outputted 3d dicom volume would be in the >> > correct orientation): >> > >> > With this revised ITK, my code that reads two dicom series and writes >> them >> > to a 3d dicom single file volume. >> > seg faults. >> > >> > Could you check this for me please. >> > >> > Ideally, I would like my previous segmentation code to output the >> correct >> > dicom orientation, and my code that reads dicom series to both work with >> the >> > same version of ITK. >> > >> > Thanks, >> > john >> > >> > You can download my dicom series data as compressed tar.gz from the >> > following links: >> > >> > http://www.apmaths.uwo.ca/~jdrozd/datasubject.tar.gz >> > >> > and >> > >> > http://www.apmaths.uwo.ca/~jdrozd/datasubject4.tar.gz >> > >> > (Prior to running the below code, untar and unzip these two compressed >> files >> > and have them in the same directory as the code executable) >> > >> > Below is my code: >> > >> > /* to run ReadAtlasDicomSeriesAndReadSubjectDicomSeries.cxx, compile and >> > type: >> > ./ReadAtlasDicomSeriesAndReadSubjectDicomSeries "datasubject" >> > >> "datasubject4/136_S_0429/MPR__GradWarp__B1_Correction__N3__Scaled/2007-06-18_13_28_06.0/S33724/70809234826766_S33724_I66806_Dicom" >> > */ >> > >> > #if defined(_MSC_VER) >> > #pragma warning ( disable : 4786 ) >> > #endif >> > >> > #include "itkImageFileReader.h" >> > #include "itkImageFileWriter.h" >> > #include "itkOrientedImage.h" >> > #include "itkGDCMImageIO.h" >> > #include "itkGDCMSeriesFileNames.h" >> > #include "itkImageSeriesReader.h" >> > >> > int main(int argc, char *argv[]) >> > { >> > >> > typedef short InputPixelType; >> > const unsigned int InputDimension = 3; >> > >> > typedef itk::Image< InputPixelType, InputDimension > InputImageType; >> > >> > typedef itk::ImageSeriesReader< InputImageType > >> AtlasReaderSeriesType; >> > >> > typedef itk::ImageSeriesReader< InputImageType > >> SubjectReaderSeriesType; >> > >> > AtlasReaderSeriesType::Pointer movingatlasfilter = >> > AtlasReaderSeriesType::New(); >> > >> > SubjectReaderSeriesType::Pointer fixedsubjectfilter = >> > SubjectReaderSeriesType::New(); >> > >> > typedef itk::GDCMImageIO ImageIOType; >> > >> > ImageIOType::Pointer gdcmImageIOAtlas = ImageIOType::New(); >> > >> > ImageIOType::Pointer gdcmImageIOSubject = ImageIOType::New(); >> > >> > fixedsubjectfilter->SetImageIO( gdcmImageIOSubject ); >> > >> > movingatlasfilter->SetImageIO( gdcmImageIOAtlas ); >> > >> > typedef itk::GDCMSeriesFileNames AtlasNamesGeneratorType; >> > AtlasNamesGeneratorType::Pointer AtlasnameGenerator = >> > AtlasNamesGeneratorType::New(); >> > >> > typedef itk::GDCMSeriesFileNames SubjectNamesGeneratorType; >> > SubjectNamesGeneratorType::Pointer SubjectnameGenerator = >> > SubjectNamesGeneratorType::New(); >> > >> > SubjectnameGenerator->SetUseSeriesDetails( true ); >> > SubjectnameGenerator->AddSeriesRestriction("0008|0021" ); >> > >> > SubjectnameGenerator->SetDirectory( argv[2] ); >> > >> > AtlasnameGenerator->SetUseSeriesDetails( true ); >> > AtlasnameGenerator->AddSeriesRestriction("0008|0021" ); >> > >> > AtlasnameGenerator->SetDirectory( argv[1] ); >> > >> > try >> > { >> > std::cout << std::endl << "The directory: " << std::endl; >> > std::cout << std::endl << argv[1] << std::endl << std::endl; >> > std::cout << "Contains the following Atlas DICOM Series: "; >> > std::cout << std::endl << std::endl; >> > >> > typedef std::vector< std::string > AtlasSeriesIdContainer; >> > >> > const AtlasSeriesIdContainer & AtlasseriesUID = >> > AtlasnameGenerator->GetSeriesUIDs(); >> > >> > AtlasSeriesIdContainer::const_iterator AtlasseriesItr = >> > AtlasseriesUID.begin(); >> > AtlasSeriesIdContainer::const_iterator AtlasseriesEnd = >> > AtlasseriesUID.end(); >> > while( AtlasseriesItr != AtlasseriesEnd ) >> > { >> > std::cout << AtlasseriesItr->c_str() << std::endl; >> > AtlasseriesItr++; >> > } >> > >> > std::string AtlasseriesIdentifier; >> > >> > if( argc > 4 ) // If no optional series identifier >> > { >> > AtlasseriesIdentifier = argv[3]; >> > } >> > else >> > { >> > AtlasseriesIdentifier = AtlasseriesUID.begin()->c_str(); >> > } >> > >> > std::cout << std::endl << std::endl; >> > std::cout << "Now reading Atlas series: " << std::endl << std::endl; >> > std::cout << AtlasseriesIdentifier << std::endl; >> > std::cout << std::endl << std::endl; >> > >> > typedef std::vector< std::string > AtlasFileNamesContainer; >> > AtlasFileNamesContainer AtlasfileNames; >> > >> > AtlasfileNames = AtlasnameGenerator->GetFileNames( >> AtlasseriesIdentifier >> > ); >> > >> > movingatlasfilter->SetFileNames( AtlasfileNames ); >> > >> > >> > try >> > { >> > movingatlasfilter->Update(); >> > std::cout << "Atlas read successfully" << std::endl; >> > } >> > catch (itk::ExceptionObject &ex) >> > { >> > std::cout << ex << std::endl; >> > return EXIT_FAILURE; >> > } >> > >> > typedef itk::ImageFileWriter< InputImageType > >> AtlasWriterSubjectType; >> > >> > AtlasWriterSubjectType::Pointer movingatlasfilterwriter = >> > AtlasWriterSubjectType::New(); >> > >> > >> > movingatlasfilterwriter->UseInputMetaDataDictionaryOff(); >> > movingatlasfilterwriter->SetImageIO( gdcmImageIOAtlas ); >> > >> > >> > movingatlasfilterwriter->SetFileName( "atlasout.dcm" ); >> > >> > movingatlasfilterwriter->SetInput( movingatlasfilter->GetOutput() ); >> > >> > >> > try >> > { >> > movingatlasfilterwriter->Update(); >> > } >> > catch (itk::ExceptionObject &ex) >> > { >> > std::cout << ex << std::endl; >> > return EXIT_FAILURE; >> > } >> > } >> > catch (itk::ExceptionObject &ex) >> > { >> > std::cout << ex << std::endl; >> > return EXIT_FAILURE; >> > } >> > >> > try >> > { >> > std::cout << std::endl << "The directory: " << std::endl; >> > std::cout << std::endl << argv[2] << std::endl << std::endl; >> > std::cout << "Contains the following Subject DICOM Series: "; >> > std::cout << std::endl << std::endl; >> > >> > typedef std::vector< std::string > SubjectSeriesIdContainer; >> > >> > const SubjectSeriesIdContainer & SubjectseriesUID = >> > SubjectnameGenerator->GetSeriesUIDs(); >> > >> > SubjectSeriesIdContainer::const_iterator SubjectseriesItr = >> > SubjectseriesUID.begin(); >> > SubjectSeriesIdContainer::const_iterator SubjectseriesEnd = >> > SubjectseriesUID.end(); >> > while( SubjectseriesItr != SubjectseriesEnd ) >> > { >> > std::cout << SubjectseriesItr->c_str() << std::endl; >> > SubjectseriesItr++; >> > } >> > >> > std::string SubjectseriesIdentifier; >> > >> > if( argc > 4 ) // If no optional series identifier >> > { >> > SubjectseriesIdentifier = argv[2]; >> > } >> > else >> > { >> > SubjectseriesIdentifier = SubjectseriesUID.begin()->c_str(); >> > } >> > >> > std::cout << std::endl << std::endl; >> > std::cout << "Now reading Subject series: " << std::endl << >> std::endl; >> > std::cout << SubjectseriesIdentifier << std::endl; >> > std::cout << std::endl << std::endl; >> > >> > typedef std::vector< std::string > SubjectFileNamesContainer; >> > SubjectFileNamesContainer SubjectfileNames; >> > >> > SubjectfileNames = SubjectnameGenerator->GetFileNames( >> > SubjectseriesIdentifier ); >> > >> > fixedsubjectfilter->SetFileNames( SubjectfileNames ); >> > >> > try >> > { >> > fixedsubjectfilter->Update(); >> > std::cout << "Subject read successfully" << std::endl; >> > } >> > catch (itk::ExceptionObject &ex) >> > { >> > std::cout << ex << std::endl; >> > return EXIT_FAILURE; >> > } >> > >> > typedef itk::ImageFileWriter< InputImageType > >> > SubjectWriterSubjectType; >> > >> > SubjectWriterSubjectType::Pointer fixedsubjectfilterwriter = >> > SubjectWriterSubjectType::New(); >> > >> > fixedsubjectfilterwriter->UseInputMetaDataDictionaryOff(); >> > fixedsubjectfilterwriter->SetImageIO( gdcmImageIOSubject ); >> > >> > fixedsubjectfilterwriter->SetFileName( "subjectout.dcm" ); >> > >> > fixedsubjectfilterwriter->SetInput( fixedsubjectfilter->GetOutput() ); >> > >> > >> > try >> > { >> > fixedsubjectfilterwriter->Update(); >> > } >> > catch (itk::ExceptionObject &ex) >> > { >> > std::cout << ex << std::endl; >> > return EXIT_FAILURE; >> > } >> > } >> > catch (itk::ExceptionObject &ex) >> > { >> > std::cout << ex << std::endl; >> > return EXIT_FAILURE; >> > } >> > >> > >> > >> > return EXIT_SUCCESS; >> > } >> > >> > >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Thu Dec 3 23:43:53 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Thu, 3 Dec 2009 23:43:53 -0500 Subject: [Insight-users] now my dicom series reader seg faults with the changes In-Reply-To: References: <4db4735c0912031346t5f06aa2bwe6a55e118a92d558@mail.gmail.com> Message-ID: <4db4735c0912032043p5f5cb188x8d750274b7323083@mail.gmail.com> Fantastic! On Thu, Dec 3, 2009 at 11:41 PM, John Drozd wrote: > Hi Bill, > > You don't have to test my code anymore.? Everything is fine now. > There was an error in my CMakeLists.txt file that was causing the seg fault. > I updated my 3DSlicer which updated its ITK and now both my dicom series > reader code and my segmentation code works. > > Thanks, > john > > On Thu, Dec 3, 2009 at 6:54 PM, John Drozd wrote: >> >> Hi Bill, >> >> Thanks.? Of course, try this when you find time.? That's fine. >> >> BUT BEFORE YOU DO ANYTHING, give me a day to download the latest Slicer >> and CVS and 3.16 to retest my code. >> >> The ITK that my dicom series reader code worked with was ITK 3.14 that >> came with Slicer 3.4. >> >> The ITK that my dicom series reader code seg faults with is the ITK that >> came with the 3D Slicer 3.5 alpha download that I downloaded on 2009-12-02 >> 15:43.? I believe that this version of Slicer that I downloaded has ITK 3.16 >> with the fix that you did to establish the correct orientation, because with >> this version of ITK, I get the correct orientation from my segmentation code >> that I sent a few days ago. >> >> I've also tested the CVS that I downloaded on 2009-12-01 12:07 and my >> dicom series reader code seg faults as well. >> >> Thanks, >> john >> >> >> On Thu, Dec 3, 2009 at 4:46 PM, Bill Lorensen >> wrote: >>> >>> I'll take a look, but it won't be for a few days... Can you clarify >>> what version of itk you are referring to? Is it 3.16? If not, is it >>> the current cvs? There was a bug introduced in the current cvs >>> yesterday. It has been removed. That's why we must know clearly which >>> version you are talking about. >>> >>> Bill >>> >>> On Thu, Dec 3, 2009 at 3:35 PM, John Drozd wrote: >>> > Hi Bill, >>> > >>> > Sorry, but it's getting more complicated with itkGDCMIMageIO.cxx. >>> > >>> > With the previous ITK (the version prior to the rev 1.162 change that >>> > you >>> > did to itkGDCMIMageIO.cxx so my outputted 3d dicom volume would be in >>> > the >>> > correct orientation): >>> > >>> > With this previous ITK, I had code working that read two dicom series >>> > and >>> > wrote them to a 3d dicom single file volume. >>> > >>> > Now with the revised ITK (the version with the re 1.162 change that you >>> > did >>> > to itkGDCMIMageIO.cxx so my outputted 3d dicom volume would be in the >>> > correct orientation): >>> > >>> > With this revised ITK, my code that reads two dicom series and writes >>> > them >>> > to a 3d dicom single file volume. >>> > seg faults. >>> > >>> > Could you check this for me please. >>> > >>> > Ideally, I would like my previous segmentation code to output the >>> > correct >>> > dicom orientation, and my code that reads dicom series to both work >>> > with the >>> > same version of ITK. >>> > >>> > Thanks, >>> > john >>> > >>> > You can download my dicom series data as compressed tar.gz from the >>> > following links: >>> > >>> > http://www.apmaths.uwo.ca/~jdrozd/datasubject.tar.gz >>> > >>> > and >>> > >>> > http://www.apmaths.uwo.ca/~jdrozd/datasubject4.tar.gz >>> > >>> > (Prior to running the below code, untar and unzip these two compressed >>> > files >>> > and have them in the same directory as the code executable) >>> > >>> > Below is my code: >>> > >>> > /* to run ReadAtlasDicomSeriesAndReadSubjectDicomSeries.cxx, compile >>> > and >>> > type: >>> > ./ReadAtlasDicomSeriesAndReadSubjectDicomSeries "datasubject" >>> > >>> > "datasubject4/136_S_0429/MPR__GradWarp__B1_Correction__N3__Scaled/2007-06-18_13_28_06.0/S33724/70809234826766_S33724_I66806_Dicom" >>> > */ >>> > >>> > #if defined(_MSC_VER) >>> > #pragma warning ( disable : 4786 ) >>> > #endif >>> > >>> > #include "itkImageFileReader.h" >>> > #include "itkImageFileWriter.h" >>> > #include "itkOrientedImage.h" >>> > #include "itkGDCMImageIO.h" >>> > #include "itkGDCMSeriesFileNames.h" >>> > #include "itkImageSeriesReader.h" >>> > >>> > int main(int argc, char *argv[]) >>> > { >>> > >>> > ? typedef short InputPixelType; >>> > ? const unsigned int?? InputDimension = 3; >>> > >>> > ? typedef itk::Image< InputPixelType, InputDimension > InputImageType; >>> > >>> > ? typedef itk::ImageSeriesReader< InputImageType > >>> > AtlasReaderSeriesType; >>> > >>> > ? typedef itk::ImageSeriesReader< InputImageType > >>> > SubjectReaderSeriesType; >>> > >>> > ? AtlasReaderSeriesType::Pointer movingatlasfilter = >>> > AtlasReaderSeriesType::New(); >>> > >>> > ? SubjectReaderSeriesType::Pointer fixedsubjectfilter = >>> > SubjectReaderSeriesType::New(); >>> > >>> > ?typedef itk::GDCMImageIO?????????? ImageIOType; >>> > >>> > ? ImageIOType::Pointer gdcmImageIOAtlas = ImageIOType::New(); >>> > >>> > ? ImageIOType::Pointer gdcmImageIOSubject = ImageIOType::New(); >>> > >>> > ? fixedsubjectfilter->SetImageIO( gdcmImageIOSubject ); >>> > >>> > ? movingatlasfilter->SetImageIO( gdcmImageIOAtlas ); >>> > >>> > typedef itk::GDCMSeriesFileNames AtlasNamesGeneratorType; >>> > ? AtlasNamesGeneratorType::Pointer AtlasnameGenerator = >>> > AtlasNamesGeneratorType::New(); >>> > >>> > typedef itk::GDCMSeriesFileNames SubjectNamesGeneratorType; >>> > ? SubjectNamesGeneratorType::Pointer SubjectnameGenerator = >>> > SubjectNamesGeneratorType::New(); >>> > >>> > ? SubjectnameGenerator->SetUseSeriesDetails( true ); >>> > ? SubjectnameGenerator->AddSeriesRestriction("0008|0021" ); >>> > >>> > ? SubjectnameGenerator->SetDirectory( argv[2] ); >>> > >>> > ? AtlasnameGenerator->SetUseSeriesDetails( true ); >>> > ? AtlasnameGenerator->AddSeriesRestriction("0008|0021" ); >>> > >>> > ? AtlasnameGenerator->SetDirectory( argv[1] ); >>> > >>> > try >>> > ??? { >>> > ??? std::cout << std::endl << "The directory: " << std::endl; >>> > ??? std::cout << std::endl << argv[1] << std::endl << std::endl; >>> > ??? std::cout << "Contains the following Atlas DICOM Series: "; >>> > ??? std::cout << std::endl << std::endl; >>> > >>> > typedef std::vector< std::string >??? AtlasSeriesIdContainer; >>> > >>> > ??? const AtlasSeriesIdContainer & AtlasseriesUID = >>> > AtlasnameGenerator->GetSeriesUIDs(); >>> > >>> > ??? AtlasSeriesIdContainer::const_iterator AtlasseriesItr = >>> > AtlasseriesUID.begin(); >>> > ??? AtlasSeriesIdContainer::const_iterator AtlasseriesEnd = >>> > AtlasseriesUID.end(); >>> > ??? while( AtlasseriesItr != AtlasseriesEnd ) >>> > ????? { >>> > ????? std::cout << AtlasseriesItr->c_str() << std::endl; >>> > ????? AtlasseriesItr++; >>> > ????? } >>> > >>> > std::string AtlasseriesIdentifier; >>> > >>> > ??? if( argc > 4 ) // If no optional series identifier >>> > ????? { >>> > ????? AtlasseriesIdentifier = argv[3]; >>> > ????? } >>> > ??? else >>> > ????? { >>> > ????? AtlasseriesIdentifier = AtlasseriesUID.begin()->c_str(); >>> > ????? } >>> > >>> > std::cout << std::endl << std::endl; >>> > ??? std::cout << "Now reading Atlas series: " << std::endl << >>> > std::endl; >>> > ??? std::cout << AtlasseriesIdentifier << std::endl; >>> > ??? std::cout << std::endl << std::endl; >>> > >>> > typedef std::vector< std::string >?? AtlasFileNamesContainer; >>> > ??? AtlasFileNamesContainer AtlasfileNames; >>> > >>> > ??? AtlasfileNames = AtlasnameGenerator->GetFileNames( >>> > AtlasseriesIdentifier >>> > ); >>> > >>> > ??? movingatlasfilter->SetFileNames( AtlasfileNames ); >>> > >>> > >>> > ??? try >>> > ????? { >>> > ????? movingatlasfilter->Update(); >>> > ????? std::cout << "Atlas read successfully"? << std::endl; >>> > ????? } >>> > ??? catch (itk::ExceptionObject &ex) >>> > ????? { >>> > ????? std::cout << ex << std::endl; >>> > ????? return EXIT_FAILURE; >>> > ????? } >>> > >>> > ????? typedef itk::ImageFileWriter< InputImageType > >>> > AtlasWriterSubjectType; >>> > >>> > ? AtlasWriterSubjectType::Pointer movingatlasfilterwriter = >>> > AtlasWriterSubjectType::New(); >>> > >>> > >>> > ? movingatlasfilterwriter->UseInputMetaDataDictionaryOff(); >>> > ? movingatlasfilterwriter->SetImageIO( gdcmImageIOAtlas ); >>> > >>> > >>> > movingatlasfilterwriter->SetFileName( "atlasout.dcm" ); >>> > >>> > movingatlasfilterwriter->SetInput( movingatlasfilter->GetOutput() ); >>> > >>> > >>> > try >>> > ????? { >>> > ????? movingatlasfilterwriter->Update(); >>> > ????? } >>> > ??? catch (itk::ExceptionObject &ex) >>> > ????? { >>> > ????? std::cout << ex << std::endl; >>> > ????? return EXIT_FAILURE; >>> > ????? } >>> > ??? } >>> > ? catch (itk::ExceptionObject &ex) >>> > ??? { >>> > ??? std::cout << ex << std::endl; >>> > ??? return EXIT_FAILURE; >>> > ??? } >>> > >>> > ??? try >>> > ??? { >>> > ??? std::cout << std::endl << "The directory: " << std::endl; >>> > ??? std::cout << std::endl << argv[2] << std::endl << std::endl; >>> > ??? std::cout << "Contains the following Subject DICOM Series: "; >>> > ??? std::cout << std::endl << std::endl; >>> > >>> > typedef std::vector< std::string >??? SubjectSeriesIdContainer; >>> > >>> > ??? const SubjectSeriesIdContainer & SubjectseriesUID = >>> > SubjectnameGenerator->GetSeriesUIDs(); >>> > >>> > ??? SubjectSeriesIdContainer::const_iterator SubjectseriesItr = >>> > SubjectseriesUID.begin(); >>> > ??? SubjectSeriesIdContainer::const_iterator SubjectseriesEnd = >>> > SubjectseriesUID.end(); >>> > ??? while( SubjectseriesItr != SubjectseriesEnd ) >>> > ????? { >>> > ????? std::cout << SubjectseriesItr->c_str() << std::endl; >>> > ????? SubjectseriesItr++; >>> > ????? } >>> > >>> > std::string SubjectseriesIdentifier; >>> > >>> > ??? if( argc > 4 ) // If no optional series identifier >>> > ????? { >>> > ????? SubjectseriesIdentifier = argv[2]; >>> > ????? } >>> > ??? else >>> > ????? { >>> > ????? SubjectseriesIdentifier = SubjectseriesUID.begin()->c_str(); >>> > ????? } >>> > >>> > std::cout << std::endl << std::endl; >>> > ??? std::cout << "Now reading Subject series: " << std::endl << >>> > std::endl; >>> > ??? std::cout << SubjectseriesIdentifier << std::endl; >>> > ??? std::cout << std::endl << std::endl; >>> > >>> > typedef std::vector< std::string >?? SubjectFileNamesContainer; >>> > ??? SubjectFileNamesContainer SubjectfileNames; >>> > >>> > ??? SubjectfileNames = SubjectnameGenerator->GetFileNames( >>> > SubjectseriesIdentifier ); >>> > >>> > ??? fixedsubjectfilter->SetFileNames( SubjectfileNames ); >>> > >>> > ??? try >>> > ????? { >>> > ????? fixedsubjectfilter->Update(); >>> > ????? std::cout << "Subject read successfully"? << std::endl; >>> > ????? } >>> > ??? catch (itk::ExceptionObject &ex) >>> > ????? { >>> > ????? std::cout << ex << std::endl; >>> > ????? return EXIT_FAILURE; >>> > ????? } >>> > >>> > ????? typedef itk::ImageFileWriter< InputImageType > >>> > SubjectWriterSubjectType; >>> > >>> > ? SubjectWriterSubjectType::Pointer fixedsubjectfilterwriter = >>> > SubjectWriterSubjectType::New(); >>> > >>> > ? fixedsubjectfilterwriter->UseInputMetaDataDictionaryOff(); >>> > ? fixedsubjectfilterwriter->SetImageIO( gdcmImageIOSubject ); >>> > >>> > ? fixedsubjectfilterwriter->SetFileName( "subjectout.dcm" ); >>> > >>> > ? fixedsubjectfilterwriter->SetInput( fixedsubjectfilter->GetOutput() >>> > ); >>> > >>> > >>> > try >>> > ????? { >>> > ????? fixedsubjectfilterwriter->Update(); >>> > ????? } >>> > ??? catch (itk::ExceptionObject &ex) >>> > ????? { >>> > ????? std::cout << ex << std::endl; >>> > ????? return EXIT_FAILURE; >>> > ????? } >>> > ????? } >>> > ? catch (itk::ExceptionObject &ex) >>> > ??? { >>> > ??? std::cout << ex << std::endl; >>> > ??? return EXIT_FAILURE; >>> > ??? } >>> > >>> > >>> > >>> > return EXIT_SUCCESS; >>> > } >>> > >>> > >> > > From markus_m at gmx.net Fri Dec 4 03:43:45 2009 From: markus_m at gmx.net (sacrif) Date: Fri, 4 Dec 2009 00:43:45 -0800 (PST) Subject: [Insight-users] Histogram modification - troubles with SetFrequency In-Reply-To: <26615939.post@talk.nabble.com> References: <26615939.post@talk.nabble.com> Message-ID: <26635812.post@talk.nabble.com> Hi, I finally found out what the problem is. The histogram is defined as const HistogramType * histogram; or HistogramType::ConstPointer histogram; However the SetFrequency method is a not const method. Therefore non of the 4 SetFrequency methods is applicable on it. The problem is that the GetOutput() method of the itk::Statistics::ScalarImageToHistogramGenerator class returns a "const HistogramType *" which I assign to my "const HistogramType* histogram" pointer. So I can only define the histogram as const. But then the SetFrequency would not work. (and results in the compilation error: error C2663: 'itk::Statistics::Histogram::SetFrequency' : 4 overloads have no legal conversion for 'this' pointer...<--as written in my previous post) Is it possible that a histogram as I defined it can't be changed as soon as it is created? Somehow I can't imagine this is the case. But at the moment I can only imagine to write the values in an std::vector to proceed working on it. I would appreciate any onther advice. Thank you & kind regards -- View this message in context: http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26635812.html Sent from the ITK - Users mailing list archive at Nabble.com. From lynx.abraxas at freenet.de Fri Dec 4 06:12:33 2009 From: lynx.abraxas at freenet.de (lynx.abraxas at freenet.de) Date: Fri, 4 Dec 2009 12:12:33 +0100 Subject: [Insight-users] How to get a progess from an iterator? Message-ID: <20091204111233.GA2886@drago> Hello! Is there any way to get a progress information of an iterator (of a FaceList)? Basicly just where is it at the moment relative to the whole image? Thanks for any help or hints Lynx From luis.ibanez at kitware.com Fri Dec 4 08:42:14 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 4 Dec 2009 08:42:14 -0500 Subject: [Insight-users] Running multilevel image registration In-Reply-To: <54eca6a70912032337rcba86eche0ca953b4d41eb61@mail.gmail.com> References: <54eca6a70912020949o574c230ct5e7aa1c565325b31@mail.gmail.com> <54eca6a70912032337rcba86eche0ca953b4d41eb61@mail.gmail.com> Message-ID: Hi Motes, Thanks for the clarification, and for letting us know that you solved the problem. The increase in the number of samples certainly will explain a longer computation time. Computation time with MI should be roughly proportional to the number of spatial samples. Thanks Luis ---------------------------------------------------------------------------- On Fri, Dec 4, 2009 at 2:37 AM, motes motes wrote: > On Thu, Dec 3, 2009 at 2:16 AM, Luis Ibanez wrote: >> Hi Motes, >> >> >> 1) What Image metric are you using ? >> > > > Problem solved. I am using > > ? ? ? ? ?typedef > itk::AdvancedMeanSquaresImageToImageMetric> ? ? ? ? ? ? ? ? ? ? ? ? ? ? MetricAdvancedMeanSquaresType; > > with a random sampler. When the second level is run the number of > samples is raised from 10000 to ?50000 which of course explains why it > takes longer time. > > > ? ? ? ? ?typedef > itk::AdvancedMeanSquaresImageToImageMetric> ? ? ? ? ? ? ? ? ? ? ? ? ? ? MetricAdvancedMeanSquaresType; > ? ? ? ? ?int number_of_samples = 10000; > ? ? ? ? ?MetricAdvancedMeanSquaresType::Pointer > metricAdvancedMeanSquares = MetricAdvancedMeanSquaresType::New(); > ? ? ? ? ?metricAdvancedMeanSquares->SetUseNormalization(true); > ? ? ? ? ?metricAdvancedMeanSquares->SetImageSampler(random_sampler); > ? ? ? ? ?registration->SetMetric(metricAdvancedMeanSquares); > > > >> 2) If it is Mutual Information, could you please make >> ? ?sure that you are using the same number of samples >> ? ?in both scenarios of BSpline grid 12 * 12 * 12 ? ?? >> >> 3) When it takes only 8 seconds,... >> ? ?does it still run 10 iterations ? >> >> 4) Have you compiling your code for Release ? >> ? ?(you shouldn't measure times with code >> ? ? compiled for Debug). >> >> >> ?Please let us know, >> >> >> ? ? ? ? Thanks >> >> >> ? ? ? ? ? ? Luis >> >> >> >> ------------------------------------------------------ >> On Wed, Dec 2, 2009 at 12:49 PM, motes motes wrote: >>> I run a multi-level image registration process using the >>> BSplineDeformableTransform on a 3D image volume. >>> >>> In the first level I run with 6*6*6 nodes. In the second level I run >>> with 8*8*8 nodes and in the last level I run with 12*12*12 >>> >>> ?Each level is run for 10 iterations (I know the is very low but I am >>> currently in a testing phase). >>> >>> Now when it gets to the third level (12*12*12) the time used is around >>> 40 seconds. But if I start with the 12*12*12 cube it only takes around >>> 8 seconds. >>> >>> Any ideas on what might be the reason that the 12*12*12 level takes >>> longer time when executed last? I have checked that data is not >>> duplicated or allocated twice anywhere. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > From bruno.arbter at isv.uni-stuttgart.de Fri Dec 4 08:55:52 2009 From: bruno.arbter at isv.uni-stuttgart.de (Bruno Arbter) Date: Fri, 4 Dec 2009 14:55:52 +0100 Subject: [Insight-users] anisotropic diffusion Message-ID: <000701ca74e9$7e270990$7a751cb0$@arbter@isv.uni-stuttgart.de> Hi, I started using nonlinear diffusion filters in 3D. As far as I understood, the classic Perona-Malik implementation (itkGradientNDAnisotropicDiffusionFunction) uses a scalar value for the conductance and is strictly speaking isotropic. Further I found the level-set-based initkCurvatureNDAnisotropicDiffusionFunction. But are there any anisotropic (edge-enhancing) diffusion filters that are able to stop diffusion perpendicular to edges but allows diffusion parallel to edges? In itkAnisotropicDiffusionFunction.h I found the hint that "several variations on the scheme [...] are implemented in Itk"... Thanks, Bruno From mrceresa at gmail.com Fri Dec 4 10:11:28 2009 From: mrceresa at gmail.com (Mario Ceresa) Date: Fri, 4 Dec 2009 16:11:28 +0100 Subject: [Insight-users] Fedora-RHEL packages: Status of "Patented" and "Review" directories In-Reply-To: References: Message-ID: <93dce8f90912040711j40ad4c2ds982ed72772ac2a6c@mail.gmail.com> Hello Luis, Thanks for your mail! It clarifies the whole issue a lot. I'll do as you suggest for both the Patented and Review folder. I'll try to contact Gaetan separately to ask him if there is a way to use wrapitk without enabling the entire Review. Cheers, Mario 2009/12/2 Luis Ibanez : > Hi Mario, > > > Thanks a lot for your efforts on packaging ITK for Fedora. > > 1) About the Patented directory: > > ? ? ? ? ? ? ? ?It is not worth the trouble, > > ? ? ? ? ? ? ? ? ? ? ?just exclude it. > > > ? ?We must get rid of it as soon as we can, anyways. > > > ? ?We shouldn't provide free advertisement for those > ? ?who decided to acquire 20-years monopolies for > ? ?excluding others from the use of ideas. > > ? ?In fact, for some of the examples there, (the ICP, > ? ?the (20 year-long monopoly) ?"patent" has expired, > ? ?and the method is back in the public domain, > ? ?where it should have always been, given that > ? ?the US Congress have never authorized the > ? ?use of Patents for ?software. Even the > ? ?US Supreme Court made clear that only Congress > ? ?had the power for making such determination. > ? ?Not to mention that they have repeatedly clarified > ? ?that Algorithms are NOT patentable, because they > ? ?are equivalent to Mathematics and to Laws of > ? ?Nature. > > ? ?It has been only the misguided decisions of the > ? ?US Court of Appeals of the Federal Circuit (CAFC) > ? ?that have brought the patent system to it current > ? ?mess. > > ? ?With about 170,000 software patents being awarded, > ? ?it is practically impossible to write any piece of software > ? ?without infringing on somebody else's "imaginary property". > > ? ?Nobody should own Mathematics. > > ? ?Hopefully, now that the Bilsky case has been ruled > ? ?in the Supreme Court > ? ?( http://en.wikipedia.org/wiki/In_re_Bilski) > ? ?we may see some rational sense coming back to the > ? ?US Patent Office, and hopefully the CAFC will be > ? ?re-populated with more diverse Judges, as the > ? ?US National Academy of Science has recommended: > http://www7.nationalacademies.org/ocga/testimony/Patent_System_Overhaul.asp > > > > 2) About the Review directory: > > ? ? ? ? ? ? ?Strictly speaking, > ? ? ? ? ? ? ?you must exclude it as well. > > ? ?The copyright of many of the files in this directory > ? ?has not been officially transferred to the Insight > ? ?Software Consortium. Most of them have been > ? ?moved from the Insight Journal, but still the > ? ?copyright and license status is unclear. > > ? ?We should focus on moving files from this > ? ?directory into the toolkit itself during the following > ? ?months. > > > > ?Regards, > > > ? ? ? ?Luis > > > > ---------------------------------------------------------------------------------- > On Wed, Dec 2, 2009 at 11:44 AM, Mario Ceresa wrote: >> Hello everybody, >> things move slowly on the Fedora package front but moves! >> The reviewer asked me about possible copyright issues for the Review - >> Patented folders in the ITK build tree (ver 3.16). >> >> https://bugzilla.redhat.com/show_bug.cgi?id=539387#c6 >> >> We agreed not to include Patented, but I'd like to include at least >> Review in the rpm because is needed for wrapitk (If I'm not >> mistaking). >> >> Does anyone know if the Review folder (or a subset of it) is >> compatible with one of these licenses? >> >> http://fedoraproject.org/wiki/Licensing#SoftwareLicenses >> >> Thanks and regards, >> >> Mario >> >> 2009/11/17 Mario Ceresa : >>> Hello everybody, >>> first of all, thanks for the great work done: I've been happily using >>> both ITK and WrapITK for a while and also received a lot of help from >>> this mail list. >>> >>> Still I'm a bit confused about the packaging status: are there any >>> prebuilt packages available for Fedora/RHEL? >>> I noticed that while there are WrapITK packages for Debian/Ubuntu, >>> there seem to be none for Fedora/RHEL. >>> >>> Is there anyone interested in using binaries for this distributions? >>> If so, I would be more than happy to contribute back a package for the >>> two of them, or help anyone else who is working on it. Just let me >>> know! >>> >>> Thanks and regards, >>> >>> Mario >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > From mathieu.malaterre at gmail.com Fri Dec 4 10:16:06 2009 From: mathieu.malaterre at gmail.com (Mathieu Malaterre) Date: Fri, 4 Dec 2009 16:16:06 +0100 Subject: [Insight-users] Fedora-RHEL packages: Status of "Patented" and "Review" directories In-Reply-To: <93dce8f90912040711j40ad4c2ds982ed72772ac2a6c@mail.gmail.com> References: <93dce8f90912040711j40ad4c2ds982ed72772ac2a6c@mail.gmail.com> Message-ID: On Fri, Dec 4, 2009 at 4:11 PM, Mario Ceresa wrote: > I'll try to contact Gaetan separately to ask him if there is a way to > use wrapitk without enabling the entire Review. I'd appreciate if you would keep this discussion public. As I have done that myself a couple of weeks ago (private french email). This should avoid any redundancy for poor Gaetan :) Thx -- Mathieu From mrceresa at gmail.com Fri Dec 4 10:18:32 2009 From: mrceresa at gmail.com (Mario Ceresa) Date: Fri, 4 Dec 2009 16:18:32 +0100 Subject: [Insight-users] Fedora-RHEL packages: Status of "Patented" and "Review" directories In-Reply-To: <93dce8f90912040711j40ad4c2ds982ed72772ac2a6c@mail.gmail.com> References: <93dce8f90912040711j40ad4c2ds982ed72772ac2a6c@mail.gmail.com> Message-ID: <93dce8f90912040718o44caff08p2bac6252992dd292@mail.gmail.com> Hello Ga?tan, please forgive me if I address you directly, but I have a question on packaging wrapitk for Fedora. Following the suggestions from Luis Ibanez, I'll not package neither Patented nor Review folder to avoid licensing issues. I might be wrong, but it seems to me that wrapitk needs Review to be enabled in order to work. Is it correct? If so, is there any way I could help removing this dependency? Thanks and regards, Mario 2009/12/4 Mario Ceresa : > Hello Luis, > > Thanks for your mail! It clarifies the whole issue a lot. I'll do as > you suggest for both the Patented and Review folder. > > I'll try to contact Gaetan separately to ask him if there is a way to > use wrapitk without enabling the entire Review. > > Cheers, > > Mario > > 2009/12/2 Luis Ibanez : >> Hi Mario, >> >> >> Thanks a lot for your efforts on packaging ITK for Fedora. >> >> 1) About the Patented directory: >> >> ? ? ? ? ? ? ? ?It is not worth the trouble, >> >> ? ? ? ? ? ? ? ? ? ? ?just exclude it. >> >> >> ? ?We must get rid of it as soon as we can, anyways. >> >> >> ? ?We shouldn't provide free advertisement for those >> ? ?who decided to acquire 20-years monopolies for >> ? ?excluding others from the use of ideas. >> >> ? ?In fact, for some of the examples there, (the ICP, >> ? ?the (20 year-long monopoly) ?"patent" has expired, >> ? ?and the method is back in the public domain, >> ? ?where it should have always been, given that >> ? ?the US Congress have never authorized the >> ? ?use of Patents for ?software. Even the >> ? ?US Supreme Court made clear that only Congress >> ? ?had the power for making such determination. >> ? ?Not to mention that they have repeatedly clarified >> ? ?that Algorithms are NOT patentable, because they >> ? ?are equivalent to Mathematics and to Laws of >> ? ?Nature. >> >> ? ?It has been only the misguided decisions of the >> ? ?US Court of Appeals of the Federal Circuit (CAFC) >> ? ?that have brought the patent system to it current >> ? ?mess. >> >> ? ?With about 170,000 software patents being awarded, >> ? ?it is practically impossible to write any piece of software >> ? ?without infringing on somebody else's "imaginary property". >> >> ? ?Nobody should own Mathematics. >> >> ? ?Hopefully, now that the Bilsky case has been ruled >> ? ?in the Supreme Court >> ? ?( http://en.wikipedia.org/wiki/In_re_Bilski) >> ? ?we may see some rational sense coming back to the >> ? ?US Patent Office, and hopefully the CAFC will be >> ? ?re-populated with more diverse Judges, as the >> ? ?US National Academy of Science has recommended: >> http://www7.nationalacademies.org/ocga/testimony/Patent_System_Overhaul.asp >> >> >> >> 2) About the Review directory: >> >> ? ? ? ? ? ? ?Strictly speaking, >> ? ? ? ? ? ? ?you must exclude it as well. >> >> ? ?The copyright of many of the files in this directory >> ? ?has not been officially transferred to the Insight >> ? ?Software Consortium. Most of them have been >> ? ?moved from the Insight Journal, but still the >> ? ?copyright and license status is unclear. >> >> ? ?We should focus on moving files from this >> ? ?directory into the toolkit itself during the following >> ? ?months. >> >> >> >> ?Regards, >> >> >> ? ? ? ?Luis >> >> >> >> ---------------------------------------------------------------------------------- >> On Wed, Dec 2, 2009 at 11:44 AM, Mario Ceresa wrote: >>> Hello everybody, >>> things move slowly on the Fedora package front but moves! >>> The reviewer asked me about possible copyright issues for the Review - >>> Patented folders in the ITK build tree (ver 3.16). >>> >>> https://bugzilla.redhat.com/show_bug.cgi?id=539387#c6 >>> >>> We agreed not to include Patented, but I'd like to include at least >>> Review in the rpm because is needed for wrapitk (If I'm not >>> mistaking). >>> >>> Does anyone know if the Review folder (or a subset of it) is >>> compatible with one of these licenses? >>> >>> http://fedoraproject.org/wiki/Licensing#SoftwareLicenses >>> >>> Thanks and regards, >>> >>> Mario >>> >>> 2009/11/17 Mario Ceresa : >>>> Hello everybody, >>>> first of all, thanks for the great work done: I've been happily using >>>> both ITK and WrapITK for a while and also received a lot of help from >>>> this mail list. >>>> >>>> Still I'm a bit confused about the packaging status: are there any >>>> prebuilt packages available for Fedora/RHEL? >>>> I noticed that while there are WrapITK packages for Debian/Ubuntu, >>>> there seem to be none for Fedora/RHEL. >>>> >>>> Is there anyone interested in using binaries for this distributions? >>>> If so, I would be more than happy to contribute back a package for the >>>> two of them, or help anyone else who is working on it. Just let me >>>> know! >>>> >>>> Thanks and regards, >>>> >>>> Mario >>>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > From mrceresa at gmail.com Fri Dec 4 10:24:42 2009 From: mrceresa at gmail.com (Mario Ceresa) Date: Fri, 4 Dec 2009 16:24:42 +0100 Subject: [Insight-users] Fedora-RHEL packages: Status of "Patented" and "Review" directories In-Reply-To: References: <93dce8f90912040711j40ad4c2ds982ed72772ac2a6c@mail.gmail.com> Message-ID: <93dce8f90912040724m62482aa6j9490b4e3260240ed@mail.gmail.com> Bonjour Mathieu! yes I cc'ed the list too in the last email to Ga?tan. Have you already asked Ga?tan about this topic? Mario > On Fri, Dec 4, 2009 at 4:11 PM, Mario Ceresa wrote: >> I'll try to contact Gaetan separately to ask him if there is a way to >> use wrapitk without enabling the entire Review. > > > I'd appreciate if you would keep this discussion public. As I have > done that myself a couple of weeks ago (private french email). This > should avoid any redundancy for poor Gaetan :) > > Thx > -- > Mathieu > From mort.motes at gmail.com Fri Dec 4 16:50:08 2009 From: mort.motes at gmail.com (motes motes) Date: Fri, 4 Dec 2009 22:50:08 +0100 Subject: [Insight-users] Changing the size of the parameters array during registration? Message-ID: <54eca6a70912041350o587cbb8eif5c9b9167e836556@mail.gmail.com> I have made a deformable image registration process that after a number of iterations pauses the optimizer and based on some criterion resizes the parameters array (always to a smaller size). The the new parameters array is thrown into the image registration process and the optimization is continued (the remaining parameters are copied to the new parameters array and the optimizer is updated - number of optimizer scales). The jacobian is resized accordingly in the transform and so are the number of deformable nodes. Now I am trying to analyse the effect of resizing the parameters array from the optimizer's point of view. When the optimizer continues to work on the new and smaller parameters array (which is initialized with the "surviving" coefficients from the previous parameters array) the optimizer search space is actually reduced and the convergence should in theory be speed up. But maybe someone has some thought on this kind of "dynamic" search space reduction and its consequences? From fabbri at u.washington.edu Fri Dec 4 20:23:14 2009 From: fabbri at u.washington.edu (Serena Fabbri) Date: Fri, 4 Dec 2009 17:23:14 -0800 (PST) Subject: [Insight-users] call metric in Observer code...bug? In-Reply-To: Message-ID: Hi Luis, I don't use Bulk Transform for the Deformable Registration task because the fixed and the moving images are already Rigid Registered. I mean: fixed image: MRI moving image: Rigid Registered CT image. ----- My images are float and the ScalarType for BSpline Transformation is double. I think there is a problem in Trasformation parameters because If I try to print the parameters in the observer code, I get the error message : > > BSpline_MMI_RSG(4731) malloc: *** vm_allocate(size=4294926336) failed (error > > code=3) > > BSpline_MMI_RSG(4731) malloc: *** error: can't allocate region > > BSpline_MMI_RSG_1(4731) malloc: *** set a breakpoint in szone_error to debug > > Abort trap #include "itkCommand.h" class CommandIterationUpdate : public itk::Command { public: typedef CommandIterationUpdate Self; typedef itk::Command Superclass; typedef itk::SmartPointer Pointer; itkNewMacro( Self ); protected: CommandIterationUpdate() {}; public: typedef itk::RegularStepGradientDescentOptimizer OptimizerType; typedef const OptimizerType * OptimizerPointer; typedef itk::OrientedImage< float, 3 > FixedImageType; typedef const FixedImageType* FixedImagePointer; typedef itk::OrientedImage< float, 3 > MovingImageType; typedef const MovingImageType* MovingImagePointer; typedef itk::MattesMutualInformationImageToImageMetric< FixedImageType, MovingImageType > MetricType; typedef const MetricType* MetricPointer; typedef itk::BSplineDeformableTransform< double,3,3 > DeformableTransformType; typedef const DeformableTransformType* TransformPointer; MetricPointer m_Metric; TransformPointer m_Transform; FixedImagePointer m_FixedImage; MovingImagePointer m_MovingImage; void SetTransform( DeformableTransformType* transform ) { m_Transform = transform; } void SetFixedImage( FixedImageType* fixed ) { m_FixedImage = fixed; } void SetMovingImage( MovingImageType* moving ) { m_MovingImage = moving; } void SetMetric(MetricType* metric ) { m_Metric = metric;} void Execute(itk::Object *caller, const itk::EventObject & event) { Execute( (const itk::Object *)caller, event); } if( !(itk::IterationEvent().CheckEvent( &event )) ) { return; } OptimizerType::ParametersType parameters; parameters = m_Transform->GetParameters(); <-----??? std::cout<GetValue(parameters); std::cout << optimizer->GetCurrentIteration() << " MIglobal "<< optimizer->GetValue()<< " "<GetValue(parameters); std::cout << std::endl; }} thanks again in advance for any suggestions. Serena. On Thu, 3 Dec 2009, Luis Ibanez wrote: > Hi Serena, > > Thanks for the details.... > > but... I have now more questions here > > In (A), I guess that you meant that you pass to the local > BSpline transform the same AFFINE transform that you > used for the Bulk Transform of the Global BSpline Transform. > > Is that right ? > > > -- > > The Error: > BSpline_MMI_RSG(4731) malloc: *** vm_allocate(size=4294926336) failed > (error code=3) > > Seems to be the result of storing a negative number into an > unsigned type, in which case you get the modulo 2 of that > number under the 32 bits conversion. > > > The number "4294926336" is what you will get if you > assign -40960 to an unsigned type. > > One of your computations may have slipped an incorrect sign.... > > > > B) When you set the optimizer for the local region you probably should > start with a very small step length. > > What value of "maximum step length" are you currently using ? > > > C) Using All pixels in the small regions > sounds like the right thing to do in this case. > > > > Regards, > > > Luis > > > -------------------------------------------------------------------------------- ------------ > On Thu, Dec 3, 2009 at 2:05 PM, Serena Fabbri wrote: >> Hi Luis, >> >> A) >> I am using BSpline Transform. >> I pass the Trasform used for Global MI to the metric2. >> >> If I define a Transform ?for the small region I obtain this error: >> >> BSpline_MMI_RSG(4731) malloc: *** vm_allocate(size=4294926336) failed (error >> code=3) >> BSpline_MMI_RSG(4731) malloc: *** error: can't allocate region >> BSpline_MMI_RSG_1(4731) malloc: *** set a breakpoint in szone_error to debug >> Abort trap >> >> >> >> This is the code for the Transform >> >> ? ? ? ?FixedImageType::IndexType start; >> ? ? ? ?FixedImageType::SizeType size; >> >> ? ? ? ?start[0]=43; >> ? ? ? ?start[1]=17; >> ? ? ? ?start[2]=0; >> >> ? ? ? ?size[0]=10; >> ? ? ? ?size[1]=13; >> ? ? ? ?size[2]=20; >> >> >> ? ? ? ?FixedImageType::RegionType fixedRegionMetric; >> ? ? ? ?fixedRegionMetric.SetIndex(start); >> ? ? ? ?fixedRegionMetric.SetSize(size); >> >> >> ?typedef DeformableTransformType::RegionType RegionTypeM; >> ?RegionTypeM bsplineRegionM; >> ?RegionTypeM::SizeType ? gridSizeOnImageM; >> ?RegionTypeM::SizeType ? gridBorderSizeM; >> ?RegionTypeM::SizeType ? totalGridSizeM; >> >> ?unsigned int numberOfGridNodesInOneDimensionCoarseM = 3; >> ?numberOfGridNodesInOneDimensionCoarseM = 10; >> ?gridSizeOnImageM.Fill( numberOfGridNodesInOneDimensionCoarseM ); >> ?gridBorderSizeM.Fill( SplineOrder ); ? ?// Border for spline order = 3 ( 1 >> lower, 2 upper ) >> ?totalGridSizeM = gridSizeOnImageM + gridBorderSizeM; >> >> ?bsplineRegionM.SetSize( totalGridSizeM ); >> >> >> ?SpacingType spacingM = fixedImage->GetSpacing(); >> ?OriginType originM = fixedImage->GetOrigin(); >> >> ?FixedImageType::SizeType fixedImageSizeM = fixedRegionMetric.GetSize(); >> ?std::cout<> >> ?for(unsigned int r=0; r> ? ?{ >> ? ?spacingM[r] *= static_cast(fixedImageSizeM[r] - 1) ?/ >> ? ? ? ? ? ? ? ? ?static_cast(gridSizeOnImageM[r] - 1); >> ? ?} >> >> ?FixedImageType::DirectionType gridDirectionM = fixedImage->GetDirection(); >> ?SpacingType gridOriginOffsetM = gridDirectionM * spacingM; >> >> ?OriginType gridOriginM = originM - gridOriginOffsetM; >> >> ?bsplineTransformCoarseM->SetGridSpacing( spacingM ); >> ?bsplineTransformCoarseM->SetGridOrigin( gridOriginM ); >> ?bsplineTransformCoarseM->SetGridRegion( bsplineRegionM ); >> ?bsplineTransformCoarseM->SetGridDirection( gridDirectionM ); >> ?bsplineTransformCoarseM->SetParameters( >> initialDeformableTransformParameters ); >> >> >> >> >> B) >> local MI uses the same optimizer than global MI (Regular Step Gradient >> Descent). >> It works fine in the registration task. >> >> >> C) >> I used SetUseAllPixels for the small region too. The region is small in fact >> the number of pixel is 2600. >> >> >> >> >> >> >> >> On Wed, 2 Dec 2009, Luis Ibanez wrote: >> >>> Hi Serena, >>> >>> >>> Thanks for the update. >>> >>> >>> The new error message indicates that the number of samples >>> landing ?in the overlapping region between the FixedImageRegion >>> and the moving image is too small. >>> >>> This is usually an ?indication of: >>> >>> >>> ? ? ? ? ? A) ? A poorly initialized Transform, ? or >>> >>> ? ? ? ? ? B) ? A transform that went too far >>> ? ? ? ? ? ? ? ? usually due to a misconfigured optimizer >>> >>> ? ? ? ? ? C) ? Setting the number of samples >>> ? ? ? ? ? ? ? ? to a value that is too small. >>> >>> >>> Let's start with (A),.... how are you initializing >>> the Transform used to compute the value of MI >>> in the local small regions ? >>> >>> >>> ? ?Please let us know, >>> >>> >>> ? ? ? ? Thanks >>> >>> >>> ? ? ? ? ? ? ? Luis >>> >>> >>> ----------------------------------------------------- >>> On Wed, Dec 2, 2009 at 5:52 PM, Serena Fabbri >>> wrote: >>>> >>>> Hi Luis, >>>> >>>> Thank you for your replay. >>>> >>>> I think it was my oversight because I printed the globalMI >>>> twice......sorry >>>> about that!! >>>> >>>> >>>> I fixed the code and now I am obtaining this error: >>>> >>>> ExceptionObject caught ! >>>> >>>> itk::ExceptionObject (0xd01060) >>>> Location: "typename itk::ImageToImageMetric>>> TMovingImage>::MeasureType >>>> itk::MattesMutualInformationImageToImageMetric>>> TMovingImage>::GetValue(typename itk::ImageToImageMetric>>> TMovingImage>::ParametersType&) const [with TFixedImage = >>>> itk::OrientedImage, TMovingImage = itk::OrientedImage>>> 3>]" >>>> File: /Users/fabbri/InsightToolkit- >>>> 3.10.0/Code/Algorithms/itkMattesMutualInformationImageToImageMetric.txx >>>> Line: 830 >>>> Description: itk::ERROR: >>>> MattesMutualInformationImageToImageMetric(0xd01b00): Too many samples map >>>> outside moving image buffer: 0 / 1000 >>>> >>>> >>>> I have taken a look to MattesMutualInformation code and I have found >>>> that: >>>> Initialize() calls PreComputeTransformValues() >>>> In PreComputeTransformValues() weights and indices are calculated. >>>> I have found that weights are 0 or e-306 and the indices are always 0. >>>> These values are used in TransformPoint (GetValue() code) to calculate >>>> the >>>> mappedPoints. >>>> The calculated mappedPoints are outside my movingImage. >>>> >>>> I'd like to ask you if it is a bug or I get this error because the region >>>> I >>>> used for MI local is really little compared to fixed and moving image. >>>> >>>> Any suggestion will be very appreciate. >>>> >>>> Thank you. >>>> Serena. >>>> >>>> >>>> >>>> >>>> >>>> On Tue, 1 Dec 2009, Luis Ibanez wrote: >>>> >>>>> Hi Serena, >>>>> >>>>> Thanks for letting us know of your progress. >>>>> >>>>> -- >>>>> >>>>> Regarding your question, >>>>> >>>>> Please note that Mutual Information is NOT and additive measure. >>>>> >>>>> >>>>> That is, if you computed a value of Mutual Information, in a region R, >>>>> and then you partition that Region R into two subregions R1 and R2, >>>>> and compute Mutual information in R1 and then in R2, the sum of >>>>> these two last numbers will NOT be equal to the mutual information >>>>> of R. >>>>> >>>>> In short: >>>>> >>>>> ? ? ? ? ? ? ? ? ? ? MI( R ) ?!= ?MI( R1 ) ?+ MI( R2 ) >>>>> >>>>> This is because MI is related to the logs of probabilities of intensity >>>>> pairs (pixel counts). >>>>> >>>>> So... it still may be ok that you get similar values of Mutual >>>>> Information >>>>> from MI(R) ?and MI( R1). ? In principle, it just tells you that the >>>>> statistical >>>>> distribution of pixels intensity pairs in the Region R is similar to the >>>>> one >>>>> in the subregion R1. >>>>> >>>>> I don't know if that helps you with the original goal that you had for >>>>> computing MI in subregions of the image..... >>>>> >>>>> >>>>> ? ? ?Regards, >>>>> >>>>> >>>>> ? ? ? ? ? ? Luis >>>>> >>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------------- -- >> >> --- >>>> >>>> --- >>>>> >>>>> On Mon, Nov 30, 2009 at 8:10 PM, Serena Fabbri >>>>> wrote: >>>>>> >>>>>> Hi Luis, >>>>>> >>>>>> thank you very much to explain clearly the mistake. >>>>>> I fixed the code and now I am able to calculate local MI. >>>>>> >>>>>> >>>>>> Now I am a bit surprised because the SetFixedImageRegion is (10,17,20) >>>>>> pixelsize and the FixedImage is ?(80,80,101) pixelsize and >>>>>> I am finding that the values of local MI are pretty close to the global >>>>>> values of MI. I use all pixel for ?local MI and 10% of statistic for >>>>>> global >>>>>> MI. >>>>>> >>>>>> Do you think this is reasonable? >>>>>> >>>>>> Thanks again for any suggestion. >>>>>> >>>>>> Serena. >>>>>> >>>>>> >>>>>> These are the results of LOCAL MI: >>>>>> >>>>>> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 >>>>>> -0.468013 >>>>>> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >>>>>> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 >>>>>> -0.492886 >>>>>> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 >>>>>> 18 >>>>>> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >>>>>> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >>>>>> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 >>>>>> -0.51411 >>>>>> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 >>>>>> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >>>>>> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >>>>>> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 >>>>>> -0.526987 >>>>>> ? 48 ? -0.528026 ? 49 ? -0.528595 ? 50 ? -0.529578 >>>>>> >>>>>> >>>>>> -GLOBAL MI >>>>>> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 >>>>>> -0.468013 >>>>>> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >>>>>> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 >>>>>> -0.492886 >>>>>> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 >>>>>> 18 >>>>>> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >>>>>> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >>>>>> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 >>>>>> -0.51411 >>>>>> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 ? 35 >>>>>> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >>>>>> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >>>>>> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 >>>>>> -0.526987 >>>>>> ? 48 ? -0.528026 ? 49 ? -0.528595 >>>>>> >>>>>> >>>>>> On Thu, 26 Nov 2009, Luis Ibanez wrote: >>>>>> >>>>>>> Serena, >>>>>>> >>>>>>> The "caller" argument of the Execute method is an Observer >>>>>>> is the pointer to the object that invoked the event. >>>>>>> >>>>>>> In your particular case, this is the Optimizer. >>>>>>> >>>>>>> As Bill explained, >>>>>>> you can only cast "caller" to the OptimizerType. >>>>>>> >>>>>>> >>>>>>> For all the other elements of the registration framework, you have >>>>>>> to pass them through other means to the command. >>>>>>> >>>>>>> One way of doing this is to have them as Member variables, >>>>>>> and to have "Set" methods for them. >>>>>>> >>>>>>> Like >>>>>>> >>>>>>>> class CommandIterationUpdate : public itk::Command { >>>>>>>> public: >>>>>>>> ?typedef ?CommandIterationUpdate ? Self; >>>>>>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>>>>>> ?typedef itk::SmartPointer ?Pointer; >>>>>>>> ?itkNewMacro( Self ); >>>>>>>> >>>>>>>> protected: >>>>>>>> ?CommandIterationUpdate() {}; >>>>>>>> >>>>>>>> public: >>>>>>>> ?typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>>>>>>> ?typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>>>>>> >>>>>>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>>>>>> ? ? ? typedef ? const ?FixedImageType* ?FixedImagePointer; >>>>>>>> >>>>>>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>>>>>> >>>>>>>> ? ? ? typedef itk::MattesMutualInformationImageToImageMetric< >>>>>>>> FixedImageType, MovingImageType >>>>>>>>> >>>>>>>>> MetricType; >>>>>>>> >>>>>>>> ? ? ? typedef ? const MetricType* ?MetricPointer; >>>>>>>> >>>>>>>> ? ? ? typedef itk::BSplineDeformableTransform< double,3,3 > >>>>>>>> DeformableTransformType; >>>>>>>> ? ? ? typedef ? const DeformableTransformType* ?TransformPointer; >>>>>>>> >>>>>>> MetricPointer ? ? ? ? ? ?m_Metric; >>>>>>> TransformPointer ? ?m_Transform; >>>>>>> FixedImagePointer ? ?m_FixedImage; >>>>>>> MovingImagePointer ? ?m_MovingImage; >>>>>>> >>>>>>> >>>>>>> public: >>>>>>> >>>>>>> ?SetTransform( TransformType * transform ) { ?m_Transform = transform; >>>>>>> } >>>>>>> ?SetFixedImage( FixedImageType * fixed ) { ?m_FixedImage = fixed; } >>>>>>> ?SetMovingImage( MovingImageType * moving ) { ?m_MovingImage = moving; >>>>>>> } >>>>>>> >>>>>>> >>>>>>> and then you can use them in your Execute method. >>>>>>> >>>>>>> Also, >>>>>>> when you connect the Command to the optimizer, >>>>>>> you should also do: >>>>>>> >>>>>>> >>>>>>> ? observer->SetFixedImage( fixedImage ); >>>>>>> ? observer->SetMovingImage( movingImage ); >>>>>>> ? observer->SetTransform( transform ); >>>>>>> >>>>>>> ? optimizer->AddObserver( itk::IterationEvent(), observer ); >>>>>>> >>>>>>> In this way, the components of the registration framework >>>>>>> will be available to the internals of your observer class. >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> >>>>>>> ? ? ? ? Luis >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------ --- >> >> -- >>>> >>>> -- >>>>>>> >>>>>>> On Wed, Nov 25, 2009 at 8:51 PM, Serena Fabbri >>>>>>> >>>>>>> wrote: >>>>>>>> >>>>>>>> Hi All, >>>>>>>> >>>>>>>> I am registering CT image and MRI image with Mattes MI and Bspline >>>>>>>> Transformation. >>>>>>>> I'd like to know the value of MI of a little area of the fixed image >>>>>>>> during >>>>>>>> the registration process. >>>>>>>> I call the metric in the observer code but i get a bus error. >>>>>>>> >>>>>>>> could anybody suggest me where the error is? >>>>>>>> >>>>>>>> Thank you very much. >>>>>>>> >>>>>>>> Serena >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> class CommandIterationUpdate : public itk::Command { >>>>>>>> public: >>>>>>>> ?typedef ?CommandIterationUpdate ? Self; >>>>>>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>>>>>> ?typedef itk::SmartPointer ?Pointer; >>>>>>>> ?itkNewMacro( Self ); >>>>>>>> >>>>>>>> protected: >>>>>>>> ?CommandIterationUpdate() {}; >>>>>>>> >>>>>>>> public: >>>>>>>> ? typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; >>>>>>>> ? typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>>>>>> >>>>>>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>>>>>> ? ? ? ?typedef ? const ?FixedImageType* ?FixedImagePointer; >>>>>>>> >>>>>>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>>>>>> >>>>>>>> ? ? ? ?typedef itk::MattesMutualInformationImageToImageMetric< >>>>>>>> FixedImageType, MovingImageType >>>>>>>>> >>>>>>>>> MetricType; >>>>>>>> >>>>>>>> ? ? ? ?typedef ? const MetricType* ?MetricPointer; >>>>>>>> >>>>>>>> ? ? ? ?typedef itk::BSplineDeformableTransform< double,3,3 > >>>>>>>> DeformableTransformType; >>>>>>>> ? ? ? ?typedef ? const DeformableTransformType* ?TransformPointer; >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ?void Execute(itk::Object *caller, const itk::EventObject & event) >>>>>>>> ? ?{ >>>>>>>> ? ? ?Execute( (const itk::Object *)caller, event); >>>>>>>> ? ?} >>>>>>>> >>>>>>>> ?void Execute(const itk::Object * object, const itk::EventObject & >>>>>>>> event) >>>>>>>> ? ?{ >>>>>>>> >>>>>>>> ? ? ? ? ? ? ? ?OptimizerPointer optimizer = dynamic_cast< >>>>>>>> OptimizerPointer >>>>>>>>> >>>>>>>>> ( object ); >>>>>>>> >>>>>>>> ? ? ? ? ? ? ? ?MetricPointer metric = dynamic_cast< MetricPointer >( >>>>>>>> object >>>>>>>> ); >>>>>>>> ? ? ? ? ? ? ? ?TransformPointer transform = dynamic_cast< >>>>>>>> TransformPointer >>>>>>>>> >>>>>>>>> ( object ); >>>>>>>> >>>>>>>> ? ? ? ? ? ?FixedImagePointer fixedImage = dynamic_cast< >>>>>>>> FixedImagePointer>( >>>>>>>> object ); >>>>>>>> ? ? ? ? ? ? ? ?FixedImageType::IndexType start; >>>>>>>> ? ? ? ? ? ? ? ?FixedImageType::SizeType size; >>>>>>>> >>>>>>>> ? ? ? ? ? ? ? ? start[0]=43; >>>>>>>> ? ? ? ? ? ? ? ? start[1]=30; >>>>>>>> ? ? ? ? ? ? ? ? start[2]=0; >>>>>>>> >>>>>>>> ? ? ? ? ? ? ? ? size[0]=10; >>>>>>>> ? ? ? ? ? ? ? ? size[1]=17; >>>>>>>> ? ? ? ? ? ? ? ? size[2]=20; >>>>>>>> >>>>>>>> >>>>>>>> ? ? ? ? ? ? ? ? FixedImageType::RegionType fixedRegionMetric ; >>>>>>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetIndex(start); >>>>>>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetSize(size); >>>>>>>> >>>>>>>> ? ? ? ? ? ? ? ?OptimizerType::ParametersType parameters; >>>>>>>> >>>>>>>> >>>>>>>> ? ? ?if( !(itk::IterationEvent().CheckEvent( &event )) ) >>>>>>>> ? ? ? ?{ >>>>>>>> ? ? ? ?return; >>>>>>>> ? ? ? ?} >>>>>>>> ? ? ? ? ? ?metric->SetFixedImageRegion(fixedRegionMetric); >>>>>>>> ? ? ? ? ? ? ? ?metric->SetUseAllPixels( true ); >>>>>>>> ? ? ? ? ? ?parameters = transform->GetParameters(); >>>>>>>> >>>>>>>> >>>>>>>> ? ? ? ? ?std::cout << optimizer->GetCurrentIteration() << "MIglobal >>>>>>>> "<< >>>>>>>> optimizer->GetValue() << " MIlocal ?"<GetValue(parameters); >>>>>>>> ? ? ?std::cout << std::endl; >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ? ?} >>>>>>>> }; >>>>>>>> >>>>>>>> >>>>>>>> _____________________________________ >>>>>>>> Powered by www.kitware.com >>>>>>>> >>>>>>>> Visit other Kitware open-source projects at >>>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>>> >>>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>>> http://www.kitware.com/products/protraining.html >>>>>>>> >>>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>>> >>>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> >>>> >>>> >>> >> >> >> > From fcis2005 at hotmail.com Sat Dec 5 06:39:07 2009 From: fcis2005 at hotmail.com (Hassan Ramadan) Date: Sat, 5 Dec 2009 03:39:07 -0800 (PST) Subject: [Insight-users] 2d/3d registration framework released ? Message-ID: <26654866.post@talk.nabble.com> Hi all, - i would like to know if 2d-3d registration framework ready for use? and where can i find it - which example or url can i use and what are your recommendations to do 2d-3d registration? i saw a post saying : a version will support multi-resolution 2D/3D registration framework which is - hopefully - a bit easier to configure (the X-ray geometry) than the InsightApplication-example(registrationexample8.cxx). it will support (in contrast to ITK's RayCaster) a) multi-threaded DRR-generation, b) ray-casting and wobbled splatting, c) intensity transfer functions and d) affine transformations of the input volume. where can i find it, and what are your recommendations to do 2d/3d registration. thanks in advance, i would be grateful for any help or recommendation Thanks in advance, Hassan -- View this message in context: http://old.nabble.com/2d-3d-registration-framework-released---tp26654866p26654866.html Sent from the ITK - Users mailing list archive at Nabble.com. From bilgic at cs.rpi.edu Sat Dec 5 11:02:24 2009 From: bilgic at cs.rpi.edu (C.Cagatay Bilgin) Date: Sat, 5 Dec 2009 11:02:24 -0500 Subject: [Insight-users] Fwd: INTERNATIONAL COMPUTER VISION SUMMER SCHOOL - Sicily 12-17 July 2010 - CALL FOR PARTICIPATION References: <20091204175407.C9B60601E0@www.dmi.unict.it> Message-ID: I did not see this getting posted to ITK list, but if it was posted, sorry for the duplicate. Cagatay Begin forwarded message: > From: International Computer Vision Summer School > Date: December 4, 2009 12:54:07 PM EST > To: bilgic at cs.rpi.edu > Subject: INTERNATIONAL COMPUTER VISION SUMMER SCHOOL - Sicily 12-17 > July 2010 - CALL FOR PARTICIPATION > > _____________________________________________________ > Call for Participation (apologies for multiple copies) > _____________________________________________________ > > INTERNATIONAL COMPUTER VISION SUMMER SCHOOL > WEB: http://www.dmi.unict.it/icvss > Email: icvss at dmi.unict.it > > APPLICATION DEADLINE: 21 March 2010 > http://svg.dmi.unict.it/icvss2010/application.htm > > The fourth edition of the International Computer Vision Summer > School aims to provide an objective, clear and in-depth summary of > the state-of-the-art research in the area of Computer Vision. The > courses will be delivered by world renowned experts in the field, > from both academia and industry, and will cover both theoretical and > practical aspects of real Computer Vision problems. > > The school is especially aimed to provide a stimulating space for > young researchers and Ph.D. students. The participants will benefit > from direct interaction and discussions with world leaders in > Computer Vision. Participants will also have the possibility to > present the results of their research, and to interact with their > scientific peers, in a friendly and constructive environment. > > LIST OF SPEAKERS (OTHER SPEAKERS ARE COMING SOON?) > > Tim Cootes > University of Manchester, UK > > Pascal Fua > Ecole Polytechnique F?d?rale de Lausanne, CH > > Kristen Grauman > University of Texas at Austin, USA > > Michal Irani > The Weizmann Institute of Science, Israel > > Tomaso Poggio > Massachusetts Institute of Technology, USA > > Marc Polleyfeys > ETH, Zurich > > Stefano Soatto > UCLA, USA > > Rick Szeliski > Microsoft Research Ltd, Redmond, USA > > OTHER SPEAKERS ARE COMING SOON? > > DIRECTORS > > Roberto Cipolla > University of Cambridge, UK > > Sebastiano Battiato > University of Catania, IT > > Giovanni Maria Farinella > University of Catania, IT > > APPLICATION > The school will be open to about 100 qualified, motivated and pre- > selected candidates. Ph. D. students, post-docs, young researchers > (both academic and industrial), senior researchers (both academic > and industrial) or academic/industrial professionals are encouraged > to apply: http://svg.dmi.unict.it/icvss2010/application.htm > The expected school fee will be in the order of 600,00 ? for Master > and Phd students, 750 ? for others academic position and 900 ? for > all the others. The fee will include, all courses, handling > material, coffee breaks, welcome cocktail, bus service from Catania > Airport to School Location and viceversa, WiFi Internet Connession, > a guided tour and social dinner to Ragusa Ibla, a folcloristic > exhibition of the Herbessus Sicilian Group Dancers, and bus service > from School Location to Catania, Siracusa and Taormina at the end of > the school. > The application at ICVSS 2010 should be done before 21 March 2010. > Applicants will receive notification of acceptance by 31 March 2010. > > POSTER SUBMISSION > The International Computer Vision Summer School is especially aimed > to provide a stimulating space for young researchers and Ph.D. > Students. They will have the possibility to present the results of > their research on the topic of the school, and to interact with > their scientific peers, in a friendly and constructive environment. > Accepted students may submit a poster to present their research > activity. The poster should be submitted before 10 May 2010. > Suitable space will be reserved to students for showing their > posters. The electronic version of the posters will also be > available from the ICVSS web site. > > BEST PRESENTATION PRIZE > A selected subset from the submitted posters will be selected by the > school committee for short oral presentation. A best presentation > prize of 700 euros (supported by Toshiba Research Europe) will be > given to the best presentation selected by the school committee. > > LOCATION OF ICVSS 2010 > ICVSS 2010 will be hosted by Hotel Village Baia Samuele in Punta > Sampieri - Scicli (Ragusa), Sicily from 12-17 July 2010. Sicily is > one of the most beautiful islands of the Mediterranean. The island > is very rich in archeological sites from various Ancient > Civilizations. The sea, weather, food and the wine are excellent. In > particular Punta Sampieri - Scicli (RG) is located in the south east > of Sicily in a late Baroque area called Val di Noto. The Val di Noto > area is included in the Unesco World Heritage List and includes > eight nearby towns: Caltagirone, Militello Val di Catania, Catania, > Modica, Noto, Palazzolo, Ragusa and Scicli. The location of the > school rises in the middle of an ample bay delimited on the west > from Sampieri and on the east from a cliff, on which is founded an > ancient furnace, rare example of industrial archaeology. The Hotel > Village "Baia Samuele" stretches in a gentle slant to the beach: 120 > thousand square meters delimited from rows of secular cypresses. An > ultramodern village with an original architecture, pleasant design > and all comforts you can imagine. The frame of plants and flowers, > typical of this angle of Sicily, in front of the island of Malta, > completes this gilded dream of the Mediterranean. > > ACCOMMODATION RESERVATION AT HOTEL VILLAGE BAIA SAMUELE > ICVSS participants must make reservations for accommodation at Hotel > Village Baia Samuele (http://www.baiasamuele.it/) at very special > rates. More information about reservation will be announced as soon > as possible on the web site. > > MORE INFORMATION > www.dmi.unict.it/icvss > icvss at dmi.unict.it -------------- next part -------------- An HTML attachment was scrubbed... URL: From anja.ende at googlemail.com Sat Dec 5 18:42:21 2009 From: anja.ende at googlemail.com (Anja Ende) Date: Sat, 5 Dec 2009 23:42:21 +0000 Subject: [Insight-users] Using the meshing classes in ITK In-Reply-To: <96b2e5f30912031736g12223b75j3dd9b15cd716cd@mail.gmail.com> References: <82f536810912021958l526bd930sda888585a23bcb56@mail.gmail.com> <1f5d2b4f0912030345j34e13751q192fdac93bec18f8@mail.gmail.com> <96b2e5f30912031736g12223b75j3dd9b15cd716cd@mail.gmail.com> Message-ID: <1f5d2b4f0912051542w53f52215ye3e8f57c3f97ac67@mail.gmail.com> Many thanks Stefan! 2009/12/4 Stefan D?nzer : > Anja, > > there's also another tool you might want to have a look at for generating > tetrahedral meshes. It's called?"Voxelizer" by Dan Morris, you can get it > here: http://techhouse.brown.edu/~dmorris/projects/voxelizer/ > > I have used it in the past to generate volumetric meshes from a surface > representation in a virtual surgical training simulator a while ago. > > Good luck with your work! > > Stefan > > On Thu, Dec 3, 2009 at 12:45 PM, Anja Ende wrote: >> >> Thank you all for your reply. I will try the iso2Mesh tool and will >> let the list know about my experience. >> >> Cheers, >> Anja >> >> 2009/12/3 Andriy Fedorov : >> > Anja, >> > >> > Here's a package that you might find helpful: >> > >> > http://iso2mesh.sourceforge.net/ >> > >> > I personally never used it, but I did have good experience with Tetgen >> > and CGAL for the tasks similar to what you want to accomplish. From >> > the first look, iso2mesh appears to be a wrapper around several lower >> > level meshing tools (including Tetgen and some algorithms from CGAL). >> > >> > You can use CGAL+Tetgen directly to construct a tetrahedral mesh from >> > segmentation, but this will require some time to understand formats, >> > parameters, and write some extra code. It looks like iso2mesh does >> > this transparently from the user, but I have not tried it myself to >> > confirm this. >> > >> > If you do use this iso2mesh tool, please update the list with your >> > experience. >> > >> > Andriy Fedorov >> > >> > >> > >> > >> >> Date: Wed, 2 Dec 2009 18:46:25 -0500 >> >> From: Luis Ibanez >> >> Subject: Re: [Insight-users] Using the meshing classes in ITK >> >> To: Anja Ende >> >> Cc: insight-users at itk.org >> >> Message-ID: >> >> ? ? ? ? >> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> >> >> Hi ?Anja, >> >> >> >> ? ? ? ? ? ? ? ? ?Welcome to ITK ! >> >> >> >> Your question is a very interesting one. >> >> >> >> >> >> And to put it shortly: >> >> >> >> ? ? ? ? It is one for which we don't have >> >> ? ? ? ? a full answer involving only ITK methods. >> >> >> >> >> >> There are two major pieces to what you are >> >> trying to do: >> >> >> >> 1) ?Segmenting brain structures from MR ?and CT brain data. >> >> >> >> 2) ?Generating tetrahedral meshes from the segmented >> >> ? ? regions >> >> >> >> >> >> >> >> For (1), ITK provides a very rich set of methods. >> >> >> >> >> >> For (2), you will have to use additional tools. >> >> >> >> >> >> Regarding (1), the type of segmentation methods that you >> >> need to use is closely related to the specific brain structure >> >> that you want to segment. >> >> >> >> Popular methods are: >> >> >> >> * Region growing >> >> * Level Sets >> >> * Statistical Classification >> >> * Atlas-based segmentation >> >> >> >> and combinations of them, for example >> >> >> >> * EM segmentation. >> >> >> >> You will find an introduction to (some of the) >> >> segmentation methods in ITK, in the >> >> Software Guide: >> >> >> >> ?http://www.itk.org/ItkSoftwareGuide.pdf >> >> >> >> >> >> You will also find a good deal of Brain segmentation >> >> tools at NAMIC: >> >> http://www.na-mic.org/Wiki/index.php/Main_Page >> >> >> >> and >> >> >> >> NITRC: >> >> http://www.nitrc.org/ >> >> >> >> >> >> Many of them, based on ITK. >> >> >> >> >> >> >> >> Regarding the tetrahedral mesh generation: >> >> ITK itself does not provide that functionality. >> >> >> >> The tool that you should try is: >> >> http://www.ccad.uiowa.edu/mimx/IA-FEMesh/ >> >> >> >> (which is also used by several groups at NAMIC): >> >> >> >> http://www.na-mic.org/Wiki/index.php/NA-MIC_NCBC_Collaboration:Automated_FE_Mesh_Development >> >> >> >> >> >> This tool needs as input a surface. >> >> (a 2D manifold embedded in a 3D space) >> >> >> >> You can generate such surface by taking the >> >> segmentation (typically a binary image) of the >> >> brain structures of your interests and extracting >> >> its Iso-surface with VTK (typically with the >> >> vtkContourFilter) or with a ready-to-use tool >> >> like ParaView http://www.paraview.org). >> >> (which is based on VTK). >> >> >> >> >> >> >> >> ? ? Please take a look at these resources >> >> ? ? and let us know if you have further >> >> ? ? questions, >> >> >> >> >> >> ? ? ? ? ? ?Thanks >> >> >> >> >> >> ? ? ? ? ? ? ? ? ?Luis >> >> >> >> >> >> >> >> >> >> ------------------------------------------------------------------------------------- >> >> On Wed, Dec 2, 2009 at 6:56 AM, Anja Ende >> >> wrote: >> >>> Hello everyone, >> >>> >> >>> This is more of a general question. I would like to know more about >> >>> generating meshes from MR and CT data. So, I have a brain image and I >> >>> would like to generate a tetrahedral based mesh from it and then use >> >>> it further for some FEM processing. I am a newbie to this field and >> >>> would like to ask a couple of questions and would be very grateful if >> >>> someone can take the time to answer them: >> >>> >> >>> - What pre-processing do I need to do to the itk image so that I can >> >>> feed it to a mesh generator? Would I first need to segment the bit >> >>> that I am interested in? So, would I need to segment the background >> >>> out of the image. >> >>> - I am guessing the mesh generators would need some point set as their >> >>> input. How could I generate a point set from an itk image? >> >>> >> >>> I am quite new to this area and am a bit lost as to how to start. >> >>> Would really appreciate your help. >> >>> >> >>> Cheers, >> >>> >> >>> Anja >> >>> _____________________________________ >> >>> Powered by www.kitware.com >> >>> >> >>> Visit other Kitware open-source projects at >> >>> http://www.kitware.com/opensource/opensource.html >> >>> >> >>> Kitware offers ITK Training Courses, for more information visit: >> >>> http://www.kitware.com/products/protraining.html >> >>> >> >>> Please keep messages on-topic and check the ITK FAQ at: >> >>> http://www.itk.org/Wiki/ITK_FAQ >> >>> >> >>> Follow this link to subscribe/unsubscribe: >> >>> http://www.itk.org/mailman/listinfo/insight-users >> >>> >> > >> >> >> >> -- >> Cheers, >> >> Anja >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users > > > > -- > -- > Stefan Daenzer > K?rnerplatz 8 > 04107 Leipzig > > Tel.: +49-176-61157550 > > "Work like you don't need the money, love like you've never been hurt and > dance like no one is watching." - Randall G Leighton > -- Cheers, Anja From luis.ibanez at kitware.com Sun Dec 6 16:23:55 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 6 Dec 2009 16:23:55 -0500 Subject: [Insight-users] 2d/3d registration framework released ? In-Reply-To: <26654866.post@talk.nabble.com> References: <26654866.post@talk.nabble.com> Message-ID: Hi Hassan, You will find this code under the directory: InsightApplications/ IntensityBased2D3DRegistration http://public.kitware.com/cgi-bin/viewcvs.cgi/IntensityBased2D3DRegistration/?root=InsightApplications -- The basic registration components are inside ITK itself. The key component is: itkRayCastInterpolateImageFunction.h while the others are standard components used in both 2D/2D and 3D/3D registration. Regards, Luis --------------------------------------- On Sat, Dec 5, 2009 at 6:39 AM, Hassan Ramadan wrote: > > Hi all, > > - i would like to know if 2d-3d registration framework ready for use? and > where can i find it > - which example or url can i use and what are your recommendations to do > 2d-3d registration? > > i saw a post saying : > a version will support multi-resolution 2D/3D registration framework which > is - hopefully - a bit easier to configure (the X-ray geometry) than the > InsightApplication-example(registrationexample8.cxx). it will support (in > contrast to ITK's RayCaster) a) multi-threaded DRR-generation, b) > ray-casting and wobbled splatting, c) intensity transfer functions and d) > affine transformations of the input volume. > > where can i find it, and what are your recommendations to do 2d/3d > registration. > > thanks in advance, i would be grateful for any help or recommendation > > Thanks in advance, > Hassan > -- > View this message in context: http://old.nabble.com/2d-3d-registration-framework-released---tp26654866p26654866.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Sun Dec 6 16:31:06 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 6 Dec 2009 16:31:06 -0500 Subject: [Insight-users] Changing the size of the parameters array during registration? In-Reply-To: <54eca6a70912041350o587cbb8eif5c9b9167e836556@mail.gmail.com> References: <54eca6a70912041350o587cbb8eif5c9b9167e836556@mail.gmail.com> Message-ID: Hi Motes This type of run-time change is done in the Example: Insight/Examples/DeformableRegistration15.cxx Note that the key actions that you have to take care of, every time that you change the size of the parameters array are: 1) registration->SetInitialTransformParameters( resizedArray ); 2) optimizer->SetScales( resizedOptimizerScales ); That is, the array of optimizer scales must be resized to the same size of the resized parameters array. Then, when you call StartRegistration() the metric and the registration class will initialize their internal arrays accordingly. Regards, Luis ---------------------------------------------------------------------------- On Fri, Dec 4, 2009 at 4:50 PM, motes motes wrote: > I have made a deformable image registration process that after a > number of iterations pauses the optimizer and based on some criterion > resizes the parameters array (always to a smaller size). > > The the new parameters array is thrown into the image registration > process and the optimization is continued (the remaining parameters > are copied to the new parameters array and the optimizer is updated - > number of optimizer scales). ?The jacobian is resized accordingly in > the transform and so are the number of deformable nodes. > > Now I am trying to analyse the effect of resizing the parameters array > from the optimizer's point of view. ?When the optimizer continues to > work on the new and smaller parameters array (which is initialized > with the ?"surviving" coefficients from the previous parameters array) > the optimizer search space is actually reduced and the convergence > should in theory be speed up. But maybe someone has some thought on > this kind of "dynamic" search space reduction and its consequences? > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Sun Dec 6 16:43:49 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 6 Dec 2009 16:43:49 -0500 Subject: [Insight-users] anisotropic diffusion In-Reply-To: <-2129626354391765692@unknownmsgid> References: <-2129626354391765692@unknownmsgid> Message-ID: Hi Bruno, Yes, indeed these methods allow for diffusion in the direction parallel to the edges. Note however, that this claim has to be qualified as: They do more diffusion in the direction parallel to edges than in the direction perpendicular to the edges. The conductance value is further modulated / computed inside the code, according to the direction of the gradients. See for example, lines 114-156 of the file: Insight/Code/BasicFilters/ itkGradientNDAnisotropicDiffusionFunction.txx Regards, Luis --------------------------------------------------------------------------------------- On Fri, Dec 4, 2009 at 8:55 AM, Bruno Arbter wrote: > Hi, > > I started using nonlinear diffusion filters in 3D. As far as I understood, > the classic Perona-Malik implementation > (itkGradientNDAnisotropicDiffusionFunction) uses a scalar value for the > conductance and is strictly speaking isotropic. Further I found the > level-set-based initkCurvatureNDAnisotropicDiffusionFunction. > > But are there any anisotropic (edge-enhancing) diffusion filters that are > able to stop diffusion perpendicular to edges but allows diffusion parallel > to edges? > > In itkAnisotropicDiffusionFunction.h I found the hint that "several > variations on the scheme [...] are implemented in Itk"... > > Thanks, > Bruno > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Sun Dec 6 16:48:25 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 6 Dec 2009 16:48:25 -0500 Subject: [Insight-users] How to get a progess from an iterator? In-Reply-To: <20091204111233.GA2886@drago> References: <20091204111233.GA2886@drago> Message-ID: Hi Lynx, Nope, In practice, the progress reporting functionalities have been implemented by using the ProgressReporter class, and by inter-twining it in the while-loop of the iterator. Se for example the code in the BinaryFunctor filter #include "itkProgressReporter.h" ProgressReporter progress(this, threadId, outputRegionForThread.GetNumberOfPixels()); inputIt1.GoToBegin(); inputIt2.GoToBegin(); outputIt.GoToBegin(); while( !inputIt1.IsAtEnd() ) { outputIt.Set( m_Functor( inputIt1.Get(), inputIt2.Get() ) ); ++inputIt2; ++inputIt1; ++outputIt; progress.CompletedPixel(); // potential exception thrown here } This results in ProgressEvents() being invoked from the filter. --- Luis ----------------------------------------------------------------------- On Fri, Dec 4, 2009 at 6:12 AM, wrote: > Hello! > > > Is there any way to get a progress information of an iterator (of a FaceList)? > Basicly just where is it at the moment relative to the whole image? > > Thanks for any help or hints > Lynx > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From lynx.abraxas at freenet.de Sun Dec 6 17:08:14 2009 From: lynx.abraxas at freenet.de (lynx.abraxas at freenet.de) Date: Sun, 6 Dec 2009 23:08:14 +0100 Subject: [Insight-users] How to get a progess from an iterator? In-Reply-To: References: <20091204111233.GA2886@drago> Message-ID: <20091206220814.GA2746@drago> On 06/12/09 16:48:25, Luis Ibanez wrote: > Hi Lynx, > > Nope, > In practice, the progress reporting functionalities have > been implemented by using the ProgressReporter > class, and by inter-twining it in the while-loop of the > iterator. > Thanks Luis for Your answer. I stepped over ProgressReporter but I don't know where to get the variables from I have to pass to ProgressReporter progress() when I use the iterator in main like in the example: ShapedNeighborhoodIterators1.cxx. So am I correct in assuming that I'd have to transform that main into an independent itk filter which I then include and call in my main program? Thanks Lynx From luis.ibanez at kitware.com Sun Dec 6 18:24:51 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 6 Dec 2009 18:24:51 -0500 Subject: [Insight-users] How to get a progess from an iterator? In-Reply-To: <20091206220814.GA2746@drago> References: <20091204111233.GA2886@drago> <20091206220814.GA2746@drago> Message-ID: Hi Lynx, Yes, the Progress reporter is used normally inside the GenerateData() method of a filter. You could move your code into a filter, although, this may be more involved than what you were looking for.... --- A simpler option is to just insert a counter inside the while-loop of the iterators. That's after all, what the code of the ProgressReporter does. The code will look like: ImageIterator input1( image, region ); unsigned int numberOfPixels = region.GetNumberOfPixels(); inputIt1.GoToBegin(); unsigned int counter = 0; unsigned int localLimit = numberOfPixels / 100; while( !inputIt1.IsAtEnd() ) { ... // do the iterator processing. ++inputIt1; ++counter; if ( counter % localLimit == 0 ) { counter=0; const double progress = (double)(counter) / (double)(numberOfPixels); std::cout << "Progress = " << progress << std::endl; } } Regards Luis --------------------------------------------------------------- On Sun, Dec 6, 2009 at 5:08 PM, wrote: > On 06/12/09 16:48:25, Luis Ibanez wrote: >> Hi Lynx, >> >> Nope, >> In practice, the progress reporting functionalities have >> been implemented by using the ProgressReporter >> class, and by inter-twining it in the while-loop of the >> iterator. >> > > Thanks Luis for Your answer. > I ?stepped ?over ?ProgressReporter but I don't know where to get the variables > from I have to pass to ProgressReporter progress() when I use the iterator ?in > main like in the example: ShapedNeighborhoodIterators1.cxx. > > So ?am ?I ?correct ?in ?assuming ?that I'd have to transform that main into an > independent itk filter which I then include and call in my main program? > > Thanks > Lynx > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From liangxi1986317 at hotmail.com Sun Dec 6 19:08:11 2009 From: liangxi1986317 at hotmail.com (Xi LIANG) Date: Mon, 7 Dec 2009 08:08:11 +0800 Subject: [Insight-users] Registration example in ITK User guide In-Reply-To: References: , Message-ID: Dear Luis, Thank you for your suggestion, and I have downloaded slicer and ParaView. However, I still cannot manage to visualize the example images. I provide the head file information and the property parameters I used in Paraview belowing The followings are head file informationsNDims = 3DimSize = 181 217 180ElementType = MET_UCHARElementSpacing = 1.0 1.0 1.0ElementByteOrderMSB = FalseElementDataFile = brainweb1e1a10f20.raw The following are the parameters I used int he property tab. (Kitware ParaView 3.6.1)File Prefix: dir/brainweb1e1a10f20.rawFile Pattern: %s <---- I am not sure whether this is correctData Scalar Type: unsigned charData Byte Order: LittleEndian File Dimensionality: 3Data Origin: 0 0 0Data Spacing: 1 1 1Data Extent 0 180 0 216 0 179 <----- I deduct one from the DimSizeNumber of Scalar Components: 1Scalar Array Name: ImageFile <-----Not sure about thisFile Lower Left (ticked) Then or others are by default Regards, -------------------------------- Xi Liang ?? -------------------------------- > Date: Thu, 3 Dec 2009 21:24:34 -0500 > Subject: Re: [Insight-users] Registration example in ITK User guide > From: luis.ibanez at kitware.com > To: liangxi1986317 at hotmail.com > CC: insight-users at itk.org > > Hi Xi, > > If the purpose of the visualization is to verify the quality of the > registration, > you simply need to use > > A) the VV application from the Creatis group: > http://www.creatis.insa-lyon.fr/rio/vv > > or > > B) Slicer (http://www.slicer.org) > > > They are both based on ITK and VTK, and have built-in method for > performing visualization of registered images. > > You will find VV described in the following paper in the Insight Journal: > http://www.midasjournal.org/browse/publication/617 > > Of course, you can also use ParaView directly. > > Note that ITK can write images in .VTK format, > and they can in turn be read in ParaView (and Slicer and VV) > directly. > > Note also that your current .mha or .mhd image can also > be directly loaded in ParaView, and Slicer, and VV. > > > In summary: You can simply download any of those > three applications and open your current output files > without having to do any further processing on them. > > > > Regards, > > > Luis > > > > ---------------------------------------------------------------------------------------------- > On Wed, Dec 2, 2009 at 9:32 PM, Xi LIANG wrote: > > Dear all, > > Finally I finished compiling and > > building Examples/Registration/DeformableRegistration8.cxx. This is a > > multi-resolution, 3D deformable registration example. I got couple of mha, > > mhd, raw files for fixed, moving, transformed images, and deformation fields > > as output. > > However, I realize what I have done was the easiest part, and > > the visualization is my real problem. Followings are my understanding of > > what I should do > > 1. process mha, raw format of data by VTK, and generates corresponding *.vtk > > files. > > 2. Then visualize VTK files through ParaView or Slicer. > > I doubt that the VTK file I need to write wont be easily done, as Im reading > > the VTK user guide, and the 3D visualization is not an easy sell. > > Is there any other easy choice to visualize the image, since my focus is > > Registration. OR... I really need to work hard on VTK as well, in order to > > evaluate the registration from ITK properly. > > > > Cheers, > > -------------------------------- > > Xi Liang > > > > ?? > > -------------------------------- > > > > > > > > ________________________________ > > Windows Live Hotmail: Your friends can get your Facebook updates, right from > > Hotmail?. > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > _________________________________________________________________ Windows Live: Keep your friends up to date with what you do online. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_1:092010 -------------- next part -------------- An HTML attachment was scrubbed... URL: From steve at sumost.ca Sun Dec 6 19:58:15 2009 From: steve at sumost.ca (Steve M. Robbins) Date: Sun, 6 Dec 2009 18:58:15 -0600 Subject: [Insight-users] Fedora-RHEL packages: Status of "Patented" and "Review" directories In-Reply-To: <93dce8f90912040718o44caff08p2bac6252992dd292@mail.gmail.com> References: <93dce8f90912040711j40ad4c2ds982ed72772ac2a6c@mail.gmail.com> <93dce8f90912040718o44caff08p2bac6252992dd292@mail.gmail.com> Message-ID: <20091207005815.GC32269@sumost.ca> On Fri, Dec 04, 2009 at 04:18:32PM +0100, Mario Ceresa wrote: > Hello Ga?tan, > please forgive me if I address you directly, but I have a question on > packaging wrapitk for Fedora. > > Following the suggestions from Luis Ibanez, I'll not package neither > Patented nor Review folder to avoid licensing issues. > > I might be wrong, but it seems to me that wrapitk needs Review to be > enabled in order to work. > > Is it correct? > > If so, is there any way I could help removing this dependency? I'm interested in the same question. We'd like to switch Debian's packaging to use the new wrapping, but we are not able to distribute Review. Thanks, -Steve -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 190 bytes Desc: Digital signature URL: From liangxi1986317 at hotmail.com Sun Dec 6 21:09:22 2009 From: liangxi1986317 at hotmail.com (Xi LIANG) Date: Mon, 7 Dec 2009 10:09:22 +0800 Subject: [Insight-users] Registration example in ITK User guide In-Reply-To: References: , Message-ID: Dear all, Just to finish this topic, I finally managed to visualize the image, and deformation field of the example in /Example/Registration/DeformableRegistration8.cxx through VV. I still cannot get any visualization done in ParaView. Slicer can visualize the image, but I havent found a proper way to visualize the deformable field. Regards, -------------------------------- Xi Liang ?? -------------------------------- > Date: Thu, 3 Dec 2009 21:24:34 -0500 > Subject: Re: [Insight-users] Registration example in ITK User guide > From: luis.ibanez at kitware.com > To: liangxi1986317 at hotmail.com > CC: insight-users at itk.org > > Hi Xi, > > If the purpose of the visualization is to verify the quality of the > registration, > you simply need to use > > A) the VV application from the Creatis group: > http://www.creatis.insa-lyon.fr/rio/vv > > or > > B) Slicer (http://www.slicer.org) > > > They are both based on ITK and VTK, and have built-in method for > performing visualization of registered images. > > You will find VV described in the following paper in the Insight Journal: > http://www.midasjournal.org/browse/publication/617 > > Of course, you can also use ParaView directly. > > Note that ITK can write images in .VTK format, > and they can in turn be read in ParaView (and Slicer and VV) > directly. > > Note also that your current .mha or .mhd image can also > be directly loaded in ParaView, and Slicer, and VV. > > > In summary: You can simply download any of those > three applications and open your current output files > without having to do any further processing on them. > > > > Regards, > > > Luis > > > > ---------------------------------------------------------------------------------------------- > On Wed, Dec 2, 2009 at 9:32 PM, Xi LIANG wrote: > > Dear all, > > Finally I finished compiling and > > building Examples/Registration/DeformableRegistration8.cxx. This is a > > multi-resolution, 3D deformable registration example. I got couple of mha, > > mhd, raw files for fixed, moving, transformed images, and deformation fields > > as output. > > However, I realize what I have done was the easiest part, and > > the visualization is my real problem. Followings are my understanding of > > what I should do > > 1. process mha, raw format of data by VTK, and generates corresponding *.vtk > > files. > > 2. Then visualize VTK files through ParaView or Slicer. > > I doubt that the VTK file I need to write wont be easily done, as Im reading > > the VTK user guide, and the 3D visualization is not an easy sell. > > Is there any other easy choice to visualize the image, since my focus is > > Registration. OR... I really need to work hard on VTK as well, in order to > > evaluate the registration from ITK properly. > > > > Cheers, > > -------------------------------- > > Xi Liang > > > > ?? > > -------------------------------- > > > > > > > > ________________________________ > > Windows Live Hotmail: Your friends can get your Facebook updates, right from > > Hotmail?. > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > _________________________________________________________________ Windows Live: Make it easier for your friends to see what you?re up to on Facebook. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_2:092009 -------------- next part -------------- An HTML attachment was scrubbed... URL: From luis.ibanez at kitware.com Sun Dec 6 21:10:14 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 6 Dec 2009 21:10:14 -0500 Subject: [Insight-users] Histogram modification - troubles with SetFrequency In-Reply-To: <26635812.post@talk.nabble.com> References: <26615939.post@talk.nabble.com> <26635812.post@talk.nabble.com> Message-ID: Hi Sacrif, Thanks for pointing this out. This is indeed the case, ITK filters own their output and they are the only ones that should change the output objects. This is a requirement for good-behavior when the filters are put into a pipeline. You are not supposed to modify the output of a filter. In your case, you could create a new Histogram manually, and copy the computed elements from the output of the Histogram that you get from the generator. Something similar to: const HistogramType * histogram1 = histogramGenerator->GetOutput(); HistogramType::Pointer histogram2 = HistogramType::New(); // Add here: // Copy lower, upper values of bins // Copy values of numbers of bins // Allocate size for the new historgram2 // // // Now copy the recomputed values // HistogramType::Iterator itr2 = historgram2->Begin(); HistogramType::ConstIterator itr1 = histogram1->Begin(); while( itr1 != histogram1->End() ) { *itr2 = pow( *itr1, 2.0 ) ++itr1; ++itr2; } Regards, Luis -------------------------------------------------------------------------------- On Fri, Dec 4, 2009 at 3:43 AM, sacrif wrote: > > Hi, I finally found out what the problem is. The histogram is defined as > const HistogramType * histogram; or HistogramType::ConstPointer histogram; > > However the SetFrequency method is a not const method. Therefore non of the > 4 SetFrequency methods is applicable on it. > > The problem is that the GetOutput() method of the > itk::Statistics::ScalarImageToHistogramGenerator class returns a "const > HistogramType *" which I assign to my "const HistogramType* histogram" > pointer. So I can only define the histogram as const. But then the > SetFrequency would not work. (and results in the compilation error: error > C2663: 'itk::Statistics::Histogram::SetFrequency' : 4 > overloads have no legal conversion for 'this' pointer...<--as written in my > previous post) > > Is it possible that a histogram as I defined it can't be changed as soon as > it is created? Somehow I can't imagine this is the case. But at the moment I > can only imagine to write the values in an std::vector to proceed working on > it. > I would appreciate any onther advice. > > Thank you & kind regards > > -- > View this message in context: http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26635812.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Mon Dec 7 07:40:02 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 7 Dec 2009 07:40:02 -0500 Subject: [Insight-users] Problem in DeformableRegistration3DTimeSeries In-Reply-To: References: Message-ID: Hi Anand, Thanks for the additional information. If you are building an ITK application in machine (A), and then trying to run it in machine (B), then you MUST configure the application for being packaged in machine (A), using cpack, which is one of the CMake component, and then you should INSTALL the application in machine (B). Actually, the same will apply to ANY application, not only ITK-based applications.... The installation process will make sure that you carry along the shared libraries that are consistent with the application at the time that it was built. Please let us know if you have questions about how to use cpack. Thanks, Luis ------------------------------------------------------------------------------------------------------- On Mon, Dec 7, 2009 at 12:45 AM, Anand Neema wrote: > Luis, > Thanks for the reply. > We have?the LAN connection in our lab. > We build the program seperatly on server and the other machines that are > connected to that server. > The toolkit is also installed on both the server and the connected machines. > You can say that the program is running on one machine and not on another > machine, both having the same configuration, the only difference is of > operating system, one has Windows Server 2003 and the other is Windows XP > SP2. > > Thanks > Anand Neema > >> Date: Wed, 2 Dec 2009 15:43:25 -0500 >> Subject: Re: [Insight-users] Problem in DeformableRegistration3DTimeSeries >> From: luis.ibanez at kitware.com >> To: neema.anand at hotmail.com >> CC: insight-users at itk.org >> >> Hi Anand, >> >> >> Apparently the error message: >> >> > CXX0030: Error: expression cannot be evaluated. >> >> is produced by the Visual Studio debugger when a >> program tries to call methods using the pointer of >> an object that has not been allocated yet. >> >> -- >> >> Why is this happening to you only in some machines, >> is something that we should track down, and for which >> we need you to provide a lot more information. >> >> >> Starting with: >> >> 1) What is the full description of the system in >> which the application fails: >> >> - Operating system >> - compiler version >> >> >> 2) You say that the program "works on your Sever >> but not on the systems connected to that server" >> >> Please describe in detail what kind of server connection >> you are using. >> >> Are you talking about using VPN connection ? >> using a RemoteDesktop connection ? >> >> or are you simply sharing a drive from >> one machine to another ? >> >> >> 3) Are you building the program in the server and then >> trying to run it in another machine that is connected >> to the server ? >> >> or are you building the application directly on the >> connected machine ? >> (in which case, why should the server matter at all ?) >> >> >> >> Thanks >> >> >> Luis >> >> >> >> ----------------------------------------------------------------------------------------------- >> On Wed, Dec 2, 2009 at 3:10 AM, Anand Neema >> wrote: >> > Hello to all, >> > I am a ITK User. >> > I have one problem in an application. >> > DeformableRegistration3DTimeSeries (Sample Application) provided with >> > toolkit is working properly, but when the same code from that >> > application I >> > try to build in my application, then it is not working properly. Rather >> > it >> > works on our Server but not on the systems connected to that server. >> > Build process is completed successfully, there is no problem in built >> > the >> > application. After build, when I run the .exe file and try to load a >> > DICOM >> > Series the application terminates. >> > I run the application in debug mode, and it is throwing an exception as: >> > CXX0030: Error: expression cannot be evaluated. >> > Any kind of help would be appreciated >> > Thanks & Regds, >> > Anand Neema >> > ________________________________ >> >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> > > > ________________________________ > Windows 7: Find the right PC for you. Learn more. From Michael.OConnor at umassmed.edu Mon Dec 7 10:50:55 2009 From: Michael.OConnor at umassmed.edu (O'Connor, Michael) Date: Mon, 7 Dec 2009 10:50:55 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011001o34bddee6pbfa27272e9154ced@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F2@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F3@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6F5@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912012036mc8c0404ub3ba352f6bae1da@mail.gmail.com> <4db4735c0912012103t591c3b7ne14df2c8c3f3e2d0@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F7@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912020722y7df0762boe05a30e7b666d370@mail.gmail.com> Message-ID: <439667C97F3241448A8E96B0A22D647E0460D6FF@EDUNIVMAIL07.ad.umassmed.edu> Hello again Bill, Once again thanks for resolving my issue last week. As stated previously, doing as you advised & using conductance (K) that is a function of the average gradient magnitude does give expected results and resolves my issue I am now cleaning up my documentation so that other users will have an understanding how to specify conductance. To start, I am wondering if scaling conductance parameter by average gradient magnitude is done to extend dynamic range of filters using gradient magnitudes? Also I do agree with you that it can be an advantage that the itk class as written is independent of intesity range; however in our case the user will clearly know the intensity magnitude and therefore have a good idea of gradient magnitude of the boundary across which there should be little/no diffusion. Yet the user will not know the average gradient magnitude in the image. I have used itkGradientMagnitudeImageFilter to get gradient magnitudes in order to determine the average gradient magnitude (that confirmed what you told me that in the test image that I sent you the mean gradient magnitude was 0.0005). I am wondering if there is a public function that gives this mean or did you do essentially what I did to determine the mean gradient magnitude? Regards, Michael -----Original Message----- From: Bill Lorensen [mailto:bill.lorensen at gmail.com] Sent: Wed 12/2/2009 10:22 AM To: O'Connor, Michael Cc: Luis Ibanez; insight-users at itk.org Subject: Re: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter The advantage of the itk class is that the conductance you provide is independent of the image intensity range. On Wed, Dec 2, 2009 at 10:12 AM, O'Connor, Michael wrote: > Hello Bill and Luis, > With conductance = 6 the ITK data output do compare well with MATLAB. > Thanks for your help. > > Regards, > Mike > > > -----Original Message----- > From: Bill Lorensen [mailto:bill.lorensen at gmail.com] > Sent: Wed 12/2/2009 12:03 AM > To: O'Connor, Michael > Cc: Luis Ibanez; insight-users at itk.org > Subject: Re: [Insight-users] Problem implementing > GradientAnisotropicDiffusionImageFilter > > The average gradient in your data is about .0005. So the conductance > of the itk code should be about the matlab conductance / .0005 which > is about .003 / .0005 = 6. > > Try a conductance of 6 without scaling your data and see how it compares. > > Bill > > > On Tue, Dec 1, 2009 at 11:36 PM, Bill Lorensen > wrote: >> In itk, the K divisor is average_gradient_squared * >> conductance_squared. I suspect that accounts for some of the >> difference. >> >> On Tue, Dec 1, 2009 at 9:01 PM, O'Connor, Michael >> wrote: >>> Hello Luis, >>> The pixel spacing is .2 mm. I did not SetSpacing in ITK code. >>> Thanks for the insight. I will check that out. >>> >>> Regards, >>> Michael >>> >>> >>> -----Original Message----- >>> From: Luis Ibanez [mailto:luis.ibanez at kitware.com] >>> Sent: Tue 12/1/2009 7:56 PM >>> To: O'Connor, Michael >>> Cc: Bill Lorensen; insight-users at itk.org >>> Subject: Re: [Insight-users] Problem implementing >>> GradientAnisotropicDiffusionImageFilter >>> >>> Hi Michael, >>> >>> What is the pixel spacing of your image ? >>> >>> I believe that the ITK implementation may >>> be taking the pixel spacing into account >>> when using the value of conductance. >>> >>> >>> Please let us know, >>> >>> >>> Thanks >>> >>> >>> Luis >>> >>> >>> ------------------------------------------------------------------ >>> On Tue, Dec 1, 2009 at 5:17 PM, O'Connor, Michael >>> wrote: >>>> Hi Bill, >>>> I use the exact same file with ITK (the one attached to the previous >>>> email with MATLAB code). >>>> >>>> Regards, >>>> Michael >>>> >>>> >>>> -----Original Message----- >>>> From: Bill Lorensen [mailto:bill.lorensen at gmail.com] >>>> Sent: Tue 12/1/2009 4:17 PM >>>> To: O'Connor, Michael >>>> Cc: insight-users at itk.org >>>> Subject: Re: [Insight-users] Problem implementing >>>> GradientAnisotropicDiffusionImageFilter >>>> >>>> Can you provide a png file or meta file, or whatever file you tried with >>>> itk? >>>> >>>> On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael >>>> wrote: >>>>> Hi Bill, >>>>> Thanks. Attached is simple MATLAB test code + the MATLAB filter >>>>> function used (Dr. Guy Gilboa's code). I've also take the liberty of >>>>> attaching a test image (specifically opened in MATLAB code). The test >>>>> image is 400x400 float with background = 0.024 + additive Gaussian >>>>> Noise >>>>> and >>>>> foreground (circle) = 0.031 + additive Gaussian Noise. As said >>>>> previously >>>>> MATLAB code seems to work as expected as shown in plot. In ITK there >>>>> is >>>>> no >>>>> similar intraregion filtering (i.e. filtered image ~ input ) >>>>> >>>>> Regards, >>>>> Michael >>>>> >>> >>> >>> >> > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mort.motes at gmail.com Mon Dec 7 11:10:23 2009 From: mort.motes at gmail.com (motes motes) Date: Mon, 7 Dec 2009 17:10:23 +0100 Subject: [Insight-users] Changing the size of the parameters array during registration? In-Reply-To: References: <54eca6a70912041350o587cbb8eif5c9b9167e836556@mail.gmail.com> Message-ID: <54eca6a70912070810u1b865413xf70a9ab7e399f00e@mail.gmail.com> Yes that is also what I am doing now but I was more thinking of how this affects the optimizer space. On Sun, Dec 6, 2009 at 10:31 PM, Luis Ibanez wrote: > Hi Motes > > This type of run-time change is done in the Example: > > ? ? ? ? ?Insight/Examples/DeformableRegistration15.cxx > > Note that the key actions that you have to take care of, > every time that you change the size of the parameters > array are: > > 1) registration->SetInitialTransformParameters( resizedArray ); > 2) optimizer->SetScales( resizedOptimizerScales ); > > That is, the array of optimizer scales must be resized > to the same size of the resized parameters array. > > Then, when you call StartRegistration() the metric and > the registration class will initialize their internal arrays > accordingly. > > > > ? ? ?Regards, > > > ? ? ? ? ? ? Luis > > > ---------------------------------------------------------------------------- > On Fri, Dec 4, 2009 at 4:50 PM, motes motes wrote: >> I have made a deformable image registration process that after a >> number of iterations pauses the optimizer and based on some criterion >> resizes the parameters array (always to a smaller size). >> >> The the new parameters array is thrown into the image registration >> process and the optimization is continued (the remaining parameters >> are copied to the new parameters array and the optimizer is updated - >> number of optimizer scales). ?The jacobian is resized accordingly in >> the transform and so are the number of deformable nodes. >> >> Now I am trying to analyse the effect of resizing the parameters array >> from the optimizer's point of view. ?When the optimizer continues to >> work on the new and smaller parameters array (which is initialized >> with the ?"surviving" coefficients from the previous parameters array) >> the optimizer search space is actually reduced and the convergence >> should in theory be speed up. But maybe someone has some thought on >> this kind of "dynamic" search space reduction and its consequences? >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > From bill.lorensen at gmail.com Mon Dec 7 12:11:23 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Mon, 7 Dec 2009 12:11:23 -0500 Subject: [Insight-users] Problem implementing GradientAnisotropicDiffusionImageFilter In-Reply-To: <439667C97F3241448A8E96B0A22D647E0460D6FF@EDUNIVMAIL07.ad.umassmed.edu> References: <439667C97F3241448A8E96B0A22D647E0460D6EE@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912011317r13561695m9b926e342e291279@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F3@EDUNIVMAIL07.ad.umassmed.edu> <439667C97F3241448A8E96B0A22D647E0460D6F5@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912012036mc8c0404ub3ba352f6bae1da@mail.gmail.com> <4db4735c0912012103t591c3b7ne14df2c8c3f3e2d0@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6F7@EDUNIVMAIL07.ad.umassmed.edu> <4db4735c0912020722y7df0762boe05a30e7b666d370@mail.gmail.com> <439667C97F3241448A8E96B0A22D647E0460D6FF@EDUNIVMAIL07.ad.umassmed.edu> Message-ID: <4db4735c0912070911y74804277l5a9ad98c7b8cc300@mail.gmail.com> BasicFilters/itkStatisticsImageFilter computes a number of common statistics. On Mon, Dec 7, 2009 at 10:50 AM, O'Connor, Michael wrote: > Hello again Bill, > ?? Once again thanks for resolving my issue last week.?? As stated > previously, doing as you advised & using conductance (K) that is a function > of the average gradient magnitude does give expected results and resolves my > issue > ?? I am now cleaning up my documentation so that other users will have an > understanding how to specify conductance.? To start, I am wondering if > scaling conductance parameter by average gradient magnitude is done to > extend dynamic range of filters using gradient magnitudes??? Also I do agree > with you that it can be an advantage that the itk class as written is > independent of intesity range; however in our case the user will clearly > know the intensity magnitude and therefore have a good idea of gradient > magnitude of the boundary across which there should be little/no diffusion. > Yet the user will not know the average gradient magnitude in the image.?? I > have used itkGradientMagnitudeImageFilter to get gradient magnitudes in > order to determine the average gradient magnitude (that confirmed what you > told me that in the test image that I sent you the mean gradient magnitude > was 0.0005).?? I am wondering if there is a public function that gives this > mean or did you do essentially what I did to determine the mean gradient > magnitude? > > Regards, > ? Michael > > > -----Original Message----- > From: Bill Lorensen [mailto:bill.lorensen at gmail.com] > Sent: Wed 12/2/2009 10:22 AM > To: O'Connor, Michael > Cc: Luis Ibanez; insight-users at itk.org > Subject: Re: [Insight-users] Problem implementing > GradientAnisotropicDiffusionImageFilter > > The advantage of the itk class is that the conductance you provide is > independent of the image intensity range. > > On Wed, Dec 2, 2009 at 10:12 AM, O'Connor, Michael > wrote: >> Hello Bill and Luis, >>??? With conductance = 6 the ITK data output do compare well with MATLAB. >> Thanks for your help. >> >> Regards, >>??? Mike >> >> >> -----Original Message----- >> From: Bill Lorensen [mailto:bill.lorensen at gmail.com] >> Sent: Wed 12/2/2009 12:03 AM >> To: O'Connor, Michael >> Cc: Luis Ibanez; insight-users at itk.org >> Subject: Re: [Insight-users] Problem implementing >> GradientAnisotropicDiffusionImageFilter >> >> The average gradient in your data is about .0005.? So the conductance >> of the itk code should be about the matlab conductance / .0005 which >> is about .003 / .0005 = 6. >> >> Try a conductance of 6? without scaling your data and see how it compares. >> >> Bill >> >> >> On Tue, Dec 1, 2009 at 11:36 PM, Bill Lorensen >> wrote: >>> In itk, the K divisor is average_gradient_squared * >>> conductance_squared. I suspect that accounts for some of the >>> difference. >>> >>> On Tue, Dec 1, 2009 at 9:01 PM, O'Connor, Michael >>> wrote: >>>> Hello Luis, >>>>????? The pixel spacing is .2 mm.?? I did not SetSpacing in ITK code. >>>> Thanks for the insight.?? I will check that out. >>>> >>>> Regards, >>>>??? Michael >>>> >>>> >>>> -----Original Message----- >>>> From: Luis Ibanez [mailto:luis.ibanez at kitware.com] >>>> Sent: Tue 12/1/2009 7:56 PM >>>> To: O'Connor, Michael >>>> Cc: Bill Lorensen; insight-users at itk.org >>>> Subject: Re: [Insight-users] Problem implementing >>>> GradientAnisotropicDiffusionImageFilter >>>> >>>> Hi Michael, >>>> >>>> What is the pixel spacing of your image ? >>>> >>>> I believe that the ITK implementation may >>>> be taking the pixel spacing into account >>>> when using the value of conductance. >>>> >>>> >>>>??? Please let us know, >>>> >>>> >>>>????????????? Thanks >>>> >>>> >>>>??????????????????????? Luis >>>> >>>> >>>> ------------------------------------------------------------------ >>>> On Tue, Dec 1, 2009 at 5:17 PM, O'Connor, Michael >>>> wrote: >>>>> Hi Bill, >>>>>???? I use the exact same file with ITK (the one attached to the >>>>> previous >>>>> email with MATLAB code). >>>>> >>>>> Regards, >>>>>??? Michael >>>>> >>>>> >>>>> -----Original Message----- >>>>> From: Bill Lorensen [mailto:bill.lorensen at gmail.com] >>>>> Sent: Tue 12/1/2009 4:17 PM >>>>> To: O'Connor, Michael >>>>> Cc: insight-users at itk.org >>>>> Subject: Re: [Insight-users] Problem implementing >>>>> GradientAnisotropicDiffusionImageFilter >>>>> >>>>> Can you provide a png file or meta file, or whatever file you tried >>>>> with >>>>> itk? >>>>> >>>>> On Tue, Dec 1, 2009 at 4:08 PM, O'Connor, Michael >>>>> wrote: >>>>>> Hi Bill, >>>>>>???? Thanks.?? Attached is simple MATLAB test code? + the MATLAB filter >>>>>> function used (Dr. Guy Gilboa's code).?? I've also take the liberty of >>>>>> attaching a test image (specifically opened in MATLAB code).?? The >>>>>> test >>>>>> image is 400x400 float with background = 0.024 + additive Gaussian >>>>>> Noise >>>>>> and >>>>>> foreground (circle) = 0.031 + additive Gaussian Noise.?? As said >>>>>> previously >>>>>> MATLAB code seems to work as expected as shown in plot.?? In ITK there >>>>>> is >>>>>> no >>>>>> similar intraregion filtering (i.e. filtered image ~ input ) >>>>>> >>>>>> Regards, >>>>>>??? Michael >>>>>> >>>> >>>> >>>> >>> >> >> >> > > > From luis.ibanez at kitware.com Mon Dec 7 13:02:20 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 7 Dec 2009 13:02:20 -0500 Subject: [Insight-users] call metric in Observer code...bug? In-Reply-To: References: Message-ID: Hi Serena, Please run the code in a debugger, and after it crashes: Grab the call-stack trace, and post it to the list. The typical suspects at this point are: A) you are passing a negative number to an unsigned int variable, or B) You are attempting to use the BSpline transform before it has been initialized. Thanks Luis ----------------------------------------- On Fri, Dec 4, 2009 at 8:23 PM, Serena Fabbri wrote: > > Hi Luis, > > I don't use Bulk Transform for the Deformable Registration task because the > fixed and the moving images are already Rigid Registered. > I mean: fixed image: MRI > moving image: Rigid Registered CT image. > > ----- > > My images are float and the ScalarType for BSpline Transformation is double. > > I think there is a problem in ?Trasformation parameters because > If I try to print the parameters in the observer code, I get the error > message : > >> > BSpline_MMI_RSG(4731) malloc: *** vm_allocate(size=4294926336) failed >> > (error >> > code=3) >> > BSpline_MMI_RSG(4731) malloc: *** error: can't allocate region >> > BSpline_MMI_RSG_1(4731) malloc: *** set a breakpoint in szone_error to >> > debug >> > Abort trap > > > > > > #include "itkCommand.h" > class CommandIterationUpdate : public itk::Command { > public: > ?typedef ?CommandIterationUpdate ? Self; > ?typedef ?itk::Command ? ? ? ? ? ? Superclass; > ?typedef itk::SmartPointer ?Pointer; > ?itkNewMacro( Self ); > protected: > ?CommandIterationUpdate() {}; > public: > ? ?typedef itk::RegularStepGradientDescentOptimizer ? ? OptimizerType; > ? typedef ? const OptimizerType ? * ? ?OptimizerPointer; > > ? ? ? ?typedef itk::OrientedImage< float, 3 > ?FixedImageType; > ? ? ? ?typedef ? const ?FixedImageType* ?FixedImagePointer; > > ? ? ? ?typedef itk::OrientedImage< float, 3 > ?MovingImageType; > ? ?typedef ? const ?MovingImageType* ?MovingImagePointer; > > ? ? ? ?typedef itk::MattesMutualInformationImageToImageMetric< > FixedImageType, > MovingImageType >> >> MetricType; > > ? ? ? ?typedef ? const MetricType* ?MetricPointer; > > ? ? ? ?typedef itk::BSplineDeformableTransform< double,3,3 > > DeformableTransformType; > ? ? ? ?typedef ? const DeformableTransformType* ?TransformPointer; > > > ? ? ? ?MetricPointer ? ? ? ? ? ? ? ? ? m_Metric; > ? ? ? ?TransformPointer ? ? ? ? ? ? ? ?m_Transform; > ? ? ? ?FixedImagePointer ? ? ? ? ? ? ? m_FixedImage; > ? ? ? ?MovingImagePointer ? ? ?m_MovingImage; > > > ? ? ? ?void SetTransform( DeformableTransformType* ?transform ) { > ?m_Transform = > transform; } > ? ? ? ?void SetFixedImage( FixedImageType* ? ? ? ? ?fixed ) ? ? { > ?m_FixedImage = > fixed; } > ? ? ? ?void SetMovingImage( MovingImageType* ? ? ? ?moving ) ? ?{ > ?m_MovingImage = > moving; } > ? ? ? ?void SetMetric(MetricType* ? ? ? ? ? ? ? ? ? metric ) ? ?{ > ?m_Metric = metric;} > > > ?void Execute(itk::Object *caller, const itk::EventObject & event) > ? ?{ > ? ? ?Execute( (const itk::Object *)caller, event); > ? ?} > > > > ? if( !(itk::IterationEvent().CheckEvent( &event )) ) > ? ? ? ?{ > ? ? ? ?return; > ? ? ? ?} > > > > ? ? ? ? ? ?OptimizerType::ParametersType parameters; > ? ? ? ? ? ?parameters = m_Transform->GetParameters(); ? <-----??? > ? ? ? ? ? ?std::cout< ? ? ? ? ? ?double metricval = m_Metric->GetValue(parameters); > ? ? ? ? ? ?std::cout << optimizer->GetCurrentIteration() << " MIglobal ? "<< > optimizer->GetValue()<< " "<GetValue(parameters); > ? ? ? ? ? std::cout << std::endl; > > }} > > > thanks again in advance for any suggestions. > > Serena. > > > > > On Thu, 3 Dec 2009, Luis Ibanez wrote: > >> Hi ?Serena, >> >> Thanks for the details.... >> >> but... I have now more questions here >> >> In (A), I guess that you meant that you pass to the local >> BSpline transform the same AFFINE transform that you >> used for the Bulk Transform of the Global BSpline Transform. >> >> Is that right ? >> >> >> -- >> >> The Error: >> BSpline_MMI_RSG(4731) malloc: *** vm_allocate(size=4294926336) failed >> (error code=3) >> >> Seems to be the result of storing a negative number into an >> unsigned type, in which case you get the modulo 2 of that >> number under the 32 bits conversion. >> >> >> ?The number "4294926336" is what you will get if you >> ?assign ? -40960 to an unsigned type. >> >> ?One of your computations may have slipped an incorrect sign.... >> >> >> >> B) When you set the optimizer for the local region you probably should >> ? ?start with a very small step length. >> >> ? ?What value of "maximum step length" ?are you currently using ? >> >> >> C) Using All pixels in the small regions >> ? sounds like the right thing to do in this case. >> >> >> >> ? ?Regards, >> >> >> ? ? ? ? ?Luis >> >> >> >> -------------------------------------------------------------------------------- > > ------------ >> >> On Thu, Dec 3, 2009 at 2:05 PM, Serena Fabbri >> wrote: >>> >>> Hi Luis, >>> >>> A) >>> I am using BSpline Transform. >>> I pass the Trasform used for Global MI to the metric2. >>> >>> If I define a Transform ?for the small region I obtain this error: >>> >>> BSpline_MMI_RSG(4731) malloc: *** vm_allocate(size=4294926336) failed >>> (error >>> code=3) >>> BSpline_MMI_RSG(4731) malloc: *** error: can't allocate region >>> BSpline_MMI_RSG_1(4731) malloc: *** set a breakpoint in szone_error to >>> debug >>> Abort trap >>> >>> >>> >>> This is the code for the Transform >>> >>> ? ? ? ?FixedImageType::IndexType start; >>> ? ? ? ?FixedImageType::SizeType size; >>> >>> ? ? ? ?start[0]=43; >>> ? ? ? ?start[1]=17; >>> ? ? ? ?start[2]=0; >>> >>> ? ? ? ?size[0]=10; >>> ? ? ? ?size[1]=13; >>> ? ? ? ?size[2]=20; >>> >>> >>> ? ? ? ?FixedImageType::RegionType fixedRegionMetric; >>> ? ? ? ?fixedRegionMetric.SetIndex(start); >>> ? ? ? ?fixedRegionMetric.SetSize(size); >>> >>> >>> ?typedef DeformableTransformType::RegionType RegionTypeM; >>> ?RegionTypeM bsplineRegionM; >>> ?RegionTypeM::SizeType ? gridSizeOnImageM; >>> ?RegionTypeM::SizeType ? gridBorderSizeM; >>> ?RegionTypeM::SizeType ? totalGridSizeM; >>> >>> ?unsigned int numberOfGridNodesInOneDimensionCoarseM = 3; >>> ?numberOfGridNodesInOneDimensionCoarseM = 10; >>> ?gridSizeOnImageM.Fill( numberOfGridNodesInOneDimensionCoarseM ); >>> ?gridBorderSizeM.Fill( SplineOrder ); ? ?// Border for spline order = 3 ( >>> 1 >>> lower, 2 upper ) >>> ?totalGridSizeM = gridSizeOnImageM + gridBorderSizeM; >>> >>> ?bsplineRegionM.SetSize( totalGridSizeM ); >>> >>> >>> ?SpacingType spacingM = fixedImage->GetSpacing(); >>> ?OriginType originM = fixedImage->GetOrigin(); >>> >>> ?FixedImageType::SizeType fixedImageSizeM = fixedRegionMetric.GetSize(); >>> ?std::cout<>> >>> ?for(unsigned int r=0; r>> ? ?{ >>> ? ?spacingM[r] *= static_cast(fixedImageSizeM[r] - 1) ?/ >>> ? ? ? ? ? ? ? ? ?static_cast(gridSizeOnImageM[r] - 1); >>> ? ?} >>> >>> ?FixedImageType::DirectionType gridDirectionM = >>> fixedImage->GetDirection(); >>> ?SpacingType gridOriginOffsetM = gridDirectionM * spacingM; >>> >>> ?OriginType gridOriginM = originM - gridOriginOffsetM; >>> >>> ?bsplineTransformCoarseM->SetGridSpacing( spacingM ); >>> ?bsplineTransformCoarseM->SetGridOrigin( gridOriginM ); >>> ?bsplineTransformCoarseM->SetGridRegion( bsplineRegionM ); >>> ?bsplineTransformCoarseM->SetGridDirection( gridDirectionM ); >>> ?bsplineTransformCoarseM->SetParameters( >>> initialDeformableTransformParameters ); >>> >>> >>> >>> >>> B) >>> local MI uses the same optimizer than global MI (Regular Step Gradient >>> Descent). >>> It works fine in the registration task. >>> >>> >>> C) >>> I used SetUseAllPixels for the small region too. The region is small in >>> fact >>> the number of pixel is 2600. >>> >>> >>> >>> >>> >>> >>> >>> On Wed, 2 Dec 2009, Luis Ibanez wrote: >>> >>>> Hi Serena, >>>> >>>> >>>> Thanks for the update. >>>> >>>> >>>> The new error message indicates that the number of samples >>>> landing ?in the overlapping region between the FixedImageRegion >>>> and the moving image is too small. >>>> >>>> This is usually an ?indication of: >>>> >>>> >>>> ? ? ? ? ? A) ? A poorly initialized Transform, ? or >>>> >>>> ? ? ? ? ? B) ? A transform that went too far >>>> ? ? ? ? ? ? ? ? usually due to a misconfigured optimizer >>>> >>>> ? ? ? ? ? C) ? Setting the number of samples >>>> ? ? ? ? ? ? ? ? to a value that is too small. >>>> >>>> >>>> Let's start with (A),.... how are you initializing >>>> the Transform used to compute the value of MI >>>> in the local small regions ? >>>> >>>> >>>> ? ?Please let us know, >>>> >>>> >>>> ? ? ? ? Thanks >>>> >>>> >>>> ? ? ? ? ? ? ? Luis >>>> >>>> >>>> ----------------------------------------------------- >>>> On Wed, Dec 2, 2009 at 5:52 PM, Serena Fabbri >>>> wrote: >>>>> >>>>> Hi Luis, >>>>> >>>>> Thank you for your replay. >>>>> >>>>> I think it was my oversight because I printed the globalMI >>>>> twice......sorry >>>>> about that!! >>>>> >>>>> >>>>> I fixed the code and now I am obtaining this error: >>>>> >>>>> ExceptionObject caught ! >>>>> >>>>> itk::ExceptionObject (0xd01060) >>>>> Location: "typename itk::ImageToImageMetric>>>> TMovingImage>::MeasureType >>>>> itk::MattesMutualInformationImageToImageMetric>>>> TMovingImage>::GetValue(typename itk::ImageToImageMetric>>>> TMovingImage>::ParametersType&) const [with TFixedImage = >>>>> itk::OrientedImage, TMovingImage = itk::OrientedImage>>>> 3>]" >>>>> File: /Users/fabbri/InsightToolkit- >>>>> 3.10.0/Code/Algorithms/itkMattesMutualInformationImageToImageMetric.txx >>>>> Line: 830 >>>>> Description: itk::ERROR: >>>>> MattesMutualInformationImageToImageMetric(0xd01b00): Too many samples >>>>> map >>>>> outside moving image buffer: 0 / 1000 >>>>> >>>>> >>>>> I have taken a look to MattesMutualInformation code and I have found >>>>> that: >>>>> Initialize() calls PreComputeTransformValues() >>>>> In PreComputeTransformValues() weights and indices are calculated. >>>>> I have found that weights are 0 or e-306 and the indices are always 0. >>>>> These values are used in TransformPoint (GetValue() code) to calculate >>>>> the >>>>> mappedPoints. >>>>> The calculated mappedPoints are outside my movingImage. >>>>> >>>>> I'd like to ask you if it is a bug or I get this error because the >>>>> region >>>>> I >>>>> used for MI local is really little compared to fixed and moving image. >>>>> >>>>> Any suggestion will be very appreciate. >>>>> >>>>> Thank you. >>>>> Serena. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Tue, 1 Dec 2009, Luis Ibanez wrote: >>>>> >>>>>> Hi Serena, >>>>>> >>>>>> Thanks for letting us know of your progress. >>>>>> >>>>>> -- >>>>>> >>>>>> Regarding your question, >>>>>> >>>>>> Please note that Mutual Information is NOT and additive measure. >>>>>> >>>>>> >>>>>> That is, if you computed a value of Mutual Information, in a region R, >>>>>> and then you partition that Region R into two subregions R1 and R2, >>>>>> and compute Mutual information in R1 and then in R2, the sum of >>>>>> these two last numbers will NOT be equal to the mutual information >>>>>> of R. >>>>>> >>>>>> In short: >>>>>> >>>>>> ? ? ? ? ? ? ? ? ? ? MI( R ) ?!= ?MI( R1 ) ?+ MI( R2 ) >>>>>> >>>>>> This is because MI is related to the logs of probabilities of >>>>>> intensity >>>>>> pairs (pixel counts). >>>>>> >>>>>> So... it still may be ok that you get similar values of Mutual >>>>>> Information >>>>>> from MI(R) ?and MI( R1). ? In principle, it just tells you that the >>>>>> statistical >>>>>> distribution of pixels intensity pairs in the Region R is similar to >>>>>> the >>>>>> one >>>>>> in the subregion R1. >>>>>> >>>>>> I don't know if that helps you with the original goal that you had for >>>>>> computing MI in subregions of the image..... >>>>>> >>>>>> >>>>>> ? ? ?Regards, >>>>>> >>>>>> >>>>>> ? ? ? ? ? ? Luis >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------------- > > -- >>> >>> --- >>>>> >>>>> --- >>>>>> >>>>>> On Mon, Nov 30, 2009 at 8:10 PM, Serena Fabbri >>>>>> >>>>>> wrote: >>>>>>> >>>>>>> Hi Luis, >>>>>>> >>>>>>> thank you very much to explain clearly the mistake. >>>>>>> I fixed the code and now I am able to calculate local MI. >>>>>>> >>>>>>> >>>>>>> Now I am a bit surprised because the SetFixedImageRegion is >>>>>>> (10,17,20) >>>>>>> pixelsize and the FixedImage is ?(80,80,101) pixelsize and >>>>>>> I am finding that the values of local MI are pretty close to the >>>>>>> global >>>>>>> values of MI. I use all pixel for ?local MI and 10% of statistic for >>>>>>> global >>>>>>> MI. >>>>>>> >>>>>>> Do you think this is reasonable? >>>>>>> >>>>>>> Thanks again for any suggestion. >>>>>>> >>>>>>> Serena. >>>>>>> >>>>>>> >>>>>>> These are the results of LOCAL MI: >>>>>>> >>>>>>> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 >>>>>>> -0.468013 >>>>>>> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >>>>>>> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 >>>>>>> -0.492886 >>>>>>> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 >>>>>>> 18 >>>>>>> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >>>>>>> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >>>>>>> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 >>>>>>> -0.51411 >>>>>>> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 >>>>>>> 35 >>>>>>> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >>>>>>> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >>>>>>> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 >>>>>>> -0.526987 >>>>>>> ? 48 ? -0.528026 ? 49 ? -0.528595 ? 50 ? -0.529578 >>>>>>> >>>>>>> >>>>>>> -GLOBAL MI >>>>>>> 0 ? -0.420331 ? 1 ? -0.437285 ? 2 ? -0.452543 ? 3 ? -0.46165 ? 4 >>>>>>> -0.468013 >>>>>>> ? 5 ? -0.473045 ? 6 ? -0.476698 ? 7 ? -0.479594 ? 8 ? -0.482887 ? 9 >>>>>>> -0.484799 ? 10 ? -0.48746 ? 11 ? -0.489388 ? 12 ? -0.490882 ? 13 >>>>>>> -0.492886 >>>>>>> ? 14 ? -0.494813 ? 15 ? -0.495938 ? 16 ? -0.497812 ? 17 ? -0.498596 >>>>>>> 18 >>>>>>> -0.500178 ? 19 ? -0.501496 ? 20 ? -0.502828 ? 21 ? -0.503783 ? 22 >>>>>>> -0.504879 ? 23 ? -0.506142 ? 24 ? -0.507478 ? 25 ? -0.508179 ? 26 >>>>>>> -0.509647 ? 27 ? -0.51022 ? 28 ? -0.511936 ? 29 ? -0.51237 ? 30 >>>>>>> -0.51411 >>>>>>> 31 ? -0.514496 ? 32 ? -0.516189 ? 33 ? -0.516839 ? 34 ? -0.518303 >>>>>>> 35 >>>>>>> -0.518713 ? 36 ? -0.520112 ? 37 ? -0.520491 ? 38 ? -0.521601 ? 39 >>>>>>> -0.522019 ? 40 ? -0.523052 ? 41 ? -0.523425 ? 42 ? -0.524304 ? 43 >>>>>>> -0.524585 ? 44 ? -0.525526 ? 45 ? -0.52578 ? 46 ? -0.526725 ? 47 >>>>>>> -0.526987 >>>>>>> ? 48 ? -0.528026 ? 49 ? -0.528595 >>>>>>> >>>>>>> >>>>>>> On Thu, 26 Nov 2009, Luis Ibanez wrote: >>>>>>> >>>>>>>> Serena, >>>>>>>> >>>>>>>> The "caller" argument of the Execute method is an Observer >>>>>>>> is the pointer to the object that invoked the event. >>>>>>>> >>>>>>>> In your particular case, this is the Optimizer. >>>>>>>> >>>>>>>> As Bill explained, >>>>>>>> you can only cast "caller" to the OptimizerType. >>>>>>>> >>>>>>>> >>>>>>>> For all the other elements of the registration framework, you have >>>>>>>> to pass them through other means to the command. >>>>>>>> >>>>>>>> One way of doing this is to have them as Member variables, >>>>>>>> and to have "Set" methods for them. >>>>>>>> >>>>>>>> Like >>>>>>>> >>>>>>>>> class CommandIterationUpdate : public itk::Command { >>>>>>>>> public: >>>>>>>>> ?typedef ?CommandIterationUpdate ? Self; >>>>>>>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>>>>>>> ?typedef itk::SmartPointer ?Pointer; >>>>>>>>> ?itkNewMacro( Self ); >>>>>>>>> >>>>>>>>> protected: >>>>>>>>> ?CommandIterationUpdate() {}; >>>>>>>>> >>>>>>>>> public: >>>>>>>>> ?typedef itk::RegularStepGradientDescentOptimizer >>>>>>>>> OptimizerType; >>>>>>>>> ?typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>>>>>>> >>>>>>>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>>>>>>> ? ? ? typedef ? const ?FixedImageType* ?FixedImagePointer; >>>>>>>>> >>>>>>>>> ? ? ? typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>>>>>>> >>>>>>>>> ? ? ? typedef itk::MattesMutualInformationImageToImageMetric< >>>>>>>>> FixedImageType, MovingImageType >>>>>>>>>> >>>>>>>>>> MetricType; >>>>>>>>> >>>>>>>>> ? ? ? typedef ? const MetricType* ?MetricPointer; >>>>>>>>> >>>>>>>>> ? ? ? typedef itk::BSplineDeformableTransform< double,3,3 > >>>>>>>>> DeformableTransformType; >>>>>>>>> ? ? ? typedef ? const DeformableTransformType* ?TransformPointer; >>>>>>>>> >>>>>>>> MetricPointer ? ? ? ? ? ?m_Metric; >>>>>>>> TransformPointer ? ?m_Transform; >>>>>>>> FixedImagePointer ? ?m_FixedImage; >>>>>>>> MovingImagePointer ? ?m_MovingImage; >>>>>>>> >>>>>>>> >>>>>>>> public: >>>>>>>> >>>>>>>> ?SetTransform( TransformType * transform ) { ?m_Transform = >>>>>>>> transform; >>>>>>>> } >>>>>>>> ?SetFixedImage( FixedImageType * fixed ) { ?m_FixedImage = fixed; } >>>>>>>> ?SetMovingImage( MovingImageType * moving ) { ?m_MovingImage = >>>>>>>> moving; >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> and then you can use them in your Execute method. >>>>>>>> >>>>>>>> Also, >>>>>>>> when you connect the Command to the optimizer, >>>>>>>> you should also do: >>>>>>>> >>>>>>>> >>>>>>>> ? observer->SetFixedImage( fixedImage ); >>>>>>>> ? observer->SetMovingImage( movingImage ); >>>>>>>> ? observer->SetTransform( transform ); >>>>>>>> >>>>>>>> ? optimizer->AddObserver( itk::IterationEvent(), observer ); >>>>>>>> >>>>>>>> In this way, the components of the registration framework >>>>>>>> will be available to the internals of your observer class. >>>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> >>>>>>>> >>>>>>>> ? ? ? ? Luis >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------------------------ > > --- >>> >>> -- >>>>> >>>>> -- >>>>>>>> >>>>>>>> On Wed, Nov 25, 2009 at 8:51 PM, Serena Fabbri >>>>>>>> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Hi All, >>>>>>>>> >>>>>>>>> I am registering CT image and MRI image with Mattes MI and Bspline >>>>>>>>> Transformation. >>>>>>>>> I'd like to know the value of MI of a little area of the fixed >>>>>>>>> image >>>>>>>>> during >>>>>>>>> the registration process. >>>>>>>>> I call the metric in the observer code but i get a bus error. >>>>>>>>> >>>>>>>>> could anybody suggest me where the error is? >>>>>>>>> >>>>>>>>> Thank you very much. >>>>>>>>> >>>>>>>>> Serena >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> class CommandIterationUpdate : public itk::Command { >>>>>>>>> public: >>>>>>>>> ?typedef ?CommandIterationUpdate ? Self; >>>>>>>>> ?typedef ?itk::Command ? ? ? ? ? ? Superclass; >>>>>>>>> ?typedef itk::SmartPointer ?Pointer; >>>>>>>>> ?itkNewMacro( Self ); >>>>>>>>> >>>>>>>>> protected: >>>>>>>>> ?CommandIterationUpdate() {}; >>>>>>>>> >>>>>>>>> public: >>>>>>>>> ? typedef itk::RegularStepGradientDescentOptimizer >>>>>>>>> OptimizerType; >>>>>>>>> ? typedef ? const OptimizerType ? * ? ?OptimizerPointer; >>>>>>>>> >>>>>>>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?FixedImageType; >>>>>>>>> ? ? ? ?typedef ? const ?FixedImageType* ?FixedImagePointer; >>>>>>>>> >>>>>>>>> ? ? ? ?typedef itk::OrientedImage< float, 3 > ?MovingImageType; >>>>>>>>> >>>>>>>>> ? ? ? ?typedef itk::MattesMutualInformationImageToImageMetric< >>>>>>>>> FixedImageType, MovingImageType >>>>>>>>>> >>>>>>>>>> MetricType; >>>>>>>>> >>>>>>>>> ? ? ? ?typedef ? const MetricType* ?MetricPointer; >>>>>>>>> >>>>>>>>> ? ? ? ?typedef itk::BSplineDeformableTransform< double,3,3 > >>>>>>>>> DeformableTransformType; >>>>>>>>> ? ? ? ?typedef ? const DeformableTransformType* ?TransformPointer; >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> ?void Execute(itk::Object *caller, const itk::EventObject & event) >>>>>>>>> ? ?{ >>>>>>>>> ? ? ?Execute( (const itk::Object *)caller, event); >>>>>>>>> ? ?} >>>>>>>>> >>>>>>>>> ?void Execute(const itk::Object * object, const itk::EventObject & >>>>>>>>> event) >>>>>>>>> ? ?{ >>>>>>>>> >>>>>>>>> ? ? ? ? ? ? ? ?OptimizerPointer optimizer = dynamic_cast< >>>>>>>>> OptimizerPointer >>>>>>>>>> >>>>>>>>>> ( object ); >>>>>>>>> >>>>>>>>> ? ? ? ? ? ? ? ?MetricPointer metric = dynamic_cast< MetricPointer >>>>>>>>> >( >>>>>>>>> object >>>>>>>>> ); >>>>>>>>> ? ? ? ? ? ? ? ?TransformPointer transform = dynamic_cast< >>>>>>>>> TransformPointer >>>>>>>>>> >>>>>>>>>> ( object ); >>>>>>>>> >>>>>>>>> ? ? ? ? ? ?FixedImagePointer fixedImage = dynamic_cast< >>>>>>>>> FixedImagePointer>( >>>>>>>>> object ); >>>>>>>>> ? ? ? ? ? ? ? ?FixedImageType::IndexType start; >>>>>>>>> ? ? ? ? ? ? ? ?FixedImageType::SizeType size; >>>>>>>>> >>>>>>>>> ? ? ? ? ? ? ? ? start[0]=43; >>>>>>>>> ? ? ? ? ? ? ? ? start[1]=30; >>>>>>>>> ? ? ? ? ? ? ? ? start[2]=0; >>>>>>>>> >>>>>>>>> ? ? ? ? ? ? ? ? size[0]=10; >>>>>>>>> ? ? ? ? ? ? ? ? size[1]=17; >>>>>>>>> ? ? ? ? ? ? ? ? size[2]=20; >>>>>>>>> >>>>>>>>> >>>>>>>>> ? ? ? ? ? ? ? ? FixedImageType::RegionType fixedRegionMetric ; >>>>>>>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetIndex(start); >>>>>>>>> ? ? ? ? ? ? ? ? fixedRegionMetric.SetSize(size); >>>>>>>>> >>>>>>>>> ? ? ? ? ? ? ? ?OptimizerType::ParametersType parameters; >>>>>>>>> >>>>>>>>> >>>>>>>>> ? ? ?if( !(itk::IterationEvent().CheckEvent( &event )) ) >>>>>>>>> ? ? ? ?{ >>>>>>>>> ? ? ? ?return; >>>>>>>>> ? ? ? ?} >>>>>>>>> ? ? ? ? ? ?metric->SetFixedImageRegion(fixedRegionMetric); >>>>>>>>> ? ? ? ? ? ? ? ?metric->SetUseAllPixels( true ); >>>>>>>>> ? ? ? ? ? ?parameters = transform->GetParameters(); >>>>>>>>> >>>>>>>>> >>>>>>>>> ? ? ? ? ?std::cout << optimizer->GetCurrentIteration() << "MIglobal >>>>>>>>> "<< >>>>>>>>> optimizer->GetValue() << " MIlocal >>>>>>>>> ?"<GetValue(parameters); >>>>>>>>> ? ? ?std::cout << std::endl; >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> ? ?} >>>>>>>>> }; >>>>>>>>> >>>>>>>>> >>>>>>>>> _____________________________________ >>>>>>>>> Powered by www.kitware.com >>>>>>>>> >>>>>>>>> Visit other Kitware open-source projects at >>>>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>>>> >>>>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>>>> http://www.kitware.com/products/protraining.html >>>>>>>>> >>>>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>>>> >>>>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>> >>> >>> >> > > > From luis.ibanez at kitware.com Mon Dec 7 13:06:21 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 7 Dec 2009 13:06:21 -0500 Subject: [Insight-users] Registration example in ITK User guide In-Reply-To: References: Message-ID: Hi Xi, Please note that when you load a 3D image into paraview, you will not see anything immediately. You will have to proceed to cut a slice through the volume by using the "Cut" filter. Otherwise you will only see a wireframe that shows the outline of the volume in space. Also, in order to visualize the deformation field, you must upload the image (vector field) into ParaView, and then apply to it the Glyph filter, by using "arrows" as Glyphs. Regards, Luis ------------------------------------------------------------------------------------ On Sun, Dec 6, 2009 at 9:09 PM, Xi LIANG wrote: > Dear all, > Just to finish this topic, I finally managed to visualize the image, and > deformation field of the example in > /Example/Registration/DeformableRegistration8.cxx through VV. I still cannot > get any visualization done in ParaView. Slicer can visualize the image, but > I havent found a proper way to visualize the deformable field. > Regards, > > -------------------------------- > Xi Liang > > ?? > -------------------------------- > > > > >> Date: Thu, 3 Dec 2009 21:24:34 -0500 >> Subject: Re: [Insight-users] Registration example in ITK User guide >> From: luis.ibanez at kitware.com >> To: liangxi1986317 at hotmail.com >> CC: insight-users at itk.org >> >> Hi Xi, >> >> If the purpose of the visualization is to verify the quality of the >> registration, >> you simply need to use >> >> A) the VV application from the Creatis group: >> http://www.creatis.insa-lyon.fr/rio/vv >> >> or >> >> B) Slicer (http://www.slicer.org) >> >> >> They are both based on ITK and VTK, and have built-in method for >> performing visualization of registered images. >> >> You will find VV described in the following paper in the Insight Journal: >> http://www.midasjournal.org/browse/publication/617 >> >> Of course, you can also use ParaView directly. >> >> Note that ITK can write images in .VTK format, >> and they can in turn be read in ParaView (and Slicer and VV) >> directly. >> >> Note also that your current .mha or .mhd image can also >> be directly loaded in ParaView, and Slicer, and VV. >> >> >> In summary: You can simply download any of those >> three applications and open your current output files >> without having to do any further processing on them. >> >> >> >> Regards, >> >> >> Luis >> >> >> >> >> ---------------------------------------------------------------------------------------------- >> On Wed, Dec 2, 2009 at 9:32 PM, Xi LIANG >> wrote: >> > Dear all, >> > Finally I finished compiling and >> > building Examples/Registration/DeformableRegistration8.cxx. This is a >> > multi-resolution, 3D deformable registration example. I got couple of >> > mha, >> > mhd, raw files for fixed, moving, transformed images, and deformation >> > fields >> > as output. >> > However, I realize what I have done was the easiest part, and >> > the visualization is my real problem. Followings are my understanding of >> > what I should do >> > 1. process mha, raw format of data by VTK, and generates corresponding >> > *.vtk >> > files. >> > 2. Then visualize VTK files through ParaView or Slicer. >> > I doubt that the VTK file I need to write wont be easily done, as Im >> > reading >> > the VTK user guide, and the 3D visualization is not an easy sell. >> > Is there any other easy choice to visualize the image, since my focus is >> > Registration. OR... I really need to work hard on VTK as well, in order >> > to >> > evaluate the registration from ITK properly. >> > >> > Cheers, >> > -------------------------------- >> > Xi Liang >> > >> > ?? >> > -------------------------------- >> > >> > >> > >> > ________________________________ >> > Windows Live Hotmail: Your friends can get your Facebook updates, right >> > from >> > Hotmail(R). >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> > > > ________________________________ > Windows Live: Make it easier for your friends to see what you're up to on > Facebook. From adityargupta at gmail.com Mon Dec 7 13:07:59 2009 From: adityargupta at gmail.com (Gupt) Date: Mon, 7 Dec 2009 10:07:59 -0800 (PST) Subject: [Insight-users] Interpolation Volume In-Reply-To: References: <26614974.post@talk.nabble.com> Message-ID: <26681389.post@talk.nabble.com> Hello Luis, Thanks for the reply. In continuation to my previous question... So using the stack of 2d MRI slices, I've a certain segmentation on each of the slices and using the segmented output I've built a surface model and now I've incorporated the intensities of the slices in the surface model. Now, I'm interested to find the volume of the segmented region. So, using the segmented outputs from the various slices, I want to reconstruct a volume, compute and finally visualize the volume. Can you give me a start on how I can proceed? Is it possible to build a 3d volume (not surface model) from a stack of 2d slices (only one axial view not 3 views)? Are there any standard algorithms being used for construction of 3d volumes from 2d slices? Appreciate your help in this matter. Regards, Gupt Luis Ibanez wrote: > > Hi Gupt, > > > Yes, just do the following: > > > A) Load the 2D slices into a single 3D image using the > itk::ImageSeriesReader, > > > B) Connect the image an ImageInterpolator > The typical choice is the itkLinearImageInterpolateFunction class, > (but you can also use NearestNeighbors, BSpline and > WindowedSinc, it is a trade-off between computation time and > interpolation precision) > > > C) Take all the points from your surface model and for every > point call the method: > > PixelType pixelValue = Interpolator->Evaluate( point ) > > and then assign that pixel value to the corresponding point > in the surface model. > > > > Please let us know if you run into any problem. > > > Thanks > > > Luis > > > ------------------------------------------------------------------ > On Wed, Dec 2, 2009 at 2:35 PM, Gupt wrote: >> >> I've a stack of 2d cardiac mri images in single view. I've written the >> code >> to do a surface reconstruction of the left ventricle wall of the heart >> (looks like a hollow cylinder). Is there a method/ function to >> incorporate >> the intensity information (in the 2d slices) in to the model, like some >> kind >> of interpolation to obtain intensity between the slices? Thanks for the >> help. >> -- >> View this message in context: >> http://old.nabble.com/Interpolation-Volume-tp26614974p26614974.html >> Sent from the ITK - Users mailing list archive at Nabble.com. >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://old.nabble.com/Interpolation-Volume-tp26614974p26681389.html Sent from the ITK - Users mailing list archive at Nabble.com. From luis.ibanez at kitware.com Mon Dec 7 13:08:08 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 7 Dec 2009 13:08:08 -0500 Subject: [Insight-users] Changing the size of the parameters array during registration? In-Reply-To: <54eca6a70912070810u1b865413xf70a9ab7e399f00e@mail.gmail.com> References: <54eca6a70912041350o587cbb8eif5c9b9167e836556@mail.gmail.com> <54eca6a70912070810u1b865413xf70a9ab7e399f00e@mail.gmail.com> Message-ID: Hi motes, Well, the change in the number (and meaning of parameters) certainly changes the optimizer space. I guess you may have to post a more specific and precise question.... Regards, Luis ------------------------------------------------------------------------------------- On Mon, Dec 7, 2009 at 11:10 AM, motes motes wrote: > Yes that is also what I am doing now but I was more thinking of how > this affects the optimizer space. > > > On Sun, Dec 6, 2009 at 10:31 PM, Luis Ibanez wrote: >> Hi Motes >> >> This type of run-time change is done in the Example: >> >> ? ? ? ? ?Insight/Examples/DeformableRegistration15.cxx >> >> Note that the key actions that you have to take care of, >> every time that you change the size of the parameters >> array are: >> >> 1) registration->SetInitialTransformParameters( resizedArray ); >> 2) optimizer->SetScales( resizedOptimizerScales ); >> >> That is, the array of optimizer scales must be resized >> to the same size of the resized parameters array. >> >> Then, when you call StartRegistration() the metric and >> the registration class will initialize their internal arrays >> accordingly. >> >> >> >> ? ? ?Regards, >> >> >> ? ? ? ? ? ? Luis >> >> >> ---------------------------------------------------------------------------- >> On Fri, Dec 4, 2009 at 4:50 PM, motes motes wrote: >>> I have made a deformable image registration process that after a >>> number of iterations pauses the optimizer and based on some criterion >>> resizes the parameters array (always to a smaller size). >>> >>> The the new parameters array is thrown into the image registration >>> process and the optimization is continued (the remaining parameters >>> are copied to the new parameters array and the optimizer is updated - >>> number of optimizer scales). ?The jacobian is resized accordingly in >>> the transform and so are the number of deformable nodes. >>> >>> Now I am trying to analyse the effect of resizing the parameters array >>> from the optimizer's point of view. ?When the optimizer continues to >>> work on the new and smaller parameters array (which is initialized >>> with the ?"surviving" coefficients from the previous parameters array) >>> the optimizer search space is actually reduced and the convergence >>> should in theory be speed up. But maybe someone has some thought on >>> this kind of "dynamic" search space reduction and its consequences? >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > From luis.ibanez at kitware.com Mon Dec 7 13:16:01 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 7 Dec 2009 13:16:01 -0500 Subject: [Insight-users] Interpolation Volume In-Reply-To: <5e9bb7c40912070910w546c4bd5t5f6f59f7327e70cf@mail.gmail.com> References: <26614974.post@talk.nabble.com> <5e9bb7c40912070910w546c4bd5t5f6f59f7327e70cf@mail.gmail.com> Message-ID: Hi Gupt, We no longer make any difference between a sequence of 2D slices and a 3D volume... unless.... they are not aligned, or... the spacing in the inter-slice direction is more than 5 times the intra-slice spacing. If you have segmentations for all the 2D slices, you can simply load them all into a single 3D image using an ImageSeriesReader, and then you can process it as a 3D volume. More specifically, you can proceed to compute its volume by using the LabelStatisticsImageFilter. Regards, Luis -------------------------------- On Mon, Dec 7, 2009 at 12:10 PM, Aditya Gupta wrote: > Hello Luis, > > Thanks for the reply. In continuation to my previous question... So using > the stack of 2d MRI slices, I've a certain segmentation on each of the > slices and using the segmented output I've built a surface model and now > I've incorporated the intensities of the slices in the surface model. Now, > I'm interested to find the volume of the segmented region. So, using the > segmented outputs from the various slices, I want to reconstruct a volume, > compute and finally visualize the volume. Can you give me a start on how I > can proceed? Is it possible to build a 3d volume (not surface model) from a > stack of 2d slices (only one axial view not 3 views)? Are there any standard > algorithms being used for construction of 3d volumes from 2d slices? > > Appreciate your help in this matter. > > Regards, > Gupt > > On Wed, Dec 2, 2009 at 7:07 PM, Luis Ibanez wrote: >> >> Hi ?Gupt, >> >> >> Yes, just do the following: >> >> >> A) Load the 2D slices into a single 3D image using the >> ? ? itk::ImageSeriesReader, >> >> >> B) Connect the image an ImageInterpolator >> ? ? The typical choice is the itkLinearImageInterpolateFunction class, >> ? ? (but you can also use NearestNeighbors, BSpline and >> ? ? ?WindowedSinc, it is a trade-off between computation time and >> ? ? ?interpolation precision) >> >> >> C) Take all the points from your surface model and for every >> ? ? point call the method: >> >> ? ? ? PixelType ?pixelValue = ? ?Interpolator->Evaluate( point ) >> >> ? ?and then assign that pixel value to the corresponding point >> ? ?in the surface model. >> >> >> >> ?Please let us know if you run into any problem. >> >> >> ? ? ? Thanks >> >> >> ? ? ? ? ?Luis >> >> >> ------------------------------------------------------------------ >> On Wed, Dec 2, 2009 at 2:35 PM, Gupt wrote: >> > >> > I've a stack of 2d cardiac mri images in single view. I've written the >> > code >> > to do a surface reconstruction of the left ventricle wall of the heart >> > (looks like a hollow cylinder). Is there a method/ function to >> > incorporate >> > the intensity information (in the 2d slices) in to the model, like some >> > kind >> > of interpolation to obtain intensity between the slices? Thanks for the >> > help. >> > -- >> > View this message in context: >> > http://old.nabble.com/Interpolation-Volume-tp26614974p26614974.html >> > Sent from the ITK - Users mailing list archive at Nabble.com. >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > > > > > -- > Regards, > Aditya Gupta, Ph.D. > Post Doc Researcher > UCF Computer Vision Lab > Orlando, FL > O: (407) 882 0130 > M: (407) 451 7735 > From adityargupta at gmail.com Mon Dec 7 17:11:13 2009 From: adityargupta at gmail.com (Gupt) Date: Mon, 7 Dec 2009 14:11:13 -0800 (PST) Subject: [Insight-users] Interpolation Volume In-Reply-To: References: <26614974.post@talk.nabble.com> Message-ID: <26685129.post@talk.nabble.com> Hello, I'm working with ImageSeriesReadWrite.cxx example from ITK user guide. I'm trying to build the 3d volume from a set of 2d mri images - file280054.jpg to file280062.jpg. But I'm receiving the following error: ExceptionObject Caught! itk:ExceptionObject <0134F560> itk::Location: "void __thiscall itk::ImageFileWriter >::Write(void)" File: c:\itk\insight_toolkit\code\io\itkImageFileWriter.txx Line: 271 Description: itk::ERROR: ImageFileWriter(01934508): Largest possible region does not fully contain requested paste IO regionPaste IO region: ImageIORegion (0134F998) Dimension: 3 Index: 0 0 0 Size: 0 0 0 Largest possible region: ImageRegion (0134FA4C) Dimension: 3 Index: [0, 0, 0] Size: [0, 0, 0] Thanks for your help. Gupt Luis Ibanez wrote: > > Hi Gupt, > > We no longer make any difference between a sequence of 2D slices > and a 3D volume... unless.... they are not aligned, or... the spacing in > the inter-slice direction is more than 5 times the intra-slice spacing. > > > If you have segmentations for all the 2D slices, you can simply load them > all into a single 3D image using an ImageSeriesReader, and then you > can process it as a 3D volume. More specifically, you can proceed to > compute its volume by using the LabelStatisticsImageFilter. > > > Regards, > > > Luis > > > -------------------------------- > On Mon, Dec 7, 2009 at 12:10 PM, Aditya Gupta > wrote: >> Hello Luis, >> >> Thanks for the reply. In continuation to my previous question... So using >> the stack of 2d MRI slices, I've a certain segmentation on each of the >> slices and using the segmented output I've built a surface model and now >> I've incorporated the intensities of the slices in the surface model. >> Now, >> I'm interested to find the volume of the segmented region. So, using the >> segmented outputs from the various slices, I want to reconstruct a >> volume, >> compute and finally visualize the volume. Can you give me a start on how >> I >> can proceed? Is it possible to build a 3d volume (not surface model) from >> a >> stack of 2d slices (only one axial view not 3 views)? Are there any >> standard >> algorithms being used for construction of 3d volumes from 2d slices? >> >> Appreciate your help in this matter. >> >> Regards, >> Gupt >> >> On Wed, Dec 2, 2009 at 7:07 PM, Luis Ibanez >> wrote: >>> >>> Hi ?Gupt, >>> >>> >>> Yes, just do the following: >>> >>> >>> A) Load the 2D slices into a single 3D image using the >>> ? ? itk::ImageSeriesReader, >>> >>> >>> B) Connect the image an ImageInterpolator >>> ? ? The typical choice is the itkLinearImageInterpolateFunction class, >>> ? ? (but you can also use NearestNeighbors, BSpline and >>> ? ? ?WindowedSinc, it is a trade-off between computation time and >>> ? ? ?interpolation precision) >>> >>> >>> C) Take all the points from your surface model and for every >>> ? ? point call the method: >>> >>> ? ? ? PixelType ?pixelValue = ? ?Interpolator->Evaluate( point ) >>> >>> ? ?and then assign that pixel value to the corresponding point >>> ? ?in the surface model. >>> >>> >>> >>> ?Please let us know if you run into any problem. >>> >>> >>> ? ? ? Thanks >>> >>> >>> ? ? ? ? ?Luis >>> >>> >>> ------------------------------------------------------------------ >>> On Wed, Dec 2, 2009 at 2:35 PM, Gupt wrote: >>> > >>> > I've a stack of 2d cardiac mri images in single view. I've written the >>> > code >>> > to do a surface reconstruction of the left ventricle wall of the heart >>> > (looks like a hollow cylinder). Is there a method/ function to >>> > incorporate >>> > the intensity information (in the 2d slices) in to the model, like >>> some >>> > kind >>> > of interpolation to obtain intensity between the slices? Thanks for >>> the >>> > help. >>> > -- >>> > View this message in context: >>> > http://old.nabble.com/Interpolation-Volume-tp26614974p26614974.html >>> > Sent from the ITK - Users mailing list archive at Nabble.com. >>> > >>> > _____________________________________ >>> > Powered by www.kitware.com >>> > >>> > Visit other Kitware open-source projects at >>> > http://www.kitware.com/opensource/opensource.html >>> > >>> > Kitware offers ITK Training Courses, for more information visit: >>> > http://www.kitware.com/products/protraining.html >>> > >>> > Please keep messages on-topic and check the ITK FAQ at: >>> > http://www.itk.org/Wiki/ITK_FAQ >>> > >>> > Follow this link to subscribe/unsubscribe: >>> > http://www.itk.org/mailman/listinfo/insight-users >>> > >> >> >> >> -- >> Regards, >> Aditya Gupta, Ph.D. >> Post Doc Researcher >> UCF Computer Vision Lab >> Orlando, FL >> O: (407) 882 0130 >> M: (407) 451 7735 >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://old.nabble.com/Interpolation-Volume-tp26614974p26685129.html Sent from the ITK - Users mailing list archive at Nabble.com. From zallen at wheelinghospital.com Tue Dec 8 00:13:50 2009 From: zallen at wheelinghospital.com (URI) Date: Mon, 7 Dec 2009 21:13:50 -0800 (PST) Subject: [Insight-users] (no subject) In-Reply-To: References: <764384C94AFE4A4389A3DBFE58640F26DE14D0@exch6.jmu.ac.uk> <2b8d077d0911190422o18030c0fkf6cded539328cb6a@mail.gmail.com> <2b8d077d0911230921v12515bbehd0eb46d7407db7f3@mail.gmail.com> <1259110814599-4062270.post@n2.nabble.com> <1259176668602-4067071.post@n2.nabble.com> <1259340869603-4076602.post@n2.nabble.com> <1259776782113-4101223.post@n2.nabble.com> Message-ID: <1260249230472-4130558.post@n2.nabble.com> Luis- I don't seem to be having any luck with either of these options. When I try option 1 I type "which cmake" in my terminal window I get the error "'which is not a recognized command". When I try option 2 I get stuck on step d). I think I just don't understand this step. There is no directory called "cmakesrc" in the source code, there is a directory called "Source" but even in this directory there is no executable called "configure". I'm not sure what ncurses is or how to install it so that I can use ccmake, or what ccmake is even supposed to do. I'm really lost here. Maybe there is an easier way to tackle this problem. It seems from your email that the difficulty arises because I am trying to use MinGW. Is there some other compiler that I could use that would allow me to simply follow the instructions as they are written in the ITK Software Guide (http://www.itk.org/ItkSoftwareGuide.pdf) or the Getting Started pdf that you linked to? It seems from those documents that this should be as simple as specifying the source and build directories and hitting "Configure". Hi URI, Thanks for the additional details. The essential problem is that you are trying to use the Windows version of CMake in order to configure a project under MinGW. That will not work. What you must do: is to use the MinGW version of CMake. You have two options: 1) Install CMake as part of MinGW or 2) build CMake yourself in MinGW For option (1) you can actually check if cmake is already installed in your MinGW system, by just opening a shell and typing which cmake If you find it, then now just need to delete the binary directory where you have been trying to build ITK, and then, start from scratch by following the LINUX instructions given in the Tutorial http://www.itk.org/ITK/help/tutorials.html more specifically in: http://www.itk.org/CourseWare/Training/GettingStarted-I.pdf For option (2), you can follow the LINUX instructions for building CMake. They come down to: a) open a shell b) download and expand the source code of CMake (from www.cmake.org) let's say that you expanded it in a directory called "cmakesrc" b) create a binary directory: mkdir ~/cmakebin c) enter in this directory cd cmakebin d) run the configuration ~/cmakesrc/configure e) build cmake, just by typing make When "make" is done, you will find several executables under the directory cmakebin/bin Note that "ccmake" will only build if you have the library ncurses installed in your system. ----- BTW It is great that you are using MinGW. The problem with Visual Studio (and IDE's in general) is that it hides from developers the details of what actually happens during the configuration and build process. I'm sure that you will find MinGW very interesting. Please follow the LINUX instructions and let us know if you run into any problem. -- View this message in context: http://n2.nabble.com/no-subject-tp4031125p4130558.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From zallen at wheelinghospital.com Tue Dec 8 00:17:01 2009 From: zallen at wheelinghospital.com (URI) Date: Mon, 7 Dec 2009 21:17:01 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> References: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> Message-ID: <1260249421245-4130570.post@n2.nabble.com> Bill- Basically I am just trying to get ITK working by following the instructions in Chapter 2 of the ITK Software Guide (http://www.itk.org/ItkSoftwareGuide.pdf), but it doesn't seem to be working for me. Do you simply follow those instructions as written and it works? Bill Lorensen wrote: > > URI, > > I have changed the subject so that we can start from scratch with your > problem. > > What exactly are you trying to buiild? I build itk on mingw > frequently. I use the windows cmake. > > Bill > > On Tue, Nov 24, 2009 at 8:00 PM, URI wrote: >> >> I am getting the exact same error codes as the original poster. ?I am >> using >> MinGW on a 64-bit Windows 7 machine. ?I would like to try Dan's >> suggestion >> about using CMake 2.4 but I can't find anywhere to download it. ?The only >> versions I can find on the CMake site >> (http://www.cmake.org/cmake/resources/software.html) are version 2.8 and >> 2.6.4. >> >> >> >> Hi Munther, >> >> It seems the "Hello World" application is not compatible with your >> version of CMake... >> >> Perhaps try CMake version 2.4.x? Anyone else on the list have ideas? >> >> Regards, Dan >> >> 2009/11/23 Gdeisat, Munther : >> >>> ##########================================= >>> Check for working C compiler: cl >>> >>> Check for working C compiler: cl -- works >>> >>> Detecting C compiler ABI info >>> >>> Detecting C compiler ABI info - done >>> >>> Check for working CXX compiler: cl >>> >>> Check for working CXX compiler: cl -- works >>> >>> Detecting CXX compiler ABI info >>> >>> Detecting CXX compiler ABI info - done >>> >>> CMake Warning (dev) in CMakeLists.txt: >>> >>> No cmake_minimum_required command is present. A line of code such as >>> >>> cmake_minimum_required(VERSION 2.8) >>> >>> should be added at the top of the file. The version specified may be >>> lower >>> >>> if you wish to support older CMake versions for this project. For more >>> >>> information run "cmake --help-policy CMP0000". >>> >>> This warning is for project developers. Use -Wno-dev to suppress it. >>> >>> Looking for EnumProcesses in Psapi >>> >>> Looking for EnumProcesses in Psapi - not found >>> >>> Looking for mallinfo in malloc >>> >>> Looking for mallinfo in malloc - not found >>> >>> CMake Error at Common/CMakeLists.txt:163 (INSTALL): >>> >>> install TARGETS given no ARCHIVE DESTINATION for static library target >>> >>> "ITKCommon". >>> >>> CMake Error at Numerics/CMakeLists.txt:47 (INSTALL): >>> >>> install TARGETS given no ARCHIVE DESTINATION for static library target >>> >>> "ITKNumerics". >>> >>> CMake Error at Numerics/Statistics/CMakeLists.txt:21 (INSTALL): >>> >>> install TARGETS given no ARCHIVE DESTINATION for static library target >>> >>> "ITKStatistics". >>> >>> CMake Error at Numerics/FEM/CMakeLists.txt:169 (INCLUDE): >>> >>> include could not find load file: >>> >>> /CMake/itkCheckCXXAcceptsFlags.cmake >>> >>> CMake Error at Numerics/FEM/CMakeLists.txt:170 >>> (itkCHECK_CXX_ACCEPTS_FLAGS): >>> >>> Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". >>> >>> Configuring incomplete, errors occurred! >>> >>> >> -- >> View this message in context: >> http://n2.nabble.com/no-subject-tp4031125p4062270.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4130570.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From vgondle at gmail.com Tue Dec 8 05:00:41 2009 From: vgondle at gmail.com (vidhyadhari) Date: Tue, 8 Dec 2009 15:30:41 +0530 Subject: [Insight-users] Problem in visualization of the deformation field using vtk Message-ID: hi, I am new to ITK. I have a problem in visualization of the deformation field from a .vtk file using vtk. The following is my code ----------------------------------------------------------------------------------------------- int main( int argc, char **argv ) { const unsigned int ImageDimension = 2; typedef float PixelType; typedef itk::Vector < float, ImageDimension > VectorType; typedef itk::Image ImageType; typedef itk::ImageFileReader < ImageType > FieldReaderType; FieldReaderType::Pointer reader = FieldReaderType::New (); reader->SetFileName( argv[1] ); reader->Update(); typedef itk::VTKImageExport< ImageType > ExportFilterType; ExportFilterType::Pointer itkExporter = ExportFilterType::New(); itkExporter->SetInput( reader->GetOutput() ); vtkImageImport* vtkImporter = vtkImageImport::New(); ConnectPipelines(itkExporter, vtkImporter); vtkArrowSource *arrow = vtkArrowSource::New(); vtkMaskPoints *masker = vtkMaskPoints::New(); masker->SetOnRatio( 1000 ); masker->RandomModeOff(); masker->SetInputConnection( vtkImporter->GetOutputPort() ); vtkGlyph2D *glyph = vtkGlyph2D::New(); glyph->SetInputConnection( masker->GetOutputPort() ); glyph->SetSourceConnection( arrow->GetOutputPort() ); glyph->SetVectorModeToUseVector(); glyph->SetColorModeToColorByScalar(); glyph->SetScaleModeToDataScalingOff(); glyph->OrientOn(); glyph->SetScaleFactor( 0.2 ); vtkPolyDataMapper *glyphmapper = vtkPolyDataMapper::New(); glyphmapper->SetInputConnection(glyph->GetOutputPort()); glyphmapper->ScalarVisibilityOn(); vtkActor *glyphactor = vtkActor::New(); glyphactor->SetMapper(glyphmapper); vtkRenderer *renderer = vtkRenderer::New(); vtkRenderWindow *renWin = vtkRenderWindow::New(); renWin->AddRenderer(renderer); vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); iren->SetRenderWindow(renWin); renderer->AddActor(glyphactor); renderer->SetBackground(0,0,0); renderer->ResetCamera(); renderer->GetActiveCamera()->Elevation(60.0); renderer->GetActiveCamera()->Azimuth(30.0); renderer->GetActiveCamera()->Zoom(1.25); renWin->SetSize(100,100); renWin->Render(); iren->Start(); renderer->Delete(); renWin->Delete(); iren->Delete(); return 0; } void ConnectPipelines(ITK_Exporter exporter, VTK_Importer* importer) { importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback()); importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback()); importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback()); importer->SetSpacingCallback(exporter->GetSpacingCallback()); importer->SetOriginCallback(exporter->GetOriginCallback()); importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback()); importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback()); importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback()); importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback()); importer->SetDataExtentCallback(exporter->GetDataExtentCallback()); importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback()); importer->SetCallbackUserData(exporter->GetCallbackUserData()); } ------------------------------------------------------------- I get a set of white arrows along some diagonal which remains same even if I change the input file. Could you please give me some suggestions on how to view the deformation field using vtk. regards, vidhyadhari. From luis.ibanez at kitware.com Tue Dec 8 07:36:03 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 8 Dec 2009 07:36:03 -0500 Subject: [Insight-users] Problem in DeformableRegistration3DTimeSeries In-Reply-To: References: Message-ID: Hi Anand, It seems that we still don't have the entire story of how you are building and running the application. From luis.ibanez at kitware.com Tue Dec 8 08:02:41 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 8 Dec 2009 08:02:41 -0500 Subject: [Insight-users] Interpolation Volume In-Reply-To: <26685129.post@talk.nabble.com> References: <26614974.post@talk.nabble.com> <26685129.post@talk.nabble.com> Message-ID: Hi Gupt, This error is usually produced when you attempt to "reuse" a reader to load two images of different size, one after another. For example: reader->SetFileName("myImage1.mhd"); reader->Update(); reader->SetFileName("myImage2.mhd"); reader->Update(); The simple solution is to call "UpdateLargestPossibleRegion()" instead of calling the typical "Update()" method. So your code your look more like: reader->SetFileName("myImage1.mhd"); reader->UpdateLargestPossibleRegion(); reader->SetFileName("myImage2.mhd"); reader->UpdateLargestPossibleRegion(); Please let us know if that helps, Thanks Luis -------------------------------------------------------------------------------------------------------- On Mon, Dec 7, 2009 at 5:11 PM, Gupt wrote: > > Hello, > > I'm working with ImageSeriesReadWrite.cxx example from ITK user guide. I'm > trying to build the 3d volume from a set of 2d mri images - file280054.jpg > to file280062.jpg. But I'm receiving the following error: > > ExceptionObject Caught! > > itk:ExceptionObject <0134F560> > itk::Location: "void __thiscall itk::ImageFileWriter itk::Image char,3> >::Write(void)" > File: c:\itk\insight_toolkit\code\io\itkImageFileWriter.txx > Line: 271 > Description: itk::ERROR: ImageFileWriter(01934508): Largest possible region > does not fully contain requested paste IO regionPaste IO region: > ImageIORegion (0134F998) > ?Dimension: 3 > ?Index: 0 0 0 > ?Size: 0 0 0 > Largest possible region: ImageRegion (0134FA4C) > ?Dimension: 3 > ?Index: [0, 0, 0] > ?Size: [0, 0, 0] > > Thanks for your help. > > Gupt > > > > > Luis Ibanez wrote: >> >> Hi Gupt, >> >> We no longer make any difference between a sequence of 2D slices >> and a 3D volume... unless.... they are not aligned, or... the spacing in >> the inter-slice direction is more than 5 times the intra-slice spacing. >> >> >> If you have segmentations for all the 2D slices, you can simply load them >> all into a single 3D image using an ImageSeriesReader, and then you >> can process it as a 3D volume. ?More specifically, you can proceed to >> compute its volume by using the LabelStatisticsImageFilter. >> >> >> ? ? ?Regards, >> >> >> ? ? ? ? ? ?Luis >> >> >> -------------------------------- >> On Mon, Dec 7, 2009 at 12:10 PM, Aditya Gupta >> wrote: >>> Hello Luis, >>> >>> Thanks for the reply. In continuation to my previous question... So using >>> the stack of 2d MRI slices, I've a certain segmentation on each of the >>> slices and using the segmented output I've built a surface model and now >>> I've incorporated the intensities of the slices in the surface model. >>> Now, >>> I'm interested to find the volume of the segmented region. So, using the >>> segmented outputs from the various slices, I want to reconstruct a >>> volume, >>> compute and finally visualize the volume. Can you give me a start on how >>> I >>> can proceed? Is it possible to build a 3d volume (not surface model) from >>> a >>> stack of 2d slices (only one axial view not 3 views)? Are there any >>> standard >>> algorithms being used for construction of 3d volumes from 2d slices? >>> >>> Appreciate your help in this matter. >>> >>> Regards, >>> Gupt >>> >>> On Wed, Dec 2, 2009 at 7:07 PM, Luis Ibanez >>> wrote: >>>> >>>> Hi ?Gupt, >>>> >>>> >>>> Yes, just do the following: >>>> >>>> >>>> A) Load the 2D slices into a single 3D image using the >>>> ? ? itk::ImageSeriesReader, >>>> >>>> >>>> B) Connect the image an ImageInterpolator >>>> ? ? The typical choice is the itkLinearImageInterpolateFunction class, >>>> ? ? (but you can also use NearestNeighbors, BSpline and >>>> ? ? ?WindowedSinc, it is a trade-off between computation time and >>>> ? ? ?interpolation precision) >>>> >>>> >>>> C) Take all the points from your surface model and for every >>>> ? ? point call the method: >>>> >>>> ? ? ? PixelType ?pixelValue = ? ?Interpolator->Evaluate( point ) >>>> >>>> ? ?and then assign that pixel value to the corresponding point >>>> ? ?in the surface model. >>>> >>>> >>>> >>>> ?Please let us know if you run into any problem. >>>> >>>> >>>> ? ? ? Thanks >>>> >>>> >>>> ? ? ? ? ?Luis >>>> >>>> >>>> ------------------------------------------------------------------ >>>> On Wed, Dec 2, 2009 at 2:35 PM, Gupt wrote: >>>> > >>>> > I've a stack of 2d cardiac mri images in single view. I've written the >>>> > code >>>> > to do a surface reconstruction of the left ventricle wall of the heart >>>> > (looks like a hollow cylinder). Is there a method/ function to >>>> > incorporate >>>> > the intensity information (in the 2d slices) in to the model, like >>>> some >>>> > kind >>>> > of interpolation to obtain intensity between the slices? Thanks for >>>> the >>>> > help. >>>> > -- >>>> > View this message in context: >>>> > http://old.nabble.com/Interpolation-Volume-tp26614974p26614974.html >>>> > Sent from the ITK - Users mailing list archive at Nabble.com. >>>> > >>>> > _____________________________________ >>>> > Powered by www.kitware.com >>>> > >>>> > Visit other Kitware open-source projects at >>>> > http://www.kitware.com/opensource/opensource.html >>>> > >>>> > Kitware offers ITK Training Courses, for more information visit: >>>> > http://www.kitware.com/products/protraining.html >>>> > >>>> > Please keep messages on-topic and check the ITK FAQ at: >>>> > http://www.itk.org/Wiki/ITK_FAQ >>>> > >>>> > Follow this link to subscribe/unsubscribe: >>>> > http://www.itk.org/mailman/listinfo/insight-users >>>> > >>> >>> >>> >>> -- >>> Regards, >>> Aditya Gupta, Ph.D. >>> Post Doc Researcher >>> UCF Computer Vision Lab >>> Orlando, FL >>> O: (407) 882 0130 >>> M: (407) 451 7735 >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://old.nabble.com/Interpolation-Volume-tp26614974p26685129.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Tue Dec 8 08:12:01 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 8 Dec 2009 08:12:01 -0500 Subject: [Insight-users] (no subject) In-Reply-To: <1260249230472-4130558.post@n2.nabble.com> References: <764384C94AFE4A4389A3DBFE58640F26DE14D0@exch6.jmu.ac.uk> <2b8d077d0911230921v12515bbehd0eb46d7407db7f3@mail.gmail.com> <1259110814599-4062270.post@n2.nabble.com> <1259176668602-4067071.post@n2.nabble.com> <1259340869603-4076602.post@n2.nabble.com> <1259776782113-4101223.post@n2.nabble.com> <1260249230472-4130558.post@n2.nabble.com> Message-ID: Hi URI, Please see comments interleaved with you email below. On Tue, Dec 8, 2009 at 12:13 AM, URI wrote: > > Luis- > > I don't seem to be having any luck with either of these options. ?When I try > option 1 I type "which cmake" in my terminal window I get the error "'which > is not a recognized command". > This means that you don't have cmake installed in MinGW. (and that's fine). > When I try option 2 I get stuck on step d). ?I think I just don't understand > this step. ?There is no directory called "cmakesrc" in the source code, > there is a directory called "Source" but even in this directory there is no > executable called "configure". > The directory "cmakesrc" was referring to the directory where you expand the source code of CMake. This was under the assumption that you went to the CMake web site and downloaded the source code of CMake, in the form of a .zip file, or a .tar.gz file, or through a CVS checkout. There is, of course, no directory with the exact name "cmakesrc", we are simply referring to where you decompressed the source code. > I'm not sure what ncurses is or how to install it so that I can use ccmake, > or what ccmake is even supposed to do. ?I'm really lost here. > You would have to do this through the MinGW installation.... but it may not be a good way to proceed in your case. Note that Bill Loresen has reported that (contrary to what I thought), you can indeed use the Windows CMake in order to configure ITK for MinGW. Have you the email that he posted to you in the ITK users mailing list ? > Maybe there is an easier way to tackle this problem. ?It seems from your > email that the difficulty arises because I am trying to use MinGW. ?Is there > some other compiler that I could use that would allow me to simply follow > the instructions as they are written in the ITK Software Guide > (http://www.itk.org/ItkSoftwareGuide.pdf) or the Getting Started pdf that > you linked to? ?It seems from those documents that this should be as simple > as specifying the source and build directories and hitting "Configure". > > > Well, it all depends on what your final purpose is... but you can certainly use any of the following: * Visual Studio 6.0, 7.0, 7.1, 8.0, 9.0 * Borland 5.5 * Intel Compiler * and Gcc from Cygwin or MinGW For all these compilers we have Nightly builds in the Dashboard: http://public.kitware.com/dashboard.php?name=itk Please reply to Bill's email in the mailing list and provide detailed information on what Generator you are using when running the Windows CMake. Thanks Luis ---------------------------------------------------------- > > Hi URI, > > Thanks for the additional details. > > The essential problem is that you are trying to use the Windows > version of CMake in order to configure a project under MinGW. > > ? ? ? ? ? ? ? ? ? ? ? ? ? ?That will not work. > > > What you must do: > > ? ? ? ? ? ?is to use the MinGW version of CMake. > > > You have two options: > > ? ? ? ? ? ? 1) Install CMake as part of MinGW > > or > > ? ? ? ? ? ? 2) build CMake yourself in MinGW > > > For option (1) you can actually check if cmake is already > installed in your MinGW system, by just opening a shell > and typing > > ? ? ? ? ? ? ? ? ? ? ? ? ?which ?cmake > > If you find it, then now just need to delete the ?binary directory > where you have been trying to build ITK, and then, start from > scratch by following the LINUX instructions given in the Tutorial > > http://www.itk.org/ITK/help/tutorials.html > more specifically in: > http://www.itk.org/CourseWare/Training/GettingStarted-I.pdf > > > > For option (2), you can follow the LINUX instructions for building > CMake. ?They come down to: > > ? ? ?a) open a shell > > ? ? ?b) download and expand the source code of CMake > ? ? ? ? ?(from www.cmake.org) > ? ? ? ? ?let's say that you expanded it in a directory > ? ? ? ? ?called "cmakesrc" > > ? ? ?b) create a binary directory: > ? ? ? ? ? ? ?mkdir ~/cmakebin > > ? ? ?c) enter in this directory > ? ? ? ? ? ? cd cmakebin > > ? ? ?d) run the configuration > ? ? ? ? ? ? ~/cmakesrc/configure > > ? ? ?e) build cmake, just by typing > ? ? ? ? ? ? ? ? ? ? ?make > > ?When "make" is done, you will find > several executables under the directory > ? ? ? ? ? ? ? cmakebin/bin > > Note that "ccmake" will only build if you > have the library ncurses installed in your > system. > > > ----- > > > BTW > > It is great that you are using MinGW. > > The problem with Visual Studio (and IDE's in general) is > that it hides from developers the details of what actually > happens during the configuration and build process. > I'm sure that you will find MinGW very interesting. > > > ? ?Please follow the LINUX instructions and let us know if > ? ?you run into any problem. > > > -- > View this message in context: http://n2.nabble.com/no-subject-tp4031125p4130558.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Tue Dec 8 08:22:10 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Tue, 8 Dec 2009 08:22:10 -0500 Subject: [Insight-users] Problem in visualization of the deformation field using vtk In-Reply-To: References: Message-ID: Hi Vidhayadhari Since you are doing this in 2D, You may want to replace the vtkArrowSource (as the Glyph source) with the vtkGlyphSource2D class: http://www.vtk.org/doc/release/4.0/html/classvtkGlyphSource2D.html and to set it to produce arrows, by calling its method: SetGlyphTypeToArrow () Regards, Luis -------------------------------------------------------------------------------------- On Tue, Dec 8, 2009 at 5:00 AM, vidhyadhari wrote: > hi, > ? I am new to ITK. I have a problem in visualization of the > deformation field from a .vtk file using vtk. The following is my code > ----------------------------------------------------------------------------------------------- > > int main( int argc, char **argv ) > { ?const unsigned int ImageDimension = 2; > ?typedef float PixelType; > > ?typedef itk::Vector < float, ImageDimension > VectorType; > ?typedef itk::Image ImageType; > ?typedef itk::ImageFileReader < ImageType > FieldReaderType; > > ?FieldReaderType::Pointer reader = FieldReaderType::New (); > ?reader->SetFileName( argv[1] ); > ?reader->Update(); > > ?typedef itk::VTKImageExport< ImageType > ExportFilterType; > ?ExportFilterType::Pointer itkExporter = ExportFilterType::New(); > > ?itkExporter->SetInput( reader->GetOutput() ); > > ?vtkImageImport* vtkImporter = vtkImageImport::New(); > ?ConnectPipelines(itkExporter, vtkImporter); > > ?vtkArrowSource *arrow = vtkArrowSource::New(); > ?vtkMaskPoints *masker = vtkMaskPoints::New(); > > ?masker->SetOnRatio( 1000 ); > ?masker->RandomModeOff(); > ?masker->SetInputConnection( vtkImporter->GetOutputPort() ); > > ?vtkGlyph2D *glyph = vtkGlyph2D::New(); > ?glyph->SetInputConnection( masker->GetOutputPort() ); > ?glyph->SetSourceConnection( arrow->GetOutputPort() ); > ?glyph->SetVectorModeToUseVector(); > ?glyph->SetColorModeToColorByScalar(); > ?glyph->SetScaleModeToDataScalingOff(); > ?glyph->OrientOn(); > ?glyph->SetScaleFactor( 0.2 ); > > ?vtkPolyDataMapper *glyphmapper = vtkPolyDataMapper::New(); > ?glyphmapper->SetInputConnection(glyph->GetOutputPort()); > ?glyphmapper->ScalarVisibilityOn(); > > ? vtkActor *glyphactor = vtkActor::New(); > ? glyphactor->SetMapper(glyphmapper); > > ? vtkRenderer *renderer = vtkRenderer::New(); > ? vtkRenderWindow *renWin = vtkRenderWindow::New(); > ? renWin->AddRenderer(renderer); > > ? vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); > ? iren->SetRenderWindow(renWin); > > ?renderer->AddActor(glyphactor); > ?renderer->SetBackground(0,0,0); > ?renderer->ResetCamera(); > ?renderer->GetActiveCamera()->Elevation(60.0); > ?renderer->GetActiveCamera()->Azimuth(30.0); > ?renderer->GetActiveCamera()->Zoom(1.25); > ?renWin->SetSize(100,100); > > > ?renWin->Render(); > ?iren->Start(); > > ?renderer->Delete(); > ?renWin->Delete(); > ?iren->Delete(); > > ?return 0; > } > > > void ConnectPipelines(ITK_Exporter exporter, VTK_Importer* importer) > { > > importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback()); > > importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback()); > ?importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback()); > ?importer->SetSpacingCallback(exporter->GetSpacingCallback()); > ?importer->SetOriginCallback(exporter->GetOriginCallback()); > ?importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback()); > > importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback()); > > importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback()); > ?importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback()); > ?importer->SetDataExtentCallback(exporter->GetDataExtentCallback()); > ?importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback()); > ?importer->SetCallbackUserData(exporter->GetCallbackUserData()); > } > > ------------------------------------------------------------- > > I get a set of white arrows along some diagonal which remains same > even if I change the input file. Could you please give me some > suggestions on how to view the deformation field using vtk. > > regards, > vidhyadhari. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From bill.lorensen at gmail.com Tue Dec 8 09:00:53 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 8 Dec 2009 09:00:53 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260249421245-4130570.post@n2.nabble.com> References: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> <1260249421245-4130570.post@n2.nabble.com> Message-ID: <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> Let's take small steps. 1) You should do all of your work from an Msys shell. It it is called msys.bat. Can you start the msys shell? Bill On Tue, Dec 8, 2009 at 12:17 AM, URI wrote: > > Bill- > > Basically I am just trying to get ITK working by following the instructions > in Chapter 2 of the ITK Software Guide > (http://www.itk.org/ItkSoftwareGuide.pdf), but it doesn't seem to be working > for me. ?Do you simply follow those instructions as written and it works? > > > > Bill Lorensen wrote: >> >> URI, >> >> I have changed the subject so that we can start from scratch with your >> problem. >> >> What exactly are you trying to buiild? I build itk on mingw >> frequently. I use the windows cmake. >> >> Bill >> >> On Tue, Nov 24, 2009 at 8:00 PM, URI wrote: >>> >>> I am getting the exact same error codes as the original poster. ?I am >>> using >>> MinGW on a 64-bit Windows 7 machine. ?I would like to try Dan's >>> suggestion >>> about using CMake 2.4 but I can't find anywhere to download it. ?The only >>> versions I can find on the CMake site >>> (http://www.cmake.org/cmake/resources/software.html) are version 2.8 and >>> 2.6.4. >>> >>> >>> >>> Hi Munther, >>> >>> It seems the "Hello World" application is not compatible with your >>> version of CMake... >>> >>> Perhaps try CMake version 2.4.x? Anyone else on the list have ideas? >>> >>> Regards, Dan >>> >>> 2009/11/23 Gdeisat, Munther : >>> >>>> ##########================================= >>>> Check for working C compiler: cl >>>> >>>> Check for working C compiler: cl -- works >>>> >>>> Detecting C compiler ABI info >>>> >>>> Detecting C compiler ABI info - done >>>> >>>> Check for working CXX compiler: cl >>>> >>>> Check for working CXX compiler: cl -- works >>>> >>>> Detecting CXX compiler ABI info >>>> >>>> Detecting CXX compiler ABI info - done >>>> >>>> CMake Warning (dev) in CMakeLists.txt: >>>> >>>> No cmake_minimum_required command is present. A line of code such as >>>> >>>> cmake_minimum_required(VERSION 2.8) >>>> >>>> should be added at the top of the file. The version specified may be >>>> lower >>>> >>>> if you wish to support older CMake versions for this project. For more >>>> >>>> information run "cmake --help-policy CMP0000". >>>> >>>> This warning is for project developers. Use -Wno-dev to suppress it. >>>> >>>> Looking for EnumProcesses in Psapi >>>> >>>> Looking for EnumProcesses in Psapi - not found >>>> >>>> Looking for mallinfo in malloc >>>> >>>> Looking for mallinfo in malloc - not found >>>> >>>> CMake Error at Common/CMakeLists.txt:163 (INSTALL): >>>> >>>> install TARGETS given no ARCHIVE DESTINATION for static library target >>>> >>>> "ITKCommon". >>>> >>>> CMake Error at Numerics/CMakeLists.txt:47 (INSTALL): >>>> >>>> install TARGETS given no ARCHIVE DESTINATION for static library target >>>> >>>> "ITKNumerics". >>>> >>>> CMake Error at Numerics/Statistics/CMakeLists.txt:21 (INSTALL): >>>> >>>> install TARGETS given no ARCHIVE DESTINATION for static library target >>>> >>>> "ITKStatistics". >>>> >>>> CMake Error at Numerics/FEM/CMakeLists.txt:169 (INCLUDE): >>>> >>>> include could not find load file: >>>> >>>> /CMake/itkCheckCXXAcceptsFlags.cmake >>>> >>>> CMake Error at Numerics/FEM/CMakeLists.txt:170 >>>> (itkCHECK_CXX_ACCEPTS_FLAGS): >>>> >>>> Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". >>>> >>>> Configuring incomplete, errors occurred! >>>> >>>> >>> -- >>> View this message in context: >>> http://n2.nabble.com/no-subject-tp4031125p4062270.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4130570.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From mort.motes at gmail.com Tue Dec 8 11:08:51 2009 From: mort.motes at gmail.com (motes motes) Date: Tue, 8 Dec 2009 17:08:51 +0100 Subject: [Insight-users] Get the time spent from the image registration process? Message-ID: <54eca6a70912080808x2766ebbbj1411d9455b23d45f@mail.gmail.com> How do I get the time used from the image registration process? Currently I do this: itk::TimeProbesCollectorBase collector; try { collector.Start( "Registration" ); registration->Update(); collector.Stop( "Registration" ); } catch( itk::ExceptionObject & err ) { std::cerr << "ExceptionObject caught !" << std::endl; std::cerr << err << std::endl; return; } // Report the time taken by the registration collector.Report(); But then the time consumption just gets written to the terminal. I would like to store the time consumption in variable that I use later in my application: double time = collector.Report(); but that is a no-go since the Report() function is void. I have tried passing a std::ostringstream to the Report function: std::string t_str = ""; std::ostringstream ostr(t_str); collector.Report(ostr); std::cout << "ostr = " << ostr << std::endl; But that just prints something that looks like an address in memory. Any ideas? From poojachatterjee12 at gmail.com Tue Dec 8 11:15:58 2009 From: poojachatterjee12 at gmail.com (Pooja Chatterjee) Date: Tue, 8 Dec 2009 11:15:58 -0500 Subject: [Insight-users] problem installing itk Message-ID: Hi!! I'm new to itk and MAC OS and I'm having some problems installing it. While configuring cmake I get the following error: CMake Warning (dev) at CMakeLists.txt:128 (INCLUDE): Policy CMP0011 is not set: Included scripts do automatic cmake_policy PUSH and POP. Run "cmake --help-policy CMP0011" for policy details. Use the make_policy command to set the policy and suppress this warning. The included script /Users/pooja/Sources/wrapitk-0.3.0/ConfigureWrapping.cmake affects policy settings. CMake is implying the NO_POLICY_SCOPE option for compatibility, so the effects are applied to the including context. This warning is for project developers. Use -Wno-dev to suppress it. Could anyone help me get round this. Thanks!! Pooja -------------- next part -------------- An HTML attachment was scrubbed... URL: From mort.motes at gmail.com Tue Dec 8 13:17:29 2009 From: mort.motes at gmail.com (motes motes) Date: Tue, 8 Dec 2009 19:17:29 +0100 Subject: [Insight-users] How to get number of iterations from optimizer? Message-ID: <54eca6a70912081017r4c82c1f4k5d3d3a1d09f04a12@mail.gmail.com> I have an image registration process where I use the RegularGradientDescentOptimizer: typename RegularGradientDescentOptimizerType::Pointer optimizer = RegularGradientDescentOptimizerType::New(); optimizer->SetMaximumStepLength( 0.5 ); optimizer->SetMinimumStepLength( 0.0001 ); optimizer->SetGradientMagnitudeTolerance( 0.0001 ); optimizer->SetNumberOfIterations( 1000 ); optimizer->MinimizeOn(); ObserverType::Pointer Observer = ObserverType::New(); optimizer->AddObserver( itk::IterationEvent(), Observer ); registration->SetOptimizer( optimizer ); When the image registration method is done: try { timeProbe.Start(); registration->Update(); timeProbe.Stop(); } catch( itk::ExceptionObject & err ) { std::cerr << "ExceptionObject caught !" << std::endl; std::cerr << err << std::endl; return; } its possible to get the final metric value with: double final_metric_value = registration->GetOptimizer()->GetValue(registration->GetLastTransformParameters()); But its not possible to get the number of used iterations like (sometimes the optimizer terminates before the maximum number of iterations has been used): int used_iterations = registration->GetOptimizer()->GetNumberOfIterations(); Error: Error 12 error C2039: 'GetNumberOfIterations' : is not a member of 'itk::SingleValuedNonLinearOptimizer' It there someway to cast the base optimizer class to the RegularGradientDescentOptimizerType (this subclass has the function GetNumberOfIterations) ? From bilgic at cs.rpi.edu Tue Dec 8 14:06:50 2009 From: bilgic at cs.rpi.edu (C.Cagatay Bilgin) Date: Tue, 8 Dec 2009 14:06:50 -0500 Subject: [Insight-users] Get the time spent from the image registration process? In-Reply-To: <54eca6a70912080808x2766ebbbj1411d9455b23d45f@mail.gmail.com> References: <54eca6a70912080808x2766ebbbj1411d9455b23d45f@mail.gmail.com> Message-ID: Hi motes, I think what you want is itk::TimeProbe timer1; timer1.Start(); .... timer1.Stop(); double time_elapsed = (double) timer1.GetMeanTime(); I did not use the collector base but there is probably a way to access the timeProbe map in it. Regards, Cagatay Bilgin On Dec 8, 2009, at 11:08 AM, motes motes wrote: > How do I get the time used from the image registration process? > Currently I do this: > > > itk::TimeProbesCollectorBase collector; > try { > collector.Start( "Registration" ); > registration->Update(); > collector.Stop( "Registration" ); > } > catch( itk::ExceptionObject & err ) { > std::cerr << "ExceptionObject caught !" << std::endl; > std::cerr << err << std::endl; > return; > } > > // Report the time taken by the registration > collector.Report(); > > > But then the time consumption just gets written to the terminal. I > would like to store the time consumption in variable that I use later > in my application: > > double time = collector.Report(); > > but that is a no-go since the Report() function is void. I have tried > passing a std::ostringstream to the Report function: > > std::string t_str = ""; > std::ostringstream ostr(t_str); > collector.Report(ostr); > std::cout << "ostr = " << ostr << std::endl; > > But that just prints something that looks like an address in memory. > Any ideas? > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users From john.drozd at gmail.com Tue Dec 8 14:38:16 2009 From: john.drozd at gmail.com (John Drozd) Date: Tue, 8 Dec 2009 14:38:16 -0500 Subject: [Insight-users] combining output from segmentation with label map attributes using Gaetan Lehmann's paper: "Label object representation and manipulation with ITK" Message-ID: Hello, I have segmented the ventricles from an image using a connected threshold image filter. I then tried to convert my outputted segmentation to a label map filter and then to get the label's attributes. I am using parts of the example code attribute_values.cxx that is described in section 9.4 of Gaetan Lehmann's paper: "Label object representation and manipulation with ITK" My problem is that my code is telling me that the number of labels is 0. How do I apply a label to my segmented ventricles? Below is my code: /* to run type: ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm 103 142 95 17100 17300 */ #if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif #ifdef __BORLANDC__ #define ITK_LEAN_AND_MEAN #endif #include "itkConnectedThresholdImageFilter.h" #include "itkImage.h" #include "itkCastImageFilter.h" #include "itkCurvatureFlowImageFilter.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkGDCMImageIO.h" #include "itkVersion.h" #include "itkOrientedImage.h" #include "itkMinimumMaximumImageFilter.h" #include "itkGDCMImageIO.h" #include "itkGDCMSeriesFileNames.h" #include "itkNumericSeriesFileNames.h" #include "itkImageSeriesReader.h" #include "itkImageSeriesWriter.h" #include "itkResampleImageFilter.h" #include "itkShiftScaleImageFilter.h" #include "itkIdentityTransform.h" #include "itkLinearInterpolateImageFunction.h" #include #include "gdcm/src/gdcmFile.h" #include "gdcm/src/gdcmUtil.h" #include //added per attribute_values.cxx #include "itkImageFileReader.h" #include "itkShapeLabelObject.h" //#include "itkStatisticsLabelObject.h" #include "itkLabelMap.h" #include "itkBinaryImageToShapeLabelMapFilter.h" //#include "itkBinaryImageToStatisticsLabelMapFilter.h" //end of added code int main( int argc, char *argv[]) { if( argc < 7 ) { std::cerr << "Missing Parameters " << std::endl; std::cerr << "Usage: " << argv[0]; std::cerr << " inputImage outputImage seedX seedY seedZ lowerThreshold upperThreshold" << std::endl; return 1; } typedef float InternalPixelType; const unsigned int Dimension = 3; typedef itk::Image< InternalPixelType, Dimension > InternalImageType; typedef signed short OutputPixelType; typedef itk::Image< OutputPixelType, Dimension > OutputImageType; typedef itk::Image< float, Dimension > OutputImageType2; typedef itk::CastImageFilter< InternalImageType, OutputImageType > CastingFilterType; CastingFilterType::Pointer caster = CastingFilterType::New(); const unsigned int ImageDimension = 3; typedef signed short PixelType; typedef itk::Image< PixelType, ImageDimension > FixedImageType; typedef itk::Image< float, ImageDimension > FloatImageType; typedef itk::ImageFileReader< FixedImageType > ReaderType; typedef itk::ImageFileWriter< OutputImageType > WriterType; typedef itk::ImageFileWriter< FloatImageType > WriterType2; ReaderType::Pointer reader = ReaderType::New(); WriterType::Pointer writer = WriterType::New(); WriterType2::Pointer writer2 = WriterType2::New(); typedef itk::GDCMImageIO ImageIOTypefixed; ImageIOTypefixed::Pointer gdcmImageIOfixed = ImageIOTypefixed::New(); reader->SetImageIO( gdcmImageIOfixed ); typedef itk::GDCMImageIO ImageIOTypefixed2; ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = ImageIOTypefixed2::New(); reader->SetFileName( argv[1] ); reader->Update(); typedef itk::CurvatureFlowImageFilter< InternalImageType, InternalImageType > CurvatureFlowImageFilterType; CurvatureFlowImageFilterType::Pointer smoothing = CurvatureFlowImageFilterType::New(); typedef itk::ConnectedThresholdImageFilter< InternalImageType, InternalImageType > ConnectedFilterType; ConnectedFilterType::Pointer connectedThreshold = ConnectedFilterType::New(); typedef signed short InputAPixelType; typedef float OutputBPixelType; typedef itk::Image< InputAPixelType, 3 > InputAImageType; typedef itk::Image< OutputBPixelType, 3 > OutputBImageType; typedef itk::CastImageFilter< InputAImageType, OutputBImageType > CastFilterType; CastFilterType::Pointer castFilter = CastFilterType::New(); castFilter->SetInput( reader->GetOutput() ); connectedThreshold->SetInput( castFilter->GetOutput() ); caster->SetInput( connectedThreshold->GetOutput() ); smoothing->SetNumberOfIterations( 20 ); //was 5 smoothing->SetTimeStep( 0.125 ); const InternalPixelType lowerThreshold = atof( argv[6] ); const InternalPixelType upperThreshold = atof( argv[7] ); connectedThreshold->SetLower( lowerThreshold ); connectedThreshold->SetUpper( upperThreshold ); connectedThreshold->SetReplaceValue( 255 ); InternalImageType::IndexType index; index[0] = atoi( argv[3] ); index[1] = atoi( argv[4] ); //added index[2] = atoi( argv[5] ); std::cout << index << std::endl; // Software Guide : BeginCodeSnippet connectedThreshold->SetSeed( index ); //obtain a 5 x 5 bounding region of seeds int ii, jj, kk; ii = index[0]; jj = index[1]; kk = index[2]; for (int i = ii; i < ii + 5; i++) for (int j = jj; j < jj + 5; j++) for (int k = kk; k < kk + 5; k++) { index[0] = i; index[1] = j; index[2] = k; connectedThreshold->AddSeed( index ); } for (int i = ii; i > ii - 5; i--) for (int j = jj; j > jj - 5; j--) for (int k = kk; k > kk - 5; k--) { index[0] = i; index[1] = j; index[2] = k; connectedThreshold->AddSeed( index ); } connectedThreshold->Print(std::cout,17100); typedef itk::MetaDataDictionary DictionaryType; DictionaryType inputdict = reader->GetMetaDataDictionary(); writer->SetMetaDataDictionary( inputdict ); writer->SetFileName( argv[2] ); //added per attribute_values.cxx // define the object type. Here the ShapeLabelObject type // is chosen in order to read some attribute related to the shape // of the objects (by opposition to the content of the object, with // the StatisticsLabelObejct). typedef unsigned long LabelType; typedef itk::ShapeLabelObject< LabelType, 3 > LabelObjectType; typedef itk::LabelMap< LabelObjectType > LabelMapType; // convert the image in a collection of objects typedef itk::BinaryImageToLabelMapFilter< InternalImageType, LabelMapType > ConverterType; ConverterType::Pointer converter = ConverterType::New(); converter->SetInput( connectedThreshold->GetOutput() ); //converter->SetForegroundValue( atoi(argv[2]) ); //converter->SetForegroundValue( 255 ); // valuate the attributes with the dedicated filter: ShapeLabelMapFilter typedef itk::ShapeLabelMapFilter< LabelMapType > ShapeFilterType; ShapeFilterType::Pointer shape = ShapeFilterType::New(); shape->SetInput( converter->GetOutput() ); shape->Update(); // then we can read the attribute values we're interested in. The BinaryImageToShapeLabelMapFilter // produce consecutive labels, so we can use a for loop and GetLabelObject() method to retrieve // the label objects. If the labels are not consecutive, the GetNthLabelObject() method must be // use instead of GetLabelObject(), or an iterator on the label object container of the label map. LabelMapType::Pointer labelMap = shape->GetOutput(); std::cout << "Number of label objects = " << labelMap->GetNumberOfLabelObjects() << std::endl; for( unsigned int label=1; label<=labelMap->GetNumberOfLabelObjects(); label++ ) { // we don't need a SmartPointer of the label object here, because the reference is kept in // in the label map. const LabelObjectType * labelObject = labelMap->GetLabelObject( label ); std::cout << label << "\t" << labelObject->GetPhysicalSize() << "\t" << labelObject->GetCentroid() << std::endl; } writer->SetInput( caster->GetOutput() ); try { writer->Update(); } catch( itk::ExceptionObject & excep ) { std::cerr << "Exception caught !" << std::endl; std::cerr << excep << std::endl; } std::cout << "output from reader->GetOutput()->GetDirection()" << std::endl; std::cout << reader->GetOutput()->GetDirection() << std::endl; std::cout << "output from castFilter->GetOutput()->GetDirection()" << std::endl; std::cout << castFilter->GetOutput()->GetDirection() << std::endl; std::cout << "output from connectedThreshold->GetOutput()->GetDirection()" << std::endl; std::cout << connectedThreshold->GetOutput()->GetDirection() << std::endl; std::cout << "output from caster->GetOutput()->GetDirection()" << std::endl; std::cout << caster->GetOutput()->GetDirection() << std::endl; return 0; } -------------- next part -------------- An HTML attachment was scrubbed... URL: From lynx.abraxas at freenet.de Tue Dec 8 15:09:28 2009 From: lynx.abraxas at freenet.de (lynx.abraxas at freenet.de) Date: Tue, 8 Dec 2009 21:09:28 +0100 Subject: [Insight-users] How to get a progess from an iterator? In-Reply-To: References: <20091204111233.GA2886@drago> <20091206220814.GA2746@drago> Message-ID: <20091208200928.GA2313@drago> On 06/12/09 18:24:51, Luis Ibanez wrote: > Hi Lynx, > > A simpler option is to just insert a counter inside > the while-loop of the iterators. That's after all, > what the code of the ProgressReporter does. > Thank You very much Luis. This was exacly what I was trying to do but I didn't find a way to get the total number of pixels... I had some strange problem though: As I started from the ShapedNeighborhoodIterator example form the users guide (which is in 2D) I had modified things to my need and changed to 3D. Somehow that all worked until I needed the new variables for the progress. Just from declaring a variable I got a segfault. Changing the position of the declaration solved the problem for one variable but not for the rest. I finally figured out after hours that the problem was the uninitialized third dimension of the iterator neighbourhood. If I'm not mistaken such a problem was discussed a few weeks before here on the list... I now wonder if there is a way to prevent this in futur programming by a cleaner or more secure programming style. Is there a way to prevent such faults? Or at least to help the compiler find uninitialized components of an array for reporting at compile time? Also I found the cool code below to easily implement 2D and 3D programs. Is there any chance to make that work also with a ShapedNeighborhoodIterator who's neighbourhood (a ball) needs to be initialize once in 2D and once in 3D? Thanks again Luis for Your help. Lynx ___________________________ int main( int argc, char *argv[] ){ if ( argc < 8 ){ std::cerr << "Missing parameters. " << std::endl; std::cerr << "Usage: " << std::endl; std::cerr << argv[0] << "ImageDimension inputImageFile outputImageFile element_radius foreground background maskground" << std::endl; return -1; } unsigned int dim; dim= atoi(argv[1]); argv++; //shift(); argc--; switch(dim) { case 2: masked_mean_filter<2>( argc, argv ); break; case 3: masked_mean_filter<3>( argc, argv ); break; default: std::cerr << "Unsupported dimension" << std::endl; exit( EXIT_FAILURE ); } } From lynx.abraxas at freenet.de Tue Dec 8 15:47:28 2009 From: lynx.abraxas at freenet.de (lynx.abraxas at freenet.de) Date: Tue, 8 Dec 2009 21:47:28 +0100 Subject: [Insight-users] How to parallelize ShapedNeighborhoodIterator example? Message-ID: <20091208204728.GB2313@drago> Hello! I'm wondering how to parallelize the ShapedNeighborhoodIterator example from the userguide. For a filter who's output is not dependent on preceding iterator steps the iteration should be parallelizable. But what would be the best way to care about the neighbourhood? If I split the image into subareas what happens to the neighbourhood at the boundaries to other subareas? Is there somewhere an example of a parallelized version of the ShapedNeighborhoodIterator example? Thanks for any help or hints. Lynx From adityargupta at gmail.com Tue Dec 8 16:17:08 2009 From: adityargupta at gmail.com (Gupt) Date: Tue, 8 Dec 2009 13:17:08 -0800 (PST) Subject: [Insight-users] Interpolation Volume In-Reply-To: References: <26614974.post@talk.nabble.com> <26685129.post@talk.nabble.com> Message-ID: <26700914.post@talk.nabble.com> Hello Luis, Using UpdateLargestPossibleRegion() didn't give me the error for one set of slices but the mhd (raw and hdr) file created had errors. When I try to open the volume using MRIcro, I get the error - Unknown image format, and file size smaller than described in 'Header Information' panel. I also tried using ITK SNAP but am unable to open the file. When I re-run the program for a different set of slices, I get the error described in my last post - "Largest possible region does not fully contain requested paste IO regionPaste IO region:..." Thank you for your help. Regards, Gupt Luis Ibanez wrote: > > Hi Gupt, > > This error is usually produced when you attempt to "reuse" a > reader to load two images of different size, one after another. > > For example: > > reader->SetFileName("myImage1.mhd"); > reader->Update(); > > reader->SetFileName("myImage2.mhd"); > reader->Update(); > > > The simple solution is to call "UpdateLargestPossibleRegion()" > instead of calling the typical "Update()" method. > > So your code your look more like: > > > reader->SetFileName("myImage1.mhd"); > reader->UpdateLargestPossibleRegion(); > > reader->SetFileName("myImage2.mhd"); > reader->UpdateLargestPossibleRegion(); > > > Please let us know if that helps, > > > Thanks > > > Luis > > > -------------------------------------------------------------------------------------------------------- > On Mon, Dec 7, 2009 at 5:11 PM, Gupt wrote: >> >> Hello, >> >> I'm working with ImageSeriesReadWrite.cxx example from ITK user guide. >> I'm >> trying to build the 3d volume from a set of 2d mri images - >> file280054.jpg >> to file280062.jpg. But I'm receiving the following error: >> >> ExceptionObject Caught! >> >> itk:ExceptionObject <0134F560> >> itk::Location: "void __thiscall itk::ImageFileWriter> itk::Image> char,3> >::Write(void)" >> File: c:\itk\insight_toolkit\code\io\itkImageFileWriter.txx >> Line: 271 >> Description: itk::ERROR: ImageFileWriter(01934508): Largest possible >> region >> does not fully contain requested paste IO regionPaste IO region: >> ImageIORegion (0134F998) >> ?Dimension: 3 >> ?Index: 0 0 0 >> ?Size: 0 0 0 >> Largest possible region: ImageRegion (0134FA4C) >> ?Dimension: 3 >> ?Index: [0, 0, 0] >> ?Size: [0, 0, 0] >> >> Thanks for your help. >> >> Gupt >> >> >> >> >> Luis Ibanez wrote: >>> >>> Hi Gupt, >>> >>> We no longer make any difference between a sequence of 2D slices >>> and a 3D volume... unless.... they are not aligned, or... the spacing in >>> the inter-slice direction is more than 5 times the intra-slice spacing. >>> >>> >>> If you have segmentations for all the 2D slices, you can simply load >>> them >>> all into a single 3D image using an ImageSeriesReader, and then you >>> can process it as a 3D volume. ?More specifically, you can proceed to >>> compute its volume by using the LabelStatisticsImageFilter. >>> >>> >>> ? ? ?Regards, >>> >>> >>> ? ? ? ? ? ?Luis >>> >>> >>> -------------------------------- >>> On Mon, Dec 7, 2009 at 12:10 PM, Aditya Gupta >>> wrote: >>>> Hello Luis, >>>> >>>> Thanks for the reply. In continuation to my previous question... So >>>> using >>>> the stack of 2d MRI slices, I've a certain segmentation on each of the >>>> slices and using the segmented output I've built a surface model and >>>> now >>>> I've incorporated the intensities of the slices in the surface model. >>>> Now, >>>> I'm interested to find the volume of the segmented region. So, using >>>> the >>>> segmented outputs from the various slices, I want to reconstruct a >>>> volume, >>>> compute and finally visualize the volume. Can you give me a start on >>>> how >>>> I >>>> can proceed? Is it possible to build a 3d volume (not surface model) >>>> from >>>> a >>>> stack of 2d slices (only one axial view not 3 views)? Are there any >>>> standard >>>> algorithms being used for construction of 3d volumes from 2d slices? >>>> >>>> Appreciate your help in this matter. >>>> >>>> Regards, >>>> Gupt >>>> >>>> On Wed, Dec 2, 2009 at 7:07 PM, Luis Ibanez >>>> wrote: >>>>> >>>>> Hi ?Gupt, >>>>> >>>>> >>>>> Yes, just do the following: >>>>> >>>>> >>>>> A) Load the 2D slices into a single 3D image using the >>>>> ? ? itk::ImageSeriesReader, >>>>> >>>>> >>>>> B) Connect the image an ImageInterpolator >>>>> ? ? The typical choice is the itkLinearImageInterpolateFunction class, >>>>> ? ? (but you can also use NearestNeighbors, BSpline and >>>>> ? ? ?WindowedSinc, it is a trade-off between computation time and >>>>> ? ? ?interpolation precision) >>>>> >>>>> >>>>> C) Take all the points from your surface model and for every >>>>> ? ? point call the method: >>>>> >>>>> ? ? ? PixelType ?pixelValue = ? ?Interpolator->Evaluate( point ) >>>>> >>>>> ? ?and then assign that pixel value to the corresponding point >>>>> ? ?in the surface model. >>>>> >>>>> >>>>> >>>>> ?Please let us know if you run into any problem. >>>>> >>>>> >>>>> ? ? ? Thanks >>>>> >>>>> >>>>> ? ? ? ? ?Luis >>>>> >>>>> >>>>> ------------------------------------------------------------------ >>>>> On Wed, Dec 2, 2009 at 2:35 PM, Gupt wrote: >>>>> > >>>>> > I've a stack of 2d cardiac mri images in single view. I've written >>>>> the >>>>> > code >>>>> > to do a surface reconstruction of the left ventricle wall of the >>>>> heart >>>>> > (looks like a hollow cylinder). Is there a method/ function to >>>>> > incorporate >>>>> > the intensity information (in the 2d slices) in to the model, like >>>>> some >>>>> > kind >>>>> > of interpolation to obtain intensity between the slices? Thanks for >>>>> the >>>>> > help. >>>>> > -- >>>>> > View this message in context: >>>>> > http://old.nabble.com/Interpolation-Volume-tp26614974p26614974.html >>>>> > Sent from the ITK - Users mailing list archive at Nabble.com. >>>>> > >>>>> > _____________________________________ >>>>> > Powered by www.kitware.com >>>>> > >>>>> > Visit other Kitware open-source projects at >>>>> > http://www.kitware.com/opensource/opensource.html >>>>> > >>>>> > Kitware offers ITK Training Courses, for more information visit: >>>>> > http://www.kitware.com/products/protraining.html >>>>> > >>>>> > Please keep messages on-topic and check the ITK FAQ at: >>>>> > http://www.itk.org/Wiki/ITK_FAQ >>>>> > >>>>> > Follow this link to subscribe/unsubscribe: >>>>> > http://www.itk.org/mailman/listinfo/insight-users >>>>> > >>>> >>>> >>>> >>>> -- >>>> Regards, >>>> Aditya Gupta, Ph.D. >>>> Post Doc Researcher >>>> UCF Computer Vision Lab >>>> Orlando, FL >>>> O: (407) 882 0130 >>>> M: (407) 451 7735 >>>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >>> >> >> -- >> View this message in context: >> http://old.nabble.com/Interpolation-Volume-tp26614974p26685129.html >> Sent from the ITK - Users mailing list archive at Nabble.com. >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://old.nabble.com/Interpolation-Volume-tp26614974p26700914.html Sent from the ITK - Users mailing list archive at Nabble.com. From zallen at wheelinghospital.com Tue Dec 8 16:59:18 2009 From: zallen at wheelinghospital.com (URI) Date: Tue, 8 Dec 2009 13:59:18 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> References: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> <1260249421245-4130570.post@n2.nabble.com> <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> Message-ID: <1260309558165-4135682.post@n2.nabble.com> Bill- I don't appear to be able to do so. I opened a terminal window, navigated to my C:\MinGW directory and typed "msys.bat" but it comes back "unrecognized command". I also searched the directory and there is no msys.bat file in any of the subfolders. I installed MinGW by running the installer found here: http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download Am I missing something? Let's take small steps. 1) You should do all of your work from an Msys shell. It it is called msys.bat. Can you start the msys shell? Bill -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4135682.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From mike.jackson at bluequartz.net Tue Dec 8 17:01:42 2009 From: mike.jackson at bluequartz.net (Mike Jackson) Date: Tue, 8 Dec 2009 17:01:42 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260309558165-4135682.post@n2.nabble.com> References: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> <1260249421245-4130570.post@n2.nabble.com> <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> <1260309558165-4135682.post@n2.nabble.com> Message-ID: <811a1f290912081401r324a9d39hd9f9a4f07ad0c2b6@mail.gmail.com> You need to install MSys, which is typically a separate install from MinGW. _________________________________________________________ Mike Jackson mike.jackson at bluequartz.net BlueQuartz Software www.bluequartz.net Principal Software Engineer Dayton, Ohio On Tue, Dec 8, 2009 at 4:59 PM, URI wrote: > > Bill- > > I don't appear to be able to do so. ?I opened a terminal window, navigated > to my C:\MinGW directory and typed "msys.bat" but it comes back > "unrecognized command". ?I also searched the directory and there is no > msys.bat file in any of the subfolders. > > I installed MinGW by running the installer found here: > http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download > > Am I missing something? > > > > > Let's take small steps. > > 1) You should do all of your work from an Msys shell. It it is called > msys.bat. Can you start the msys shell? > > Bill > > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4135682.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From bill.lorensen at gmail.com Tue Dec 8 17:12:16 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 8 Dec 2009 17:12:16 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260309558165-4135682.post@n2.nabble.com> References: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> <1260249421245-4130570.post@n2.nabble.com> <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> <1260309558165-4135682.post@n2.nabble.com> Message-ID: <4db4735c0912081412t3181c0d9n428ebaf31daaed7a@mail.gmail.com> Find instructions on installing msys here: http://www.mingw.org/wiki/msys On Tue, Dec 8, 2009 at 4:59 PM, URI wrote: > > Bill- > > I don't appear to be able to do so. ?I opened a terminal window, navigated > to my C:\MinGW directory and typed "msys.bat" but it comes back > "unrecognized command". ?I also searched the directory and there is no > msys.bat file in any of the subfolders. > > I installed MinGW by running the installer found here: > http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download > > Am I missing something? > > > > > Let's take small steps. > > 1) You should do all of your work from an Msys shell. It it is called > msys.bat. Can you start the msys shell? > > Bill > > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4135682.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From john.drozd at gmail.com Tue Dec 8 17:30:42 2009 From: john.drozd at gmail.com (John Drozd) Date: Tue, 8 Dec 2009 17:30:42 -0500 Subject: [Insight-users] combining output from segmentation with label map attributes using Gaetan Lehmann's paper: "Label object representation and manipulation with ITK" In-Reply-To: References: Message-ID: Hi again, I reverted to using an antiquated "RelabelComponentImageFilter.h" header to get the volume of the ventricles, *but is there a way to get the physical size using a non-antiquated currently used header?* I used: //ADDED PER WEB PAGE // http://old.nabble.com/Labeling-an-image-and-displaying-results-with-distinguished-levels-of-gray-colors-td26623991.html typedef itk::ConnectedComponentImageFilter LabelType2; typedef itk::RelabelComponentImageFilter RelabelType; LabelType2::Pointer labeler = LabelType2::New(); RelabelType::Pointer relabeler = RelabelType::New(); labeler->SetInput(caster->GetOutput()); labeler->Update(); relabeler->SetInput(labeler->GetOutput()); relabeler->Update(); for (unsigned int i=0; iGetNumberOfObjects(); i++) { std::cout<<"Number of pixel for object "<GetSizeOfObjectsInPixels()[i]<GetSizeOfObjectsInPhysicalUnits()[i]< #include "gdcm/src/gdcmFile.h" #include "gdcm/src/gdcmUtil.h" #include //added per attribute_values.cxx #include "itkImageFileReader.h" #include "itkShapeLabelObject.h" //#include "itkStatisticsLabelObject.h" #include "itkLabelMap.h" #include "itkBinaryImageToShapeLabelMapFilter.h" //#include "itkBinaryImageToStatisticsLabelMapFilter.h" //ADDED PER WEB PAGE // http://old.nabble.com/Labeling-an-image-and-displaying-results-with-distinguished-levels-of-gray-colors-td26623991.html #include "itkConnectedComponentImageFilter.h" #include "itkRelabelComponentImageFilter.h" //END OF ADDED CODE //end of added code int main( int argc, char *argv[]) { if( argc < 7 ) { std::cerr << "Missing Parameters " << std::endl; std::cerr << "Usage: " << argv[0]; std::cerr << " inputImage outputImage seedX seedY seedZ lowerThreshold upperThreshold" << std::endl; return 1; } typedef float InternalPixelType; const unsigned int Dimension = 3; typedef itk::Image< InternalPixelType, Dimension > InternalImageType; typedef signed short OutputPixelType; typedef itk::Image< OutputPixelType, Dimension > OutputImageType; typedef itk::Image< float, Dimension > OutputImageType2; typedef itk::CastImageFilter< InternalImageType, OutputImageType > CastingFilterType; CastingFilterType::Pointer caster = CastingFilterType::New(); const unsigned int ImageDimension = 3; typedef signed short PixelType; typedef itk::Image< PixelType, ImageDimension > FixedImageType; typedef itk::Image< float, ImageDimension > FloatImageType; typedef itk::ImageFileReader< FixedImageType > ReaderType; typedef itk::ImageFileWriter< OutputImageType > WriterType; typedef itk::ImageFileWriter< FloatImageType > WriterType2; ReaderType::Pointer reader = ReaderType::New(); WriterType::Pointer writer = WriterType::New(); WriterType2::Pointer writer2 = WriterType2::New(); typedef itk::GDCMImageIO ImageIOTypefixed; ImageIOTypefixed::Pointer gdcmImageIOfixed = ImageIOTypefixed::New(); reader->SetImageIO( gdcmImageIOfixed ); typedef itk::GDCMImageIO ImageIOTypefixed2; ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = ImageIOTypefixed2::New(); reader->SetFileName( argv[1] ); reader->Update(); typedef itk::CurvatureFlowImageFilter< InternalImageType, InternalImageType > CurvatureFlowImageFilterType; CurvatureFlowImageFilterType::Pointer smoothing = CurvatureFlowImageFilterType::New(); typedef itk::ConnectedThresholdImageFilter< InternalImageType, InternalImageType > ConnectedFilterType; ConnectedFilterType::Pointer connectedThreshold = ConnectedFilterType::New(); typedef signed short InputAPixelType; typedef float OutputBPixelType; typedef itk::Image< InputAPixelType, 3 > InputAImageType; typedef itk::Image< OutputBPixelType, 3 > OutputBImageType; typedef itk::CastImageFilter< InputAImageType, OutputBImageType > CastFilterType; CastFilterType::Pointer castFilter = CastFilterType::New(); castFilter->SetInput( reader->GetOutput() ); connectedThreshold->SetInput( castFilter->GetOutput() ); caster->SetInput( connectedThreshold->GetOutput() ); smoothing->SetNumberOfIterations( 20 ); //was 5 smoothing->SetTimeStep( 0.125 ); const InternalPixelType lowerThreshold = atof( argv[6] ); const InternalPixelType upperThreshold = atof( argv[7] ); connectedThreshold->SetLower( lowerThreshold ); connectedThreshold->SetUpper( upperThreshold ); connectedThreshold->SetReplaceValue( 255 ); InternalImageType::IndexType index; index[0] = atoi( argv[3] ); index[1] = atoi( argv[4] ); //added index[2] = atoi( argv[5] ); std::cout << index << std::endl; // Software Guide : BeginCodeSnippet connectedThreshold->SetSeed( index ); //obtain a 5 x 5 bounding region of seeds int ii, jj, kk; ii = index[0]; jj = index[1]; kk = index[2]; for (int i = ii; i < ii + 5; i++) for (int j = jj; j < jj + 5; j++) for (int k = kk; k < kk + 5; k++) { index[0] = i; index[1] = j; index[2] = k; connectedThreshold->AddSeed( index ); } for (int i = ii; i > ii - 5; i--) for (int j = jj; j > jj - 5; j--) for (int k = kk; k > kk - 5; k--) { index[0] = i; index[1] = j; index[2] = k; connectedThreshold->AddSeed( index ); } connectedThreshold->Print(std::cout,17100); typedef itk::MetaDataDictionary DictionaryType; DictionaryType inputdict = reader->GetMetaDataDictionary(); writer->SetMetaDataDictionary( inputdict ); writer->SetFileName( argv[2] ); //added per attribute_values.cxx // define the object type. Here the ShapeLabelObject type // is chosen in order to read some attribute related to the shape // of the objects (by opposition to the content of the object, with // the StatisticsLabelObejct). typedef unsigned long LabelType; typedef itk::ShapeLabelObject< LabelType, 3 > LabelObjectType; typedef itk::LabelMap< LabelObjectType > LabelMapType; // convert the image in a collection of objects typedef itk::BinaryImageToLabelMapFilter< OutputImageType, LabelMapType > ConverterType; ConverterType::Pointer converter = ConverterType::New(); //ADDED after email connectedThreshold->Update(); //END OF ADDED code //ADDED PER WEB PAGE // http://old.nabble.com/Labeling-an-image-and-displaying-results-with-distinguished-levels-of-gray-colors-td26623991.html typedef itk::ConnectedComponentImageFilter LabelType2; typedef itk::RelabelComponentImageFilter RelabelType; LabelType2::Pointer labeler = LabelType2::New(); RelabelType::Pointer relabeler = RelabelType::New(); labeler->SetInput(caster->GetOutput()); labeler->Update(); relabeler->SetInput(labeler->GetOutput()); relabeler->Update(); for (unsigned int i=0; iGetNumberOfObjects(); i++) { std::cout<<"Number of pixel for object "<GetSizeOfObjectsInPixels()[i]<GetSizeOfObjectsInPhysicalUnits()[i]<SetInput( connectedThreshold->GetOutput() ); converter->SetInput( relabeler->GetOutput() ); //converter->SetForegroundValue( atoi(argv[2]) ); //converter->SetForegroundValue( 255 ); // valuate the attributes with the dedicated filter: ShapeLabelMapFilter typedef itk::ShapeLabelMapFilter< LabelMapType > ShapeFilterType; ShapeFilterType::Pointer shape = ShapeFilterType::New(); shape->SetInput( converter->GetOutput() ); shape->Update(); // then we can read the attribute values we're interested in. The BinaryImageToShapeLabelMapFilter // produce consecutive labels, so we can use a for loop and GetLabelObject() method to retrieve // the label objects. If the labels are not consecutive, the GetNthLabelObject() method must be // use instead of GetLabelObject(), or an iterator on the label object container of the label map. LabelMapType::Pointer labelMap = shape->GetOutput(); std::cout << "Number of label objects = " << labelMap->GetNumberOfLabelObjects() << std::endl; for( unsigned int label=1; label<=labelMap->GetNumberOfLabelObjects(); label++ ) { // we don't need a SmartPointer of the label object here, because the reference is kept in // in the label map. const LabelObjectType * labelObject = labelMap->GetLabelObject( label ); std::cout << label << "\t" << labelObject->GetPhysicalSize() << "\t" << labelObject->GetCentroid() << std::endl; } writer->SetInput( caster->GetOutput() ); try { writer->Update(); } catch( itk::ExceptionObject & excep ) { std::cerr << "Exception caught !" << std::endl; std::cerr << excep << std::endl; } std::cout << "output from reader->GetOutput()->GetDirection()" << std::endl; std::cout << reader->GetOutput()->GetDirection() << std::endl; std::cout << "output from castFilter->GetOutput()->GetDirection()" << std::endl; std::cout << castFilter->GetOutput()->GetDirection() << std::endl; std::cout << "output from connectedThreshold->GetOutput()->GetDirection()" << std::endl; std::cout << connectedThreshold->GetOutput()->GetDirection() << std::endl; std::cout << "output from caster->GetOutput()->GetDirection()" << std::endl; std::cout << caster->GetOutput()->GetDirection() << std::endl; return 0; } and output: [jdrozd at trumpetConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter]$ make Scanning dependencies of target ConnectedThresholdImageFilter [100%] Building CXX object CMakeFiles/ConnectedThresholdImageFilter.dir/ConnectedThresholdImageFilter.o In file included from /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/hash_map:64, from /trumpet/downloads/3DSlicerDec22009/Slicer3-lib/Insight/Code/Common/itk_hash_map.h:69, from /trumpet/downloads/3DSlicerDec22009/Slicer3-lib/Insight/Code/BasicFilters/itkRelabelComponentImageFilter.txx:25, from /trumpet/downloads/3DSlicerDec22009/Slicer3-lib/Insight/Code/BasicFilters/itkRelabelComponentImageFilter.h:298, from /trumpet/downloads/ConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter_Plugin/ConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter/ConnectedThresholdImageFilter.cxx:65: /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/backward/backward_warning.h:33:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. Linking CXX executable ConnectedThresholdImageFilter [100%] Built target ConnectedThresholdImageFilter [jdrozd at trumpetConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter]$ ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm 103 142 95 17100 17300 [103, 142, 95] ??H??H?}?H?U?H??9(ConnectedThresholdImageFilter (0xe37580) RTTI typeinfo: itk::ConnectedThresholdImageFilter, itk::Image > Reference Count: 1 Modified Time: 376 Debug: Off Observers: none Number Of Required Inputs: 1 Number Of Required Outputs: 1 Number Of Threads: 8 ReleaseDataFlag: Off ReleaseDataBeforeUpdateFlag: Off Input 0: (0xe49e50) Input 1: (0xe399b0) Input 2: (0xe37980) Output 0: (0xe376a0) AbortGenerateData: Off Progress: 0 Multithreader: RTTI typeinfo: itk::MultiThreader Reference Count: 1 Modified Time: 82 Debug: Off Observers: none Thread Count: 8 Global Maximum Number Of Threads: 128 Global Default Number Of Threads: 8 Upper: 3.40282e+38 Lower: -3.40282e+38 ReplaceValue: 255 Connectivity: 0 Number of pixel for object 0: 22129 Physical size for object 0: 23901 Number of pixel for object 1: 1 Physical size for object 1: 1.08004 Number of label objects = 0 output from reader->GetOutput()->GetDirection() 0 0 1 0 1 0 -1 0 0 output from castFilter->GetOutput()->GetDirection() 0 0 1 0 1 0 -1 0 0 output from connectedThreshold->GetOutput()->GetDirection() 0 0 1 0 1 0 -1 0 0 output from caster->GetOutput()->GetDirection() 0 0 1 0 1 0 -1 0 0 [jdrozd at trumpetConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter]$ On Tue, Dec 8, 2009 at 2:38 PM, John Drozd wrote: > Hello, > > I have segmented the ventricles from an image using a connected threshold > image filter. > I then tried to convert my outputted segmentation to a label map filter and > then to get the label's attributes. > > I am using parts of the example code attribute_values.cxx that is described > in section 9.4 of > Gaetan Lehmann's paper: "Label object representation and manipulation with > ITK" > > My problem is that my code is telling me that the number of labels is 0. > How do I apply a label to my segmented ventricles? > > Below is my code: > > /* > to run type: > ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm 103 > 142 95 17100 17300 > */ > > #if defined(_MSC_VER) > #pragma warning ( disable : 4786 ) > #endif > > #ifdef __BORLANDC__ > #define ITK_LEAN_AND_MEAN > #endif > > > #include "itkConnectedThresholdImageFilter.h" > > #include "itkImage.h" > #include "itkCastImageFilter.h" > > #include "itkCurvatureFlowImageFilter.h" > > #include "itkImageFileReader.h" > #include "itkImageFileWriter.h" > > #include "itkGDCMImageIO.h" > > #include "itkVersion.h" > > #include "itkOrientedImage.h" > #include "itkMinimumMaximumImageFilter.h" > > #include "itkGDCMImageIO.h" > #include "itkGDCMSeriesFileNames.h" > #include "itkNumericSeriesFileNames.h" > > #include "itkImageSeriesReader.h" > #include "itkImageSeriesWriter.h" > > #include "itkResampleImageFilter.h" > #include "itkShiftScaleImageFilter.h" > > #include "itkIdentityTransform.h" > #include "itkLinearInterpolateImageFunction.h" > > #include > > #include "gdcm/src/gdcmFile.h" > #include "gdcm/src/gdcmUtil.h" > > #include > > //added per attribute_values.cxx > #include "itkImageFileReader.h" > > #include "itkShapeLabelObject.h" > //#include "itkStatisticsLabelObject.h" > > #include "itkLabelMap.h" > > #include "itkBinaryImageToShapeLabelMapFilter.h" > //#include "itkBinaryImageToStatisticsLabelMapFilter.h" > > //end of added code > > int main( int argc, char *argv[]) > { > if( argc < 7 ) > { > std::cerr << "Missing Parameters " << std::endl; > std::cerr << "Usage: " << argv[0]; > std::cerr << " inputImage outputImage seedX seedY seedZ lowerThreshold > upperThreshold" << std::endl; > > return 1; > } > > typedef float InternalPixelType; > > const unsigned int Dimension = 3; > > typedef itk::Image< InternalPixelType, Dimension > InternalImageType; > > typedef signed short OutputPixelType; > > typedef itk::Image< OutputPixelType, Dimension > OutputImageType; > typedef itk::Image< float, Dimension > OutputImageType2; > typedef itk::CastImageFilter< InternalImageType, OutputImageType > > CastingFilterType; > CastingFilterType::Pointer caster = CastingFilterType::New(); > > const unsigned int ImageDimension = 3; > typedef signed short PixelType; > > typedef itk::Image< PixelType, ImageDimension > FixedImageType; > typedef itk::Image< float, ImageDimension > FloatImageType; > > typedef itk::ImageFileReader< FixedImageType > ReaderType; > typedef itk::ImageFileWriter< OutputImageType > WriterType; > typedef itk::ImageFileWriter< FloatImageType > WriterType2; > > ReaderType::Pointer reader = ReaderType::New(); > WriterType::Pointer writer = WriterType::New(); > WriterType2::Pointer writer2 = WriterType2::New(); > > typedef itk::GDCMImageIO ImageIOTypefixed; > ImageIOTypefixed::Pointer gdcmImageIOfixed = ImageIOTypefixed::New(); > reader->SetImageIO( gdcmImageIOfixed ); > > typedef itk::GDCMImageIO ImageIOTypefixed2; > ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = ImageIOTypefixed2::New(); > > reader->SetFileName( argv[1] ); > > reader->Update(); > > typedef itk::CurvatureFlowImageFilter< InternalImageType, > InternalImageType > > CurvatureFlowImageFilterType; > > CurvatureFlowImageFilterType::Pointer smoothing = > CurvatureFlowImageFilterType::New(); > > typedef itk::ConnectedThresholdImageFilter< InternalImageType, > InternalImageType > > ConnectedFilterType; > > ConnectedFilterType::Pointer connectedThreshold = > ConnectedFilterType::New(); > > typedef signed short InputAPixelType; > typedef float OutputBPixelType; > > typedef itk::Image< InputAPixelType, 3 > InputAImageType; > typedef itk::Image< OutputBPixelType, 3 > OutputBImageType; > > typedef itk::CastImageFilter< InputAImageType, OutputBImageType > > CastFilterType; > > CastFilterType::Pointer castFilter = CastFilterType::New(); > > > castFilter->SetInput( reader->GetOutput() ); > > > connectedThreshold->SetInput( castFilter->GetOutput() ); > > caster->SetInput( connectedThreshold->GetOutput() ); > > > smoothing->SetNumberOfIterations( 20 ); //was 5 > smoothing->SetTimeStep( 0.125 ); > > const InternalPixelType lowerThreshold = atof( argv[6] ); > const InternalPixelType upperThreshold = atof( argv[7] ); > > connectedThreshold->SetLower( lowerThreshold ); > connectedThreshold->SetUpper( upperThreshold ); > > connectedThreshold->SetReplaceValue( 255 ); > > InternalImageType::IndexType index; > > index[0] = atoi( argv[3] ); > index[1] = atoi( argv[4] ); > > //added > index[2] = atoi( argv[5] ); > > std::cout << index << std::endl; > > // Software Guide : BeginCodeSnippet > connectedThreshold->SetSeed( index ); > > //obtain a 5 x 5 bounding region of seeds > int ii, jj, kk; > > ii = index[0]; > jj = index[1]; > kk = index[2]; > > for (int i = ii; i < ii + 5; i++) > for (int j = jj; j < jj + 5; j++) > for (int k = kk; k < kk + 5; k++) > { > > index[0] = i; > index[1] = j; > index[2] = k; > connectedThreshold->AddSeed( index ); > } > > for (int i = ii; i > ii - 5; i--) > for (int j = jj; j > jj - 5; j--) > for (int k = kk; k > kk - 5; k--) > { > > index[0] = i; > index[1] = j; > index[2] = k; > connectedThreshold->AddSeed( index ); > } > > connectedThreshold->Print(std::cout,17100); > > typedef itk::MetaDataDictionary DictionaryType; > > DictionaryType inputdict = reader->GetMetaDataDictionary(); > > writer->SetMetaDataDictionary( inputdict ); > > writer->SetFileName( argv[2] ); > > //added per attribute_values.cxx > > // define the object type. Here the ShapeLabelObject type > // is chosen in order to read some attribute related to the shape > // of the objects (by opposition to the content of the object, with > // the StatisticsLabelObejct). > typedef unsigned long LabelType; > > typedef itk::ShapeLabelObject< LabelType, 3 > LabelObjectType; > > typedef itk::LabelMap< LabelObjectType > LabelMapType; > > // convert the image in a collection of objects > typedef itk::BinaryImageToLabelMapFilter< InternalImageType, LabelMapType > > ConverterType; > > ConverterType::Pointer converter = ConverterType::New(); > > converter->SetInput( connectedThreshold->GetOutput() ); > > //converter->SetForegroundValue( atoi(argv[2]) ); > //converter->SetForegroundValue( 255 ); > > // valuate the attributes with the dedicated filter: ShapeLabelMapFilter > > typedef itk::ShapeLabelMapFilter< LabelMapType > ShapeFilterType; > ShapeFilterType::Pointer shape = ShapeFilterType::New(); > shape->SetInput( converter->GetOutput() ); > > shape->Update(); > > > // then we can read the attribute values we're interested in. The > BinaryImageToShapeLabelMapFilter > // produce consecutive labels, so we can use a for loop and > GetLabelObject() method to retrieve > // the label objects. If the labels are not consecutive, the > GetNthLabelObject() method must be > // use instead of GetLabelObject(), or an iterator on the label object > container of the label map. > LabelMapType::Pointer labelMap = shape->GetOutput(); > > std::cout << "Number of label objects = " << > labelMap->GetNumberOfLabelObjects() << std::endl; > > > for( unsigned int label=1; label<=labelMap->GetNumberOfLabelObjects(); > label++ ) > { > // we don't need a SmartPointer of the label object here, because the > reference is kept in > // in the label map. > const LabelObjectType * labelObject = labelMap->GetLabelObject( label > ); > std::cout << label << "\t" << labelObject->GetPhysicalSize() << "\t" << > labelObject->GetCentroid() << std::endl; > } > > writer->SetInput( caster->GetOutput() ); > > try > { > writer->Update(); > } > catch( itk::ExceptionObject & excep ) > { > std::cerr << "Exception caught !" << std::endl; > std::cerr << excep << std::endl; > } > > std::cout << "output from reader->GetOutput()->GetDirection()" << > std::endl; > std::cout << reader->GetOutput()->GetDirection() << std::endl; > > std::cout << "output from castFilter->GetOutput()->GetDirection()" << > std::endl; > std::cout << castFilter->GetOutput()->GetDirection() << std::endl; > > std::cout << "output from > connectedThreshold->GetOutput()->GetDirection()" << std::endl; > std::cout << connectedThreshold->GetOutput()->GetDirection() << > std::endl; > > std::cout << "output from caster->GetOutput()->GetDirection()" << > std::endl; > std::cout << caster->GetOutput()->GetDirection() << std::endl; > > return 0; > } > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From zallen at wheelinghospital.com Tue Dec 8 17:46:04 2009 From: zallen at wheelinghospital.com (URI) Date: Tue, 8 Dec 2009 14:46:04 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912081412t3181c0d9n428ebaf31daaed7a@mail.gmail.com> References: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> <1260249421245-4130570.post@n2.nabble.com> <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> <1260309558165-4135682.post@n2.nabble.com> <4db4735c0912081412t3181c0d9n428ebaf31daaed7a@mail.gmail.com> Message-ID: <1260312364762-4135988.post@n2.nabble.com> Ah I see, I thought you meant that msys was a part of MinGW. Ok, I followed the directions as best I could. I already have MinGW installed so I skipped the first step where it says "If you haven't already installed MinGW on your system". Then I went for MSYS 1.0.11. It installed with no problem, but the instructions say "Next, the post install process will ask for the directory where MinGW was installed to. " This didn't happen, but I checked the "C:\msys\1.0\etc\" directory and found a file named fstab.sample and it has "c:/mingw /mingw" in it (there is no java directory though, if that's relevant). I made a copy of this file and renamed it to just "fstab" since this seems to be what the instructions say the filename should be. Msys DTK installed with no problem. Second, the link for Msys Core 1.0.11 does not work. Instead I found the Core files here, which I hope is the same thing: http://sourceforge.net/projects/mingw/files/MSYS%20Base%20System/ I set my HOME variable as instructed and tried to run msys.bat from the C:\msys\1.0 directory. There is a terminal window that pops up and then disappears right away, I can't read what it says. The same thing happens if I run msys.bat from a command prompt. It seems like nothing wants to work for me. Bill Lorensen wrote: > > Find instructions on installing msys here: > http://www.mingw.org/wiki/msys > > > On Tue, Dec 8, 2009 at 4:59 PM, URI wrote: >> >> Bill- >> >> I don't appear to be able to do so. ?I opened a terminal window, >> navigated >> to my C:\MinGW directory and typed "msys.bat" but it comes back >> "unrecognized command". ?I also searched the directory and there is no >> msys.bat file in any of the subfolders. >> >> I installed MinGW by running the installer found here: >> http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download >> >> Am I missing something? >> >> >> >> >> Let's take small steps. >> >> 1) You should do all of your work from an Msys shell. It it is called >> msys.bat. Can you start the msys shell? >> >> Bill >> >> >> -- >> View this message in context: >> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4135682.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4135988.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From zallen at wheelinghospital.com Tue Dec 8 17:49:55 2009 From: zallen at wheelinghospital.com (URI) Date: Tue, 8 Dec 2009 14:49:55 -0800 (PST) Subject: [Insight-users] (no subject) In-Reply-To: References: <2b8d077d0911230921v12515bbehd0eb46d7407db7f3@mail.gmail.com> <1259110814599-4062270.post@n2.nabble.com> <1259176668602-4067071.post@n2.nabble.com> <1259340869603-4076602.post@n2.nabble.com> <1259776782113-4101223.post@n2.nabble.com> <1260249230472-4130558.post@n2.nabble.com> Message-ID: <1260312595320-4136007.post@n2.nabble.com> Luis- I replied to Bill's email to see if he can help me work through this. I am wondering what happened to the original poster of this thread. He was getting the exact same errors as I am getting, I wonder if he somehow worked it out. He just sort of disappeared and I hijacked his thread. Hi URI, Please see comments interleaved with you email below. On Tue, Dec 8, 2009 at 12:13 AM, URI wrote: > > Luis- > > I don't seem to be having any luck with either of these options. ?When I > try > option 1 I type "which cmake" in my terminal window I get the error > "'which > is not a recognized command". > This means that you don't have cmake installed in MinGW. (and that's fine). > When I try option 2 I get stuck on step d). ?I think I just don't > understand > this step. ?There is no directory called "cmakesrc" in the source code, > there is a directory called "Source" but even in this directory there is > no > executable called "configure". > The directory "cmakesrc" was referring to the directory where you expand the source code of CMake. This was under the assumption that you went to the CMake web site and downloaded the source code of CMake, in the form of a .zip file, or a .tar.gz file, or through a CVS checkout. There is, of course, no directory with the exact name "cmakesrc", we are simply referring to where you decompressed the source code. > I'm not sure what ncurses is or how to install it so that I can use > ccmake, > or what ccmake is even supposed to do. ?I'm really lost here. > You would have to do this through the MinGW installation.... but it may not be a good way to proceed in your case. Note that Bill Loresen has reported that (contrary to what I thought), you can indeed use the Windows CMake in order to configure ITK for MinGW. Have you the email that he posted to you in the ITK users mailing list ? > Maybe there is an easier way to tackle this problem. ?It seems from your > email that the difficulty arises because I am trying to use MinGW. ?Is > there > some other compiler that I could use that would allow me to simply follow > the instructions as they are written in the ITK Software Guide > (http://www.itk.org/ItkSoftwareGuide.pdf) or the Getting Started pdf that > you linked to? ?It seems from those documents that this should be as > simple > as specifying the source and build directories and hitting "Configure". > > > Well, it all depends on what your final purpose is... but you can certainly use any of the following: * Visual Studio 6.0, 7.0, 7.1, 8.0, 9.0 * Borland 5.5 * Intel Compiler * and Gcc from Cygwin or MinGW For all these compilers we have Nightly builds in the Dashboard: http://public.kitware.com/dashboard.php?name=itk Please reply to Bill's email in the mailing list and provide detailed information on what Generator you are using when running the Windows CMake. Thanks Luis -- View this message in context: http://n2.nabble.com/no-subject-tp4031125p4136007.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From mingchao2005 at gmail.com Tue Dec 8 18:19:42 2009 From: mingchao2005 at gmail.com (Ming Chao) Date: Tue, 8 Dec 2009 17:19:42 -0600 Subject: [Insight-users] MultiThreader error in SheppLoganFilter? Message-ID: *Hi,* * * *I got a code of SheppLoganFilter and used it to filter a raw sinogram image (I am not sure if this is a correct use though). However, I got the following error:* writing image image/test2.png caused a problem. itk::ExceptionObject (0122FEC4) Location: "void __thiscall itk::MultiThreader::SingleMethodExecute(void)" File: \ITK\InsightToolkit-3.8.0\Code\Common\itkMultiThreader.cxx Line: 429 Description: itk::ERROR: MultiThreader(01870068): Exception occurred during Sing leMethodExecute c:\my rsch work\image reconstruction\code\SheppLoganFilter.cpp:27: itk::ERROR: SheppLoganFilter(0177DD28): Member variable VRadius not properly ini tialized. *The codes I used are attached in the following. Any comments/suggestions/help would be greatly appreciated.* * * * * *The main function:* #include "itkImage.h" using namespace std; int main(int argc, char* argv[]) { string filename("image/test.png"); string filename2("image/test2.png"); typedef unsigned char uchar; typedef uchar PixelType; const int Dimension = 2; typedef itk::Image< PixelType, 2 > ImageType; //reading image from disk typedef itk::ImageFileReader< ImageType > ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName(filename); reader->Update(); ImageType::Pointer input_image = ImageType::New(); input_image = reader->GetOutput(); typedef SheppLoganFilter FilterType; FilterType::Pointer filter = FilterType::New(); filter->SetInput(input_image); typedef itk::ImageFileWriter< ImageType > WriterType; WriterType::Pointer writer = WriterType::New(); writer->SetInput(filter->GetOutput()); writer->SetFileName(filename2); try { writer->Update(); } catch( itk::ExceptionObject exp ) { cerr << "writing image " << filename2 << " caused a problem." << endl; cerr << exp << endl; return 1; } } *The SheppLoganFilter.h:* #ifndef __SheppLoganFilter_h #define __SheppLoganFilter_h #include //ITK includes #include "itkImageToImageFilter.h" #include "itkImageRegionIterator.h" #include "itkConstNeighborhoodIterator.h" #include "itkOffset.h" /*! * \class SheppLoganFilter * \brief Applies a shepp logan filter to an image and returns the filtered image. */ template < typename TInputImage, typename TOutputImage > class SheppLoganFilter : public itk::ImageToImageFilter< TInputImage, TOutputImage > { public: /*! Standard class typedefs. */ typedef SheppLoganFilter Self; typedef itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; /*! Method for creation through object factory */ itkNewMacro(Self); /*! Run-time type information (and related methods) */ itkTypeMacro(SheppLoganFilter, ImageToImageFilter); //Convenience typedefs typedef TInputImage ImageType; typedef TOutputImage OImageType; typedef typename ImageType::RegionType RegionType; typedef itk::ConstNeighborhoodIterator< ImageType > NeighborhoodIteratorType; typedef itk::ImageRegionIterator< OImageType> IteratorType; typedef typename ImageType::ConstPointer ImageConstPointer; typedef typename OImageType::Pointer ImagePointer; /*! Extract dimension from input and output image. */ itkStaticConstMacro(ImageDimension, unsigned int, TInputImage::ImageDimension); itkSetMacro(VRadius, int); itkGetConstReferenceMacro(VRadius, int); protected: SheppLoganFilter(); virtual ~SheppLoganFilter() {} /*! Standard "PrintSelf" method */ void PrintSelf(std::ostream& os, itk::Indent indent) const; /*! * SheppLoganFilter can be implemented as a * multithreaded filter. Therefore, this implementation provides * a ThreadedGenerateData() routine which is called for each * processing thread. The output image data is allocated * automatically by the superclass prior to calling * ThreadedGenerateData(). ThreadedGenerateData can only * write to the portion of the output image specified by the * parameter "outputRegionForThread". * * \sa ImageToImageFilter::ThreadedGenerateData(), * ImageToImageFilter::GenerateData() */ void ThreadedGenerateData(const RegionType& regionForThread, int threadId ); private: SheppLoganFilter(const Self&) {}; //purposely not implemented void operator=(const Self&); //purposely not implemented /*! vertical radius of shepp logan filter */ int m_VRadius; }; #ifndef ITK_MANUAL_INSTANTIATION #include "SheppLoganFilter.cpp" #endif #endif *And the SheppLoganFilter.cpp:* * * * #ifndef _SheppLoganFilter_txx #define _SheppLoganFilter_txx #include "SheppLoganFilter.h" #ifndef PI #define PI 3.141592653 #endif template < typename TInputImage, typename TOutputImage > SheppLoganFilter< TInputImage, TOutputImage >::SheppLoganFilter() { m_VRadius = 0; } template < typename TInputImage, typename TOutputImage > void SheppLoganFilter< TInputImage, TOutputImage > ::ThreadedGenerateData(const RegionType& regionForThread, int threadId ) { if(m_VRadius <= 0) itkExceptionMacro(<< "Member variable VRadius not properly initialized."); //pointers to output and input image ImageConstPointer inputImage = this->GetInput(); ImagePointer outputImage = this->GetOutput(); RegionType inputRegion = inputImage->GetLargestPossibleRegion(); RegionType outputRegion = outputImage->GetLargestPossibleRegion(); IteratorType out(outputImage, outputRegion); NeighborhoodIteratorType::RadiusType radius; radius.Fill(0); radius[1] = m_VRadius; int vDim = m_VRadius*2+1; NeighborhoodIteratorType it(radius, inputImage, inputRegion); //pointer to Shepp-Logan filter weights float *sl = new float[vDim]; //vector with the OffsetTypes for the neighborhood iterator std::vector< NeighborhoodIteratorType::OffsetType > offset; int actIndex; for(int i = -m_VRadius; i <= m_VRadius; ++i) { actIndex = i + m_VRadius; *(sl+actIndex) = -2.0/(PI*PI*(4*i*i-1)); NeighborhoodIteratorType::OffsetType tmpO = {{0,i}}; offset.push_back(tmpO); } std::vector< int > tmpImg; for (it.GoToBegin(), out.GoToBegin(); !it.IsAtEnd(); ++it, ++out) { float sum = 0; for(int i = 0; i < m_VRadius*2+1; ++i) { sum += *(sl+i) * it.GetPixel(offset[i]); } tmpImg.push_back(sum); } int i = 0; for (it.GoToBegin(), out.GoToBegin(); !it.IsAtEnd(); ++it, ++out) { out.Set(tmpImg[i++]); } } template < typename TInputImage, typename TOutputImage> void SheppLoganFilter< TInputImage, TOutputImage >::PrintSelf(std::ostream& os, itk::Indent indent) const { Superclass::PrintSelf(os,indent); os << "VRadius = " << m_VRadius << std::endl; } #endif * -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Tue Dec 8 19:45:48 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 8 Dec 2009 19:45:48 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260312364762-4135988.post@n2.nabble.com> References: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> <1260249421245-4130570.post@n2.nabble.com> <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> <1260309558165-4135682.post@n2.nabble.com> <4db4735c0912081412t3181c0d9n428ebaf31daaed7a@mail.gmail.com> <1260312364762-4135988.post@n2.nabble.com> Message-ID: <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> I installed msys and mingw on two machines a couple of years ago. I don't recall any editing of files being required. Maybe someone else can share their experience. You must get by this step 1 before we can proceed. Bill On Tue, Dec 8, 2009 at 5:46 PM, URI wrote: > > Ah I see, I thought you meant that msys was a part of MinGW. > > Ok, I followed the directions as best I could. ?I already have MinGW > installed so I skipped the first step where it says "If you haven't already > installed MinGW on your system". > > Then I went for MSYS 1.0.11. ?It installed with no problem, but the > instructions say "Next, the post install process will ask for the directory > where MinGW was installed to. " ?This didn't happen, but I checked the > "C:\msys\1.0\etc\" directory and found a file named fstab.sample and it has > "c:/mingw /mingw" in it (there is no java directory though, if that's > relevant). ?I made a copy of this file and renamed it to just "fstab" since > this seems to be what the instructions say the filename should be. > > Msys DTK installed with no problem. > > Second, the link for Msys Core 1.0.11 does not work. ?Instead I found the > Core files here, which I hope is the same thing: > http://sourceforge.net/projects/mingw/files/MSYS%20Base%20System/ > > I set my HOME variable as instructed and tried to run msys.bat from the > C:\msys\1.0 directory. ?There is a terminal window that pops up and then > disappears right away, I can't read what it says. ?The same thing happens if > I run msys.bat from a command prompt. > > It seems like nothing wants to work for me. > > > > Bill Lorensen wrote: >> >> Find instructions on installing msys here: >> http://www.mingw.org/wiki/msys >> >> >> On Tue, Dec 8, 2009 at 4:59 PM, URI wrote: >>> >>> Bill- >>> >>> I don't appear to be able to do so. ?I opened a terminal window, >>> navigated >>> to my C:\MinGW directory and typed "msys.bat" but it comes back >>> "unrecognized command". ?I also searched the directory and there is no >>> msys.bat file in any of the subfolders. >>> >>> I installed MinGW by running the installer found here: >>> http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download >>> >>> Am I missing something? >>> >>> >>> >>> >>> Let's take small steps. >>> >>> 1) You should do all of your work from an Msys shell. It it is called >>> msys.bat. Can you start the msys shell? >>> >>> Bill >>> >>> >>> -- >>> View this message in context: >>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4135682.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4135988.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From subarna29 at gmail.com Wed Dec 9 00:32:42 2009 From: subarna29 at gmail.com (Subarna Ghosh) Date: Wed, 9 Dec 2009 00:32:42 -0500 Subject: [Insight-users] errors in deformable registration. Message-ID: <64fe815c0912082132k4d081f30l5a971d7dbc0537e8@mail.gmail.com> Hi all, I get these linking errors when I try to compile DeformableRegistration2 DeformableRegistration.obj : error LNK2019: unresolved external symbol "protected: __thiscall itk::Statistics::DenseFrequencyContainer::DenseFrequencyContainer(void)" (??0DenseFrequencyContainer at Statistics@itk@@IAE at XZ) referenced in function "public: static class itk::SmartPointer __cdecl itk::Statistics::DenseFrequencyContainer::New(void)" (?New at DenseFrequencyContainer@Statistics at itk @@SA?AV?$SmartPointer at VDenseFrequencyContainer@Statistics at itk@@@3 at XZ) 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol "public: float __thiscall itk::Statistics::DenseFrequencyContainer::GetFrequency(unsigned long)const " (?GetFrequency at DenseFrequencyContainer@Statistics at itk@@QBEMK at Z) referenced in function "public: virtual float __thiscall itk::Statistics::Histogram::GetFrequency(unsigned long const &)const " (?GetFrequency@?$Histogram at M$00VDenseFrequencyContainer at Statistics @itk@@@Statistics at itk@@UBEMABK at Z) 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol "public: void __thiscall itk::Statistics::DenseFrequencyContainer::SetToZero(void)" (?SetToZero at DenseFrequencyContainer@Statistics at itk@@QAEXXZ) referenced in function "public: void __thiscall itk::Statistics::Histogram::SetToZero(void)" (?SetToZero@ ?$Histogram at M$00VDenseFrequencyContainer at Statistics@itk@@@Statistics at itk @@QAEXXZ) 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol "public: bool __thiscall itk::Statistics::DenseFrequencyContainer::IncreaseFrequency(unsigned long,float)" (?IncreaseFrequency at DenseFrequencyContainer@Statistics at itk @@QAE_NKM at Z) referenced in function "public: bool __thiscall itk::Statistics::Histogram::IncreaseFrequency(unsigned long const &,float)" (?IncreaseFrequency@?$Histogram at M $00VDenseFrequencyContainer at Statistics@itk@@@Statistics at itk@@QAE_NABKM at Z) 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol "public: void __thiscall itk::Statistics::DenseFrequencyContainer::Initialize(unsigned long)" (?Initialize at DenseFrequencyContainer@Statistics at itk@@QAEXK at Z) referenced in function "public: void __thiscall itk::Statistics::Histogram::Initialize(class itk::Size<1> const &)" (?Initialize@?$Histogram at M$00VDenseFrequencyContainer at Statistics @itk@@@Statistics at itk@@QAEXABV?$Size@$00 at 3@@Z) 1>D:\study\Fall2009\ITK-VTK\Projects\DeformableRegistration\bin\Debug\DeformableRegistration.exe : fatal error LNK1120: 5 unresolved externals Thanks and regards, Subarna Ghosh. -------------- next part -------------- An HTML attachment was scrubbed... URL: From zallen at wheelinghospital.com Wed Dec 9 04:00:08 2009 From: zallen at wheelinghospital.com (URI) Date: Wed, 9 Dec 2009 01:00:08 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> References: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> <1260249421245-4130570.post@n2.nabble.com> <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> <1260309558165-4135682.post@n2.nabble.com> <4db4735c0912081412t3181c0d9n428ebaf31daaed7a@mail.gmail.com> <1260312364762-4135988.post@n2.nabble.com> <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> Message-ID: <1260349208955-4138201.post@n2.nabble.com> I found what appears to be the solution, I will post it here just in case this helps anyone else. Apparently I was getting an error "couldn't reserve space for cygwin's heap" both while installing Msys and while trying to run it (it would appear in that window that would pop up and disappear right away - I just ran it again and again and read one word each time before I figured out what it was saying). Googling this error resulted in a huge amount of hits with all sorts of solutions, ranging from disabling Windows Defender and/or all antivirus software to disabling Data Execution Prevention to making sure that I didn't have a CygWin environment variable defined (which I didn't - I've never even installed CygWin). Finally I found this site: http://www.eoinmurphy.org/blog/2008/07/09/setting-up-mingw-and-msys/ Under the "Troubleshooting" section is where I found the answer, which is to replace C:\msys\1.0\bin\msys-1.0.dll with the one found here: http://www.eoinmurphy.org/stuff/msys-rebased.zip Once I replaced this I am able to run msys.bat and the window opens normally (and I have both Windows Defender and my antivirus program running, as well as DEP enabled, so there's no need to modify any of those things). Ok, what's the next step? I installed msys and mingw on two machines a couple of years ago. I don't recall any editing of files being required. Maybe someone else can share their experience. You must get by this step 1 before we can proceed. Bill -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4138201.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From l.a.pereira at uol.com.br Wed Dec 9 06:17:42 2009 From: l.a.pereira at uol.com.br (l.a.pereira) Date: Wed, 9 Dec 2009 09:17:42 -0200 Subject: [Insight-users] DICOM measures Message-ID: <4b1f875688625_5248a437bf01c8@weasel1.tmail> An HTML attachment was scrubbed... URL: From joelthelion at laposte.net Wed Dec 9 07:03:11 2009 From: joelthelion at laposte.net (Joel Schaerer) Date: Wed, 9 Dec 2009 04:03:11 -0800 (PST) Subject: [Insight-users] Job Offer (cross-posted from VTK-users) Message-ID: <26709162.post@talk.nabble.com> We are looking for an intern with good C++ experience and at least some experience with ITK or VTK. The applicant will be working on the http://creatis-www.insa-lyon.fr/rio/vv open-source 4D image viewer vv . http://www.creatis.insa-lyon.fr/site/en/node/39137 More details here. The job is in Lyon, France, and is paid about 1900? net a month. According to the Marie-Curie rules in this project, the applicant should NOT be French, must have less than 4 years of research experience since gaining a university diploma giving access to doctoral studies, and should NOT have a PhD. -- View this message in context: http://old.nabble.com/Job-Offer-%28cross-posted-from-VTK-users%29-tp26709162p26709162.html Sent from the ITK - Users mailing list archive at Nabble.com. From michael.mentink at st-hughs.ox.ac.uk Wed Dec 9 08:13:05 2009 From: michael.mentink at st-hughs.ox.ac.uk (michiel mentink) Date: Wed, 9 Dec 2009 14:13:05 +0100 Subject: [Insight-users] DICOM measures In-Reply-To: <4b1f875688625_5248a437bf01c8@weasel1.tmail> References: <4b1f875688625_5248a437bf01c8@weasel1.tmail> Message-ID: <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> Hi Luis, try example Examples/IO/DicomSeriesReadPrintTags.cxx. It prints the most important tags. It is described in the itk software guide paragraph 7.12.6 You can also see those tags summarized on my page on: https://sites.google.com/site/michielmentink/programming/itk/image-translate(on the bottom). greets, Michael On 12/9/09, l.a.pereira wrote: > > Hi, > > I'm reading a DICOM series with GDCMImageIO. > > Now, I need obtain the measures of this DICOM series to convert it in > milimeters. > > How can I do it ? > > There is some tags in DICOM header where I can calculate/convert this > measures to milimeters ? > > Thanks, > > > > Luis > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Wed Dec 9 08:46:03 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 9 Dec 2009 08:46:03 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260349208955-4138201.post@n2.nabble.com> References: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> <1260249421245-4130570.post@n2.nabble.com> <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> <1260309558165-4135682.post@n2.nabble.com> <4db4735c0912081412t3181c0d9n428ebaf31daaed7a@mail.gmail.com> <1260312364762-4135988.post@n2.nabble.com> <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> <1260349208955-4138201.post@n2.nabble.com> Message-ID: <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> 2) In the Msys shell: mkdir Insight-mingw 3) Run the windows cmake by clicking cmake. I am currently using cmake 2.6. 4) Where is the source code: Select the path to the Insight source. 5) Where to build the binaries: Select Insight-mingw 6) Configure 7) Select Generator: MSYS Makefiles NOT MinGW Makefiles 8) Configure At this point, you may get errors. DO NOT exit cmake. Check the Show Advanced Values in the cmake panel. Look for the variable CMAKE_MAKE_COMMAND. It must point to the MSYS make, not the MinGW make or another make. Navigate to the msys bin directory and select make. 9) Configure cmake should run fine from here. I think the problem is that we typically have more than one make on our systems. I have cygwin make, msys make mingw make and Borland make. When I configure cmake selects Borland make. because it's in my path. I actually use a ctest script to do my configure, but that's beyond the scope of this e-mail. After this works, check back and we'll go to step 10. Bill 4) Select the On Wed, Dec 9, 2009 at 4:00 AM, URI wrote: > > I found what appears to be the solution, I will post it here just in case > this helps anyone else. > > Apparently I was getting an error "couldn't reserve space for cygwin's heap" > both while installing Msys and while trying to run it (it would appear in > that window that would pop up and disappear right away - I just ran it again > and again and read one word each time before I figured out what it was > saying). ?Googling this error resulted in a huge amount of hits with all > sorts of solutions, ranging from disabling Windows Defender and/or all > antivirus software to disabling Data Execution Prevention to making sure > that I didn't have a CygWin environment variable defined (which I didn't - > I've never even installed CygWin). > > Finally I found this site: > http://www.eoinmurphy.org/blog/2008/07/09/setting-up-mingw-and-msys/ > > Under the "Troubleshooting" section is where I found the answer, which is to > replace C:\msys\1.0\bin\msys-1.0.dll with the one found here: > http://www.eoinmurphy.org/stuff/msys-rebased.zip > > Once I replaced this I am able to run msys.bat and the window opens normally > (and I have both Windows Defender and my antivirus program running, as well > as DEP enabled, so there's no need to modify any of those things). > > Ok, what's the next step? > > > > I installed msys and mingw on two machines a couple of years ago. I > don't recall any editing of files being required. > > Maybe someone else can share their experience. You must get by this > step 1 before we can proceed. > > Bill > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4138201.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Wed Dec 9 09:30:18 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 9 Dec 2009 09:30:18 -0500 Subject: [Insight-users] problem installing itk In-Reply-To: References: Message-ID: Hi Pooja, Welcome to ITK ! Please post to the list, the version of CMake that you are using. You can get this with the following command: cmake --version Thanks Luis ---------------------------------------------------------- On Tue, Dec 8, 2009 at 11:15 AM, Pooja Chatterjee wrote: > Hi!! > ??? I'm new to itk and MAC OS and I'm having some problems installing it. > While configuring cmake I get the following error: > ?CMake Warning (dev) at CMakeLists.txt:128 (INCLUDE): > ? Policy CMP0011 is not set: Included scripts do automatic cmake_policy PUSH > ?and POP.? Run "cmake --help-policy CMP0011" for policy details.? Use the > ?make_policy command to set the policy and suppress this warning. > > ?? The included script > > ???? /Users/pooja/Sources/wrapitk-0.3.0/ConfigureWrapping.cmake > > ?? affects policy settings.? CMake is implying the NO_POLICY_SCOPE option > for > ?? compatibility, so the effects are applied to the including context. > ?This warning is for project developers.? Use -Wno-dev to suppress it. > Could anyone help me get round this. > Thanks!! > Pooja > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Wed Dec 9 09:40:22 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 9 Dec 2009 09:40:22 -0500 Subject: [Insight-users] How to get number of iterations from optimizer? In-Reply-To: <54eca6a70912081017r4c82c1f4k5d3d3a1d09f04a12@mail.gmail.com> References: <54eca6a70912081017r4c82c1f4k5d3d3a1d09f04a12@mail.gmail.com> Message-ID: Hi Motes, 1) If you want to get the last value from the Optimizer, you should use the call: optimizer->GetValue() (with no arguments). or, you could do: metic->GetValue( registration->GetLastTransformParameters() ); this second form is a safer way to get the value. Note that it actually goes back and computes the Metric at that point of the parametric space, while the call to GetValue() in the optimizer, will simply use a cached value 2) The problem that you are facing with getting the number of iterations, is because the method registration->GetOptimizer() return a pointer to the BASE class of optimizers. In your case you will have to down cast it to a RegularGradientDescentOptimizerType with code such as RegularGradientDescentOptimizerType::Pointer optimizer = dynamic_cast< RegularGradientDescentOptimizerType>( registration->GetOptimizer() ); if( optimizer != NULL ) { optimizer->GetCurrentIteration(); } That said,... you probably have the pointer to the original optimizer around (since you had to use it when configuring the registration process...). Why are you not using the original pointer to the optimizer ? Regards, Luis -------------------------------------------------------- On Tue, Dec 8, 2009 at 1:17 PM, motes motes wrote: > I have an image registration process where I use the > RegularGradientDescentOptimizer: > > ?typename RegularGradientDescentOptimizerType::Pointer optimizer = > RegularGradientDescentOptimizerType::New(); > > ? ? ? ? ?optimizer->SetMaximumStepLength( 0.5 ); > ? ? ? ? ?optimizer->SetMinimumStepLength( 0.0001 ); > ? ? ? ? ?optimizer->SetGradientMagnitudeTolerance( 0.0001 ); > ? ? ? ? ?optimizer->SetNumberOfIterations( 1000 ); > ? ? ? ? ?optimizer->MinimizeOn(); > ? ? ? ? ?ObserverType::Pointer Observer = ObserverType::New(); > ? ? ? ? ?optimizer->AddObserver( itk::IterationEvent(), Observer ); > ? ? ? ? ?registration->SetOptimizer( optimizer ); > > > When the image registration method is done: > > ? ?try { > ? ? ?timeProbe.Start(); > ? ? ?registration->Update(); > ? ? ?timeProbe.Stop(); > ? ?} > ? ?catch( itk::ExceptionObject & err ) { > ? ? ?std::cerr << "ExceptionObject caught !" << std::endl; > ? ? ?std::cerr << err << std::endl; > ? ? ?return; > ? ?} > > > its possible to get the final metric value with: > > > ? double final_metric_value = > registration->GetOptimizer()->GetValue(registration->GetLastTransformParameters()); > > > But its not possible to get the number of used iterations like > (sometimes the optimizer terminates before the maximum number of > iterations has been used): > > > ?int used_iterations = ?registration->GetOptimizer()->GetNumberOfIterations(); > > Error: > > Error ? 12 ? ? ?error C2039: 'GetNumberOfIterations' : is not a member of > 'itk::SingleValuedNonLinearOptimizer' > > It there someway to cast the base optimizer class to the > RegularGradientDescentOptimizerType (this subclass has the function > GetNumberOfIterations) ? > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Wed Dec 9 09:51:12 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 9 Dec 2009 09:51:12 -0500 Subject: [Insight-users] How to get a progess from an iterator? In-Reply-To: <20091208200928.GA2313@drago> References: <20091204111233.GA2886@drago> <20091206220814.GA2746@drago> <20091208200928.GA2313@drago> Message-ID: Hi Lynx, Some compilers will warn you about uninitialized objects. In GCC you could use the flag : -Wuninitialized that is one of the options turned on with : -Wall http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html Note that you have to use it in combination with -O. For example: int main() { int a; int b = a * 10; return 0; } compiled with: g++ -O -Wuninitialized main.cxx produces: main.cxx: In function ?int main()?: main.cxx:4: warning: ?a? is used uninitialized in this function In addition, you could use Valgrind, to get a report of uninitialized variables at run time. --- About your second question: Could you please post a more precise example of what you would like to do for initializing a ShapedNeighborhoodIterator in 2D and/or 3D ? Are you referring to the size allocation for the Iterator ? or to the selection of the Neighbors that will be ON ? Thanks Luis -------------------------------------------------------------------------------- On Tue, Dec 8, 2009 at 3:09 PM, wrote: > On 06/12/09 18:24:51, Luis Ibanez wrote: >> Hi ?Lynx, >> >> A simpler option is to just insert a counter inside >> the while-loop of the iterators. That's after all, >> what the code of the ProgressReporter does. >> > > Thank You very much Luis. This was exacly what I was trying to do but I didn't > find a way to get the total number of pixels... > > I had some strange problem though: > As I started from the ShapedNeighborhoodIterator example form the users ?guide > (which is in 2D) I had modified things to my need and changed to 3D. > Somehow ?that ?all ?worked ?until I needed the new variables for the progress. > Just from declaring a variable I got a segfault. Changing the position of ?the > declaration solved the problem for one variable but not for the rest. > I finally figured out after hours that the problem was the uninitialized third > dimension of the iterator neighbourhood. If I'm not mistaken ?such ?a ?problem > was discussed a few weeks before here on the list... > > I ?now ?wonder ?if ?there ?is ?a way to prevent this in futur programming by a > cleaner or more secure programming style. Is ?there ?a ?way ?to ?prevent ?such > faults? ?Or ?at least to help the compiler find uninitialized components of an > array for reporting at compile time? > > > Also I found the cool code below to easily implement 2D and ?3D ?programs. ?Is > there ?any ?chance ?to ?make ?that work also with a ShapedNeighborhoodIterator > who's neighbourhood (a ball) needs to be initialize once in 2D and once in 3D? > > > Thanks again Luis for Your help. > Lynx > > ___________________________ > > int main( int argc, char *argv[] ){ > > ? ?if ( argc < 8 ){ > ? ? ? ?std::cerr << "Missing parameters. " << std::endl; > ? ? ? ?std::cerr << "Usage: " << std::endl; > ? ? ? ?std::cerr << argv[0] > ? ? ? ? ? ? ? ? ?<< "ImageDimension inputImageFile outputImageFile element_radius foreground background maskground" > ? ? ? ? ? ? ? ? ?<< std::endl; > ? ? ? ?return -1; > ? ? ? ?} > > ? ?unsigned int dim; > > ? ?dim= atoi(argv[1]); > ? ?argv++; //shift(); > ? ?argc--; > > ? ?switch(dim) > ? ? ? ?{ > ? ? ? ?case 2: > ? ? ? ? ? ?masked_mean_filter<2>( argc, argv ); > ? ? ? ? ? ?break; > ? ? ? ?case 3: > ? ? ? ? ? ?masked_mean_filter<3>( argc, argv ); > ? ? ? ? ? ?break; > ? ? ? ?default: > ? ? ? ? ? ?std::cerr << "Unsupported dimension" << std::endl; > ? ? ? ? ? ?exit( EXIT_FAILURE ); > ? ? ? ?} > ? ?} > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Wed Dec 9 10:06:48 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 9 Dec 2009 10:06:48 -0500 Subject: [Insight-users] Problem in DeformableRegistration3DTimeSeries In-Reply-To: References: Message-ID: Hi Anand, Thanks, for the additional information. About your platform: Saying that you are using "Windows" only tell us that you have signed a contract that forbids you from performing "Reverse Engineering", and that your operating system has no warranties either express or implied. :-) -- Your platform is defined by the combination of Operating System, Hardware and Compiler version. Let's start from the basics, and let's focus on that system where you see a run time error. Please state: 1) CMAke version 2) Windows version (XP/Vista/ 7) 3) Compiler version (Visual Studio 6?, 7? 7.1? 8? 9?) Now: to double check, you are saying that this system is not running the code from a shared drive that hosted in another computer. Is that right ? and you are saying that you are building the software from scratch in the SAME computer where the code is failing at run time. Is that correct ? --- Please do the following: 1) Delete the ITK binary directory. 2) Delete the directory where you are building the Deformable registration application. 3) Follow the instructions in the Tutorial: http://www.itk.org/CourseWare/Training/GettingStarted-I.pdf for building ITK under Windows. BUT: keep TESTING and EXAMPLES ON when you configure ITK with CMake 4) Load the ITK project in Visual Studio 5) Select "Debug" as the compilation mode. 6) Select the project "EXPERIMENTAL", right click on it and select "Build" 7) Go for lunch, and take some time off for reading one of the papers in the Insight Journal :-) (posting a review will be great as well). 8) In about one to two hours, depending on the performance of your computer, we should see the outcome of the build process and the execution of the tests in the ITK Dashboard. http://public.kitware.com/dashboard.php?name=itk Once we see these results we can continue tracking the potential sources of the problem. Thanks Luis --------------------------------------------------------------------------------------- On Wed, Dec 9, 2009 at 8:08 AM, Anand Neema wrote: > Hello Luis, > Thanks for the reply. > Yes, it is perfectly correct that ?we configure and build the application > independently > in both machine (A) and machine (B). > There is no server and no client. > Both the machines are independent. > We are having windows platform > Hope this mail will help you out. > Thanks > Anand Neema > >> Date: Tue, 8 Dec 2009 07:36:03 -0500 >> Subject: Re: [Insight-users] Problem in DeformableRegistration3DTimeSeries >> From: luis.ibanez at kitware.com >> To: neema.anand at hotmail.com >> CC: Insight-users at itk.org >> >> Hi Anand, >> >> It seems that we still don't have the entire story >> of how you are building and running the application. >> >> From this last email, it looks like you are actually >> configuring and building the application independently >> in both machine (A) and machine (B). Is that correct ? >> >> If so, then the fact that one machine connects as a >> client to the other is irrelevant for the purpose of this >> discussion... >> >> It will be very helpful if you describe in more detail >> what you are doing. >> >> and... >> please also include a full description of the >> platform in which you are having problems. >> >> >> >> Just FYI: >> Cmake (the package) is comprised of a set of executables. >> They include: >> >> - cmake >> - ccmake >> - cmake-gui >> - ctest >> - cpack >> >> CPack takes care of preparing Windows installers or >> Linux packages for an application. (as long as you have >> configured it properly for installation). >> >> CMake (the application) is focused on configuring the >> project files (or makefile) that will be used to drive your >> compiler and linker. >> >> So, CMake (the application) and CPack are two different >> things, but they come in the same package: >> "the CMake package." >> >> >> Thanks >> >> >> Luis >> >> >> >> --------------------------------------------------------------------------------- >> On Tue, Dec 8, 2009 at 7:28 AM, Anand Neema >> wrote: >> > Hello Luis, >> > Thanks for the reply. >> > We configure the ITK Application separately on both the machines (A) & >> > (B). >> > But it runs on machine (A) and not on machine (B). >> > I also want to know that, >> > Is cpack & cmake are different things or the same? >> > Because we configured with cmake not with cpack.. >> > Thanks & Regds >> > Anand Neema >> > >> >> Date: Mon, 7 Dec 2009 07:40:02 -0500 >> >> Subject: Re: [Insight-users] Problem in >> >> DeformableRegistration3DTimeSeries >> >> From: luis.ibanez at kitware.com >> >> To: neema.anand at hotmail.com >> >> CC: Insight-users at itk.org >> >> >> >> Hi Anand, >> >> >> >> Thanks for the additional information. >> >> >> >> If you are building an ITK application in machine (A), and then trying >> >> to run it in machine (B), then you MUST configure the application for >> >> being packaged in machine (A), using cpack, which is one of the >> >> CMake component, and then you should INSTALL the application in >> >> machine (B). >> >> >> >> >> >> Actually, the same will apply to ANY application, not only ITK-based >> >> applications.... >> >> >> >> >> >> The installation process will make sure that you carry along the >> >> shared libraries that are consistent with the application at the time >> >> that it was built. >> >> >> >> Please let us know if you have questions about how to use cpack. >> >> >> >> >> >> Thanks, >> >> >> >> >> >> Luis >> >> >> >> >> >> >> >> >> >> ------------------------------------------------------------------------------------------------------- >> >> On Mon, Dec 7, 2009 at 12:45 AM, Anand Neema >> >> wrote: >> >> > Luis, >> >> > Thanks for the reply. >> >> > We have?the LAN connection in our lab. >> >> > We build the program seperatly on server and the other machines that >> >> > are >> >> > connected to that server. >> >> > The toolkit is also installed on both the server and the connected >> >> > machines. >> >> > You can say that the program is running on one machine and not on >> >> > another >> >> > machine, both having the same configuration, the only difference is >> >> > of >> >> > operating system, one has Windows Server 2003 and the other is >> >> > Windows >> >> > XP >> >> > SP2. >> >> > >> >> > Thanks >> >> > Anand Neema >> >> > >> >> >> Date: Wed, 2 Dec 2009 15:43:25 -0500 >> >> >> Subject: Re: [Insight-users] Problem in >> >> >> DeformableRegistration3DTimeSeries >> >> >> From: luis.ibanez at kitware.com >> >> >> To: neema.anand at hotmail.com >> >> >> CC: insight-users at itk.org >> >> >> >> >> >> Hi Anand, >> >> >> >> >> >> >> >> >> Apparently the error message: >> >> >> >> >> >> > CXX0030: Error: expression cannot be evaluated. >> >> >> >> >> >> is produced by the Visual Studio debugger when a >> >> >> program tries to call methods using the pointer of >> >> >> an object that has not been allocated yet. >> >> >> >> >> >> -- >> >> >> >> >> >> Why is this happening to you only in some machines, >> >> >> is something that we should track down, and for which >> >> >> we need you to provide a lot more information. >> >> >> >> >> >> >> >> >> Starting with: >> >> >> >> >> >> 1) What is the full description of the system in >> >> >> which the application fails: >> >> >> >> >> >> - Operating system >> >> >> - compiler version >> >> >> >> >> >> >> >> >> 2) You say that the program "works on your Sever >> >> >> but not on the systems connected to that server" >> >> >> >> >> >> Please describe in detail what kind of server connection >> >> >> you are using. >> >> >> >> >> >> Are you talking about using VPN connection ? >> >> >> using a RemoteDesktop connection ? >> >> >> >> >> >> or are you simply sharing a drive from >> >> >> one machine to another ? >> >> >> >> >> >> >> >> >> 3) Are you building the program in the server and then >> >> >> trying to run it in another machine that is connected >> >> >> to the server ? >> >> >> >> >> >> or are you building the application directly on the >> >> >> connected machine ? >> >> >> (in which case, why should the server matter at all ?) >> >> >> >> >> >> >> >> >> >> >> >> Thanks >> >> >> >> >> >> >> >> >> Luis >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> ----------------------------------------------------------------------------------------------- >> >> >> On Wed, Dec 2, 2009 at 3:10 AM, Anand Neema >> >> >> >> >> >> wrote: >> >> >> > Hello to all, >> >> >> > I am a ITK User. >> >> >> > I have one problem in an application. >> >> >> > DeformableRegistration3DTimeSeries (Sample Application) provided >> >> >> > with >> >> >> > toolkit is working properly, but when the same code from that >> >> >> > application I >> >> >> > try to build in my application, then it is not working properly. >> >> >> > Rather >> >> >> > it >> >> >> > works on our Server but not on the systems connected to that >> >> >> > server. >> >> >> > Build process is completed successfully, there is no problem in >> >> >> > built >> >> >> > the >> >> >> > application. After build, when I run the .exe file and try to load >> >> >> > a >> >> >> > DICOM >> >> >> > Series the application terminates. >> >> >> > I run the application in debug mode, and it is throwing an >> >> >> > exception >> >> >> > as: >> >> >> > CXX0030: Error: expression cannot be evaluated. >> >> >> > Any kind of help would be appreciated >> >> >> > Thanks & Regds, >> >> >> > Anand Neema >> >> >> > ________________________________ >> >> >> >> >> >> > _____________________________________ >> >> >> > Powered by www.kitware.com >> >> >> > >> >> >> > Visit other Kitware open-source projects at >> >> >> > http://www.kitware.com/opensource/opensource.html >> >> >> > >> >> >> > Kitware offers ITK Training Courses, for more information visit: >> >> >> > http://www.kitware.com/products/protraining.html >> >> >> > >> >> >> > Please keep messages on-topic and check the ITK FAQ at: >> >> >> > http://www.itk.org/Wiki/ITK_FAQ >> >> >> > >> >> >> > Follow this link to subscribe/unsubscribe: >> >> >> > http://www.itk.org/mailman/listinfo/insight-users >> >> >> > >> >> >> > >> >> > From luis.ibanez at kitware.com Wed Dec 9 10:10:43 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 9 Dec 2009 10:10:43 -0500 Subject: [Insight-users] errors in deformable registration. In-Reply-To: <64fe815c0912082132k4d081f30l5a971d7dbc0537e8@mail.gmail.com> References: <64fe815c0912082132k4d081f30l5a971d7dbc0537e8@mail.gmail.com> Message-ID: Hi Subarna, You are missing to link with the ITKStatistics library. Please, 1) Edit the CMakeLists.txt file of your project, and 2) Search for the command TARGET_LINK_LIBRARIES(... and 3) Add to it: ITKStatistics Then: configure, generate and build. Regards, Luis ----------------------------------------------------------- On Wed, Dec 9, 2009 at 12:32 AM, Subarna Ghosh wrote: > Hi all, > > I get these linking errors when I try to compile DeformableRegistration2 > > DeformableRegistration.obj : error LNK2019: unresolved external symbol > "protected: __thiscall > itk::Statistics::DenseFrequencyContainer::DenseFrequencyContainer(void)" > (??0DenseFrequencyContainer at Statistics@itk@@IAE at XZ) referenced in function > "public: static class itk::SmartPointer itk::Statistics::DenseFrequencyContainer> __cdecl > itk::Statistics::DenseFrequencyContainer::New(void)" > (?New at DenseFrequencyContainer@Statistics at itk@@SA?AV?$SmartPointer at VDenseFrequencyContainer@Statistics at itk@@@3 at XZ) > 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol > "public: float __thiscall > itk::Statistics::DenseFrequencyContainer::GetFrequency(unsigned long)const " > (?GetFrequency at DenseFrequencyContainer@Statistics at itk@@QBEMK at Z) referenced > in function "public: virtual float __thiscall > itk::Statistics::Histogram itk::Statistics::DenseFrequencyContainer>::GetFrequency(unsigned long const > &)const " > (?GetFrequency@?$Histogram at M$00VDenseFrequencyContainer at Statistics@itk@@@Statistics at itk@@UBEMABK at Z) > 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol > "public: void __thiscall > itk::Statistics::DenseFrequencyContainer::SetToZero(void)" > (?SetToZero at DenseFrequencyContainer@Statistics at itk@@QAEXXZ) referenced in > function "public: void __thiscall itk::Statistics::Histogram itk::Statistics::DenseFrequencyContainer>::SetToZero(void)" > (?SetToZero@?$Histogram at M$00VDenseFrequencyContainer at Statistics@itk@@@Statistics at itk@@QAEXXZ) > 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol > "public: bool __thiscall > itk::Statistics::DenseFrequencyContainer::IncreaseFrequency(unsigned > long,float)" > (?IncreaseFrequency at DenseFrequencyContainer@Statistics at itk@@QAE_NKM at Z) > referenced in function "public: bool __thiscall > itk::Statistics::Histogram itk::Statistics::DenseFrequencyContainer>::IncreaseFrequency(unsigned long > const &,float)" > (?IncreaseFrequency@?$Histogram at M$00VDenseFrequencyContainer at Statistics@itk@@@Statistics at itk@@QAE_NABKM at Z) > 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol > "public: void __thiscall > itk::Statistics::DenseFrequencyContainer::Initialize(unsigned long)" > (?Initialize at DenseFrequencyContainer@Statistics at itk@@QAEXK at Z) referenced in > function "public: void __thiscall itk::Statistics::Histogram itk::Statistics::DenseFrequencyContainer>::Initialize(class itk::Size<1> > const &)" > (?Initialize@?$Histogram at M$00VDenseFrequencyContainer at Statistics@itk@@@Statistics at itk@@QAEXABV?$Size@$00 at 3@@Z) > 1>D:\study\Fall2009\ITK-VTK\Projects\DeformableRegistration\bin\Debug\DeformableRegistration.exe > : fatal error LNK1120: 5 unresolved externals > > Thanks and regards, > Subarna Ghosh. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Wed Dec 9 10:17:38 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 9 Dec 2009 10:17:38 -0500 Subject: [Insight-users] Interpolation Volume In-Reply-To: <26700914.post@talk.nabble.com> References: <26614974.post@talk.nabble.com> <26685129.post@talk.nabble.com> <26700914.post@talk.nabble.com> Message-ID: Hi Gupt, We are talking about two different problems here. In your previous email, we dealt with a Reading problem that happens when a reader is reused for loading images of different sizes. That seems to have been fixed with the use of method reader->UpdateLargestPossibleRegion(). ... Now, we seem to be dealing with a problem in the output of your program. Please tell us what happens in the middle (between the reader and the writer). Are you simply reading a series of 2D images, and then writing them out right away ? If your program is a single file (source code), and if it is not too long (less than 30Kb), it will be very helpful if you can post your source code to the mailing list. Thanks Luis ------------------------------ On Tue, Dec 8, 2009 at 4:17 PM, Gupt wrote: > > Hello Luis, > > Using UpdateLargestPossibleRegion() didn't give me the error for one set of > slices but the mhd (raw and hdr) file created had errors. When I try to open > the volume using MRIcro, I get the error - > > Unknown image format, and file size smaller than described in 'Header > Information' panel. > > I also tried using ITK SNAP but am unable to open the file. > > When I re-run the program for a different set of slices, I get the error > described in my last post - "Largest possible region ?does not fully contain > requested paste IO regionPaste IO region:..." > > Thank you for your help. > > Regards, > Gupt > > Luis Ibanez wrote: >> >> Hi Gupt, >> >> This error is usually produced when you attempt to "reuse" a >> reader to load two images of different size, one after another. >> >> For example: >> >> ? ? reader->SetFileName("myImage1.mhd"); >> ? ? reader->Update(); >> >> ? ? reader->SetFileName("myImage2.mhd"); >> ? ? reader->Update(); >> >> >> The simple solution is to call "UpdateLargestPossibleRegion()" >> instead of calling the typical "Update()" method. >> >> So your code your look more like: >> >> >> ? ? reader->SetFileName("myImage1.mhd"); >> ? ? reader->UpdateLargestPossibleRegion(); >> >> ? ? reader->SetFileName("myImage2.mhd"); >> ? ? reader->UpdateLargestPossibleRegion(); >> >> >> Please let us know if that helps, >> >> >> ? ? ?Thanks >> >> >> ? ? ? ? ? Luis >> >> >> -------------------------------------------------------------------------------------------------------- >> On Mon, Dec 7, 2009 at 5:11 PM, Gupt wrote: >>> >>> Hello, >>> >>> I'm working with ImageSeriesReadWrite.cxx example from ITK user guide. >>> I'm >>> trying to build the 3d volume from a set of 2d mri images - >>> file280054.jpg >>> to file280062.jpg. But I'm receiving the following error: >>> >>> ExceptionObject Caught! >>> >>> itk:ExceptionObject <0134F560> >>> itk::Location: "void __thiscall itk::ImageFileWriter>> itk::Image>> char,3> >::Write(void)" >>> File: c:\itk\insight_toolkit\code\io\itkImageFileWriter.txx >>> Line: 271 >>> Description: itk::ERROR: ImageFileWriter(01934508): Largest possible >>> region >>> does not fully contain requested paste IO regionPaste IO region: >>> ImageIORegion (0134F998) >>> ?Dimension: 3 >>> ?Index: 0 0 0 >>> ?Size: 0 0 0 >>> Largest possible region: ImageRegion (0134FA4C) >>> ?Dimension: 3 >>> ?Index: [0, 0, 0] >>> ?Size: [0, 0, 0] >>> >>> Thanks for your help. >>> >>> Gupt >>> >>> >>> >>> >>> Luis Ibanez wrote: >>>> >>>> Hi Gupt, >>>> >>>> We no longer make any difference between a sequence of 2D slices >>>> and a 3D volume... unless.... they are not aligned, or... the spacing in >>>> the inter-slice direction is more than 5 times the intra-slice spacing. >>>> >>>> >>>> If you have segmentations for all the 2D slices, you can simply load >>>> them >>>> all into a single 3D image using an ImageSeriesReader, and then you >>>> can process it as a 3D volume. ?More specifically, you can proceed to >>>> compute its volume by using the LabelStatisticsImageFilter. >>>> >>>> >>>> ? ? ?Regards, >>>> >>>> >>>> ? ? ? ? ? ?Luis >>>> >>>> >>>> -------------------------------- >>>> On Mon, Dec 7, 2009 at 12:10 PM, Aditya Gupta >>>> wrote: >>>>> Hello Luis, >>>>> >>>>> Thanks for the reply. In continuation to my previous question... So >>>>> using >>>>> the stack of 2d MRI slices, I've a certain segmentation on each of the >>>>> slices and using the segmented output I've built a surface model and >>>>> now >>>>> I've incorporated the intensities of the slices in the surface model. >>>>> Now, >>>>> I'm interested to find the volume of the segmented region. So, using >>>>> the >>>>> segmented outputs from the various slices, I want to reconstruct a >>>>> volume, >>>>> compute and finally visualize the volume. Can you give me a start on >>>>> how >>>>> I >>>>> can proceed? Is it possible to build a 3d volume (not surface model) >>>>> from >>>>> a >>>>> stack of 2d slices (only one axial view not 3 views)? Are there any >>>>> standard >>>>> algorithms being used for construction of 3d volumes from 2d slices? >>>>> >>>>> Appreciate your help in this matter. >>>>> >>>>> Regards, >>>>> Gupt >>>>> >>>>> On Wed, Dec 2, 2009 at 7:07 PM, Luis Ibanez >>>>> wrote: >>>>>> >>>>>> Hi ?Gupt, >>>>>> >>>>>> >>>>>> Yes, just do the following: >>>>>> >>>>>> >>>>>> A) Load the 2D slices into a single 3D image using the >>>>>> ? ? itk::ImageSeriesReader, >>>>>> >>>>>> >>>>>> B) Connect the image an ImageInterpolator >>>>>> ? ? The typical choice is the itkLinearImageInterpolateFunction class, >>>>>> ? ? (but you can also use NearestNeighbors, BSpline and >>>>>> ? ? ?WindowedSinc, it is a trade-off between computation time and >>>>>> ? ? ?interpolation precision) >>>>>> >>>>>> >>>>>> C) Take all the points from your surface model and for every >>>>>> ? ? point call the method: >>>>>> >>>>>> ? ? ? PixelType ?pixelValue = ? ?Interpolator->Evaluate( point ) >>>>>> >>>>>> ? ?and then assign that pixel value to the corresponding point >>>>>> ? ?in the surface model. >>>>>> >>>>>> >>>>>> >>>>>> ?Please let us know if you run into any problem. >>>>>> >>>>>> >>>>>> ? ? ? Thanks >>>>>> >>>>>> >>>>>> ? ? ? ? ?Luis >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------ >>>>>> On Wed, Dec 2, 2009 at 2:35 PM, Gupt wrote: >>>>>> > >>>>>> > I've a stack of 2d cardiac mri images in single view. I've written >>>>>> the >>>>>> > code >>>>>> > to do a surface reconstruction of the left ventricle wall of the >>>>>> heart >>>>>> > (looks like a hollow cylinder). Is there a method/ function to >>>>>> > incorporate >>>>>> > the intensity information (in the 2d slices) in to the model, like >>>>>> some >>>>>> > kind >>>>>> > of interpolation to obtain intensity between the slices? Thanks for >>>>>> the >>>>>> > help. >>>>>> > -- >>>>>> > View this message in context: >>>>>> > http://old.nabble.com/Interpolation-Volume-tp26614974p26614974.html >>>>>> > Sent from the ITK - Users mailing list archive at Nabble.com. >>>>>> > >>>>>> > _____________________________________ >>>>>> > Powered by www.kitware.com >>>>>> > >>>>>> > Visit other Kitware open-source projects at >>>>>> > http://www.kitware.com/opensource/opensource.html >>>>>> > >>>>>> > Kitware offers ITK Training Courses, for more information visit: >>>>>> > http://www.kitware.com/products/protraining.html >>>>>> > >>>>>> > Please keep messages on-topic and check the ITK FAQ at: >>>>>> > http://www.itk.org/Wiki/ITK_FAQ >>>>>> > >>>>>> > Follow this link to subscribe/unsubscribe: >>>>>> > http://www.itk.org/mailman/listinfo/insight-users >>>>>> > >>>>> >>>>> >>>>> >>>>> -- >>>>> Regards, >>>>> Aditya Gupta, Ph.D. >>>>> Post Doc Researcher >>>>> UCF Computer Vision Lab >>>>> Orlando, FL >>>>> O: (407) 882 0130 >>>>> M: (407) 451 7735 >>>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://old.nabble.com/Interpolation-Volume-tp26614974p26685129.html >>> Sent from the ITK - Users mailing list archive at Nabble.com. >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://old.nabble.com/Interpolation-Volume-tp26614974p26700914.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Wed Dec 9 10:27:50 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 9 Dec 2009 10:27:50 -0500 Subject: [Insight-users] DICOM measures In-Reply-To: <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> References: <4b1f875688625_5248a437bf01c8@weasel1.tmail> <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> Message-ID: Hi Luis, Could you please be more specific regarding what you call "measures" ? Are you referring to the total physical extent of the image ? (e.g. the volume of space that is occupied by the image). or are you referring to measuring distances between pairs of pixels in the image ? If you are talking about the second case, then what you want to do is to take the indices of both pixels. (let's call them index1 and index2) and do the following: const ImageType * image = reader->GetInput(); ImageType::PointType point1; ImageType::PointType point2; image->TransformIndexToPhysicalPoint( index1, point1 ); image->TransformIndexToPhysicalPoint( index2, point2 ); const double distance = point1.EuclideanDistanceTo( point2 ); That value of "distance" will be measured in millimeters, which is the default unit in DICOM, When the indices are converted to physical points, the computation process will take into account: A) The coordinates of the image Origin B) The values of pixel spacing C) The orientation (direction) of the image The resulting value of "distance" will therefore be in the units of physical space. As Michiel pointed out, the values of (A), (B) and (C) are defined in the DICOM tags. If you are curious about the values, you could also print them out with reader->Update(); const ImageType * image = reader->GetInput(); std::cout << image->GetOrigin() << std::endl; std::cout << image->GetSpacing() << std::endl; std::cout << image->GetDirection() << std::endl; --- If you were talking about other type of "measures", please, describe them in detail. Thanks, Luis ------------------------------------------------------------------------------------------ On Wed, Dec 9, 2009 at 8:13 AM, michiel mentink wrote: > Hi Luis, > > try example Examples/IO/DicomSeriesReadPrintTags.cxx. > It prints the most important tags. > > It is described in the itk software guide paragraph 7.12.6 > You can also see those tags summarized on my page on: > https://sites.google.com/site/michielmentink/programming/itk/image-translate > (on the bottom). > > greets, > > Michael > > On 12/9/09, l.a.pereira wrote: >> >> Hi, >> >> I'm reading a DICOM series with GDCMImageIO. >> >> Now, I need obtain the measures of this DICOM series to convert it in >> milimeters. >> >> How can I do it ? >> >> There is some tags in DICOM header where I can calculate/convert this >> measures to milimeters ? >> >> Thanks, >> >> >> >> Luis >> >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From l.a.pereira at uol.com.br Wed Dec 9 10:34:33 2009 From: l.a.pereira at uol.com.br (l.a.pereira) Date: Wed, 9 Dec 2009 13:34:33 -0200 Subject: [Insight-users] DICOM measures In-Reply-To: <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> References: <4b1f875688625_5248a437bf01c8@weasel1.tmail> <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> Message-ID: <4b1fc389e6eb3_57f0a437bf0764@weasel1.tmail> An HTML attachment was scrubbed... URL: From l.a.pereira at uol.com.br Wed Dec 9 10:42:27 2009 From: l.a.pereira at uol.com.br (l.a.pereira) Date: Wed, 9 Dec 2009 13:42:27 -0200 Subject: [Insight-users] DICOM measures In-Reply-To: References: <4b1f875688625_5248a437bf01c8@weasel1.tmail> <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> Message-ID: <4b1fc56338592_6f46a437bf05b6@weasel1.tmail> An HTML attachment was scrubbed... URL: From luis.ibanez at kitware.com Wed Dec 9 10:54:37 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 9 Dec 2009 10:54:37 -0500 Subject: [Insight-users] problem installing itk In-Reply-To: References: Message-ID: Hi Pooja, Thanks for letting us know. I managed to reproduce the warning message that you are seeing. You can temporarily fix it by adding the line: CMAKE_POLICY(SET CMP0011 OLD) to line 48 of the file: wrapitk-0.3.0/ConfigureWrapping.cmake Once you make that change, the configuration process should proceed smoothly. Thanks for reporting this issue. Luis ------------------------------------------------------------------------ On Wed, Dec 9, 2009 at 10:20 AM, Pooja Chatterjee wrote: > Hi Luis, > ???????????? Thank you so much for replying. The version of Cmake is > cmake version 2.6-patch 4 > > Thanks > Pooja > > On Wed, Dec 9, 2009 at 9:30 AM, Luis Ibanez wrote: >> >> Hi Pooja, >> >> >> ? ? ? ? ? ? ? ? ? ?Welcome to ITK ! >> >> >> Please post to the list, the version of CMake >> that you are using. >> >> ?You can get this with the following command: >> >> ? ? ? ? ? ? ? ? ? ? ? ?cmake --version >> >> >> ? ?Thanks >> >> >> ? ? ? ? ? Luis >> >> >> >> ---------------------------------------------------------- >> On Tue, Dec 8, 2009 at 11:15 AM, Pooja Chatterjee >> wrote: >> > Hi!! >> > ??? I'm new to itk and MAC OS and I'm having some problems installing >> > it. >> > While configuring cmake I get the following error: >> > ?CMake Warning (dev) at CMakeLists.txt:128 (INCLUDE): >> > ? Policy CMP0011 is not set: Included scripts do automatic cmake_policy >> > PUSH >> > ?and POP.? Run "cmake --help-policy CMP0011" for policy details.? Use >> > the >> > ?make_policy command to set the policy and suppress this warning. >> > >> > ?? The included script >> > >> > ???? /Users/pooja/Sources/wrapitk-0.3.0/ConfigureWrapping.cmake >> > >> > ?? affects policy settings.? CMake is implying the NO_POLICY_SCOPE >> > option >> > for >> > ?? compatibility, so the effects are applied to the including context. >> > ?This warning is for project developers.? Use -Wno-dev to suppress it. >> > Could anyone help me get round this. >> > Thanks!! >> > Pooja >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> > > > From l.a.pereira at uol.com.br Wed Dec 9 10:57:09 2009 From: l.a.pereira at uol.com.br (l.a.pereira) Date: Wed, 9 Dec 2009 13:57:09 -0200 Subject: [Insight-users] DICOM measures In-Reply-To: <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> References: <4b1f875688625_5248a437bf01c8@weasel1.tmail> <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> Message-ID: <4b1fc8d560667_1b1ea437bf0237@weasel1.tmail> Michael, sorry i'm sending message again, I had problem with first email format. Michael, thanks for reply. My problem is know how tags I need use to calculate original DICOM dimensions x,y,z to milimeters. My application read a DICOM series and create a Volume. After that, the user will work from slices x,y,z obtained from vtkImagePlaneWidget->GetResliceOutput(), so I need to establish a co-relation between vtkImagePlaneWidget->GetResliceOutput() and the original measures of DICOM Series in milimeters. I analised you code but I did not understand it. Em 09/12/2009 11:13, michiel mentink < michael.mentink at st-hughs.ox.ac.uk > escreveu: Hi Luis, try example Examples/IO/DicomSeriesReadPrintTags.cxx. It prints the most important tags. It is described in the itk software guide paragraph 7.12.6 You can also see those tags summarized on my page on: https://sites.google.com/site/michielmentink/programming/itk/image-translate (on the bottom). greets, Michael On 12/9/09, l.a.pereira wrote: Hi, I'm reading a DICOM series with GDCMImageIO. Now, I need obtain the measures of this DICOM series to convert it in milimeters. How can I do it ? There is some tags in DICOM header where I can calculate/convert this measures to milimeters ? Thanks, ? Luis ? _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.html Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-users From l.a.pereira at uol.com.br Wed Dec 9 11:00:08 2009 From: l.a.pereira at uol.com.br (l.a.pereira) Date: Wed, 9 Dec 2009 14:00:08 -0200 Subject: [Insight-users] DICOM measures In-Reply-To: References: <4b1f875688625_5248a437bf01c8@weasel1.tmail> <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> Message-ID: <4b1fc9888b14f_2047a437bf02dc@weasel1.tmail> Luis, sorry i'm sending message again, I had problem with first email format. Luis, thanks for reply. My problem is know how tags I need use to calculate original DICOM dimensions x,y,z to milimeters. I believe that if I get the total physical extend image I will solve my problem. My application read a DICOM series and create a Volume. After that, the user will work from slices x,y,z obtained from vtkImagePlaneWidget->GetResliceOutput(), so I need to establish a co-relation between vtkImagePlaneWidget->GetResliceOutput() and the original measures of DICOM Series in milimeters. Em 09/12/2009 13:27, Luis Ibanez < luis.ibanez at kitware.com > escreveu: Hi Luis, Could you please be more specific regarding what you call "measures" ? Are you referring to the total physical extent of the image ? (e.g. the volume of space that is occupied by the image). or are you referring to measuring distances between pairs of pixels in the image ? If you are talking about the second case, then what you want to do is to take the indices of both pixels. (let's call them index1 and index2) and do the following: const ImageType * image = reader->GetInput(); ImageType::PointType point1; ImageType::PointType point2; image->TransformIndexToPhysicalPoint( index1, point1 ); image->TransformIndexToPhysicalPoint( index2, point2 ); const double distance = point1.EuclideanDistanceTo( point2 ); That value of "distance" will be measured in millimeters, which is the default unit in DICOM, When the indices are converted to physical points, the computation process will take into account: A) The coordinates of the image Origin B) The values of pixel spacing C) The orientation (direction) of the image The resulting value of "distance" will therefore be in the units of physical space. As Michiel pointed out, the values of (A), (B) and (C) are defined in the DICOM tags. If you are curious about the values, you could also print them out with reader->Update(); const ImageType * image = reader->GetInput(); std::cout << image->GetOrigin() << std::endl; std::cout << image->GetSpacing() << std::endl; std::cout << image->GetDirection() << std::endl; --- If you were talking about other type of "measures", please, describe them in detail. Thanks, Luis ------------------------------------------------------------------------------------------ On Wed, Dec 9, 2009 at 8:13 AM, michiel mentink wrote: > Hi Luis, > > try example Examples/IO/DicomSeriesReadPrintTags.cxx. > It prints the most important tags. > > It is described in the itk software guide paragraph 7.12.6 > You can also see those tags summarized on my page on: > https://sites.google.com/site/michielmentink/programming/itk/image-translate > (on the bottom). > > greets, > > Michael > > On 12/9/09, l.a.pereira wrote: >> >> Hi, >> >> I'm reading a DICOM series with GDCMImageIO. >> >> Now, I need obtain the measures of this DICOM series to convert it in >> milimeters. >> >> How can I do it ? >> >> There is some tags in DICOM header where I can calculate/convert this >> measures to milimeters ? >> >> Thanks, >> >> >> >> Luis >> >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From adityargupta at gmail.com Wed Dec 9 11:14:33 2009 From: adityargupta at gmail.com (Gupt) Date: Wed, 9 Dec 2009 08:14:33 -0800 (PST) Subject: [Insight-users] Interpolation Volume In-Reply-To: References: <26614974.post@talk.nabble.com> <26685129.post@talk.nabble.com> <26700914.post@talk.nabble.com> Message-ID: <26712924.post@talk.nabble.com> Hello Luis, I'm using the ImageSeriesReadWrite example from ITK User guide. I'm reading a set of 2d png images and writing to a 3d file. Irene280052.png to Irene280061.png - grayscale images of size 131 X141. With the program below, at the command prompt I call the program with parameters >>ImageReadWrite 52 61 out1.mhd. Program: #include "itkImage.h" #include "itkImageSeriesReader.h" #include "itkImageFileWriter.h" #include "itkNumericSeriesFileNames.h" #include "itkPNGImageIO.h" int main( int argc, char ** argv ) { // Verify the number of parameters in the command line if( argc < 4 ) { std::cerr << "Usage: " << std::endl; std::cerr << argv[0] << " firstSliceValue lastSliceValue outputImageFile " << std::endl; return EXIT_FAILURE; } typedef unsigned char PixelType; const unsigned int Dimension = 3; typedef itk::Image< PixelType, Dimension > ImageType; typedef itk::ImageSeriesReader< ImageType > ReaderType; typedef itk::ImageFileWriter< ImageType > WriterType; ReaderType::Pointer reader = ReaderType::New(); WriterType::Pointer writer = WriterType::New(); const unsigned int first = atoi( argv[1] ); const unsigned int last = atoi( argv[2] ); const char * outputFilename = argv[3]; typedef itk::NumericSeriesFileNames NameGeneratorType; NameGeneratorType::Pointer nameGenerator = NameGeneratorType::New(); nameGenerator->SetSeriesFormat( "Irene2800%02d.png" ); nameGenerator->SetStartIndex( first ); nameGenerator->SetEndIndex( last ); nameGenerator->SetIncrementIndex( 1 ); reader->SetImageIO( itk::PNGImageIO::New() ); reader->SetFileNames( nameGenerator->GetFileNames() ); writer->SetFileName( outputFilename ); writer->SetInput( reader->GetOutput() ); try { writer->UpdateLargestPossibleRegion(); writer->Update(); } catch( itk::ExceptionObject & err ) { std::cerr << "ExceptionObject caught !" << std::endl; std::cerr << err << std::endl; return EXIT_FAILURE; } return EXIT_SUCCESS; } The images are the slices of the heart which I converted from DICOM to png and did some image processing operations - improving resolution, resizing. Is the problem related to the images I'm using? Thanks. Regards, Gupt Luis Ibanez wrote: > > Hi Gupt, > > We are talking about two different problems here. > > In your previous email, we dealt with a Reading problem > that happens when a reader is reused for loading images > of different sizes. > > That seems to have been fixed with the use of method > > reader->UpdateLargestPossibleRegion(). > > ... > > Now, we seem to be dealing with a problem in the output > of your program. > > Please tell us what happens in the middle (between the > reader and the writer). > > Are you simply reading a series of 2D images, and then > writing them out right away ? > > > If your program is a single file (source code), and if it is not > too long (less than 30Kb), it will be very helpful if you can > post your source code to the mailing list. > > > Thanks > > > Luis > > > ------------------------------ > On Tue, Dec 8, 2009 at 4:17 PM, Gupt wrote: >> >> Hello Luis, >> >> Using UpdateLargestPossibleRegion() didn't give me the error for one set >> of >> slices but the mhd (raw and hdr) file created had errors. When I try to >> open >> the volume using MRIcro, I get the error - >> >> Unknown image format, and file size smaller than described in 'Header >> Information' panel. >> >> I also tried using ITK SNAP but am unable to open the file. >> >> When I re-run the program for a different set of slices, I get the error >> described in my last post - "Largest possible region ?does not fully >> contain >> requested paste IO regionPaste IO region:..." >> >> Thank you for your help. >> >> Regards, >> Gupt >> >> Luis Ibanez wrote: >>> >>> Hi Gupt, >>> >>> This error is usually produced when you attempt to "reuse" a >>> reader to load two images of different size, one after another. >>> >>> For example: >>> >>> ? ? reader->SetFileName("myImage1.mhd"); >>> ? ? reader->Update(); >>> >>> ? ? reader->SetFileName("myImage2.mhd"); >>> ? ? reader->Update(); >>> >>> >>> The simple solution is to call "UpdateLargestPossibleRegion()" >>> instead of calling the typical "Update()" method. >>> >>> So your code your look more like: >>> >>> >>> ? ? reader->SetFileName("myImage1.mhd"); >>> ? ? reader->UpdateLargestPossibleRegion(); >>> >>> ? ? reader->SetFileName("myImage2.mhd"); >>> ? ? reader->UpdateLargestPossibleRegion(); >>> >>> >>> Please let us know if that helps, >>> >>> >>> ? ? ?Thanks >>> >>> >>> ? ? ? ? ? Luis >>> >>> >>> -------------------------------------------------------------------------------------------------------- >>> On Mon, Dec 7, 2009 at 5:11 PM, Gupt wrote: >>>> >>>> Hello, >>>> >>>> I'm working with ImageSeriesReadWrite.cxx example from ITK user guide. >>>> I'm >>>> trying to build the 3d volume from a set of 2d mri images - >>>> file280054.jpg >>>> to file280062.jpg. But I'm receiving the following error: >>>> >>>> ExceptionObject Caught! >>>> >>>> itk:ExceptionObject <0134F560> >>>> itk::Location: "void __thiscall itk::ImageFileWriter>>> itk::Image>>> char,3> >::Write(void)" >>>> File: c:\itk\insight_toolkit\code\io\itkImageFileWriter.txx >>>> Line: 271 >>>> Description: itk::ERROR: ImageFileWriter(01934508): Largest possible >>>> region >>>> does not fully contain requested paste IO regionPaste IO region: >>>> ImageIORegion (0134F998) >>>> ?Dimension: 3 >>>> ?Index: 0 0 0 >>>> ?Size: 0 0 0 >>>> Largest possible region: ImageRegion (0134FA4C) >>>> ?Dimension: 3 >>>> ?Index: [0, 0, 0] >>>> ?Size: [0, 0, 0] >>>> >>>> Thanks for your help. >>>> >>>> Gupt >>>> >>>> >>>> >>>> >>>> Luis Ibanez wrote: >>>>> >>>>> Hi Gupt, >>>>> >>>>> We no longer make any difference between a sequence of 2D slices >>>>> and a 3D volume... unless.... they are not aligned, or... the spacing >>>>> in >>>>> the inter-slice direction is more than 5 times the intra-slice >>>>> spacing. >>>>> >>>>> >>>>> If you have segmentations for all the 2D slices, you can simply load >>>>> them >>>>> all into a single 3D image using an ImageSeriesReader, and then you >>>>> can process it as a 3D volume. ?More specifically, you can proceed to >>>>> compute its volume by using the LabelStatisticsImageFilter. >>>>> >>>>> >>>>> ? ? ?Regards, >>>>> >>>>> >>>>> ? ? ? ? ? ?Luis >>>>> >>>>> >>>>> -------------------------------- >>>>> On Mon, Dec 7, 2009 at 12:10 PM, Aditya Gupta >>>>> wrote: >>>>>> Hello Luis, >>>>>> >>>>>> Thanks for the reply. In continuation to my previous question... So >>>>>> using >>>>>> the stack of 2d MRI slices, I've a certain segmentation on each of >>>>>> the >>>>>> slices and using the segmented output I've built a surface model and >>>>>> now >>>>>> I've incorporated the intensities of the slices in the surface model. >>>>>> Now, >>>>>> I'm interested to find the volume of the segmented region. So, using >>>>>> the >>>>>> segmented outputs from the various slices, I want to reconstruct a >>>>>> volume, >>>>>> compute and finally visualize the volume. Can you give me a start on >>>>>> how >>>>>> I >>>>>> can proceed? Is it possible to build a 3d volume (not surface model) >>>>>> from >>>>>> a >>>>>> stack of 2d slices (only one axial view not 3 views)? Are there any >>>>>> standard >>>>>> algorithms being used for construction of 3d volumes from 2d slices? >>>>>> >>>>>> Appreciate your help in this matter. >>>>>> >>>>>> Regards, >>>>>> Gupt >>>>>> >>>>>> On Wed, Dec 2, 2009 at 7:07 PM, Luis Ibanez >>>>>> wrote: >>>>>>> >>>>>>> Hi ?Gupt, >>>>>>> >>>>>>> >>>>>>> Yes, just do the following: >>>>>>> >>>>>>> >>>>>>> A) Load the 2D slices into a single 3D image using the >>>>>>> ? ? itk::ImageSeriesReader, >>>>>>> >>>>>>> >>>>>>> B) Connect the image an ImageInterpolator >>>>>>> ? ? The typical choice is the itkLinearImageInterpolateFunction >>>>>>> class, >>>>>>> ? ? (but you can also use NearestNeighbors, BSpline and >>>>>>> ? ? ?WindowedSinc, it is a trade-off between computation time and >>>>>>> ? ? ?interpolation precision) >>>>>>> >>>>>>> >>>>>>> C) Take all the points from your surface model and for every >>>>>>> ? ? point call the method: >>>>>>> >>>>>>> ? ? ? PixelType ?pixelValue = ? ?Interpolator->Evaluate( point ) >>>>>>> >>>>>>> ? ?and then assign that pixel value to the corresponding point >>>>>>> ? ?in the surface model. >>>>>>> >>>>>>> >>>>>>> >>>>>>> ?Please let us know if you run into any problem. >>>>>>> >>>>>>> >>>>>>> ? ? ? Thanks >>>>>>> >>>>>>> >>>>>>> ? ? ? ? ?Luis >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------ >>>>>>> On Wed, Dec 2, 2009 at 2:35 PM, Gupt wrote: >>>>>>> > >>>>>>> > I've a stack of 2d cardiac mri images in single view. I've written >>>>>>> the >>>>>>> > code >>>>>>> > to do a surface reconstruction of the left ventricle wall of the >>>>>>> heart >>>>>>> > (looks like a hollow cylinder). Is there a method/ function to >>>>>>> > incorporate >>>>>>> > the intensity information (in the 2d slices) in to the model, like >>>>>>> some >>>>>>> > kind >>>>>>> > of interpolation to obtain intensity between the slices? Thanks >>>>>>> for >>>>>>> the >>>>>>> > help. >>>>>>> > -- >>>>>>> > View this message in context: >>>>>>> > >>>>>>> http://old.nabble.com/Interpolation-Volume-tp26614974p26614974.html >>>>>>> > Sent from the ITK - Users mailing list archive at Nabble.com. >>>>>>> > >>>>>>> > _____________________________________ >>>>>>> > Powered by www.kitware.com >>>>>>> > >>>>>>> > Visit other Kitware open-source projects at >>>>>>> > http://www.kitware.com/opensource/opensource.html >>>>>>> > >>>>>>> > Kitware offers ITK Training Courses, for more information visit: >>>>>>> > http://www.kitware.com/products/protraining.html >>>>>>> > >>>>>>> > Please keep messages on-topic and check the ITK FAQ at: >>>>>>> > http://www.itk.org/Wiki/ITK_FAQ >>>>>>> > >>>>>>> > Follow this link to subscribe/unsubscribe: >>>>>>> > http://www.itk.org/mailman/listinfo/insight-users >>>>>>> > >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Regards, >>>>>> Aditya Gupta, Ph.D. >>>>>> Post Doc Researcher >>>>>> UCF Computer Vision Lab >>>>>> Orlando, FL >>>>>> O: (407) 882 0130 >>>>>> M: (407) 451 7735 >>>>>> >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.html >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://old.nabble.com/Interpolation-Volume-tp26614974p26685129.html >>>> Sent from the ITK - Users mailing list archive at Nabble.com. >>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >>> >> >> -- >> View this message in context: >> http://old.nabble.com/Interpolation-Volume-tp26614974p26700914.html >> Sent from the ITK - Users mailing list archive at Nabble.com. >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://old.nabble.com/Interpolation-Volume-tp26614974p26712924.html Sent from the ITK - Users mailing list archive at Nabble.com. From lynx.abraxas at freenet.de Wed Dec 9 11:52:10 2009 From: lynx.abraxas at freenet.de (lynx.abraxas at freenet.de) Date: Wed, 9 Dec 2009 17:52:10 +0100 Subject: [Insight-users] How to get a progess from an iterator? In-Reply-To: References: <20091204111233.GA2886@drago> <20091206220814.GA2746@drago> <20091208200928.GA2313@drago> Message-ID: <20091209165210.GA2104@drago> On 09/12/09 09:51:12, Luis Ibanez wrote: > Hi Lynx, > > Some compilers will warn you about uninitialized objects. > > In GCC you could use the flag : -Wuninitialized > > that is one of the options turned on with : -Wall > > http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html > > Note that you have to use it in combination with -O. Thanks again Luis for Your answer. I'm sorry I forgot to paste the code (it's from the users guide). If I compile const unsigned int Dimension = 3; typedef itk::Image ImageType; typedef itk::Image OImageType; typedef itk::ConstShapedNeighborhoodIterator ShapedNeighborhoodIteratorType; typedef itk::ImageRegionIterator IteratorType; typedef itk::ImageRegionIterator OIteratorType; OIteratorType out; . . . for ( fit=faceList.begin(); fit != faceList.end(); ++fit){ ShapedNeighborhoodIteratorType it( radius, reader->GetOutput(), *fit ); it.OverrideBoundaryCondition(&BC); // assign the boundary condition out = OIteratorType( output, *fit ); // Creates a circular structuring element by activating all the pixels less // than radius distance from the center of the neighborhood. ShapedNeighborhoodIteratorType::OffsetType off; for (float y = -rad; y <= rad; y++){ for (float x = -rad; x <= rad; x++){ float dis = vcl_sqrt( x*x + y*y); if (dis <= rad){ off[0] = static_cast(x); off[1] = static_cast(y); it.ActivateOffset(off); //if segfaults comment this! Why??? } } this with: [100%] Building CXX object CMakeFiles/mean_masked02.dir/mean_masked02.cxx.o /usr/local/bin/c++ -O -Wall -I/usr/local/include/InsightToolkit/Numerics/Statistics/ -ftemplate-depth-50 -Wall -Wno-deprecated -I/usr/local/include -I/usr/local/include/InsightToolkit/Review/Statistics -I/usr/local/include/InsightToolkit/Review -I/usr/local/include/InsightToolkit/Patented -I/usr/local/include/InsightToolkit/gdcm/src -I/usr/local/include/InsightToolkit/gdcm -I/usr/local/include/InsightToolkit/Utilities/vxl/core -I/usr/local/include/InsightToolkit/Utilities/vxl/vcl -I/usr/local/include/InsightToolkit/Utilities/vxl/v3p/netlib -I/usr/local/include/InsightToolkit/Utilities -I/usr/local/include/InsightToolkit/Utilities/itkExtHdrs -I/usr/local/include/InsightToolkit/Utilities/nifti/znzlib -I/usr/local/include/InsightToolkit/Utilities/nifti/niftilib -I/usr/local/include/InsightToolkit/Utilities/expat -I/usr/local/include/InsightToolkit/Utilities/DICOMParser -I/usr/local/include/InsightToolkit/Utilities/NrrdIO -I/usr/local/include/InsightToolkit/Utilities/MetaIO -I/usr/local/include/InsightToolkit/SpatialObject -I/usr/local/include/InsightToolkit/Numerics/NeuralNetworks -I/usr/local/include/InsightToolkit/Numerics/FEM -I/usr/local/include/InsightToolkit/IO -I/usr/local/include/InsightToolkit/Numerics -I/usr/local/include/InsightToolkit/Common -I/usr/local/include/InsightToolkit/BasicFilters -I/usr/local/include/InsightToolkit/Algorithms -I/usr/local/include/InsightToolkit -I/net/home/ftd/localusr/lib/InsightToolkit -o CMakeFiles/mean_masked02.dir/mean_masked02.cxx.o -c /home/lynx/itk/simple/mean_masked02.cxx Linking CXX executable mean_masked02 /usr/local/bin/cmake -E cmake_link_script CMakeFiles/mean_masked02.dir/link.txt --verbose=1 /usr/local/bin/c++ -O -Wall -I/usr/local/include/InsightToolkit/Numerics/Statistics/ -ftemplate-depth-50 -Wall -Wno-deprecated CMakeFiles/mean_masked02.dir/mean_masked02.cxx.o -o mean_masked02 -rdynamic -L/usr/local/lib/InsightToolkit -lITKAlgorithms -lITKIO -lITKStatistics -litkNetlibSlatec -lITKNumerics /usr/local/lib/libfftw3.a -lITKNrrdIO -litkgdcm -litkjpeg8 -litkjpeg12 -litkjpeg16 -litkopenjpeg /usr/local/lib/libuuid.so /usr/local/lib/libpng.so /usr/local/lib/libtiff.so -lITKSpatialObject -lITKCommon -litkvnl_inst -litkvnl_algo -litkv3p_netlib -litkvnl -litkvcl -lm -lpthread -lITKMetaIO -litksys -ldl -lITKDICOMParser -lITKEXPAT -lITKniftiio -lITKznz -lz -lm -Wl,-rpath,/usr/local/lib/InsightToolkit:/usr/local/lib I don't get any error at compile time but the program segfaults because the third dimension was not initialized. If I change it to this: for (float z = -rad; z <= rad; z++){ for (float y = -rad; y <= rad; y++){ for (float x = -rad; x <= rad; x++){ float dis = vcl_sqrt( x*x + y*y + z*z); if (dis <= rad){ off[0] = static_cast(x); off[1] = static_cast(y); off[2] = static_cast(z); it.ActivateOffset(off); //if segfaults comment this! Why??? //because 3 dim (z, off[2]) was missing!!!!!!! } } } } all is fine. > About your second question: > > Could you please post a more precise example of > what you would like to do for initializing a > ShapedNeighborhoodIterator in 2D and/or 3D ? I mean the above initialization of the active neighbours. For 2D there must be only two for-loops for 3D input it needs three loops. I don't know how I could create a template function of this for the use as in: > > int main( int argc, char *argv[] ){ > > > > if ( argc < 8 ){ > > std::cerr << "Missing parameters. " << std::endl; > > std::cerr << "Usage: " << std::endl; > > std::cerr << argv[0] > > << "ImageDimension inputImageFile outputImageFile element_radius foreground background maskground" > > << std::endl; > > return -1; > > } > > > > unsigned int dim; > > > > dim= atoi(argv[1]); > > argv++; //shift(); > > argc--; > > > > switch(dim) > > { > > case 2: > > masked_mean_filter<2>( argc, argv ); > > break; > > case 3: > > masked_mean_filter<3>( argc, argv ); > > break; > > default: > > std::cerr << "Unsupported dimension" << std::endl; > > exit( EXIT_FAILURE ); > > } > > } > > Is there any way to do so? Many thanks, Lynx From luis.ibanez at kitware.com Wed Dec 9 12:23:31 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 9 Dec 2009 12:23:31 -0500 Subject: [Insight-users] Problem in visualization of the deformation field using vtk In-Reply-To: References: Message-ID: Hi Vidhya, Thanks for posting the .vtk file with the deformation field and the screen shot of the visualization that you get so far. I did the following: 1) Loaded your .vtk file in ParaView, 2) Use the "Calculator" in order to compose the new image: scalars_X*iHat + scalars_Y*jHat that yields an image of 3 components. 3) Then use the Glyph filter , and select Glyph type : "2D Glyph" that opens a new frame with sub-options, in which I selected : "Glyph type" = "Arrow" That produces the attached visualization. In short, I believe, that even if you are generating a 2D deformation field visualization, you still need to provide an image with 3 components. Regards, Luis --------------------------------------------------------------------- On Tue, Dec 8, 2009 at 11:17 AM, vidhyadhari wrote: > Thanx for the reply. But I'm afraid, its not working. i am sending the > input .vtk file and a screenshot of the output in the attachment of > this email. Please point me towards the probable mistakes that i have > made. > > regards, > Vidhya > > On Tue, Dec 8, 2009 at 6:52 PM, Luis Ibanez wrote: >> Hi Vidhayadhari >> >> >> Since you are doing this in 2D, >> >> You may want to replace the vtkArrowSource (as the Glyph source) >> with the vtkGlyphSource2D class: >> >> http://www.vtk.org/doc/release/4.0/html/classvtkGlyphSource2D.html >> >> and to set it to produce arrows, by calling its method: >> >> ? ? ? ? ? ? ? ? ? ? SetGlyphTypeToArrow () >> >> >> ? ? Regards, >> >> >> ? ? ? ? ?Luis >> >> >> -------------------------------------------------------------------------------------- >> On Tue, Dec 8, 2009 at 5:00 AM, vidhyadhari wrote: >>> hi, >>> ? I am new to ITK. I have a problem in visualization of the >>> deformation field from a .vtk file using vtk. The following is my code >>> ----------------------------------------------------------------------------------------------- >>> >>> int main( int argc, char **argv ) >>> { ?const unsigned int ImageDimension = 2; >>> ?typedef float PixelType; >>> >>> ?typedef itk::Vector < float, ImageDimension > VectorType; >>> ?typedef itk::Image ImageType; >>> ?typedef itk::ImageFileReader < ImageType > FieldReaderType; >>> >>> ?FieldReaderType::Pointer reader = FieldReaderType::New (); >>> ?reader->SetFileName( argv[1] ); >>> ?reader->Update(); >>> >>> ?typedef itk::VTKImageExport< ImageType > ExportFilterType; >>> ?ExportFilterType::Pointer itkExporter = ExportFilterType::New(); >>> >>> ?itkExporter->SetInput( reader->GetOutput() ); >>> >>> ?vtkImageImport* vtkImporter = vtkImageImport::New(); >>> ?ConnectPipelines(itkExporter, vtkImporter); >>> >>> ?vtkArrowSource *arrow = vtkArrowSource::New(); >>> ?vtkMaskPoints *masker = vtkMaskPoints::New(); >>> >>> ?masker->SetOnRatio( 1000 ); >>> ?masker->RandomModeOff(); >>> ?masker->SetInputConnection( vtkImporter->GetOutputPort() ); >>> >>> ?vtkGlyph2D *glyph = vtkGlyph2D::New(); >>> ?glyph->SetInputConnection( masker->GetOutputPort() ); >>> ?glyph->SetSourceConnection( arrow->GetOutputPort() ); >>> ?glyph->SetVectorModeToUseVector(); >>> ?glyph->SetColorModeToColorByScalar(); >>> ?glyph->SetScaleModeToDataScalingOff(); >>> ?glyph->OrientOn(); >>> ?glyph->SetScaleFactor( 0.2 ); >>> >>> ?vtkPolyDataMapper *glyphmapper = vtkPolyDataMapper::New(); >>> ?glyphmapper->SetInputConnection(glyph->GetOutputPort()); >>> ?glyphmapper->ScalarVisibilityOn(); >>> >>> ? vtkActor *glyphactor = vtkActor::New(); >>> ? glyphactor->SetMapper(glyphmapper); >>> >>> ? vtkRenderer *renderer = vtkRenderer::New(); >>> ? vtkRenderWindow *renWin = vtkRenderWindow::New(); >>> ? renWin->AddRenderer(renderer); >>> >>> ? vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); >>> ? iren->SetRenderWindow(renWin); >>> >>> ?renderer->AddActor(glyphactor); >>> ?renderer->SetBackground(0,0,0); >>> ?renderer->ResetCamera(); >>> ?renderer->GetActiveCamera()->Elevation(60.0); >>> ?renderer->GetActiveCamera()->Azimuth(30.0); >>> ?renderer->GetActiveCamera()->Zoom(1.25); >>> ?renWin->SetSize(100,100); >>> >>> >>> ?renWin->Render(); >>> ?iren->Start(); >>> >>> ?renderer->Delete(); >>> ?renWin->Delete(); >>> ?iren->Delete(); >>> >>> ?return 0; >>> } >>> >>> >>> void ConnectPipelines(ITK_Exporter exporter, VTK_Importer* importer) >>> { >>> >>> importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback()); >>> >>> importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback()); >>> ?importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback()); >>> ?importer->SetSpacingCallback(exporter->GetSpacingCallback()); >>> ?importer->SetOriginCallback(exporter->GetOriginCallback()); >>> ?importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback()); >>> >>> importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback()); >>> >>> importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback()); >>> ?importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback()); >>> ?importer->SetDataExtentCallback(exporter->GetDataExtentCallback()); >>> ?importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback()); >>> ?importer->SetCallbackUserData(exporter->GetCallbackUserData()); >>> } >>> >>> ------------------------------------------------------------- >>> >>> I get a set of white arrows along some diagonal which remains same >>> even if I change the input file. Could you please give me some >>> suggestions on how to view the deformation field using vtk. >>> >>> regards, >>> vidhyadhari. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > -------------- next part -------------- A non-text attachment was scrubbed... Name: VectorField.png Type: image/png Size: 15678 bytes Desc: not available URL: From zallen at wheelinghospital.com Wed Dec 9 14:17:48 2009 From: zallen at wheelinghospital.com (URI) Date: Wed, 9 Dec 2009 11:17:48 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> References: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> <1260249421245-4130570.post@n2.nabble.com> <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> <1260309558165-4135682.post@n2.nabble.com> <4db4735c0912081412t3181c0d9n428ebaf31daaed7a@mail.gmail.com> <1260312364762-4135988.post@n2.nabble.com> <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> <1260349208955-4138201.post@n2.nabble.com> <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> Message-ID: <1260386268650-4141382.post@n2.nabble.com> Bill_ I am using CMake 2.8. I did everything up to step 8. When I hit "Configure" I get the exact same errors as before: ============================================ CMake Error at Common/CMakeLists.txt:164 (INSTALL): install TARGETS given no ARCHIVE DESTINATION for static library target "ITKCommon". CMake Error at Numerics/CMakeLists.txt:48 (INSTALL): install TARGETS given no ARCHIVE DESTINATION for static library target "ITKNumerics". CMake Error at Numerics/Statistics/CMakeLists.txt:22 (INSTALL): install TARGETS given no ARCHIVE DESTINATION for static library target "ITKStatistics". CMake Error at Numerics/FEM/CMakeLists.txt:170 (INCLUDE): include could not find load file: /CMake/itkCheckCXXAcceptsFlags.cmake CMake Error at Numerics/FEM/CMakeLists.txt:171 (itkCHECK_CXX_ACCEPTS_FLAGS): Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". ============================================ When I Show Advanced Values there is no CMAKE_MAKE_COMMAND. The only thing that's close is CMAKE_MAKE_PROGRAM and it is set to C:/msys/1.0/bin/make.exe Could it be some setting left over from my previous attempts to configure? For example, my CMAKE_LINKER variable is set to C:/MinGW/bin/ld.exe, and there are several other variables that are pointing to things in my MinGW directory. 2) In the Msys shell: mkdir Insight-mingw 3) Run the windows cmake by clicking cmake. I am currently using cmake 2.6. 4) Where is the source code: Select the path to the Insight source. 5) Where to build the binaries: Select Insight-mingw 6) Configure 7) Select Generator: MSYS Makefiles NOT MinGW Makefiles 8) Configure At this point, you may get errors. DO NOT exit cmake. Check the Show Advanced Values in the cmake panel. Look for the variable CMAKE_MAKE_COMMAND. It must point to the MSYS make, not the MinGW make or another make. Navigate to the msys bin directory and select make. 9) Configure cmake should run fine from here. I think the problem is that we typically have more than one make on our systems. I have cygwin make, msys make mingw make and Borland make. When I configure cmake selects Borland make. because it's in my path. I actually use a ctest script to do my configure, but that's beyond the scope of this e-mail. After this works, check back and we'll go to step 10. Bill -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4141382.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From john.drozd at gmail.com Wed Dec 9 15:03:22 2009 From: john.drozd at gmail.com (John Drozd) Date: Wed, 9 Dec 2009 15:03:22 -0500 Subject: [Insight-users] itkBinaryImageToShapeLabelMapFilter Message-ID: Hi Richard, I don't know if you have time to help me, but I thought I would ask you anyways. If you can't help me, that's ok. As you suggested, I am trying to get a label map using itkBinaryImageToShapeLabelMapFilter, but I am getting zero label objects and I don't know why. In my code below, I perform a connected threshold filter segmentation, then after some casting, I feed the segmentation to an itkBinaryImageToLabelMapFilter, which is then fed to a itkLabelMapToLabelImageFilter, and finally to the itkBinaryImageToShapeLabelMapFilter. Using the deprecated itkRelabelComponentImageFilter, I do get labeled objects, but I would like to get my code working using the itkBinaryImageToShapeLabelMapFilter. Can you see what I am doing wrong? My output is below (the first four outputted lines are from the deprecated itkRelabelComponentImageFilter): ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm 103 142 95 17100 17300 Number of pixel for object 0: 22129 Physical size for object 0: 23901 Number of pixel for object 1: 1 Physical size for object 1: 1.08004 labelMap->GetNumberOfLabelObjects() = 0 My code is below. - Show quoted text - /* to run type: ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm 103 142 95 17100 17300 */ #if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif #ifdef __BORLANDC__ #define ITK_LEAN_AND_MEAN #endif #include "itkConnectedThresholdImageFilter.h" #include "itkImage.h" #include "itkCastImageFilter.h" #include "itkCurvatureFlowImageFilter.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkGDCMImageIO.h" #include "itkVersion.h" #include "itkOrientedImage.h" #include "itkMinimumMaximumImageFilter.h" #include "itkGDCMImageIO.h" #include "itkGDCMSeriesFileNames.h" #include "itkNumericSeriesFileNames.h" #include "itkImageSeriesReader.h" #include "itkImageSeriesWriter.h" #include "itkResampleImageFilter.h" #include "itkShiftScaleImageFilter.h" #include "itkIdentityTransform.h" #include "itkLinearInterpolateImageFunction.h" #include #include "gdcm/src/gdcmFile.h" #include "gdcm/src/gdcmUtil.h" #include //added per attribute_values.cxx #include "itkImageFileReader.h" #include "itkShapeLabelObject.h" #include "itkLabelMap.h" #include "itkBinaryImageToShapeLabelMapFilter.h" //end of added code //ADDED PER WEB PAGE // http://old.nabble.com/Labeling-an-image-and-displaying-results-with-distinguished-levels-of-gray-colors-td26623991.html #include "itkConnectedComponentImageFilter.h" #include "itkRelabelComponentImageFilter.h" //END OF ADDED CODE //added per statistics_relabel.cxx #include "itkStatisticsRelabelImageFilter.h" //end of added code //added per label.cxx #include "itkLabelObject.h" #include "itkLabelMap.h" #include "itkBinaryImageToLabelMapFilter.h" #include "itkLabelMapToLabelImageFilter.h" - Show quoted text - //end of added code int main( int argc, char *argv[]) { if( argc < 7 ) { std::cerr << "Missing Parameters " << std::endl; std::cerr << "Usage: " << argv[0]; std::cerr << " inputImage outputImage seedX seedY seedZ lowerThreshold upperThreshold" << std::endl; return 1; } typedef float InternalPixelType; const unsigned int Dimension = 3; typedef itk::Image< InternalPixelType, Dimension > InternalImageType; typedef signed short OutputPixelType; typedef itk::Image< OutputPixelType, Dimension > OutputImageType; typedef itk::Image< float, Dimension > OutputImageType2; typedef itk::CastImageFilter< InternalImageType, OutputImageType > CastingFilterType; CastingFilterType::Pointer caster = CastingFilterType::New(); const unsigned int ImageDimension = 3; typedef signed short PixelType; typedef itk::Image< PixelType, ImageDimension > FixedImageType; typedef itk::Image< float, ImageDimension > FloatImageType; typedef itk::ImageFileReader< FixedImageType > ReaderType; typedef itk::ImageFileWriter< OutputImageType > WriterType; typedef itk::ImageFileWriter< FloatImageType > WriterType2; ReaderType::Pointer reader = ReaderType::New(); WriterType::Pointer writer = WriterType::New(); WriterType2::Pointer writer2 = WriterType2::New(); typedef itk::GDCMImageIO ImageIOTypefixed; ImageIOTypefixed::Pointer gdcmImageIOfixed = ImageIOTypefixed::New(); reader->SetImageIO( gdcmImageIOfixed ); typedef itk::GDCMImageIO ImageIOTypefixed2; ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = ImageIOTypefixed2::New(); reader->SetFileName( argv[1] ); reader->Update(); typedef itk::CurvatureFlowImageFilter< InternalImageType, InternalImageType > CurvatureFlowImageFilterType; CurvatureFlowImageFilterType::Pointer smoothing = CurvatureFlowImageFilterType::New(); typedef itk::ConnectedThresholdImageFilter< InternalImageType, InternalImageType > ConnectedFilterType; ConnectedFilterType::Pointer connectedThreshold = ConnectedFilterType::New(); typedef signed short InputAPixelType; typedef float OutputBPixelType; typedef itk::Image< InputAPixelType, 3 > InputAImageType; typedef itk::Image< OutputBPixelType, 3 > OutputBImageType; typedef itk::CastImageFilter< InputAImageType, OutputBImageType > CastFilterType; CastFilterType::Pointer castFilter = CastFilterType::New(); castFilter->SetInput( reader->GetOutput() ); connectedThreshold->SetInput( castFilter->GetOutput() ); caster->SetInput( connectedThreshold->GetOutput() ); smoothing->SetNumberOfIterations( 20 ); //was 5 smoothing->SetTimeStep( 0.125 ); const InternalPixelType lowerThreshold = atof( argv[6] ); const InternalPixelType upperThreshold = atof( argv[7] ); connectedThreshold->SetLower( lowerThreshold ); connectedThreshold->SetUpper( upperThreshold ); connectedThreshold->SetReplaceValue( 255 ); InternalImageType::IndexType index; index[0] = atoi( argv[3] ); index[1] = atoi( argv[4] ); //added index[2] = atoi( argv[5] ); // Software Guide : BeginCodeSnippet connectedThreshold->SetSeed( index ); //obtain a 5 x 5 bounding region of seeds int ii, jj, kk; ii = index[0]; jj = index[1]; kk = index[2]; for (int i = ii; i < ii + 5; i++) for (int j = jj; j < jj + 5; j++) for (int k = kk; k < kk + 5; k++) { index[0] = i; index[1] = j; index[2] = k; connectedThreshold->AddSeed( index ); } for (int i = ii; i > ii - 5; i--) for (int j = jj; j > jj - 5; j--) for (int k = kk; k > kk - 5; k--) { index[0] = i; index[1] = j; index[2] = k; connectedThreshold->AddSeed( index ); } typedef itk::MetaDataDictionary DictionaryType; DictionaryType inputdict = reader->GetMetaDataDictionary(); writer->SetMetaDataDictionary( inputdict ); writer->SetFileName( argv[2] ); //ADDED PER WEB PAGE: This deprecated code works // http://old.nabble.com/Labeling-an-image-and-displaying-results-with-distinguished-levels-of-gray-colors-td26623991.html typedef itk::ConnectedComponentImageFilter LabelType2; typedef itk::RelabelComponentImageFilter RelabelType; LabelType2::Pointer labeler = LabelType2::New(); RelabelType::Pointer relabeler = RelabelType::New(); labeler->SetInput(caster->GetOutput()); labeler->Update(); relabeler->SetInput(labeler->GetOutput()); relabeler->Update(); for (unsigned int i=0; iGetNumberOfObjects(); i++) { std::cout<<"Number of pixel for object "<GetSizeOfObjectsInPixels()[i]<GetSizeOfObjectsInPhysicalUnits()[i]< IType; typedef itk::LabelObject< signed short, 3 > LabelObjectTypeD; typedef itk::LabelMap< LabelObjectTypeD > LabelMapTypeD; typedef itk::BinaryImageToLabelMapFilter< OutputImageType, LabelMapTypeD> I2LType; I2LType::Pointer i2l = I2LType::New(); i2l->SetInput( caster->GetOutput() ); i2l->SetFullyConnected( 255 ); //i2l->SetForegroundValue( 100 ); //i2l->SetBackgroundValue( 255 ); //i2l->Update(); i2l->GetOutput()->PrintLabelObjects(); typedef itk::LabelMapToLabelImageFilter< LabelMapTypeD, IType> L2IType; L2IType::Pointer l2i = L2IType::New(); l2i->SetInput( i2l->GetOutput() ); typedef signed short LabelType3; typedef itk::ShapeLabelObject< LabelType3, 3 > LabelObjectType2; typedef itk::LabelMap< LabelObjectType2 > LabelMapType2; typedef itk::BinaryImageToShapeLabelMapFilter< IType, LabelMapType2 > ConverterType; ConverterType::Pointer converter = ConverterType::New(); converter->SetInput( l2i->GetOutput() ); LabelMapType2::Pointer labelMap = converter->GetOutput(); std::cout << "labelMap->GetNumberOfLabelObjects() = " << labelMap->GetNumberOfLabelObjects() << std::endl; writer->SetInput( caster->GetOutput() ); try { writer->Update(); } catch( itk::ExceptionObject & excep ) { std::cerr << "Exception caught !" << std::endl; std::cerr << excep << std::endl; } return 0; } Thanks, john -------------- next part -------------- An HTML attachment was scrubbed... URL: From sarah.waldron11 at yahoo.com Wed Dec 9 15:37:49 2009 From: sarah.waldron11 at yahoo.com (Sarah Waldron) Date: Wed, 9 Dec 2009 12:37:49 -0800 (PST) Subject: [Insight-users] ITK building problem Message-ID: <742519.68634.qm@web112916.mail.gq1.yahoo.com> Hello, I have an source ITK program *.cxx and CMakeLists.txt file. I'm trying to build it, but I don't get the after I do ccmake, and configure, I don't get the line where I'm supposed to set my ITK directory. So when I build the program, by typing make it gives me all these errors. How can I set the ITK directory, if the option doesn't appear in the window? Sarah -------------- next part -------------- An HTML attachment was scrubbed... URL: From daviddoria+itk at gmail.com Wed Dec 9 15:40:03 2009 From: daviddoria+itk at gmail.com (David Doria) Date: Wed, 9 Dec 2009 15:40:03 -0500 Subject: [Insight-users] ITK building problem In-Reply-To: <742519.68634.qm@web112916.mail.gq1.yahoo.com> References: <742519.68634.qm@web112916.mail.gq1.yahoo.com> Message-ID: On Wed, Dec 9, 2009 at 3:37 PM, Sarah Waldron wrote: > Hello, > I have an source ITK program *.cxx and CMakeLists.txt file. I'm trying to > build it, but I don't get the after I do ccmake, and configure, I don't get > the line where I'm supposed to set my ITK directory. So when I build the > program, by typing make it gives me all these errors. How can I set the ITK > directory, if the option doesn't appear in the window? > Sarah > > Do you have these lines in your CMakeLists.txt file? FIND_PACKAGE(ITK REQUIRED) INCLUDE(${ITK_USE_FILE}) Thanks, David -------------- next part -------------- An HTML attachment was scrubbed... URL: From gaetan.lehmann at jouy.inra.fr Wed Dec 9 16:01:34 2009 From: gaetan.lehmann at jouy.inra.fr (=?ISO-8859-1?Q?Ga=EBtan_Lehmann?=) Date: Wed, 9 Dec 2009 22:01:34 +0100 Subject: [Insight-users] itkBinaryImageToShapeLabelMapFilter In-Reply-To: References: Message-ID: <27AED40F-107F-457D-B1D8-93719ECF821E@jouy.inra.fr> Hi, Le 9 d?c. 09 ? 21:03, John Drozd a ?crit : > Hi Richard, > > I don't know if you have time to help me, but I thought I would ask > you anyways. > If you can't help me, that's ok. > > As you suggested, I am trying to get a label map using > itkBinaryImageToShapeLabelMapFilter, > but I am getting zero label objects and I don't know why. > > In my code below, I perform a connected threshold filter > segmentation, then after some casting, I feed the segmentation > to an itkBinaryImageToLabelMapFilter, which is then fed to a > itkLabelMapToLabelImageFilter, and finally to > the itkBinaryImageToShapeLabelMapFilter. This is really _not_ the typical use of those filters. If your segmented image is a binary image, BinaryImageToShapeLabelMapFilter alone should be enough; if it is a label image, LabelImageToShapeLabelMapFilter alone should be enough. > > //ADDED PER WEB PAGE: This deprecated code works > > //http://old.nabble.com/Labeling-an-image-and-displaying-results-with-distinguished-levels-of-gray-colors-td26623991.html > typedef itk::ConnectedComponentImageFilter OutputImageType> LabelType2; > typedef itk::RelabelComponentImageFilter OutputImageType> RelabelType; > > LabelType2::Pointer labeler = LabelType2::New(); > RelabelType::Pointer relabeler = RelabelType::New(); > > labeler->SetInput(caster->GetOutput()); > labeler->Update(); > > relabeler->SetInput(labeler->GetOutput()); > relabeler->Update(); > > for (unsigned int i=0; iGetNumberOfObjects(); i++) > { > std::cout<<"Number of pixel for object "< >GetSizeOfObjectsInPixels()[i]< > std::cout<<"Physical size for object "< >GetSizeOfObjectsInPhysicalUnits()[i]< } > //END OF ADDED CODE > > / > ***************************************************************************/ > //but the code below fails to label the binary image giving zero > label objects > / > ***************************************************************************/ > > typedef itk::Image < signed short, 3 > IType; > > typedef itk::LabelObject< signed short, 3 > LabelObjectTypeD; > typedef itk::LabelMap< LabelObjectTypeD > LabelMapTypeD; > > typedef itk::BinaryImageToLabelMapFilter< OutputImageType, > LabelMapTypeD> I2LType; > I2LType::Pointer i2l = I2LType::New(); > i2l->SetInput( caster->GetOutput() ); > i2l->SetFullyConnected( 255 ); SetFullyConnected() takes a boolean as parameter, so i2l->SetFullyConnected( true ); may be a better practice. Please note also that the connectivity won't usually have an important effect on the result - setting it to true or false can't explain that you have no object at the end. > //i2l->SetForegroundValue( 100 ); This parameter is quite likely to be the important missing one, but is now set with SetInputForegroundValue( value ) Unlike the ConnectedComponentImageFilter, which defines the pixels within the objects as the pixels with a value not equal to 0, BinaryImageTo*LabelMapFilter defines the pixels within the object as the ones with a value equal to InputForegroundValue. I didn't checked the rest of the code, but with the pixel types used and the cast done, the default value is unlikely to be the right one. > //i2l->SetBackgroundValue( 255 ); this is commented, so that's not a problem, but you usually want a background value of 0 in the output LabelMap. > //i2l->Update(); > i2l->GetOutput()->PrintLabelObjects(); This won't print any object if Update() has not been called before - you should uncomment the previous line. Regards, Ga?tan -- Ga?tan Lehmann Biologie du D?veloppement et de la Reproduction INRA de Jouy-en-Josas (France) tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 http://voxel.jouy.inra.fr http://www.itk.org http://www.mandriva.org http://www.bepo.fr -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 203 bytes Desc: Ceci est une signature ?lectronique PGP URL: From bill.lorensen at gmail.com Wed Dec 9 16:15:42 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 9 Dec 2009 16:15:42 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260386268650-4141382.post@n2.nabble.com> References: <4db4735c0912022034k1529c22o7fe77bd9950fe843@mail.gmail.com> <1260249421245-4130570.post@n2.nabble.com> <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> <1260309558165-4135682.post@n2.nabble.com> <4db4735c0912081412t3181c0d9n428ebaf31daaed7a@mail.gmail.com> <1260312364762-4135988.post@n2.nabble.com> <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> <1260349208955-4138201.post@n2.nabble.com> <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> <1260386268650-4141382.post@n2.nabble.com> Message-ID: <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> You should start with a completely empty binary tree. The MinGW programs are OK. Th only one that needs to be in MSYS is make, which looks OK in your case. Did you start with an empty binary directory? On Wed, Dec 9, 2009 at 2:17 PM, URI wrote: > > Bill_ > > I am using CMake 2.8. ?I did everything up to step 8. ?When I hit > "Configure" I get the exact same errors as before: > > ============================================ > CMake Error at Common/CMakeLists.txt:164 (INSTALL): > ?install TARGETS given no ARCHIVE DESTINATION for static library target > ?"ITKCommon". > > > CMake Error at Numerics/CMakeLists.txt:48 (INSTALL): > ?install TARGETS given no ARCHIVE DESTINATION for static library target > ?"ITKNumerics". > > > CMake Error at Numerics/Statistics/CMakeLists.txt:22 (INSTALL): > ?install TARGETS given no ARCHIVE DESTINATION for static library target > ?"ITKStatistics". > > > CMake Error at Numerics/FEM/CMakeLists.txt:170 (INCLUDE): > ?include could not find load file: > > ? ?/CMake/itkCheckCXXAcceptsFlags.cmake > > > CMake Error at Numerics/FEM/CMakeLists.txt:171 (itkCHECK_CXX_ACCEPTS_FLAGS): > ?Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". > ============================================ > > When I Show Advanced Values there is no CMAKE_MAKE_COMMAND. ?The only thing > that's close is CMAKE_MAKE_PROGRAM and it is set to C:/msys/1.0/bin/make.exe > > Could it be some setting left over from my previous attempts to configure? > For example, my CMAKE_LINKER variable is set to C:/MinGW/bin/ld.exe, and > there are several other variables that are pointing to things in my MinGW > directory. > > > > > 2) In the Msys shell: ?mkdir Insight-mingw > 3) Run the windows cmake by clicking cmake. I am currently using cmake 2.6. > 4) Where is the source code: Select the path to the Insight source. > 5) Where to build the binaries: Select Insight-mingw > 6) Configure > 7) Select Generator: MSYS Makefiles > ? ?NOT MinGW Makefiles > 8) Configure > ? ?At this point, you may get errors. DO NOT exit cmake. Check the > Show Advanced Values in the cmake panel. Look for the variable > CMAKE_MAKE_COMMAND. It must point to the MSYS make, not the MinGW make > or another make. Navigate to the msys bin directory and select make. > 9) Configure > ? ?cmake should run fine from here. > > I think the problem is that we typically have more than one make on > our systems. I have cygwin make, msys make mingw make and Borland > make. When I configure cmake selects Borland make. because it's in my > path. I actually use a ctest script to do my configure, but that's > beyond the scope of this e-mail. > > After this works, check back and we'll go to step 10. > > Bill > > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4141382.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Wed Dec 9 16:43:55 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 9 Dec 2009 16:43:55 -0500 Subject: [Insight-users] errors in deformable registration. In-Reply-To: <64fe815c0912091331v23552b8cjc071aaab77095540@mail.gmail.com> References: <64fe815c0912082132k4d081f30l5a971d7dbc0537e8@mail.gmail.com> <64fe815c0912091331v23552b8cjc071aaab77095540@mail.gmail.com> Message-ID: Hi Subarna, Thanks for letting us know that this solved the problem. Luis ------------------------------------------------- On Wed, Dec 9, 2009 at 4:31 PM, Subarna Ghosh wrote: > Thanks a lot! > > I added ITKAlgorithms library?and it worked as well. > > Regards, > Subarna Ghosh. > > On Wed, Dec 9, 2009 at 10:10 AM, Luis Ibanez > wrote: >> >> Hi Subarna, >> >> You are missing to link with the ITKStatistics library. > > >> >> Please, >> >> 1) Edit the CMakeLists.txt file of your project, and >> >> 2) Search for the command >> >> ? ? ? ? ? ? TARGET_LINK_LIBRARIES(... >> >> ? ? and >> >> 3) ?Add to it: ? ? ?ITKStatistics >> >> >> Then: configure, generate and build. >> >> >> ? ? ?Regards, >> >> >> ? ? ? ? ? ?Luis >> >> >> ----------------------------------------------------------- >> On Wed, Dec 9, 2009 at 12:32 AM, Subarna Ghosh >> wrote: >> > Hi all, >> > >> > I get these linking errors when I try to compile DeformableRegistration2 >> > >> > DeformableRegistration.obj : error LNK2019: unresolved external symbol >> > "protected: __thiscall >> > itk::Statistics::DenseFrequencyContainer::DenseFrequencyContainer(void)" >> > (??0DenseFrequencyContainer at Statistics@itk@@IAE at XZ) referenced in >> > function >> > "public: static class itk::SmartPointer> > itk::Statistics::DenseFrequencyContainer> __cdecl >> > itk::Statistics::DenseFrequencyContainer::New(void)" >> > >> > (?New at DenseFrequencyContainer@Statistics at itk@@SA?AV?$SmartPointer at VDenseFrequencyContainer@Statistics at itk@@@3 at XZ) >> > 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol >> > "public: float __thiscall >> > itk::Statistics::DenseFrequencyContainer::GetFrequency(unsigned >> > long)const " >> > (?GetFrequency at DenseFrequencyContainer@Statistics at itk@@QBEMK at Z) >> > referenced >> > in function "public: virtual float __thiscall >> > itk::Statistics::Histogram> > itk::Statistics::DenseFrequencyContainer>::GetFrequency(unsigned long >> > const >> > &)const " >> > >> > (?GetFrequency@?$Histogram at M$00VDenseFrequencyContainer at Statistics@itk@@@Statistics at itk@@UBEMABK at Z) >> > 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol >> > "public: void __thiscall >> > itk::Statistics::DenseFrequencyContainer::SetToZero(void)" >> > (?SetToZero at DenseFrequencyContainer@Statistics at itk@@QAEXXZ) referenced >> > in >> > function "public: void __thiscall >> > itk::Statistics::Histogram> > itk::Statistics::DenseFrequencyContainer>::SetToZero(void)" >> > >> > (?SetToZero@?$Histogram at M$00VDenseFrequencyContainer at Statistics@itk@@@Statistics at itk@@QAEXXZ) >> > 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol >> > "public: bool __thiscall >> > itk::Statistics::DenseFrequencyContainer::IncreaseFrequency(unsigned >> > long,float)" >> > (?IncreaseFrequency at DenseFrequencyContainer@Statistics at itk@@QAE_NKM at Z) >> > referenced in function "public: bool __thiscall >> > itk::Statistics::Histogram> > itk::Statistics::DenseFrequencyContainer>::IncreaseFrequency(unsigned >> > long >> > const &,float)" >> > >> > (?IncreaseFrequency@?$Histogram at M$00VDenseFrequencyContainer at Statistics@itk@@@Statistics at itk@@QAE_NABKM at Z) >> > 1>DeformableRegistration.obj : error LNK2019: unresolved external symbol >> > "public: void __thiscall >> > itk::Statistics::DenseFrequencyContainer::Initialize(unsigned long)" >> > (?Initialize at DenseFrequencyContainer@Statistics at itk@@QAEXK at Z) referenced >> > in >> > function "public: void __thiscall >> > itk::Statistics::Histogram> > itk::Statistics::DenseFrequencyContainer>::Initialize(class itk::Size<1> >> > const &)" >> > >> > (?Initialize@?$Histogram at M$00VDenseFrequencyContainer at Statistics@itk@@@Statistics at itk@@QAEXABV?$Size@$00 at 3@@Z) >> > >> > 1>D:\study\Fall2009\ITK-VTK\Projects\DeformableRegistration\bin\Debug\DeformableRegistration.exe >> > : fatal error LNK1120: 5 unresolved externals >> > >> > Thanks and regards, >> > Subarna Ghosh. >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> > > > From zallen at wheelinghospital.com Wed Dec 9 17:20:13 2009 From: zallen at wheelinghospital.com (URI) Date: Wed, 9 Dec 2009 14:20:13 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> References: <1260249421245-4130570.post@n2.nabble.com> <4db4735c0912080600i23483a4ave788d60f94119a52@mail.gmail.com> <1260309558165-4135682.post@n2.nabble.com> <4db4735c0912081412t3181c0d9n428ebaf31daaed7a@mail.gmail.com> <1260312364762-4135988.post@n2.nabble.com> <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> <1260349208955-4138201.post@n2.nabble.com> <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> <1260386268650-4141382.post@n2.nabble.com> <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> Message-ID: <1260397213902-4142411.post@n2.nabble.com> In my CMake gui the directory that I choose for "Where to build the binaries" is C:/msys/1.0/home/Insight-mingw, which is the directory that I created in step 2) below. It starts out empty but when I hit "Configure" files and folders begin to appear in it. Bill Lorensen wrote: > > You should start with a completely empty binary tree. The MinGW > programs are OK. Th only one that needs to be in MSYS is make, which > looks OK in your case. > > Did you start with an empty binary directory? > > On Wed, Dec 9, 2009 at 2:17 PM, URI wrote: >> >> Bill_ >> >> I am using CMake 2.8. ?I did everything up to step 8. ?When I hit >> "Configure" I get the exact same errors as before: >> >> ============================================ >> CMake Error at Common/CMakeLists.txt:164 (INSTALL): >> ?install TARGETS given no ARCHIVE DESTINATION for static library target >> ?"ITKCommon". >> >> >> CMake Error at Numerics/CMakeLists.txt:48 (INSTALL): >> ?install TARGETS given no ARCHIVE DESTINATION for static library target >> ?"ITKNumerics". >> >> >> CMake Error at Numerics/Statistics/CMakeLists.txt:22 (INSTALL): >> ?install TARGETS given no ARCHIVE DESTINATION for static library target >> ?"ITKStatistics". >> >> >> CMake Error at Numerics/FEM/CMakeLists.txt:170 (INCLUDE): >> ?include could not find load file: >> >> ? ?/CMake/itkCheckCXXAcceptsFlags.cmake >> >> >> CMake Error at Numerics/FEM/CMakeLists.txt:171 >> (itkCHECK_CXX_ACCEPTS_FLAGS): >> ?Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". >> ============================================ >> >> When I Show Advanced Values there is no CMAKE_MAKE_COMMAND. ?The only >> thing >> that's close is CMAKE_MAKE_PROGRAM and it is set to >> C:/msys/1.0/bin/make.exe >> >> Could it be some setting left over from my previous attempts to >> configure? >> For example, my CMAKE_LINKER variable is set to C:/MinGW/bin/ld.exe, and >> there are several other variables that are pointing to things in my MinGW >> directory. >> >> >> >> >> 2) In the Msys shell: ?mkdir Insight-mingw >> 3) Run the windows cmake by clicking cmake. I am currently using cmake >> 2.6. >> 4) Where is the source code: Select the path to the Insight source. >> 5) Where to build the binaries: Select Insight-mingw >> 6) Configure >> 7) Select Generator: MSYS Makefiles >> ? ?NOT MinGW Makefiles >> 8) Configure >> ? ?At this point, you may get errors. DO NOT exit cmake. Check the >> Show Advanced Values in the cmake panel. Look for the variable >> CMAKE_MAKE_COMMAND. It must point to the MSYS make, not the MinGW make >> or another make. Navigate to the msys bin directory and select make. >> 9) Configure >> ? ?cmake should run fine from here. >> >> I think the problem is that we typically have more than one make on >> our systems. I have cygwin make, msys make mingw make and Borland >> make. When I configure cmake selects Borland make. because it's in my >> path. I actually use a ctest script to do my configure, but that's >> beyond the scope of this e-mail. >> >> After this works, check back and we'll go to step 10. >> >> Bill >> >> >> -- >> View this message in context: >> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4141382.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4142411.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Wed Dec 9 17:33:08 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 9 Dec 2009 17:33:08 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260397213902-4142411.post@n2.nabble.com> References: <1260249421245-4130570.post@n2.nabble.com> <1260309558165-4135682.post@n2.nabble.com> <4db4735c0912081412t3181c0d9n428ebaf31daaed7a@mail.gmail.com> <1260312364762-4135988.post@n2.nabble.com> <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> <1260349208955-4138201.post@n2.nabble.com> <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> <1260386268650-4141382.post@n2.nabble.com> <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> <1260397213902-4142411.post@n2.nabble.com> Message-ID: <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> That looks OK. Can you email to me your CMakeCache.txt file? I'll compare it to mine. On Wed, Dec 9, 2009 at 5:20 PM, URI wrote: > > In my CMake gui the directory that I choose for "Where to build the binaries" > is C:/msys/1.0/home/Insight-mingw, which is the directory that I created in > step 2) below. ?It starts out empty but when I hit "Configure" files and > folders begin to appear in it. > > > > > Bill Lorensen wrote: >> >> You should start with a completely empty binary tree. The MinGW >> programs are OK. Th only one that needs to be in MSYS is make, which >> looks OK in your case. >> >> Did you start with an empty binary directory? >> >> On Wed, Dec 9, 2009 at 2:17 PM, URI wrote: >>> >>> Bill_ >>> >>> I am using CMake 2.8. ?I did everything up to step 8. ?When I hit >>> "Configure" I get the exact same errors as before: >>> >>> ============================================ >>> CMake Error at Common/CMakeLists.txt:164 (INSTALL): >>> ?install TARGETS given no ARCHIVE DESTINATION for static library target >>> ?"ITKCommon". >>> >>> >>> CMake Error at Numerics/CMakeLists.txt:48 (INSTALL): >>> ?install TARGETS given no ARCHIVE DESTINATION for static library target >>> ?"ITKNumerics". >>> >>> >>> CMake Error at Numerics/Statistics/CMakeLists.txt:22 (INSTALL): >>> ?install TARGETS given no ARCHIVE DESTINATION for static library target >>> ?"ITKStatistics". >>> >>> >>> CMake Error at Numerics/FEM/CMakeLists.txt:170 (INCLUDE): >>> ?include could not find load file: >>> >>> ? ?/CMake/itkCheckCXXAcceptsFlags.cmake >>> >>> >>> CMake Error at Numerics/FEM/CMakeLists.txt:171 >>> (itkCHECK_CXX_ACCEPTS_FLAGS): >>> ?Unknown CMake command "itkCHECK_CXX_ACCEPTS_FLAGS". >>> ============================================ >>> >>> When I Show Advanced Values there is no CMAKE_MAKE_COMMAND. ?The only >>> thing >>> that's close is CMAKE_MAKE_PROGRAM and it is set to >>> C:/msys/1.0/bin/make.exe >>> >>> Could it be some setting left over from my previous attempts to >>> configure? >>> For example, my CMAKE_LINKER variable is set to C:/MinGW/bin/ld.exe, and >>> there are several other variables that are pointing to things in my MinGW >>> directory. >>> >>> >>> >>> >>> 2) In the Msys shell: ?mkdir Insight-mingw >>> 3) Run the windows cmake by clicking cmake. I am currently using cmake >>> 2.6. >>> 4) Where is the source code: Select the path to the Insight source. >>> 5) Where to build the binaries: Select Insight-mingw >>> 6) Configure >>> 7) Select Generator: MSYS Makefiles >>> ? ?NOT MinGW Makefiles >>> 8) Configure >>> ? ?At this point, you may get errors. DO NOT exit cmake. Check the >>> Show Advanced Values in the cmake panel. Look for the variable >>> CMAKE_MAKE_COMMAND. It must point to the MSYS make, not the MinGW make >>> or another make. Navigate to the msys bin directory and select make. >>> 9) Configure >>> ? ?cmake should run fine from here. >>> >>> I think the problem is that we typically have more than one make on >>> our systems. I have cygwin make, msys make mingw make and Borland >>> make. When I configure cmake selects Borland make. because it's in my >>> path. I actually use a ctest script to do my configure, but that's >>> beyond the scope of this e-mail. >>> >>> After this works, check back and we'll go to step 10. >>> >>> Bill >>> >>> >>> -- >>> View this message in context: >>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4141382.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4142411.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From zallen at wheelinghospital.com Wed Dec 9 18:31:34 2009 From: zallen at wheelinghospital.com (URI) Date: Wed, 9 Dec 2009 15:31:34 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> References: <1260309558165-4135682.post@n2.nabble.com> <4db4735c0912081412t3181c0d9n428ebaf31daaed7a@mail.gmail.com> <1260312364762-4135988.post@n2.nabble.com> <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> <1260349208955-4138201.post@n2.nabble.com> <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> <1260386268650-4141382.post@n2.nabble.com> <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> <1260397213902-4142411.post@n2.nabble.com> <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> Message-ID: <1260401494258-4142753.post@n2.nabble.com> I seem to have two CMakeCache.txt files, one in C:\ITK_3_16_0\bin and one in C:|ITK_3_16_0\Code. Here is the one that's in the bin folder: # This is the CMakeCache file. # For build in directory: c:/ITK_3_16_0/bin # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. # If you do want to change a value, simply edit, save, and exit the editor. # The syntax for the file is as follows: # KEY:TYPE=VALUE # KEY is the name of a variable in the cache. # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. # VALUE is the current value for the KEY. ######################## # EXTERNAL cache entries ######################## //Path to a program. CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe //For backwards compatibility, what version of CMake commands and // syntax should this version of CMake try to support. CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. CMAKE_BUILD_TYPE:STRING= //Enable/Disable color output during build. CMAKE_COLOR_MAKEFILE:BOOL=ON //CXX compiler. CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe //Flags used by the compiler during all build types. CMAKE_CXX_FLAGS:STRING= //Flags used by the compiler during debug builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g //Flags used by the compiler during release minsize builds. CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG //Flags used by the compiler during release builds (/MD /Ob1 /Oi // /Ot /Oy /Gs will produce slightly less optimized but smaller // files). CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the compiler during Release with Debug Info builds. CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g //Libraries linked by defalut with all C++ applications. CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 //C compiler. CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe //Flags used by the compiler during all build types. CMAKE_C_FLAGS:STRING= //Flags used by the compiler during debug builds. CMAKE_C_FLAGS_DEBUG:STRING=-g //Flags used by the compiler during release minsize builds. CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG //Flags used by the compiler during release builds (/MD /Ob1 /Oi // /Ot /Oy /Gs will produce slightly less optimized but smaller // files). CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the compiler during Release with Debug Info builds. CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g //Libraries linked by defalut with all C applications. CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 //Flags used by the linker. CMAKE_EXE_LINKER_FLAGS:STRING= //Flags used by the linker during debug builds. CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during release minsize builds. CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during release builds. CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project //Path to a program. CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe //Path to a program. CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe //Flags used by the linker during the creation of modules. CMAKE_MODULE_LINKER_FLAGS:STRING= //Flags used by the linker during debug builds. CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during release minsize builds. CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during release builds. CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= //Path to a program. CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe //Path to a program. CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe //Path to a program. CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe //Value Computed by CMake CMAKE_PROJECT_NAME:STATIC=Project //Path to a program. CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe //Path to a program. CMAKE_SH:FILEPATH=CMAKE_SH-NOTFOUND //Flags used by the linker during the creation of dll's. CMAKE_SHARED_LINKER_FLAGS:STRING= //Flags used by the linker during debug builds. CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during release minsize builds. CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during release builds. CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= //If set, runtime paths are not added when using shared libraries. CMAKE_SKIP_RPATH:BOOL=OFF //Path to a program. CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe //If true, cmake will use relative paths in makefiles and projects. CMAKE_USE_RELATIVE_PATHS:BOOL=OFF //If this value is on, makefiles will be generated without the // .SILENT directive, and all commands will be echoed to the console // during the make. This is useful for debugging only. With Visual // Studio IDE projects all commands are done without /nologo. CMAKE_VERBOSE_MAKEFILE:BOOL=OFF //Single output directory for building all executables. EXECUTABLE_OUTPUT_PATH:PATH= //Dependencies for the target ITKAlgorithms_LIB_DEPENDS:STATIC=ITKStatistics;ITKNumerics; //Dependencies for the target ITKBasicFilters_LIB_DEPENDS:STATIC=ITKCommon; //Dependencies for the target ITKCommon_LIB_DEPENDS:STATIC=general;itkvnl_inst;general;itksys; //Dependencies for the target ITKFEM_LIB_DEPENDS:STATIC=ITKBasicFilters;ITKIO; //Dependencies for the target ITKIO_LIB_DEPENDS:STATIC=ITKNrrdIO;ITKSpatialObject;ITKMetaIO;ITKDICOMParser;ITKEXPAT;ITKniftiio; //Dependencies for the target ITKNumerics_LIB_DEPENDS:STATIC=general;ITKCommon; //Dependencies for the target ITKSpatialObject_LIB_DEPENDS:STATIC=ITKMetaIO;ITKCommon; //Dependencies for the target ITKStatistics_LIB_DEPENDS:STATIC=general;ITKCommon;general;itkNetlibSlatec; //Single output directory for building all libraries. LIBRARY_OUTPUT_PATH:PATH= //Value Computed by CMake Project_BINARY_DIR:STATIC=C:/ITK_3_16_0/bin //Value Computed by CMake Project_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Code //Dependencies for target itkvnl_inst_LIB_DEPENDS:STATIC= ######################## # INTERNAL cache entries ######################## //ADVANCED property for variable: CMAKE_AR CMAKE_AR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_BUILD_TOOL CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 //What is the target build tool cmake is generating for. CMAKE_BUILD_TOOL:INTERNAL=C:/MinGW/bin/mingw32-make.exe //This is the directory where this CMakeCache.txt was created CMAKE_CACHEFILE_DIR:INTERNAL=c:/ITK_3_16_0/bin //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 //Major version of cmake used to create the current loaded cache CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 2 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 //Path to CMake executable. CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe //Path to cpack program executable. CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe //Path to ctest program executable. CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe //ADVANCED property for variable: CMAKE_CXX_COMPILER CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_COMPILER CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 CMAKE_C_COMPILER_WORKS:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 //Result of TRY_COMPILE CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE //Path to cache edit program executable. CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe //Executable file format CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //Name of generator. CMAKE_GENERATOR:INTERNAL=MinGW Makefiles //Start directory with the top level CMakeLists.txt file for this // project CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0/Code //ADVANCED property for variable: CMAKE_LINKER CMAKE_LINKER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MAKE_PROGRAM CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_NM CMAKE_NM-ADVANCED:INTERNAL=1 //number of local generators CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=10 //ADVANCED property for variable: CMAKE_OBJCOPY CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_OBJDUMP CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_RANLIB CMAKE_RANLIB-ADVANCED:INTERNAL=1 //Path to CMake installation. CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 //ADVANCED property for variable: CMAKE_SH CMAKE_SH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SKIP_RPATH CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STRIP CMAKE_STRIP-ADVANCED:INTERNAL=1 //Suppress Warnings that are meant for the author of the CMakeLists.txt // files. CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 //Have library malloc HAVE_LIBMALLOC:INTERNAL= //Have library Psapi HAVE_PSAPI:INTERNAL= //itkTestDriver path to be used by subprojects ITK_TEST_DRIVER:INTERNAL=/itkTestDriver =============================== Here is the one in the Code folder: # This is the CMakeCache file. # For build in directory: c:/ITK_3_16_0/Code # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. # If you do want to change a value, simply edit, save, and exit the editor. # The syntax for the file is as follows: # KEY:TYPE=VALUE # KEY is the name of a variable in the cache. # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. # VALUE is the current value for the KEY. ######################## # EXTERNAL cache entries ######################## //Path to a program. CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe //For backwards compatibility, what version of CMake commands and // syntax should this version of CMake try to support. CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. CMAKE_BUILD_TYPE:STRING= //Enable/Disable color output during build. CMAKE_COLOR_MAKEFILE:BOOL=ON //CXX compiler. CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe //Flags used by the compiler during all build types. CMAKE_CXX_FLAGS:STRING= //Flags used by the compiler during debug builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g //Flags used by the compiler during release minsize builds. CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG //Flags used by the compiler during release builds (/MD /Ob1 /Oi // /Ot /Oy /Gs will produce slightly less optimized but smaller // files). CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the compiler during Release with Debug Info builds. CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g //Libraries linked by defalut with all C++ applications. CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 //C compiler. CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe //Flags used by the compiler during all build types. CMAKE_C_FLAGS:STRING= //Flags used by the compiler during debug builds. CMAKE_C_FLAGS_DEBUG:STRING=-g //Flags used by the compiler during release minsize builds. CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG //Flags used by the compiler during release builds (/MD /Ob1 /Oi // /Ot /Oy /Gs will produce slightly less optimized but smaller // files). CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the compiler during Release with Debug Info builds. CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g //Libraries linked by defalut with all C applications. CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 //Flags used by the linker. CMAKE_EXE_LINKER_FLAGS:STRING= //Flags used by the linker during debug builds. CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during release minsize builds. CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during release builds. CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project //Path to a program. CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe //Path to a program. CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe //Flags used by the linker during the creation of modules. CMAKE_MODULE_LINKER_FLAGS:STRING= //Flags used by the linker during debug builds. CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during release minsize builds. CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during release builds. CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= //Path to a program. CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe //Path to a program. CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe //Path to a program. CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe //Value Computed by CMake CMAKE_PROJECT_NAME:STATIC=Project //Path to a program. CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe //Path to a program. CMAKE_SH:FILEPATH=CMAKE_SH-NOTFOUND //Flags used by the linker during the creation of dll's. CMAKE_SHARED_LINKER_FLAGS:STRING= //Flags used by the linker during debug builds. CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during release minsize builds. CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during release builds. CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= //If set, runtime paths are not added when using shared libraries. CMAKE_SKIP_RPATH:BOOL=OFF //Path to a program. CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe //If true, cmake will use relative paths in makefiles and projects. CMAKE_USE_RELATIVE_PATHS:BOOL=OFF //If this value is on, makefiles will be generated without the // .SILENT directive, and all commands will be echoed to the console // during the make. This is useful for debugging only. With Visual // Studio IDE projects all commands are done without /nologo. CMAKE_VERBOSE_MAKEFILE:BOOL=OFF //Single output directory for building all executables. EXECUTABLE_OUTPUT_PATH:PATH= //Dependencies for the target ITKCommon_LIB_DEPENDS:STATIC=general;itkvnl_inst;general;itksys; //Dependencies for the target ITKNumerics_LIB_DEPENDS:STATIC=general;ITKCommon; //Dependencies for the target ITKStatistics_LIB_DEPENDS:STATIC=general;ITKCommon;general;itkNetlibSlatec; //Single output directory for building all libraries. LIBRARY_OUTPUT_PATH:PATH= //Value Computed by CMake Project_BINARY_DIR:STATIC=C:/ITK_3_16_0/Code //Value Computed by CMake Project_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Code //Dependencies for target itkvnl_inst_LIB_DEPENDS:STATIC= ######################## # INTERNAL cache entries ######################## //ADVANCED property for variable: CMAKE_AR CMAKE_AR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_BUILD_TOOL CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 //What is the target build tool cmake is generating for. CMAKE_BUILD_TOOL:INTERNAL=C:/MinGW/bin/mingw32-make.exe //This is the directory where this CMakeCache.txt was created CMAKE_CACHEFILE_DIR:INTERNAL=c:/ITK_3_16_0/Code //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 //Path to CMake executable. CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe //Path to cpack program executable. CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe //Path to ctest program executable. CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe //ADVANCED property for variable: CMAKE_CXX_COMPILER CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_COMPILER CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 CMAKE_C_COMPILER_WORKS:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 //Result of TRY_COMPILE CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE //Path to cache edit program executable. CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe //Executable file format CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //Name of generator. CMAKE_GENERATOR:INTERNAL=MinGW Makefiles //Start directory with the top level CMakeLists.txt file for this // project CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0/Code //ADVANCED property for variable: CMAKE_LINKER CMAKE_LINKER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MAKE_PROGRAM CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_NM CMAKE_NM-ADVANCED:INTERNAL=1 //number of local generators CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=10 //ADVANCED property for variable: CMAKE_OBJCOPY CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_OBJDUMP CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_RANLIB CMAKE_RANLIB-ADVANCED:INTERNAL=1 //Path to CMake installation. CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 //ADVANCED property for variable: CMAKE_SH CMAKE_SH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SKIP_RPATH CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STRIP CMAKE_STRIP-ADVANCED:INTERNAL=1 //Suppress Warnings that are meant for the author of the CMakeLists.txt // files. CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 //Have library malloc HAVE_LIBMALLOC:INTERNAL= //Have library Psapi HAVE_PSAPI:INTERNAL= That looks OK. Can you email to me your CMakeCache.txt file? I'll compare it to mine. On Wed, Dec 9, 2009 at 5:20 PM, URI wrote: > > In my CMake gui the directory that I choose for "Where to build the > binaries" > is C:/msys/1.0/home/Insight-mingw, which is the directory that I created > in > step 2) below. ?It starts out empty but when I hit "Configure" files and > folders begin to appear in it. > > > > -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4142753.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Wed Dec 9 23:23:01 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 9 Dec 2009 23:23:01 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260401494258-4142753.post@n2.nabble.com> References: <1260309558165-4135682.post@n2.nabble.com> <1260312364762-4135988.post@n2.nabble.com> <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> <1260349208955-4138201.post@n2.nabble.com> <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> <1260386268650-4141382.post@n2.nabble.com> <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> <1260397213902-4142411.post@n2.nabble.com> <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> <1260401494258-4142753.post@n2.nabble.com> Message-ID: <4db4735c0912092023m70f951d1s97be2162939236ae@mail.gmail.com> What is in the Code directory? Is that the Insight source code? Did you ever run cmake in that directory? You may have corrupted the source tree with cmake generated files. This can definitely cause problems. Do a cvs -nq update in the source directory. And post the output. Bill On Wed, Dec 9, 2009 at 6:31 PM, URI wrote: > > I seem to have two CMakeCache.txt files, one in C:\ITK_3_16_0\bin and one in > C:|ITK_3_16_0\Code. > > Here is the one that's in the bin folder: > > # This is the CMakeCache file. > # For build in directory: c:/ITK_3_16_0/bin > # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe > # You can edit this file to change values found and used by cmake. > # If you do not want to change any of the values, simply exit the editor. > # If you do want to change a value, simply edit, save, and exit the editor. > # The syntax for the file is as follows: > # KEY:TYPE=VALUE > # KEY is the name of a variable in the cache. > # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. > # VALUE is the current value for the KEY. > > ######################## > # EXTERNAL cache entries > ######################## > > //Path to a program. > CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe > > //For backwards compatibility, what version of CMake commands and > // syntax should this version of CMake try to support. > CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 > > //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or > // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. > CMAKE_BUILD_TYPE:STRING= > > //Enable/Disable color output during build. > CMAKE_COLOR_MAKEFILE:BOOL=ON > > //CXX compiler. > CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe > > //Flags used by the compiler during all build types. > CMAKE_CXX_FLAGS:STRING= > > //Flags used by the compiler during debug builds. > CMAKE_CXX_FLAGS_DEBUG:STRING=-g > > //Flags used by the compiler during release minsize builds. > CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG > > //Flags used by the compiler during release builds (/MD /Ob1 /Oi > // /Ot /Oy /Gs will produce slightly less optimized but smaller > // files). > CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG > > //Flags used by the compiler during Release with Debug Info builds. > CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g > > //Libraries linked by defalut with all C++ applications. > CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool > -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 > > //C compiler. > CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe > > //Flags used by the compiler during all build types. > CMAKE_C_FLAGS:STRING= > > //Flags used by the compiler during debug builds. > CMAKE_C_FLAGS_DEBUG:STRING=-g > > //Flags used by the compiler during release minsize builds. > CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG > > //Flags used by the compiler during release builds (/MD /Ob1 /Oi > // /Ot /Oy /Gs will produce slightly less optimized but smaller > // files). > CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG > > //Flags used by the compiler during Release with Debug Info builds. > CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g > > //Libraries linked by defalut with all C applications. > CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool > -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 > > //Flags used by the linker. > CMAKE_EXE_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //Install path prefix, prepended onto install directories. > CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project > > //Path to a program. > CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe > > //Path to a program. > CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe > > //Flags used by the linker during the creation of modules. > CMAKE_MODULE_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //Path to a program. > CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe > > //Path to a program. > CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe > > //Path to a program. > CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe > > //Value Computed by CMake > CMAKE_PROJECT_NAME:STATIC=Project > > //Path to a program. > CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe > > //Path to a program. > CMAKE_SH:FILEPATH=CMAKE_SH-NOTFOUND > > //Flags used by the linker during the creation of dll's. > CMAKE_SHARED_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //If set, runtime paths are not added when using shared libraries. > CMAKE_SKIP_RPATH:BOOL=OFF > > //Path to a program. > CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe > > //If true, cmake will use relative paths in makefiles and projects. > CMAKE_USE_RELATIVE_PATHS:BOOL=OFF > > //If this value is on, makefiles will be generated without the > // .SILENT directive, and all commands will be echoed to the console > // during the make. ?This is useful for debugging only. With Visual > // Studio IDE projects all commands are done without /nologo. > CMAKE_VERBOSE_MAKEFILE:BOOL=OFF > > //Single output directory for building all executables. > EXECUTABLE_OUTPUT_PATH:PATH= > > //Dependencies for the target > ITKAlgorithms_LIB_DEPENDS:STATIC=ITKStatistics;ITKNumerics; > > //Dependencies for the target > ITKBasicFilters_LIB_DEPENDS:STATIC=ITKCommon; > > //Dependencies for the target > ITKCommon_LIB_DEPENDS:STATIC=general;itkvnl_inst;general;itksys; > > //Dependencies for the target > ITKFEM_LIB_DEPENDS:STATIC=ITKBasicFilters;ITKIO; > > //Dependencies for the target > ITKIO_LIB_DEPENDS:STATIC=ITKNrrdIO;ITKSpatialObject;ITKMetaIO;ITKDICOMParser;ITKEXPAT;ITKniftiio; > > //Dependencies for the target > ITKNumerics_LIB_DEPENDS:STATIC=general;ITKCommon; > > //Dependencies for the target > ITKSpatialObject_LIB_DEPENDS:STATIC=ITKMetaIO;ITKCommon; > > //Dependencies for the target > ITKStatistics_LIB_DEPENDS:STATIC=general;ITKCommon;general;itkNetlibSlatec; > > //Single output directory for building all libraries. > LIBRARY_OUTPUT_PATH:PATH= > > //Value Computed by CMake > Project_BINARY_DIR:STATIC=C:/ITK_3_16_0/bin > > //Value Computed by CMake > Project_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Code > > //Dependencies for target > itkvnl_inst_LIB_DEPENDS:STATIC= > > > ######################## > # INTERNAL cache entries > ######################## > > //ADVANCED property for variable: CMAKE_AR > CMAKE_AR-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_BUILD_TOOL > CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 > //What is the target build tool cmake is generating for. > CMAKE_BUILD_TOOL:INTERNAL=C:/MinGW/bin/mingw32-make.exe > //This is the directory where this CMakeCache.txt was created > CMAKE_CACHEFILE_DIR:INTERNAL=c:/ITK_3_16_0/bin > //Major version of cmake used to create the current loaded cache > CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 > //Minor version of cmake used to create the current loaded cache > CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 > //Patch version of cmake used to create the current loaded cache > CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 > //Major version of cmake used to create the current loaded cache > CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 2 > //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE > CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 > //Path to CMake executable. > CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe > //Path to cpack program executable. > CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe > //Path to ctest program executable. > CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe > //ADVANCED property for variable: CMAKE_CXX_COMPILER > CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 > CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS > CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG > CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL > CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE > CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO > CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES > CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_COMPILER > CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 > CMAKE_C_COMPILER_WORKS:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS > CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG > CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL > CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE > CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO > CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES > CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 > //Result of TRY_COMPILE > CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE > //Path to cache edit program executable. > CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe > //Executable file format > CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS > CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG > CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL > CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE > CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //Name of generator. > CMAKE_GENERATOR:INTERNAL=MinGW Makefiles > //Start directory with the top level CMakeLists.txt file for this > // project > CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0/Code > //ADVANCED property for variable: CMAKE_LINKER > CMAKE_LINKER-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MAKE_PROGRAM > CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS > CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG > CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL > CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE > CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_NM > CMAKE_NM-ADVANCED:INTERNAL=1 > //number of local generators > CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=10 > //ADVANCED property for variable: CMAKE_OBJCOPY > CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_OBJDUMP > CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_RANLIB > CMAKE_RANLIB-ADVANCED:INTERNAL=1 > //Path to CMake installation. > CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 > //ADVANCED property for variable: CMAKE_SH > CMAKE_SH-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS > CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG > CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL > CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE > CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SKIP_RPATH > CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_STRIP > CMAKE_STRIP-ADVANCED:INTERNAL=1 > //Suppress Warnings that are meant for the author of the CMakeLists.txt > // files. > CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE > //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS > CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE > CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 > //Have library malloc > HAVE_LIBMALLOC:INTERNAL= > //Have library Psapi > HAVE_PSAPI:INTERNAL= > //itkTestDriver path to be used by subprojects > ITK_TEST_DRIVER:INTERNAL=/itkTestDriver > > > > =============================== > > Here is the one in the Code folder: > > # This is the CMakeCache file. > # For build in directory: c:/ITK_3_16_0/Code > # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe > # You can edit this file to change values found and used by cmake. > # If you do not want to change any of the values, simply exit the editor. > # If you do want to change a value, simply edit, save, and exit the editor. > # The syntax for the file is as follows: > # KEY:TYPE=VALUE > # KEY is the name of a variable in the cache. > # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. > # VALUE is the current value for the KEY. > > ######################## > # EXTERNAL cache entries > ######################## > > //Path to a program. > CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe > > //For backwards compatibility, what version of CMake commands and > // syntax should this version of CMake try to support. > CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 > > //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or > // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. > CMAKE_BUILD_TYPE:STRING= > > //Enable/Disable color output during build. > CMAKE_COLOR_MAKEFILE:BOOL=ON > > //CXX compiler. > CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe > > //Flags used by the compiler during all build types. > CMAKE_CXX_FLAGS:STRING= > > //Flags used by the compiler during debug builds. > CMAKE_CXX_FLAGS_DEBUG:STRING=-g > > //Flags used by the compiler during release minsize builds. > CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG > > //Flags used by the compiler during release builds (/MD /Ob1 /Oi > // /Ot /Oy /Gs will produce slightly less optimized but smaller > // files). > CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG > > //Flags used by the compiler during Release with Debug Info builds. > CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g > > //Libraries linked by defalut with all C++ applications. > CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool > -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 > > //C compiler. > CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe > > //Flags used by the compiler during all build types. > CMAKE_C_FLAGS:STRING= > > //Flags used by the compiler during debug builds. > CMAKE_C_FLAGS_DEBUG:STRING=-g > > //Flags used by the compiler during release minsize builds. > CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG > > //Flags used by the compiler during release builds (/MD /Ob1 /Oi > // /Ot /Oy /Gs will produce slightly less optimized but smaller > // files). > CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG > > //Flags used by the compiler during Release with Debug Info builds. > CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g > > //Libraries linked by defalut with all C applications. > CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool > -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 > > //Flags used by the linker. > CMAKE_EXE_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //Install path prefix, prepended onto install directories. > CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project > > //Path to a program. > CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe > > //Path to a program. > CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe > > //Flags used by the linker during the creation of modules. > CMAKE_MODULE_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //Path to a program. > CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe > > //Path to a program. > CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe > > //Path to a program. > CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe > > //Value Computed by CMake > CMAKE_PROJECT_NAME:STATIC=Project > > //Path to a program. > CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe > > //Path to a program. > CMAKE_SH:FILEPATH=CMAKE_SH-NOTFOUND > > //Flags used by the linker during the creation of dll's. > CMAKE_SHARED_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //If set, runtime paths are not added when using shared libraries. > CMAKE_SKIP_RPATH:BOOL=OFF > > //Path to a program. > CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe > > //If true, cmake will use relative paths in makefiles and projects. > CMAKE_USE_RELATIVE_PATHS:BOOL=OFF > > //If this value is on, makefiles will be generated without the > // .SILENT directive, and all commands will be echoed to the console > // during the make. ?This is useful for debugging only. With Visual > // Studio IDE projects all commands are done without /nologo. > CMAKE_VERBOSE_MAKEFILE:BOOL=OFF > > //Single output directory for building all executables. > EXECUTABLE_OUTPUT_PATH:PATH= > > //Dependencies for the target > ITKCommon_LIB_DEPENDS:STATIC=general;itkvnl_inst;general;itksys; > > //Dependencies for the target > ITKNumerics_LIB_DEPENDS:STATIC=general;ITKCommon; > > //Dependencies for the target > ITKStatistics_LIB_DEPENDS:STATIC=general;ITKCommon;general;itkNetlibSlatec; > > //Single output directory for building all libraries. > LIBRARY_OUTPUT_PATH:PATH= > > //Value Computed by CMake > Project_BINARY_DIR:STATIC=C:/ITK_3_16_0/Code > > //Value Computed by CMake > Project_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Code > > //Dependencies for target > itkvnl_inst_LIB_DEPENDS:STATIC= > > > ######################## > # INTERNAL cache entries > ######################## > > //ADVANCED property for variable: CMAKE_AR > CMAKE_AR-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_BUILD_TOOL > CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 > //What is the target build tool cmake is generating for. > CMAKE_BUILD_TOOL:INTERNAL=C:/MinGW/bin/mingw32-make.exe > //This is the directory where this CMakeCache.txt was created > CMAKE_CACHEFILE_DIR:INTERNAL=c:/ITK_3_16_0/Code > //Major version of cmake used to create the current loaded cache > CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 > //Minor version of cmake used to create the current loaded cache > CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 > //Patch version of cmake used to create the current loaded cache > CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 > //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE > CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 > //Path to CMake executable. > CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe > //Path to cpack program executable. > CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe > //Path to ctest program executable. > CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe > //ADVANCED property for variable: CMAKE_CXX_COMPILER > CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 > CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS > CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG > CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL > CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE > CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO > CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES > CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_COMPILER > CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 > CMAKE_C_COMPILER_WORKS:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS > CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG > CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL > CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE > CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO > CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES > CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 > //Result of TRY_COMPILE > CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE > //Path to cache edit program executable. > CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe > //Executable file format > CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS > CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG > CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL > CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE > CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //Name of generator. > CMAKE_GENERATOR:INTERNAL=MinGW Makefiles > //Start directory with the top level CMakeLists.txt file for this > // project > CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0/Code > //ADVANCED property for variable: CMAKE_LINKER > CMAKE_LINKER-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MAKE_PROGRAM > CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS > CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG > CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL > CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE > CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_NM > CMAKE_NM-ADVANCED:INTERNAL=1 > //number of local generators > CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=10 > //ADVANCED property for variable: CMAKE_OBJCOPY > CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_OBJDUMP > CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_RANLIB > CMAKE_RANLIB-ADVANCED:INTERNAL=1 > //Path to CMake installation. > CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 > //ADVANCED property for variable: CMAKE_SH > CMAKE_SH-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS > CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG > CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL > CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE > CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SKIP_RPATH > CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_STRIP > CMAKE_STRIP-ADVANCED:INTERNAL=1 > //Suppress Warnings that are meant for the author of the CMakeLists.txt > // files. > CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE > //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS > CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE > CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 > //Have library malloc > HAVE_LIBMALLOC:INTERNAL= > //Have library Psapi > HAVE_PSAPI:INTERNAL= > > > > > > > > That looks OK. Can you email to me your CMakeCache.txt file? I'll > compare it to mine. > > On Wed, Dec 9, 2009 at 5:20 PM, URI wrote: >> >> In my CMake gui the directory that I choose for "Where to build the >> binaries" >> is C:/msys/1.0/home/Insight-mingw, which is the directory that I created >> in >> step 2) below. ?It starts out empty but when I hit "Configure" files and >> folders begin to appear in it. >> >> >> >> > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4142753.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From bill.lorensen at gmail.com Wed Dec 9 23:51:11 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Wed, 9 Dec 2009 23:51:11 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912092023m70f951d1s97be2162939236ae@mail.gmail.com> References: <1260309558165-4135682.post@n2.nabble.com> <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> <1260349208955-4138201.post@n2.nabble.com> <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> <1260386268650-4141382.post@n2.nabble.com> <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> <1260397213902-4142411.post@n2.nabble.com> <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> <1260401494258-4142753.post@n2.nabble.com> <4db4735c0912092023m70f951d1s97be2162939236ae@mail.gmail.com> Message-ID: <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> Wait a minute. I just checked your CMakeCache.txt file. It says the Please don't tell me that the Code directory has subdirectories called Common, Basicfilters, Algorithms, ... If this is true, in step 4 4) Where is the source code: Select the path to the Insight source. The path you select should be ITK_3_16_0!!!!!!!!! Not ITK_3_16_0/Code If it is false, what files are in the Code directory. You have CMAKE_MAKE_PROGRAM set to the mingw make. 8) Configure At this point, you may get errors. DO NOT exit cmake. Check the Show Advanced Values in the cmake panel. Look for the variable CMAKE_MAKE_PROGRAM. It must point to the MSYS make, not the MinGW make or another make. Navigate to the msys bin directory and select make. Bill On Wed, Dec 9, 2009 at 11:23 PM, Bill Lorensen wrote: > What is in the Code directory? Is that the Insight source code? Did > you ever run cmake in that directory? You may have corrupted the > source tree with cmake generated files. This can definitely cause > problems. > > Do a cvs -nq update in the source directory. And post the output. > > Bill > > On Wed, Dec 9, 2009 at 6:31 PM, URI wrote: >> >> I seem to have two CMakeCache.txt files, one in C:\ITK_3_16_0\bin and one in >> C:|ITK_3_16_0\Code. >> >> Here is the one that's in the bin folder: >> >> # This is the CMakeCache file. >> # For build in directory: c:/ITK_3_16_0/bin >> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >> # You can edit this file to change values found and used by cmake. >> # If you do not want to change any of the values, simply exit the editor. >> # If you do want to change a value, simply edit, save, and exit the editor. >> # The syntax for the file is as follows: >> # KEY:TYPE=VALUE >> # KEY is the name of a variable in the cache. >> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >> # VALUE is the current value for the KEY. >> >> ######################## >> # EXTERNAL cache entries >> ######################## >> >> //Path to a program. >> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >> >> //For backwards compatibility, what version of CMake commands and >> // syntax should this version of CMake try to support. >> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >> >> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >> CMAKE_BUILD_TYPE:STRING= >> >> //Enable/Disable color output during build. >> CMAKE_COLOR_MAKEFILE:BOOL=ON >> >> //CXX compiler. >> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >> >> //Flags used by the compiler during all build types. >> CMAKE_CXX_FLAGS:STRING= >> >> //Flags used by the compiler during debug builds. >> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >> >> //Flags used by the compiler during release minsize builds. >> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >> >> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >> // /Ot /Oy /Gs will produce slightly less optimized but smaller >> // files). >> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >> >> //Flags used by the compiler during Release with Debug Info builds. >> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >> >> //Libraries linked by defalut with all C++ applications. >> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool >> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >> >> //C compiler. >> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >> >> //Flags used by the compiler during all build types. >> CMAKE_C_FLAGS:STRING= >> >> //Flags used by the compiler during debug builds. >> CMAKE_C_FLAGS_DEBUG:STRING=-g >> >> //Flags used by the compiler during release minsize builds. >> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >> >> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >> // /Ot /Oy /Gs will produce slightly less optimized but smaller >> // files). >> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >> >> //Flags used by the compiler during Release with Debug Info builds. >> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >> >> //Libraries linked by defalut with all C applications. >> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool >> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >> >> //Flags used by the linker. >> CMAKE_EXE_LINKER_FLAGS:STRING= >> >> //Flags used by the linker during debug builds. >> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >> >> //Flags used by the linker during release minsize builds. >> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >> >> //Flags used by the linker during release builds. >> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >> >> //Flags used by the linker during Release with Debug Info builds. >> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >> >> //Install path prefix, prepended onto install directories. >> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project >> >> //Path to a program. >> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >> >> //Path to a program. >> CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe >> >> //Flags used by the linker during the creation of modules. >> CMAKE_MODULE_LINKER_FLAGS:STRING= >> >> //Flags used by the linker during debug builds. >> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >> >> //Flags used by the linker during release minsize builds. >> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >> >> //Flags used by the linker during release builds. >> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >> >> //Flags used by the linker during Release with Debug Info builds. >> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >> >> //Path to a program. >> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >> >> //Path to a program. >> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >> >> //Path to a program. >> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >> >> //Value Computed by CMake >> CMAKE_PROJECT_NAME:STATIC=Project >> >> //Path to a program. >> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >> >> //Path to a program. >> CMAKE_SH:FILEPATH=CMAKE_SH-NOTFOUND >> >> //Flags used by the linker during the creation of dll's. >> CMAKE_SHARED_LINKER_FLAGS:STRING= >> >> //Flags used by the linker during debug builds. >> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >> >> //Flags used by the linker during release minsize builds. >> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >> >> //Flags used by the linker during release builds. >> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >> >> //Flags used by the linker during Release with Debug Info builds. >> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >> >> //If set, runtime paths are not added when using shared libraries. >> CMAKE_SKIP_RPATH:BOOL=OFF >> >> //Path to a program. >> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >> >> //If true, cmake will use relative paths in makefiles and projects. >> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >> >> //If this value is on, makefiles will be generated without the >> // .SILENT directive, and all commands will be echoed to the console >> // during the make. ?This is useful for debugging only. With Visual >> // Studio IDE projects all commands are done without /nologo. >> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >> >> //Single output directory for building all executables. >> EXECUTABLE_OUTPUT_PATH:PATH= >> >> //Dependencies for the target >> ITKAlgorithms_LIB_DEPENDS:STATIC=ITKStatistics;ITKNumerics; >> >> //Dependencies for the target >> ITKBasicFilters_LIB_DEPENDS:STATIC=ITKCommon; >> >> //Dependencies for the target >> ITKCommon_LIB_DEPENDS:STATIC=general;itkvnl_inst;general;itksys; >> >> //Dependencies for the target >> ITKFEM_LIB_DEPENDS:STATIC=ITKBasicFilters;ITKIO; >> >> //Dependencies for the target >> ITKIO_LIB_DEPENDS:STATIC=ITKNrrdIO;ITKSpatialObject;ITKMetaIO;ITKDICOMParser;ITKEXPAT;ITKniftiio; >> >> //Dependencies for the target >> ITKNumerics_LIB_DEPENDS:STATIC=general;ITKCommon; >> >> //Dependencies for the target >> ITKSpatialObject_LIB_DEPENDS:STATIC=ITKMetaIO;ITKCommon; >> >> //Dependencies for the target >> ITKStatistics_LIB_DEPENDS:STATIC=general;ITKCommon;general;itkNetlibSlatec; >> >> //Single output directory for building all libraries. >> LIBRARY_OUTPUT_PATH:PATH= >> >> //Value Computed by CMake >> Project_BINARY_DIR:STATIC=C:/ITK_3_16_0/bin >> >> //Value Computed by CMake >> Project_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Code >> >> //Dependencies for target >> itkvnl_inst_LIB_DEPENDS:STATIC= >> >> >> ######################## >> # INTERNAL cache entries >> ######################## >> >> //ADVANCED property for variable: CMAKE_AR >> CMAKE_AR-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_BUILD_TOOL >> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >> //What is the target build tool cmake is generating for. >> CMAKE_BUILD_TOOL:INTERNAL=C:/MinGW/bin/mingw32-make.exe >> //This is the directory where this CMakeCache.txt was created >> CMAKE_CACHEFILE_DIR:INTERNAL=c:/ITK_3_16_0/bin >> //Major version of cmake used to create the current loaded cache >> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >> //Minor version of cmake used to create the current loaded cache >> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >> //Patch version of cmake used to create the current loaded cache >> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >> //Major version of cmake used to create the current loaded cache >> CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 2 >> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >> //Path to CMake executable. >> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >> //Path to cpack program executable. >> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >> //Path to ctest program executable. >> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >> //ADVANCED property for variable: CMAKE_CXX_COMPILER >> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS >> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_COMPILER >> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS >> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >> //Result of TRY_COMPILE >> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >> //Path to cache edit program executable. >> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >> //Executable file format >> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //Name of generator. >> CMAKE_GENERATOR:INTERNAL=MinGW Makefiles >> //Start directory with the top level CMakeLists.txt file for this >> // project >> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0/Code >> //ADVANCED property for variable: CMAKE_LINKER >> CMAKE_LINKER-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_NM >> CMAKE_NM-ADVANCED:INTERNAL=1 >> //number of local generators >> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=10 >> //ADVANCED property for variable: CMAKE_OBJCOPY >> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_OBJDUMP >> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_RANLIB >> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >> //Path to CMake installation. >> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >> //ADVANCED property for variable: CMAKE_SH >> CMAKE_SH-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SKIP_RPATH >> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_STRIP >> CMAKE_STRIP-ADVANCED:INTERNAL=1 >> //Suppress Warnings that are meant for the author of the CMakeLists.txt >> // files. >> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >> //Have library malloc >> HAVE_LIBMALLOC:INTERNAL= >> //Have library Psapi >> HAVE_PSAPI:INTERNAL= >> //itkTestDriver path to be used by subprojects >> ITK_TEST_DRIVER:INTERNAL=/itkTestDriver >> >> >> >> =============================== >> >> Here is the one in the Code folder: >> >> # This is the CMakeCache file. >> # For build in directory: c:/ITK_3_16_0/Code >> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >> # You can edit this file to change values found and used by cmake. >> # If you do not want to change any of the values, simply exit the editor. >> # If you do want to change a value, simply edit, save, and exit the editor. >> # The syntax for the file is as follows: >> # KEY:TYPE=VALUE >> # KEY is the name of a variable in the cache. >> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >> # VALUE is the current value for the KEY. >> >> ######################## >> # EXTERNAL cache entries >> ######################## >> >> //Path to a program. >> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >> >> //For backwards compatibility, what version of CMake commands and >> // syntax should this version of CMake try to support. >> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >> >> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >> CMAKE_BUILD_TYPE:STRING= >> >> //Enable/Disable color output during build. >> CMAKE_COLOR_MAKEFILE:BOOL=ON >> >> //CXX compiler. >> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >> >> //Flags used by the compiler during all build types. >> CMAKE_CXX_FLAGS:STRING= >> >> //Flags used by the compiler during debug builds. >> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >> >> //Flags used by the compiler during release minsize builds. >> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >> >> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >> // /Ot /Oy /Gs will produce slightly less optimized but smaller >> // files). >> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >> >> //Flags used by the compiler during Release with Debug Info builds. >> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >> >> //Libraries linked by defalut with all C++ applications. >> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool >> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >> >> //C compiler. >> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >> >> //Flags used by the compiler during all build types. >> CMAKE_C_FLAGS:STRING= >> >> //Flags used by the compiler during debug builds. >> CMAKE_C_FLAGS_DEBUG:STRING=-g >> >> //Flags used by the compiler during release minsize builds. >> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >> >> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >> // /Ot /Oy /Gs will produce slightly less optimized but smaller >> // files). >> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >> >> //Flags used by the compiler during Release with Debug Info builds. >> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >> >> //Libraries linked by defalut with all C applications. >> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool >> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >> >> //Flags used by the linker. >> CMAKE_EXE_LINKER_FLAGS:STRING= >> >> //Flags used by the linker during debug builds. >> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >> >> //Flags used by the linker during release minsize builds. >> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >> >> //Flags used by the linker during release builds. >> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >> >> //Flags used by the linker during Release with Debug Info builds. >> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >> >> //Install path prefix, prepended onto install directories. >> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project >> >> //Path to a program. >> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >> >> //Path to a program. >> CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe >> >> //Flags used by the linker during the creation of modules. >> CMAKE_MODULE_LINKER_FLAGS:STRING= >> >> //Flags used by the linker during debug builds. >> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >> >> //Flags used by the linker during release minsize builds. >> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >> >> //Flags used by the linker during release builds. >> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >> >> //Flags used by the linker during Release with Debug Info builds. >> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >> >> //Path to a program. >> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >> >> //Path to a program. >> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >> >> //Path to a program. >> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >> >> //Value Computed by CMake >> CMAKE_PROJECT_NAME:STATIC=Project >> >> //Path to a program. >> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >> >> //Path to a program. >> CMAKE_SH:FILEPATH=CMAKE_SH-NOTFOUND >> >> //Flags used by the linker during the creation of dll's. >> CMAKE_SHARED_LINKER_FLAGS:STRING= >> >> //Flags used by the linker during debug builds. >> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >> >> //Flags used by the linker during release minsize builds. >> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >> >> //Flags used by the linker during release builds. >> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >> >> //Flags used by the linker during Release with Debug Info builds. >> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >> >> //If set, runtime paths are not added when using shared libraries. >> CMAKE_SKIP_RPATH:BOOL=OFF >> >> //Path to a program. >> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >> >> //If true, cmake will use relative paths in makefiles and projects. >> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >> >> //If this value is on, makefiles will be generated without the >> // .SILENT directive, and all commands will be echoed to the console >> // during the make. ?This is useful for debugging only. With Visual >> // Studio IDE projects all commands are done without /nologo. >> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >> >> //Single output directory for building all executables. >> EXECUTABLE_OUTPUT_PATH:PATH= >> >> //Dependencies for the target >> ITKCommon_LIB_DEPENDS:STATIC=general;itkvnl_inst;general;itksys; >> >> //Dependencies for the target >> ITKNumerics_LIB_DEPENDS:STATIC=general;ITKCommon; >> >> //Dependencies for the target >> ITKStatistics_LIB_DEPENDS:STATIC=general;ITKCommon;general;itkNetlibSlatec; >> >> //Single output directory for building all libraries. >> LIBRARY_OUTPUT_PATH:PATH= >> >> //Value Computed by CMake >> Project_BINARY_DIR:STATIC=C:/ITK_3_16_0/Code >> >> //Value Computed by CMake >> Project_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Code >> >> //Dependencies for target >> itkvnl_inst_LIB_DEPENDS:STATIC= >> >> >> ######################## >> # INTERNAL cache entries >> ######################## >> >> //ADVANCED property for variable: CMAKE_AR >> CMAKE_AR-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_BUILD_TOOL >> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >> //What is the target build tool cmake is generating for. >> CMAKE_BUILD_TOOL:INTERNAL=C:/MinGW/bin/mingw32-make.exe >> //This is the directory where this CMakeCache.txt was created >> CMAKE_CACHEFILE_DIR:INTERNAL=c:/ITK_3_16_0/Code >> //Major version of cmake used to create the current loaded cache >> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >> //Minor version of cmake used to create the current loaded cache >> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >> //Patch version of cmake used to create the current loaded cache >> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >> //Path to CMake executable. >> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >> //Path to cpack program executable. >> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >> //Path to ctest program executable. >> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >> //ADVANCED property for variable: CMAKE_CXX_COMPILER >> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS >> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_COMPILER >> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS >> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >> //Result of TRY_COMPILE >> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >> //Path to cache edit program executable. >> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >> //Executable file format >> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //Name of generator. >> CMAKE_GENERATOR:INTERNAL=MinGW Makefiles >> //Start directory with the top level CMakeLists.txt file for this >> // project >> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0/Code >> //ADVANCED property for variable: CMAKE_LINKER >> CMAKE_LINKER-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_NM >> CMAKE_NM-ADVANCED:INTERNAL=1 >> //number of local generators >> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=10 >> //ADVANCED property for variable: CMAKE_OBJCOPY >> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_OBJDUMP >> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_RANLIB >> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >> //Path to CMake installation. >> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >> //ADVANCED property for variable: CMAKE_SH >> CMAKE_SH-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SKIP_RPATH >> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_STRIP >> CMAKE_STRIP-ADVANCED:INTERNAL=1 >> //Suppress Warnings that are meant for the author of the CMakeLists.txt >> // files. >> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >> //Have library malloc >> HAVE_LIBMALLOC:INTERNAL= >> //Have library Psapi >> HAVE_PSAPI:INTERNAL= >> >> >> >> >> >> >> >> That looks OK. Can you email to me your CMakeCache.txt file? I'll >> compare it to mine. >> >> On Wed, Dec 9, 2009 at 5:20 PM, URI wrote: >>> >>> In my CMake gui the directory that I choose for "Where to build the >>> binaries" >>> is C:/msys/1.0/home/Insight-mingw, which is the directory that I created >>> in >>> step 2) below. ?It starts out empty but when I hit "Configure" files and >>> folders begin to appear in it. >>> >>> >>> >>> >> >> -- >> View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4142753.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > From body at nabla.org Thu Dec 10 05:47:57 2009 From: body at nabla.org (Dirk Boye) Date: Thu, 10 Dec 2009 11:47:57 +0100 Subject: [Insight-users] Convert vector field from vtkUnstructuredGrid to itk::Image with interpolation Message-ID: <1260442077.21404.0@dirk-pc> Dear list, Let's say I have a list of vectors in an vtkUnstructuredGrid like this: # vtk DataFile Version 3.0 vtk output ASCII DATASET UNSTRUCTURED_GRID POINTS 5 float -2 2 0 2 2 0 0 0 0 -2 -2 0 2 -2 0 CELL_TYPES 0 POINT_DATA 5 VECTORS vectors float 1 -1 0 1 1 0 1 0 0 1 1 0 1 -1 0 I'd like to create a continuous vector field 'image' of dimensions 4x4x1 with a spacing of 1. How can I read the vectors into a itk::Image and do an interpolation (BSpline for example) on the vectors? Usually one resamples an image and interpolates the new pixels... but with only some vectors given like above and given image dims/spacing I have no clue. Attached image is a sketch of what I'd like to do :) Are there any nice classes to do that? Thanks, Dirk -------------- next part -------------- A non-text attachment was scrubbed... Name: example.jpeg Type: image/jpeg Size: 6753 bytes Desc: not available URL: From zallen at wheelinghospital.com Thu Dec 10 06:28:35 2009 From: zallen at wheelinghospital.com (URI) Date: Thu, 10 Dec 2009 03:28:35 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> References: <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> <1260349208955-4138201.post@n2.nabble.com> <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> <1260386268650-4141382.post@n2.nabble.com> <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> <1260397213902-4142411.post@n2.nabble.com> <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> <1260401494258-4142753.post@n2.nabble.com> <4db4735c0912092023m70f951d1s97be2162939236ae@mail.gmail.com> <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> Message-ID: <1260444515044-4144854.post@n2.nabble.com> Aha, that seems to have been the problem. I had the Code subdirectory set as the "Where is the source code" field, but if I instead set it to the ITK root directory the configure works! At first all the CMake variables were highlighted in red but I hit "Configure" again and now they are all white. I do get the message "Could NOT find Tclsh (missing: TCL_TCLSH)" but that didn't seem to prevent me from configuring. Now I have a ton of files and folders in my binary directory, like CMake, CMakeFiles, AllowContinuous.sh, lots of stuff. Where do I go from here? Bill Lorensen wrote: > > Wait a minute. I just checked your CMakeCache.txt file. It says the > Please don't tell me that the Code directory has subdirectories called > Common, Basicfilters, Algorithms, ... > > If this is true, in step 4 > 4) Where is the source code: Select the path to the Insight source. > The path you select should be ITK_3_16_0!!!!!!!!! Not ITK_3_16_0/Code > > If it is false, what files are in the Code directory. > > You have CMAKE_MAKE_PROGRAM set to the mingw make. > 8) Configure > At this point, you may get errors. DO NOT exit cmake. Check the > Show Advanced Values in the cmake panel. Look for the variable > CMAKE_MAKE_PROGRAM. It must point to the MSYS make, not the MinGW make > or another make. Navigate to the msys bin directory and select make. > > Bill > > On Wed, Dec 9, 2009 at 11:23 PM, Bill Lorensen > wrote: >> What is in the Code directory? Is that the Insight source code? Did >> you ever run cmake in that directory? You may have corrupted the >> source tree with cmake generated files. This can definitely cause >> problems. >> >> Do a cvs -nq update in the source directory. And post the output. >> >> Bill >> >> On Wed, Dec 9, 2009 at 6:31 PM, URI wrote: >>> >>> I seem to have two CMakeCache.txt files, one in C:\ITK_3_16_0\bin and >>> one in >>> C:|ITK_3_16_0\Code. >>> >>> Here is the one that's in the bin folder: >>> >>> # This is the CMakeCache file. >>> # For build in directory: c:/ITK_3_16_0/bin >>> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >>> # You can edit this file to change values found and used by cmake. >>> # If you do not want to change any of the values, simply exit the >>> editor. >>> # If you do want to change a value, simply edit, save, and exit the >>> editor. >>> # The syntax for the file is as follows: >>> # KEY:TYPE=VALUE >>> # KEY is the name of a variable in the cache. >>> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >>> # VALUE is the current value for the KEY. >>> >>> ######################## >>> # EXTERNAL cache entries >>> ######################## >>> >>> //Path to a program. >>> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >>> >>> //For backwards compatibility, what version of CMake commands and >>> // syntax should this version of CMake try to support. >>> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >>> >>> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >>> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >>> CMAKE_BUILD_TYPE:STRING= >>> >>> //Enable/Disable color output during build. >>> CMAKE_COLOR_MAKEFILE:BOOL=ON >>> >>> //CXX compiler. >>> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >>> >>> //Flags used by the compiler during all build types. >>> CMAKE_CXX_FLAGS:STRING= >>> >>> //Flags used by the compiler during debug builds. >>> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >>> >>> //Flags used by the compiler during release minsize builds. >>> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>> >>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>> // files). >>> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>> >>> //Flags used by the compiler during Release with Debug Info builds. >>> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>> >>> //Libraries linked by defalut with all C++ applications. >>> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>> -lwinspool >>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>> >>> //C compiler. >>> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >>> >>> //Flags used by the compiler during all build types. >>> CMAKE_C_FLAGS:STRING= >>> >>> //Flags used by the compiler during debug builds. >>> CMAKE_C_FLAGS_DEBUG:STRING=-g >>> >>> //Flags used by the compiler during release minsize builds. >>> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>> >>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>> // files). >>> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>> >>> //Flags used by the compiler during Release with Debug Info builds. >>> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>> >>> //Libraries linked by defalut with all C applications. >>> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool >>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>> >>> //Flags used by the linker. >>> CMAKE_EXE_LINKER_FLAGS:STRING= >>> >>> //Flags used by the linker during debug builds. >>> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >>> >>> //Flags used by the linker during release minsize builds. >>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >>> >>> //Flags used by the linker during release builds. >>> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >>> >>> //Flags used by the linker during Release with Debug Info builds. >>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>> >>> //Install path prefix, prepended onto install directories. >>> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project >>> >>> //Path to a program. >>> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >>> >>> //Path to a program. >>> CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe >>> >>> //Flags used by the linker during the creation of modules. >>> CMAKE_MODULE_LINKER_FLAGS:STRING= >>> >>> //Flags used by the linker during debug builds. >>> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >>> >>> //Flags used by the linker during release minsize builds. >>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >>> >>> //Flags used by the linker during release builds. >>> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >>> >>> //Flags used by the linker during Release with Debug Info builds. >>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>> >>> //Path to a program. >>> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >>> >>> //Path to a program. >>> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >>> >>> //Path to a program. >>> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >>> >>> //Value Computed by CMake >>> CMAKE_PROJECT_NAME:STATIC=Project >>> >>> //Path to a program. >>> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >>> >>> //Path to a program. >>> CMAKE_SH:FILEPATH=CMAKE_SH-NOTFOUND >>> >>> //Flags used by the linker during the creation of dll's. >>> CMAKE_SHARED_LINKER_FLAGS:STRING= >>> >>> //Flags used by the linker during debug builds. >>> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >>> >>> //Flags used by the linker during release minsize builds. >>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >>> >>> //Flags used by the linker during release builds. >>> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >>> >>> //Flags used by the linker during Release with Debug Info builds. >>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>> >>> //If set, runtime paths are not added when using shared libraries. >>> CMAKE_SKIP_RPATH:BOOL=OFF >>> >>> //Path to a program. >>> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >>> >>> //If true, cmake will use relative paths in makefiles and projects. >>> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >>> >>> //If this value is on, makefiles will be generated without the >>> // .SILENT directive, and all commands will be echoed to the console >>> // during the make. ?This is useful for debugging only. With Visual >>> // Studio IDE projects all commands are done without /nologo. >>> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >>> >>> //Single output directory for building all executables. >>> EXECUTABLE_OUTPUT_PATH:PATH= >>> >>> //Dependencies for the target >>> ITKAlgorithms_LIB_DEPENDS:STATIC=ITKStatistics;ITKNumerics; >>> >>> //Dependencies for the target >>> ITKBasicFilters_LIB_DEPENDS:STATIC=ITKCommon; >>> >>> //Dependencies for the target >>> ITKCommon_LIB_DEPENDS:STATIC=general;itkvnl_inst;general;itksys; >>> >>> //Dependencies for the target >>> ITKFEM_LIB_DEPENDS:STATIC=ITKBasicFilters;ITKIO; >>> >>> //Dependencies for the target >>> ITKIO_LIB_DEPENDS:STATIC=ITKNrrdIO;ITKSpatialObject;ITKMetaIO;ITKDICOMParser;ITKEXPAT;ITKniftiio; >>> >>> //Dependencies for the target >>> ITKNumerics_LIB_DEPENDS:STATIC=general;ITKCommon; >>> >>> //Dependencies for the target >>> ITKSpatialObject_LIB_DEPENDS:STATIC=ITKMetaIO;ITKCommon; >>> >>> //Dependencies for the target >>> ITKStatistics_LIB_DEPENDS:STATIC=general;ITKCommon;general;itkNetlibSlatec; >>> >>> //Single output directory for building all libraries. >>> LIBRARY_OUTPUT_PATH:PATH= >>> >>> //Value Computed by CMake >>> Project_BINARY_DIR:STATIC=C:/ITK_3_16_0/bin >>> >>> //Value Computed by CMake >>> Project_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Code >>> >>> //Dependencies for target >>> itkvnl_inst_LIB_DEPENDS:STATIC= >>> >>> >>> ######################## >>> # INTERNAL cache entries >>> ######################## >>> >>> //ADVANCED property for variable: CMAKE_AR >>> CMAKE_AR-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_BUILD_TOOL >>> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >>> //What is the target build tool cmake is generating for. >>> CMAKE_BUILD_TOOL:INTERNAL=C:/MinGW/bin/mingw32-make.exe >>> //This is the directory where this CMakeCache.txt was created >>> CMAKE_CACHEFILE_DIR:INTERNAL=c:/ITK_3_16_0/bin >>> //Major version of cmake used to create the current loaded cache >>> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >>> //Minor version of cmake used to create the current loaded cache >>> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >>> //Patch version of cmake used to create the current loaded cache >>> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >>> //Major version of cmake used to create the current loaded cache >>> CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 2 >>> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >>> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >>> //Path to CMake executable. >>> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >>> //Path to cpack program executable. >>> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >>> //Path to ctest program executable. >>> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >>> //ADVANCED property for variable: CMAKE_CXX_COMPILER >>> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >>> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS >>> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >>> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >>> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >>> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >>> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >>> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_COMPILER >>> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >>> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS >>> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >>> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >>> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >>> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >>> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >>> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>> //Result of TRY_COMPILE >>> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >>> //Path to cache edit program executable. >>> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >>> //Executable file format >>> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >>> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >>> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >>> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //Name of generator. >>> CMAKE_GENERATOR:INTERNAL=MinGW Makefiles >>> //Start directory with the top level CMakeLists.txt file for this >>> // project >>> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0/Code >>> //ADVANCED property for variable: CMAKE_LINKER >>> CMAKE_LINKER-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >>> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >>> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >>> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >>> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: >>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_NM >>> CMAKE_NM-ADVANCED:INTERNAL=1 >>> //number of local generators >>> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=10 >>> //ADVANCED property for variable: CMAKE_OBJCOPY >>> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_OBJDUMP >>> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_RANLIB >>> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >>> //Path to CMake installation. >>> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >>> //ADVANCED property for variable: CMAKE_SH >>> CMAKE_SH-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >>> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >>> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >>> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: >>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SKIP_RPATH >>> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_STRIP >>> CMAKE_STRIP-ADVANCED:INTERNAL=1 >>> //Suppress Warnings that are meant for the author of the CMakeLists.txt >>> // files. >>> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >>> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >>> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >>> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >>> //Have library malloc >>> HAVE_LIBMALLOC:INTERNAL= >>> //Have library Psapi >>> HAVE_PSAPI:INTERNAL= >>> //itkTestDriver path to be used by subprojects >>> ITK_TEST_DRIVER:INTERNAL=/itkTestDriver >>> >>> >>> >>> =============================== >>> >>> Here is the one in the Code folder: >>> >>> # This is the CMakeCache file. >>> # For build in directory: c:/ITK_3_16_0/Code >>> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >>> # You can edit this file to change values found and used by cmake. >>> # If you do not want to change any of the values, simply exit the >>> editor. >>> # If you do want to change a value, simply edit, save, and exit the >>> editor. >>> # The syntax for the file is as follows: >>> # KEY:TYPE=VALUE >>> # KEY is the name of a variable in the cache. >>> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >>> # VALUE is the current value for the KEY. >>> >>> ######################## >>> # EXTERNAL cache entries >>> ######################## >>> >>> //Path to a program. >>> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >>> >>> //For backwards compatibility, what version of CMake commands and >>> // syntax should this version of CMake try to support. >>> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >>> >>> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >>> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >>> CMAKE_BUILD_TYPE:STRING= >>> >>> //Enable/Disable color output during build. >>> CMAKE_COLOR_MAKEFILE:BOOL=ON >>> >>> //CXX compiler. >>> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >>> >>> //Flags used by the compiler during all build types. >>> CMAKE_CXX_FLAGS:STRING= >>> >>> //Flags used by the compiler during debug builds. >>> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >>> >>> //Flags used by the compiler during release minsize builds. >>> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>> >>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>> // files). >>> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>> >>> //Flags used by the compiler during Release with Debug Info builds. >>> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>> >>> //Libraries linked by defalut with all C++ applications. >>> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>> -lwinspool >>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>> >>> //C compiler. >>> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >>> >>> //Flags used by the compiler during all build types. >>> CMAKE_C_FLAGS:STRING= >>> >>> //Flags used by the compiler during debug builds. >>> CMAKE_C_FLAGS_DEBUG:STRING=-g >>> >>> //Flags used by the compiler during release minsize builds. >>> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>> >>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>> // files). >>> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>> >>> //Flags used by the compiler during Release with Debug Info builds. >>> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>> >>> //Libraries linked by defalut with all C applications. >>> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool >>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>> >>> //Flags used by the linker. >>> CMAKE_EXE_LINKER_FLAGS:STRING= >>> >>> //Flags used by the linker during debug builds. >>> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >>> >>> //Flags used by the linker during release minsize builds. >>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >>> >>> //Flags used by the linker during release builds. >>> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >>> >>> //Flags used by the linker during Release with Debug Info builds. >>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>> >>> //Install path prefix, prepended onto install directories. >>> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project >>> >>> //Path to a program. >>> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >>> >>> //Path to a program. >>> CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe >>> >>> //Flags used by the linker during the creation of modules. >>> CMAKE_MODULE_LINKER_FLAGS:STRING= >>> >>> //Flags used by the linker during debug builds. >>> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >>> >>> //Flags used by the linker during release minsize builds. >>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >>> >>> //Flags used by the linker during release builds. >>> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >>> >>> //Flags used by the linker during Release with Debug Info builds. >>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>> >>> //Path to a program. >>> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >>> >>> //Path to a program. >>> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >>> >>> //Path to a program. >>> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >>> >>> //Value Computed by CMake >>> CMAKE_PROJECT_NAME:STATIC=Project >>> >>> //Path to a program. >>> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >>> >>> //Path to a program. >>> CMAKE_SH:FILEPATH=CMAKE_SH-NOTFOUND >>> >>> //Flags used by the linker during the creation of dll's. >>> CMAKE_SHARED_LINKER_FLAGS:STRING= >>> >>> //Flags used by the linker during debug builds. >>> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >>> >>> //Flags used by the linker during release minsize builds. >>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >>> >>> //Flags used by the linker during release builds. >>> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >>> >>> //Flags used by the linker during Release with Debug Info builds. >>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>> >>> //If set, runtime paths are not added when using shared libraries. >>> CMAKE_SKIP_RPATH:BOOL=OFF >>> >>> //Path to a program. >>> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >>> >>> //If true, cmake will use relative paths in makefiles and projects. >>> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >>> >>> //If this value is on, makefiles will be generated without the >>> // .SILENT directive, and all commands will be echoed to the console >>> // during the make. ?This is useful for debugging only. With Visual >>> // Studio IDE projects all commands are done without /nologo. >>> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >>> >>> //Single output directory for building all executables. >>> EXECUTABLE_OUTPUT_PATH:PATH= >>> >>> //Dependencies for the target >>> ITKCommon_LIB_DEPENDS:STATIC=general;itkvnl_inst;general;itksys; >>> >>> //Dependencies for the target >>> ITKNumerics_LIB_DEPENDS:STATIC=general;ITKCommon; >>> >>> //Dependencies for the target >>> ITKStatistics_LIB_DEPENDS:STATIC=general;ITKCommon;general;itkNetlibSlatec; >>> >>> //Single output directory for building all libraries. >>> LIBRARY_OUTPUT_PATH:PATH= >>> >>> //Value Computed by CMake >>> Project_BINARY_DIR:STATIC=C:/ITK_3_16_0/Code >>> >>> //Value Computed by CMake >>> Project_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Code >>> >>> //Dependencies for target >>> itkvnl_inst_LIB_DEPENDS:STATIC= >>> >>> >>> ######################## >>> # INTERNAL cache entries >>> ######################## >>> >>> //ADVANCED property for variable: CMAKE_AR >>> CMAKE_AR-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_BUILD_TOOL >>> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >>> //What is the target build tool cmake is generating for. >>> CMAKE_BUILD_TOOL:INTERNAL=C:/MinGW/bin/mingw32-make.exe >>> //This is the directory where this CMakeCache.txt was created >>> CMAKE_CACHEFILE_DIR:INTERNAL=c:/ITK_3_16_0/Code >>> //Major version of cmake used to create the current loaded cache >>> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >>> //Minor version of cmake used to create the current loaded cache >>> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >>> //Patch version of cmake used to create the current loaded cache >>> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >>> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >>> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >>> //Path to CMake executable. >>> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >>> //Path to cpack program executable. >>> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >>> //Path to ctest program executable. >>> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >>> //ADVANCED property for variable: CMAKE_CXX_COMPILER >>> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >>> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS >>> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >>> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >>> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >>> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >>> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >>> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_COMPILER >>> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >>> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS >>> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >>> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >>> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >>> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >>> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >>> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>> //Result of TRY_COMPILE >>> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >>> //Path to cache edit program executable. >>> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >>> //Executable file format >>> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >>> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >>> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >>> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //Name of generator. >>> CMAKE_GENERATOR:INTERNAL=MinGW Makefiles >>> //Start directory with the top level CMakeLists.txt file for this >>> // project >>> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0/Code >>> //ADVANCED property for variable: CMAKE_LINKER >>> CMAKE_LINKER-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >>> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >>> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >>> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >>> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: >>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_NM >>> CMAKE_NM-ADVANCED:INTERNAL=1 >>> //number of local generators >>> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=10 >>> //ADVANCED property for variable: CMAKE_OBJCOPY >>> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_OBJDUMP >>> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_RANLIB >>> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >>> //Path to CMake installation. >>> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >>> //ADVANCED property for variable: CMAKE_SH >>> CMAKE_SH-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >>> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >>> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >>> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: >>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SKIP_RPATH >>> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_STRIP >>> CMAKE_STRIP-ADVANCED:INTERNAL=1 >>> //Suppress Warnings that are meant for the author of the CMakeLists.txt >>> // files. >>> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >>> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >>> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >>> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >>> //Have library malloc >>> HAVE_LIBMALLOC:INTERNAL= >>> //Have library Psapi >>> HAVE_PSAPI:INTERNAL= >>> >>> >>> >>> >>> >>> >>> >>> That looks OK. Can you email to me your CMakeCache.txt file? I'll >>> compare it to mine. >>> >>> On Wed, Dec 9, 2009 at 5:20 PM, URI wrote: >>>> >>>> In my CMake gui the directory that I choose for "Where to build the >>>> binaries" >>>> is C:/msys/1.0/home/Insight-mingw, which is the directory that I >>>> created >>>> in >>>> step 2) below. ?It starts out empty but when I hit "Configure" files >>>> and >>>> folders begin to appear in it. >>>> >>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4142753.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4144854.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From mort.motes at gmail.com Thu Dec 10 07:09:26 2009 From: mort.motes at gmail.com (motes motes) Date: Thu, 10 Dec 2009 13:09:26 +0100 Subject: [Insight-users] Using c++ stl containers in the transform? Message-ID: <54eca6a70912100409t67f2a30w9535e7ce50ce3135@mail.gmail.com> I have created a transform (TransformPoint) that iterates a std::vector base on a lookup in a std::map. I can't get the same performance compared to running the BSplineDeformableTransform and I suspect that its beause I use the stl containers. Typically I only iterate 10-40 elements in the vector based on a single lookup in the map (lg n time). Does anyone have experiences with the pros and cons of using the stl containers in per pixel/voxel functions like the TransformPoint in the BSplineDeformableTransform? From bill.lorensen at gmail.com Thu Dec 10 08:10:39 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Thu, 10 Dec 2009 08:10:39 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260444515044-4144854.post@n2.nabble.com> References: <4db4735c0912081645k385d8cc0g6fe58ae247d22b88@mail.gmail.com> <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> <1260386268650-4141382.post@n2.nabble.com> <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> <1260397213902-4142411.post@n2.nabble.com> <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> <1260401494258-4142753.post@n2.nabble.com> <4db4735c0912092023m70f951d1s97be2162939236ae@mail.gmail.com> <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> <1260444515044-4144854.post@n2.nabble.com> Message-ID: <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> 10) Start an msys shell by running msys.bat 11) cd to the locations you selected where to build the binaries. 12) make On Thu, Dec 10, 2009 at 6:28 AM, URI wrote: > > Aha, that seems to have been the problem. ?I had the Code subdirectory set as > the "Where is the source code" field, but if I instead set it to the ITK > root directory the configure works! ?At first all the CMake variables were > highlighted in red but I hit "Configure" again and now they are all white. > I do get the message "Could NOT find Tclsh ?(missing: ?TCL_TCLSH)" but that > didn't seem to prevent me from configuring. > > Now I have a ton of files and folders in my binary directory, like CMake, > CMakeFiles, AllowContinuous.sh, lots of stuff. ?Where do I go from here? > > > > > > Bill Lorensen wrote: >> >> Wait a minute. I just checked your CMakeCache.txt file. It says the >> Please don't tell me that the Code directory has subdirectories called >> Common, Basicfilters, Algorithms, ... >> >> If this is true, in step 4 >> 4) Where is the source code: Select the path to the Insight source. >> The path you select should be ITK_3_16_0!!!!!!!!! Not ITK_3_16_0/Code >> >> If it is false, what files are in the Code directory. >> >> You have CMAKE_MAKE_PROGRAM set to the mingw make. >> 8) Configure >> ? ?At this point, you may get errors. DO NOT exit cmake. Check the >> Show Advanced Values in the cmake panel. Look for the variable >> CMAKE_MAKE_PROGRAM. It must point to the MSYS make, not the MinGW make >> or another make. Navigate to the msys bin directory and select make. >> >> Bill >> >> On Wed, Dec 9, 2009 at 11:23 PM, Bill Lorensen >> wrote: >>> What is in the Code directory? Is that the Insight source code? Did >>> you ever run cmake in that directory? You may have corrupted the >>> source tree with cmake generated files. This can definitely cause >>> problems. >>> >>> Do a cvs -nq update in the source directory. And post the output. >>> >>> Bill >>> >>> On Wed, Dec 9, 2009 at 6:31 PM, URI wrote: >>>> >>>> I seem to have two CMakeCache.txt files, one in C:\ITK_3_16_0\bin and >>>> one in >>>> C:|ITK_3_16_0\Code. >>>> >>>> Here is the one that's in the bin folder: >>>> >>>> # This is the CMakeCache file. >>>> # For build in directory: c:/ITK_3_16_0/bin >>>> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >>>> # You can edit this file to change values found and used by cmake. >>>> # If you do not want to change any of the values, simply exit the >>>> editor. >>>> # If you do want to change a value, simply edit, save, and exit the >>>> editor. >>>> # The syntax for the file is as follows: >>>> # KEY:TYPE=VALUE >>>> # KEY is the name of a variable in the cache. >>>> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >>>> # VALUE is the current value for the KEY. >>>> >>>> ######################## >>>> # EXTERNAL cache entries >>>> ######################## >>>> >>>> //Path to a program. >>>> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >>>> >>>> //For backwards compatibility, what version of CMake commands and >>>> // syntax should this version of CMake try to support. >>>> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >>>> >>>> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >>>> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >>>> CMAKE_BUILD_TYPE:STRING= >>>> >>>> //Enable/Disable color output during build. >>>> CMAKE_COLOR_MAKEFILE:BOOL=ON >>>> >>>> //CXX compiler. >>>> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >>>> >>>> //Flags used by the compiler during all build types. >>>> CMAKE_CXX_FLAGS:STRING= >>>> >>>> //Flags used by the compiler during debug builds. >>>> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >>>> >>>> //Flags used by the compiler during release minsize builds. >>>> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>> >>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>> // files). >>>> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>> >>>> //Flags used by the compiler during Release with Debug Info builds. >>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>> >>>> //Libraries linked by defalut with all C++ applications. >>>> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>>> -lwinspool >>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>> >>>> //C compiler. >>>> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >>>> >>>> //Flags used by the compiler during all build types. >>>> CMAKE_C_FLAGS:STRING= >>>> >>>> //Flags used by the compiler during debug builds. >>>> CMAKE_C_FLAGS_DEBUG:STRING=-g >>>> >>>> //Flags used by the compiler during release minsize builds. >>>> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>> >>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>> // files). >>>> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>> >>>> //Flags used by the compiler during Release with Debug Info builds. >>>> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>> >>>> //Libraries linked by defalut with all C applications. >>>> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool >>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>> >>>> //Flags used by the linker. >>>> CMAKE_EXE_LINKER_FLAGS:STRING= >>>> >>>> //Flags used by the linker during debug builds. >>>> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >>>> >>>> //Flags used by the linker during release minsize builds. >>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >>>> >>>> //Flags used by the linker during release builds. >>>> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >>>> >>>> //Flags used by the linker during Release with Debug Info builds. >>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>> >>>> //Install path prefix, prepended onto install directories. >>>> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project >>>> >>>> //Path to a program. >>>> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >>>> >>>> //Path to a program. >>>> CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe >>>> >>>> //Flags used by the linker during the creation of modules. >>>> CMAKE_MODULE_LINKER_FLAGS:STRING= >>>> >>>> //Flags used by the linker during debug builds. >>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >>>> >>>> //Flags used by the linker during release minsize builds. >>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >>>> >>>> //Flags used by the linker during release builds. >>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >>>> >>>> //Flags used by the linker during Release with Debug Info builds. >>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>> >>>> //Path to a program. >>>> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >>>> >>>> //Path to a program. >>>> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >>>> >>>> //Path to a program. >>>> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >>>> >>>> //Value Computed by CMake >>>> CMAKE_PROJECT_NAME:STATIC=Project >>>> >>>> //Path to a program. >>>> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >>>> >>>> //Path to a program. >>>> CMAKE_SH:FILEPATH=CMAKE_SH-NOTFOUND >>>> >>>> //Flags used by the linker during the creation of dll's. >>>> CMAKE_SHARED_LINKER_FLAGS:STRING= >>>> >>>> //Flags used by the linker during debug builds. >>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >>>> >>>> //Flags used by the linker during release minsize builds. >>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >>>> >>>> //Flags used by the linker during release builds. >>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >>>> >>>> //Flags used by the linker during Release with Debug Info builds. >>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>> >>>> //If set, runtime paths are not added when using shared libraries. >>>> CMAKE_SKIP_RPATH:BOOL=OFF >>>> >>>> //Path to a program. >>>> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >>>> >>>> //If true, cmake will use relative paths in makefiles and projects. >>>> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >>>> >>>> //If this value is on, makefiles will be generated without the >>>> // .SILENT directive, and all commands will be echoed to the console >>>> // during the make. ?This is useful for debugging only. With Visual >>>> // Studio IDE projects all commands are done without /nologo. >>>> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >>>> >>>> //Single output directory for building all executables. >>>> EXECUTABLE_OUTPUT_PATH:PATH= >>>> >>>> //Dependencies for the target >>>> ITKAlgorithms_LIB_DEPENDS:STATIC=ITKStatistics;ITKNumerics; >>>> >>>> //Dependencies for the target >>>> ITKBasicFilters_LIB_DEPENDS:STATIC=ITKCommon; >>>> >>>> //Dependencies for the target >>>> ITKCommon_LIB_DEPENDS:STATIC=general;itkvnl_inst;general;itksys; >>>> >>>> //Dependencies for the target >>>> ITKFEM_LIB_DEPENDS:STATIC=ITKBasicFilters;ITKIO; >>>> >>>> //Dependencies for the target >>>> ITKIO_LIB_DEPENDS:STATIC=ITKNrrdIO;ITKSpatialObject;ITKMetaIO;ITKDICOMParser;ITKEXPAT;ITKniftiio; >>>> >>>> //Dependencies for the target >>>> ITKNumerics_LIB_DEPENDS:STATIC=general;ITKCommon; >>>> >>>> //Dependencies for the target >>>> ITKSpatialObject_LIB_DEPENDS:STATIC=ITKMetaIO;ITKCommon; >>>> >>>> //Dependencies for the target >>>> ITKStatistics_LIB_DEPENDS:STATIC=general;ITKCommon;general;itkNetlibSlatec; >>>> >>>> //Single output directory for building all libraries. >>>> LIBRARY_OUTPUT_PATH:PATH= >>>> >>>> //Value Computed by CMake >>>> Project_BINARY_DIR:STATIC=C:/ITK_3_16_0/bin >>>> >>>> //Value Computed by CMake >>>> Project_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Code >>>> >>>> //Dependencies for target >>>> itkvnl_inst_LIB_DEPENDS:STATIC= >>>> >>>> >>>> ######################## >>>> # INTERNAL cache entries >>>> ######################## >>>> >>>> //ADVANCED property for variable: CMAKE_AR >>>> CMAKE_AR-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_BUILD_TOOL >>>> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >>>> //What is the target build tool cmake is generating for. >>>> CMAKE_BUILD_TOOL:INTERNAL=C:/MinGW/bin/mingw32-make.exe >>>> //This is the directory where this CMakeCache.txt was created >>>> CMAKE_CACHEFILE_DIR:INTERNAL=c:/ITK_3_16_0/bin >>>> //Major version of cmake used to create the current loaded cache >>>> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >>>> //Minor version of cmake used to create the current loaded cache >>>> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >>>> //Patch version of cmake used to create the current loaded cache >>>> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >>>> //Major version of cmake used to create the current loaded cache >>>> CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 2 >>>> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >>>> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >>>> //Path to CMake executable. >>>> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >>>> //Path to cpack program executable. >>>> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >>>> //Path to ctest program executable. >>>> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >>>> //ADVANCED property for variable: CMAKE_CXX_COMPILER >>>> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >>>> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS >>>> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >>>> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >>>> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >>>> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >>>> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_COMPILER >>>> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >>>> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS >>>> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >>>> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >>>> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >>>> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >>>> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >>>> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >>>> //Path to cache edit program executable. >>>> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >>>> //Executable file format >>>> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >>>> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >>>> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >>>> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //Name of generator. >>>> CMAKE_GENERATOR:INTERNAL=MinGW Makefiles >>>> //Start directory with the top level CMakeLists.txt file for this >>>> // project >>>> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0/Code >>>> //ADVANCED property for variable: CMAKE_LINKER >>>> CMAKE_LINKER-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >>>> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >>>> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: >>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_NM >>>> CMAKE_NM-ADVANCED:INTERNAL=1 >>>> //number of local generators >>>> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=10 >>>> //ADVANCED property for variable: CMAKE_OBJCOPY >>>> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_OBJDUMP >>>> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_RANLIB >>>> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >>>> //Path to CMake installation. >>>> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >>>> //ADVANCED property for variable: CMAKE_SH >>>> CMAKE_SH-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >>>> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: >>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SKIP_RPATH >>>> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_STRIP >>>> CMAKE_STRIP-ADVANCED:INTERNAL=1 >>>> //Suppress Warnings that are meant for the author of the CMakeLists.txt >>>> // files. >>>> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >>>> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >>>> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >>>> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >>>> //Have library malloc >>>> HAVE_LIBMALLOC:INTERNAL= >>>> //Have library Psapi >>>> HAVE_PSAPI:INTERNAL= >>>> //itkTestDriver path to be used by subprojects >>>> ITK_TEST_DRIVER:INTERNAL=/itkTestDriver >>>> >>>> >>>> >>>> =============================== >>>> >>>> Here is the one in the Code folder: >>>> >>>> # This is the CMakeCache file. >>>> # For build in directory: c:/ITK_3_16_0/Code >>>> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >>>> # You can edit this file to change values found and used by cmake. >>>> # If you do not want to change any of the values, simply exit the >>>> editor. >>>> # If you do want to change a value, simply edit, save, and exit the >>>> editor. >>>> # The syntax for the file is as follows: >>>> # KEY:TYPE=VALUE >>>> # KEY is the name of a variable in the cache. >>>> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >>>> # VALUE is the current value for the KEY. >>>> >>>> ######################## >>>> # EXTERNAL cache entries >>>> ######################## >>>> >>>> //Path to a program. >>>> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >>>> >>>> //For backwards compatibility, what version of CMake commands and >>>> // syntax should this version of CMake try to support. >>>> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >>>> >>>> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >>>> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >>>> CMAKE_BUILD_TYPE:STRING= >>>> >>>> //Enable/Disable color output during build. >>>> CMAKE_COLOR_MAKEFILE:BOOL=ON >>>> >>>> //CXX compiler. >>>> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >>>> >>>> //Flags used by the compiler during all build types. >>>> CMAKE_CXX_FLAGS:STRING= >>>> >>>> //Flags used by the compiler during debug builds. >>>> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >>>> >>>> //Flags used by the compiler during release minsize builds. >>>> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>> >>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>> // files). >>>> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>> >>>> //Flags used by the compiler during Release with Debug Info builds. >>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>> >>>> //Libraries linked by defalut with all C++ applications. >>>> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>>> -lwinspool >>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>> >>>> //C compiler. >>>> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >>>> >>>> //Flags used by the compiler during all build types. >>>> CMAKE_C_FLAGS:STRING= >>>> >>>> //Flags used by the compiler during debug builds. >>>> CMAKE_C_FLAGS_DEBUG:STRING=-g >>>> >>>> //Flags used by the compiler during release minsize builds. >>>> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>> >>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>> // files). >>>> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>> >>>> //Flags used by the compiler during Release with Debug Info builds. >>>> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>> >>>> //Libraries linked by defalut with all C applications. >>>> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool >>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>> >>>> //Flags used by the linker. >>>> CMAKE_EXE_LINKER_FLAGS:STRING= >>>> >>>> //Flags used by the linker during debug builds. >>>> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >>>> >>>> //Flags used by the linker during release minsize builds. >>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >>>> >>>> //Flags used by the linker during release builds. >>>> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >>>> >>>> //Flags used by the linker during Release with Debug Info builds. >>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>> >>>> //Install path prefix, prepended onto install directories. >>>> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Project >>>> >>>> //Path to a program. >>>> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >>>> >>>> //Path to a program. >>>> CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW/bin/mingw32-make.exe >>>> >>>> //Flags used by the linker during the creation of modules. >>>> CMAKE_MODULE_LINKER_FLAGS:STRING= >>>> >>>> //Flags used by the linker during debug builds. >>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >>>> >>>> //Flags used by the linker during release minsize builds. >>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >>>> >>>> //Flags used by the linker during release builds. >>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >>>> >>>> //Flags used by the linker during Release with Debug Info builds. >>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>> >>>> //Path to a program. >>>> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >>>> >>>> //Path to a program. >>>> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >>>> >>>> //Path to a program. >>>> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >>>> >>>> //Value Computed by CMake >>>> CMAKE_PROJECT_NAME:STATIC=Project >>>> >>>> //Path to a program. >>>> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >>>> >>>> //Path to a program. >>>> CMAKE_SH:FILEPATH=CMAKE_SH-NOTFOUND >>>> >>>> //Flags used by the linker during the creation of dll's. >>>> CMAKE_SHARED_LINKER_FLAGS:STRING= >>>> >>>> //Flags used by the linker during debug builds. >>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >>>> >>>> //Flags used by the linker during release minsize builds. >>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >>>> >>>> //Flags used by the linker during release builds. >>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >>>> >>>> //Flags used by the linker during Release with Debug Info builds. >>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>> >>>> //If set, runtime paths are not added when using shared libraries. >>>> CMAKE_SKIP_RPATH:BOOL=OFF >>>> >>>> //Path to a program. >>>> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >>>> >>>> //If true, cmake will use relative paths in makefiles and projects. >>>> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >>>> >>>> //If this value is on, makefiles will be generated without the >>>> // .SILENT directive, and all commands will be echoed to the console >>>> // during the make. ?This is useful for debugging only. With Visual >>>> // Studio IDE projects all commands are done without /nologo. >>>> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >>>> >>>> //Single output directory for building all executables. >>>> EXECUTABLE_OUTPUT_PATH:PATH= >>>> >>>> //Dependencies for the target >>>> ITKCommon_LIB_DEPENDS:STATIC=general;itkvnl_inst;general;itksys; >>>> >>>> //Dependencies for the target >>>> ITKNumerics_LIB_DEPENDS:STATIC=general;ITKCommon; >>>> >>>> //Dependencies for the target >>>> ITKStatistics_LIB_DEPENDS:STATIC=general;ITKCommon;general;itkNetlibSlatec; >>>> >>>> //Single output directory for building all libraries. >>>> LIBRARY_OUTPUT_PATH:PATH= >>>> >>>> //Value Computed by CMake >>>> Project_BINARY_DIR:STATIC=C:/ITK_3_16_0/Code >>>> >>>> //Value Computed by CMake >>>> Project_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Code >>>> >>>> //Dependencies for target >>>> itkvnl_inst_LIB_DEPENDS:STATIC= >>>> >>>> >>>> ######################## >>>> # INTERNAL cache entries >>>> ######################## >>>> >>>> //ADVANCED property for variable: CMAKE_AR >>>> CMAKE_AR-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_BUILD_TOOL >>>> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >>>> //What is the target build tool cmake is generating for. >>>> CMAKE_BUILD_TOOL:INTERNAL=C:/MinGW/bin/mingw32-make.exe >>>> //This is the directory where this CMakeCache.txt was created >>>> CMAKE_CACHEFILE_DIR:INTERNAL=c:/ITK_3_16_0/Code >>>> //Major version of cmake used to create the current loaded cache >>>> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >>>> //Minor version of cmake used to create the current loaded cache >>>> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >>>> //Patch version of cmake used to create the current loaded cache >>>> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >>>> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >>>> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >>>> //Path to CMake executable. >>>> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >>>> //Path to cpack program executable. >>>> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >>>> //Path to ctest program executable. >>>> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >>>> //ADVANCED property for variable: CMAKE_CXX_COMPILER >>>> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >>>> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS >>>> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >>>> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >>>> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >>>> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >>>> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_COMPILER >>>> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >>>> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS >>>> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >>>> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >>>> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >>>> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >>>> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >>>> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >>>> //Path to cache edit program executable. >>>> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >>>> //Executable file format >>>> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >>>> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >>>> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >>>> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //Name of generator. >>>> CMAKE_GENERATOR:INTERNAL=MinGW Makefiles >>>> //Start directory with the top level CMakeLists.txt file for this >>>> // project >>>> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0/Code >>>> //ADVANCED property for variable: CMAKE_LINKER >>>> CMAKE_LINKER-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >>>> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >>>> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: >>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_NM >>>> CMAKE_NM-ADVANCED:INTERNAL=1 >>>> //number of local generators >>>> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=10 >>>> //ADVANCED property for variable: CMAKE_OBJCOPY >>>> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_OBJDUMP >>>> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_RANLIB >>>> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >>>> //Path to CMake installation. >>>> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >>>> //ADVANCED property for variable: CMAKE_SH >>>> CMAKE_SH-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >>>> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: >>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SKIP_RPATH >>>> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_STRIP >>>> CMAKE_STRIP-ADVANCED:INTERNAL=1 >>>> //Suppress Warnings that are meant for the author of the CMakeLists.txt >>>> // files. >>>> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >>>> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >>>> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >>>> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >>>> //Have library malloc >>>> HAVE_LIBMALLOC:INTERNAL= >>>> //Have library Psapi >>>> HAVE_PSAPI:INTERNAL= >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> That looks OK. Can you email to me your CMakeCache.txt file? I'll >>>> compare it to mine. >>>> >>>> On Wed, Dec 9, 2009 at 5:20 PM, URI wrote: >>>>> >>>>> In my CMake gui the directory that I choose for "Where to build the >>>>> binaries" >>>>> is C:/msys/1.0/home/Insight-mingw, which is the directory that I >>>>> created >>>>> in >>>>> step 2) below. ?It starts out empty but when I hit "Configure" files >>>>> and >>>>> folders begin to appear in it. >>>>> >>>>> >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4142753.html >>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4144854.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Thu Dec 10 09:23:22 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Thu, 10 Dec 2009 09:23:22 -0500 Subject: [Insight-users] Using c++ stl containers in the transform? In-Reply-To: <54eca6a70912100409t67f2a30w9535e7ce50ce3135@mail.gmail.com> References: <54eca6a70912100409t67f2a30w9535e7ce50ce3135@mail.gmail.com> Message-ID: Hi Motes, Before we dive into the details of your code.... Are you compiling you application for "Release" ? In order to do profiling comparisons, you must start first by making sure that you are using the compiler's optimization. --- Using STL containers is as efficient as using pointers, as long as you access the elements of the container via STL iterators. Do the operations of mapping points involve inserting new elements or removing exising elements from the STL containers in your Transform ? Please let us know, Thanks Luis -------------------------------------------------- On Thu, Dec 10, 2009 at 7:09 AM, motes motes wrote: > I have created a transform (TransformPoint) that iterates a > std::vector base on a lookup in a std::map. I can't get the same > performance compared to running the ?BSplineDeformableTransform and I > suspect that its beause I use the stl containers. Typically I only > iterate 10-40 elements in the vector based on a single lookup in the > map (lg n time). > > Does anyone have experiences with the pros and cons of using the stl > containers in per pixel/voxel functions like the TransformPoint in the > BSplineDeformableTransform? > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From mingchao2005 at gmail.com Thu Dec 10 11:10:29 2009 From: mingchao2005 at gmail.com (Ming Chao) Date: Thu, 10 Dec 2009 10:10:29 -0600 Subject: [Insight-users] how to compile and build a new filter? Message-ID: Hi, Can anyone give a hint on what is the easiest way to compile and build a newFilter.h and newFilter.txx? They are not included in the ITK package but I want to use them in my calculation. Thanks, Ming -------------- next part -------------- An HTML attachment was scrubbed... URL: From mort.motes at gmail.com Thu Dec 10 12:09:34 2009 From: mort.motes at gmail.com (motes motes) Date: Thu, 10 Dec 2009 18:09:34 +0100 Subject: [Insight-users] Using c++ stl containers in the transform? In-Reply-To: References: <54eca6a70912100409t67f2a30w9535e7ce50ce3135@mail.gmail.com> Message-ID: <54eca6a70912100909k217b59f7g7ef6a66813e6110b@mail.gmail.com> On Thu, Dec 10, 2009 at 3:23 PM, Luis Ibanez wrote: > Hi Motes, > > Before we dive into the details of your code.... > > Are you compiling you application for "Release" ?? Yes > In order to do profiling comparisons, you must > start first by making sure that you are using the > compiler's optimization. > > > Using STL containers is as efficient as using > pointers, as long as you access the elements > of the container via STL iterators. I have not found any documentation that says that doing: std::vector container; // Add 100000 strings to container std::vector::iterator it = container.begin() while (it != container.end()) { std::string str = *it; // do something with str it++; } is faster than: int size = container.size(); for (int i=0; i< size; i++) { std::string str = container[i]; // do something with str } I have tried both implementation in my transform and I do not experince any difference in performance. > Do the operations of mapping points involve > inserting new elements or removing exising > elements from the STL containers in your > Transform ?? > I only lookup existing elements and read the contents of those. I do not add or delete any elements. > > ? ?Please let us know, > > > ? ? ? ?Thanks > > > ? ? ? ? ? ? Luis > > > -------------------------------------------------- > On Thu, Dec 10, 2009 at 7:09 AM, motes motes wrote: >> I have created a transform (TransformPoint) that iterates a >> std::vector base on a lookup in a std::map. I can't get the same >> performance compared to running the ?BSplineDeformableTransform and I >> suspect that its beause I use the stl containers. Typically I only >> iterate 10-40 elements in the vector based on a single lookup in the >> map (lg n time). >> >> Does anyone have experiences with the pros and cons of using the stl >> containers in per pixel/voxel functions like the TransformPoint in the >> BSplineDeformableTransform? >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > From zallen at wheelinghospital.com Thu Dec 10 16:22:09 2009 From: zallen at wheelinghospital.com (URI) Date: Thu, 10 Dec 2009 13:22:09 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> References: <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> <1260386268650-4141382.post@n2.nabble.com> <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> <1260397213902-4142411.post@n2.nabble.com> <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> <1260401494258-4142753.post@n2.nabble.com> <4db4735c0912092023m70f951d1s97be2162939236ae@mail.gmail.com> <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> <1260444515044-4144854.post@n2.nabble.com> <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> Message-ID: <1260480129545-4147921.post@n2.nabble.com> I get the message: make: *** No targets specified and no makefile found. Stop. 10) Start an msys shell by running msys.bat 11) cd to the locations you selected where to build the binaries. 12) make -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4147921.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Thu Dec 10 17:04:23 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Thu, 10 Dec 2009 17:04:23 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260480129545-4147921.post@n2.nabble.com> References: <4db4735c0912090546n7423bafcj8e19cebd791eeab3@mail.gmail.com> <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> <1260397213902-4142411.post@n2.nabble.com> <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> <1260401494258-4142753.post@n2.nabble.com> <4db4735c0912092023m70f951d1s97be2162939236ae@mail.gmail.com> <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> <1260444515044-4144854.post@n2.nabble.com> <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> <1260480129545-4147921.post@n2.nabble.com> Message-ID: <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> You are in the wrong directory. Look in the directory that is described in the CMakeCache.txt variable Project_BINARY_DIR cd to that directory and type make On Thu, Dec 10, 2009 at 4:22 PM, URI wrote: > > I get the message: > > make: *** No targets specified and no makefile found. ?Stop. > > > > 10) Start an msys shell by running msys.bat > 11) cd to the locations you selected where to build the binaries. > 12) make > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4147921.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From zallen at wheelinghospital.com Thu Dec 10 23:03:50 2009 From: zallen at wheelinghospital.com (URI) Date: Thu, 10 Dec 2009 20:03:50 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> References: <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> <1260397213902-4142411.post@n2.nabble.com> <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> <1260401494258-4142753.post@n2.nabble.com> <4db4735c0912092023m70f951d1s97be2162939236ae@mail.gmail.com> <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> <1260444515044-4144854.post@n2.nabble.com> <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> Message-ID: <1260504230928-4149414.post@n2.nabble.com> Let me explain what I've done so I'm sure we're talking about the same thing: I ran Msys and typed "mkdir Insight-mingw " as per Steps 1 and 2. This created a new folder C:\msys\1.0\home\Insight-mingw In my CMake gui I set the "Where to build the binaries" to that same folder. I did all the "Configure" stuff and all those files and folders appear in that Insight-mingw folder. Then I start the Msys shell, navigate to C:\msys\1.0\home\Insight-mingw and type "make" and that's when I get the error. If I look in that Insight-mingw folder where I built the binaries there is a CMakeCache.txt file, but it does not have a Project_BINARY_DIR variable. Here is my CMakeCache.txt file: # This is the CMakeCache file. # For build in directory: c:/msys/1.0/home/Insight-mingw # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. # If you do want to change a value, simply edit, save, and exit the editor. # The syntax for the file is as follows: # KEY:TYPE=VALUE # KEY is the name of a variable in the cache. # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. # VALUE is the current value for the KEY. ######################## # EXTERNAL cache entries ######################## //Name of build on the dashboard BUILDNAME:STRING=Win32-make //Build Doxygen Documentation BUILD_DOXYGEN:BOOL=OFF //Build the Examples directory. BUILD_EXAMPLES:BOOL=ON //Toggle building shared libraries BUILD_SHARED_LIBS:BOOL=OFF //Build the testing tree. BUILD_TESTING:BOOL=ON //Path to a program. BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND //Path to a program. CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe //For backwards compatibility, what version of CMake commands and // syntax should this version of CMake try to support. CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. CMAKE_BUILD_TYPE:STRING= //Enable/Disable color output during build. CMAKE_COLOR_MAKEFILE:BOOL=ON //CXX compiler. CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe //Flags used by the compiler during all build types. CMAKE_CXX_FLAGS:STRING= //Flags used by the compiler during debug builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g //Flags used by the compiler during release minsize builds. CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG //Flags used by the compiler during release builds (/MD /Ob1 /Oi // /Ot /Oy /Gs will produce slightly less optimized but smaller // files). CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the compiler during Release with Debug Info builds. CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g //Libraries linked by defalut with all C++ applications. CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 //C compiler. CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe //Flags used by the compiler during all build types. CMAKE_C_FLAGS:STRING= //Flags used by the compiler during debug builds. CMAKE_C_FLAGS_DEBUG:STRING=-g //Flags used by the compiler during release minsize builds. CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG //Flags used by the compiler during release builds (/MD /Ob1 /Oi // /Ot /Oy /Gs will produce slightly less optimized but smaller // files). CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the compiler during Release with Debug Info builds. CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g //Libraries linked by defalut with all C applications. CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 //Flags used by the linker. CMAKE_EXE_LINKER_FLAGS:STRING= //Flags used by the linker during debug builds. CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during release minsize builds. CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during release builds. CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= //Use HP pthreads. CMAKE_HP_PTHREADS:BOOL=OFF //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/ITK //Path to a program. CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe //Path to a program. CMAKE_MAKE_PROGRAM:FILEPATH=C:/msys/1.0/bin/make.exe //Flags used by the linker during the creation of modules. CMAKE_MODULE_LINKER_FLAGS:STRING= //Flags used by the linker during debug builds. CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during release minsize builds. CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during release builds. CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= //Path to a program. CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe //Path to a program. CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe //Path to a program. CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe //Value Computed by CMake CMAKE_PROJECT_NAME:STATIC=ITK //Path to a program. CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe //Flags used by the linker during the creation of dll's. CMAKE_SHARED_LINKER_FLAGS:STRING= //Flags used by the linker during debug builds. CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= //Flags used by the linker during release minsize builds. CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= //Flags used by the linker during release builds. CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during Release with Debug Info builds. CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= //If set, runtime paths are not added when using shared libraries. CMAKE_SKIP_RPATH:BOOL=OFF //Path to a program. CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe //Thread library used. CMAKE_THREAD_LIBS:STRING= //Use the pthreads library. CMAKE_USE_PTHREADS:BOOL=OFF //If true, cmake will use relative paths in makefiles and projects. CMAKE_USE_RELATIVE_PATHS:BOOL=OFF //Use sproc libs. CMAKE_USE_SPROC:BOOL=OFF //Use the win32 thread library. CMAKE_USE_WIN32_THREADS:BOOL=ON //If this value is on, makefiles will be generated without the // .SILENT directive, and all commands will be echoed to the console // during the make. This is useful for debugging only. With Visual // Studio IDE projects all commands are done without /nologo. CMAKE_VERBOSE_MAKEFILE:BOOL=OFF //X11 extra flags. CMAKE_X_CFLAGS:STRING=-I //Libraries and options used in X11 programs. CMAKE_X_LIBS:STRING= //Path to program used to compress files for transfer to the dart // server COMPRESSIONCOMMAND:FILEPATH=COMPRESSIONCOMMAND-NOTFOUND //Path to the coverage program that CTest uses for performing coverage // inspection COVERAGE_COMMAND:FILEPATH=C:/MinGW/bin/gcov.exe //Enable to build NSIS packages CPACK_BINARY_NSIS:BOOL=ON //Enable to build ZIP packages CPACK_BINARY_ZIP:BOOL=OFF //Enable to build ZIP source packages CPACK_SOURCE_ZIP:BOOL=ON //Path to a program. CVSCOMMAND:FILEPATH=CVSCOMMAND-NOTFOUND //Options passed to the cvs update command. CVS_UPDATE_OPTIONS:STRING=-d -A -P //Limit of reported errors, -1 reports all. DART_BUILD_ERROR_REPORT_LIMIT:BOOL=OFF //Limit of reported warnings, -1 reports all. DART_BUILD_WARNING_REPORT_LIMIT:BOOL=OFF //If you have Dart installed, where is it located? DART_ROOT:PATH=DART_ROOT-NOTFOUND //Maximum time allowed before CTest will kill the test. DART_TESTING_TIMEOUT:STRING=1500 //Show the actual output of the build, or if off show a . for each // 1024 bytes. DART_VERBOSE_BUILD:BOOL=OFF //Should Dart server send email when build errors are found in // Continuous builds? DELIVER_CONTINUOUS_EMAIL:BOOL=OFF //Value Computed by CMake FilteringExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Filtering //Value Computed by CMake FilteringExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Filtering //Value Computed by CMake GDCM_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/gdcm //Remove all legacy code completely. GDCM_LEGACY_REMOVE:BOOL=OFF //Silence all legacy code messages. GDCM_LEGACY_SILENT:BOOL=OFF //Value Computed by CMake GDCM_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/gdcm //Path to gunzip executable GUNZIPCOMMAND:FILEPATH=GUNZIPCOMMAND-NOTFOUND //Path to a program. HGCOMMAND:FILEPATH=HGCOMMAND-NOTFOUND //Value Computed by CMake IOExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/IO //Value Computed by CMake IOExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/IO //Dependencies for the target ITKAlgorithms_LIB_DEPENDS:STATIC=general;gdi32;general;ITKStatistics;general;ITKNumerics; //Dependencies for the target ITKBasicFilters_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; //Dependencies for the target ITKCommon_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_inst;general;itksys; //Dependencies for the target ITKDICOMParser_LIB_DEPENDS:STATIC=general;gdi32; //Value Computed by CMake ITKEXPAT_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/expat //Dependencies for the target ITKEXPAT_LIB_DEPENDS:STATIC=general;gdi32; //Value Computed by CMake ITKEXPAT_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/expat //Value Computed by CMake ITKEXTHDRS_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkExtHdrs //Value Computed by CMake ITKEXTHDRS_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkExtHdrs //Dependencies for the target ITKFEM_LIB_DEPENDS:STATIC=general;gdi32;general;ITKBasicFilters;general;ITKIO; //Dependencies for the target ITKIO_LIB_DEPENDS:STATIC=general;gdi32;general;ITKNrrdIO;general;itkgdcm;general;itkpng;general;itktiff;general;ITKSpatialObject;general;ITKMetaIO;general;ITKDICOMParser;general;ITKEXPAT;general;ITKniftiio; //Value Computed by CMake ITKJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkjpeg //Value Computed by CMake ITKJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkjpeg //Value Computed by CMake ITKMetaIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/MetaIO //Dependencies for the target ITKMetaIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itksys;general;comctl32;general;wsock32; //Value Computed by CMake ITKMetaIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/MetaIO //Value Computed by CMake ITKNrrdIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/NrrdIO //Dependencies for the target ITKNrrdIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; //Value Computed by CMake ITKNrrdIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/NrrdIO //Dependencies for the target ITKNumerics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; //Value Computed by CMake ITKOpenJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/openjpeg //Value Computed by CMake ITKOpenJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/openjpeg //Value Computed by CMake ITKPNG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkpng //Value Computed by CMake ITKPNG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkpng //Dependencies for the target ITKSpatialObject_LIB_DEPENDS:STATIC=general;gdi32;general;ITKMetaIO;general;ITKCommon; //Dependencies for the target ITKStatistics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon;general;itkNetlibSlatec; //Value Computed by CMake ITKTIFF_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itktiff //Value Computed by CMake ITKTIFF_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itktiff //Value Computed by CMake ITKTesting_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Testing //Value Computed by CMake ITKTesting_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Testing //Value Computed by CMake ITKZLIB_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkzlib //Value Computed by CMake ITKZLIB_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkzlib //Value Computed by CMake ITK_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw //Directory with data taken from http://public.kitware.com/pub/itk/Data/BrainWeb/ ITK_BRAINWEB_DATA_ROOT:PATH=ITK_BRAINWEB_DATA_ROOT-NOTFOUND //Provide here the size of your RAM Memory in GigaBytes ITK_COMPUTER_MEMORY_SIZE:STRING=1 //Build cswig Java wrapper support ITK_CSWIG_JAVA:BOOL=OFF //Build cswig Python wrapper support (requires CableSwig). ITK_CSWIG_PYTHON:BOOL=OFF //Build cswig Tcl wrapper support (requires CableSwig). ITK_CSWIG_TCL:BOOL=OFF //Path to a file. ITK_DATA_ROOT:PATH=C:/ITK_3_16_0/Testing/Data //Try to explicitly build some of the core templates explictitly // rather than over and over again. ITK_EXPLICIT_INSTANTIATION:BOOL=OFF //Makes itk::Image behave like itk::OrientedImage ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE:BOOL=ON //Remove all legacy code completely. ITK_LEGACY_REMOVE:BOOL=OFF //Silence all legacy code messages. ITK_LEGACY_SILENT:BOOL=OFF //Directory with data taken from http://public.kitware.com/pub/itk/Data/HealthyVolunteersMRIDatabase/ ITK_MRI_UNC_DATABASE_DATA_ROOT:PATH=ITK_MRI_UNC_DATABASE_DATA_ROOT-NOTFOUND //Directory with data taken from http://www.osirix-viewer.com/Downloads.html ITK_OSIRIX_DATA_ROOT:PATH=ITK_OSIRIX_DATA_ROOT-NOTFOUND //Value Computed by CMake ITK_SOURCE_DIR:STATIC=C:/ITK_3_16_0 //Turn on correct usage of centered-pixel coordinates. ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON //Turn on concept checking to give helpful errors at compile time // if a type cannot be used as a template parameter. ITK_USE_CONCEPT_CHECKING:BOOL=ON //Turn on the experimental consolidated morphology. ITK_USE_CONSOLIDATED_MORPHOLOGY:BOOL=OFF //Turn on the use of a sparse field level set surface interpolation // method that has been deprecated since ITK 3.6. Turn this flag // ON to exactly replicate the behavior of ITK<=3.4. ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION:BOOL=OFF //Enable the use of KWStyle for checking coding style. ITK_USE_KWSTYLE:BOOL=OFF //Use LIBXML2. ITK_USE_LIBXML2:BOOL=OFF //Use MINC2 File Format ITK_USE_MINC2:BOOL=OFF //Turn on the experimental version of accelerated registration // methods. ITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=OFF //Turn on correct use of oriented images direction in gradient // computation and image registration. ITK_USE_ORIENTED_IMAGE_DIRECTION:BOOL=ON //Build algorithms that are covered with Patents. It is YOUR responsibility // to obtain a license from the patent holder in order to use these // methods. ITK_USE_PATENTED:BOOL=OFF //Turn on region validation in Iterator constructors. ITK_USE_REGION_VALIDATION_IN_ITERATORS:BOOL=ON //Build algorithms that are candidates to be included in the Toolkit. // This classes are not covered by the Backward Compatibility Policy, // nor the Copyright Policy of ITK. ITK_USE_REVIEW:BOOL=OFF //Use the experimental statistics framework. ITK_USE_REVIEW_STATISTICS:BOOL=OFF //Turn on Strict concept checking to give more stringent errors // at compile time if a type cannot be used as a template parameter. ITK_USE_STRICT_CONCEPT_CHECKING:BOOL=OFF //Use an outside build of GDCM. ITK_USE_SYSTEM_GDCM:BOOL=OFF //Use the system's libxml2 library. ITK_USE_SYSTEM_LIBXML2:BOOL=OFF //Use the system's png library. ITK_USE_SYSTEM_PNG:BOOL=OFF //Use the system's tiff library. ITK_USE_SYSTEM_TIFF:BOOL=OFF //Use an outside build of VXL. ITK_USE_SYSTEM_VXL:BOOL=OFF //Use the system's zlib library. ITK_USE_SYSTEM_ZLIB:BOOL=OFF //Turn on the use of Template Meta-Programming techniques for unrolling // for-loops at compile time. ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING:BOOL=ON //Turn on the experimental IO factories for reading and writing // transforms. ITK_USE_TRANSFORM_IO_FACTORIES:BOOL=OFF //Directory with data taken from http://www.nlm.nih.gov/research/visible/getting_data.html ITK_VISIBLEHUMAN_DATA_ROOT:PATH=ITK_VISIBLEHUMAN_DATA_ROOT-NOTFOUND //Dependencies for the target ITKniftiio_LIB_DEPENDS:STATIC=general;gdi32;general;ITKznz; //Dependencies for the target ITKznz_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; //Value Computed by CMake ImageExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Image //Value Computed by CMake ImageExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Image //Value Computed by CMake ImageRegistration_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Registration //Value Computed by CMake ImageRegistration_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Registration //Value Computed by CMake ImageSegmentation_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Segmentation //Value Computed by CMake ImageSegmentation_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Segmentation //Value Computed by CMake IteratorExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Iterators //Value Computed by CMake IteratorExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Iterators //Path to java command, used by the Dart server to create html. JAVACOMMAND:FILEPATH=JAVACOMMAND-NOTFOUND //Command used to build entire project from the command line. MAKECOMMAND:STRING=C:/msys/1.0/bin/make.exe -i //Path to the memory checking command, used for memory error detection. MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND //File that contains suppressions for the memory checker MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= //Value Computed by CMake MeshExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Mesh //Value Computed by CMake MeshExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Mesh //Value Computed by CMake NIFTI_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/nifti //Value Computed by CMake NIFTI_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/nifti //Value Computed by CMake NumericsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Numerics //Value Computed by CMake NumericsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Numerics //Value Computed by CMake PathExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Path //Value Computed by CMake PathExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Path //Path to scp command, used by CTest for submitting results to // a Dart server SCPCOMMAND:FILEPATH=SCPCOMMAND-NOTFOUND //Name of the computer/site where compile is being run SITE:STRING=ZAPPA //Path to the SLURM sbatch executable SLURM_SBATCH_COMMAND:FILEPATH=SLURM_SBATCH_COMMAND-NOTFOUND //Path to the SLURM srun executable SLURM_SRUN_COMMAND:FILEPATH=SLURM_SRUN_COMMAND-NOTFOUND //Path to a program. SVNCOMMAND:FILEPATH=SVNCOMMAND-NOTFOUND //Value Computed by CMake SpatialObjectsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/SpatialObjects //Value Computed by CMake SpatialObjectsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/SpatialObjects //Value Computed by CMake StatisticsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Statistics //Value Computed by CMake StatisticsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Statistics //Path to a program. TCL_TCLSH:FILEPATH=TCL_TCLSH-NOTFOUND //Use double precision FFTW if found USE_FFTWD:BOOL=OFF //Use single precision FFTW if found USE_FFTWF:BOOL=OFF //Use the SGI SCSL High Performance Computing math library USE_SCSL:BOOL=OFF //Build external languages support USE_WRAP_ITK:BOOL=OFF //Path to a file. UUID_INCLUDE_DIR:PATH=UUID_INCLUDE_DIR-NOTFOUND //Path to a library. UUID_LIBRARY:FILEPATH=UUID_LIBRARY-NOTFOUND //Whether vnl_vector/vnl_matrix accessor methods check index bounds. VNL_CONFIG_CHECK_BOUNDS:BOOL=ON //Enable Streaming SIMD Extensions 2 optimisations (hardware dependant). // Currently broken. For use by VNL developers only. VNL_CONFIG_ENABLE_SSE2:BOOL=OFF //Enable Streaming SIMD Extensions 2 implementation of rounding // (hardware dependant). VNL_CONFIG_ENABLE_SSE2_ROUNDING:BOOL=OFF //Whether backward-compatibility methods are provided by vnl. VNL_CONFIG_LEGACY_METHODS:BOOL=OFF //Whether thread-safe vnl implementations are used. VNL_CONFIG_THREAD_SAFE:BOOL=ON //v3p include files VTHREEP_INCLUDE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p //v3p include files VTHREEP_INSTALL_INCLUDE_DIR:STATIC=C:/Program Files (x86)/ITK/include/vxl/v3p //Re-run the configuration tests? VXL_UPDATE_CONFIGURATION:BOOL=OFF //Dependencies for the target itkNetlibSlatec_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib; //Value Computed by CMake itkdicomparser_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/DICOMParser //Value Computed by CMake itkdicomparser_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/DICOMParser //Dependencies for the target itkgdcm_LIB_DEPENDS:STATIC=general;gdi32;general;itkjpeg8;general;itkjpeg12;general;itkjpeg16;general;itkopenjpeg;general;wsock32;general;snmpapi;general;rpcrt4; //Dependencies for the target itkjpeg12_LIB_DEPENDS:STATIC=general;gdi32; //Dependencies for the target itkjpeg16_LIB_DEPENDS:STATIC=general;gdi32; //Dependencies for the target itkjpeg8_LIB_DEPENDS:STATIC=general;gdi32; //Dependencies for the target itkopenjpeg_LIB_DEPENDS:STATIC=general;gdi32; //Dependencies for the target itkpng_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; //Value Computed by CMake itksys_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/kwsys //Dependencies for the target itksys_LIB_DEPENDS:STATIC=general;gdi32;general;ws2_32; //Value Computed by CMake itksys_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/kwsys //Dependencies for the target itktestlib_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; //Dependencies for the target itktiff_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itkjpeg8; //Dependencies for the target itkv3p_netlib_LIB_DEPENDS:STATIC=general;gdi32; //Dependencies for the target itkvcl_LIB_DEPENDS:STATIC=general;gdi32; //Dependencies for the target itkvnl_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; //Dependencies for the target itkvnl_algo_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib;general;itkvnl; //Dependencies for the target itkvnl_inst_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_algo; //Dependencies for the target itkzlib_LIB_DEPENDS:STATIC=general;gdi32; //Value Computed by CMake netlib_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p/netlib //Value Computed by CMake netlib_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p/netlib //Value Computed by CMake vcl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/vcl //Value Computed by CMake vcl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/vcl //Value Computed by CMake vthreep_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p //Value Computed by CMake vthreep_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p //Value Computed by CMake vxl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl //Value Computed by CMake vxl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl //Value Computed by CMake vxl_config_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/config/cmake/config //Value Computed by CMake vxl_config_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/config/cmake/config //Value Computed by CMake vxlcore_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/core //Value Computed by CMake vxlcore_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/core ######################## # INTERNAL cache entries ######################## //System handles bit-fields larger than 32 bits. BIGBITFIELD:INTERNAL=1 //Result of TRY_COMPILE BIGBITFIELD_VALUE:INTERNAL=TRUE //ADVANCED property for variable: BUILDNAME BUILDNAME-ADVANCED:INTERNAL=1 //ADVANCED property for variable: BZRCOMMAND BZRCOMMAND-ADVANCED:INTERNAL=1 //Result of TRY_COMPILE CMAKE_ANSI_FOR_SCOPE:INTERNAL=TRUE //Have include iostream CMAKE_ANSI_STREAM_HEADERS:INTERNAL=1 //ADVANCED property for variable: CMAKE_AR CMAKE_AR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_BACKWARDS_COMPATIBILITY CMAKE_BACKWARDS_COMPATIBILITY-ADVANCED:INTERNAL=0 //ADVANCED property for variable: CMAKE_BUILD_TOOL CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 //What is the target build tool cmake is generating for. CMAKE_BUILD_TOOL:INTERNAL=C:/msys/1.0/bin/make.exe //This is the directory where this CMakeCache.txt was created CMAKE_CACHEFILE_DIR:INTERNAL=c:/msys/1.0/home/Insight-mingw //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 //Patch version of cmake used to create the current loaded cache CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 //Path to CMake executable. CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe //Path to cpack program executable. CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe //ADVANCED property for variable: CMAKE_CTEST_COMMAND CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 //Path to ctest program executable. CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe //ADVANCED property for variable: CMAKE_CXX_COMPILER CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_COMPILER CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 CMAKE_C_COMPILER_WORKS:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 //Result of TRY_COMPILE CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE //Path to cache edit program executable. CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe //Executable file format CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //Name of generator. CMAKE_GENERATOR:INTERNAL=MSYS Makefiles //Result of TRY_COMPILE CMAKE_HAS_ANSI_STRING_STREAM:INTERNAL=TRUE //Is X11 around. CMAKE_HAS_X:INTERNAL= //Have include limits.h CMAKE_HAVE_LIMITS_H:INTERNAL=1 //Have include pthread.h CMAKE_HAVE_PTHREAD_H:INTERNAL= //Have include stdint.h CMAKE_HAVE_STDINT_H:INTERNAL=1 //Have include CMAKE_HAVE_STDLIB_H CMAKE_HAVE_STDLIB_H:INTERNAL=1 //Have includes CMAKE_HAVE_SYS_PRCTL_H CMAKE_HAVE_SYS_PRCTL_H:INTERNAL= //Have include unistd.h CMAKE_HAVE_UNISTD_H:INTERNAL=1 //Start directory with the top level CMakeLists.txt file for this // project CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0 //ADVANCED property for variable: CMAKE_HP_PTHREADS CMAKE_HP_PTHREADS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_LINKER CMAKE_LINKER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MAKE_PROGRAM CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_NM CMAKE_NM-ADVANCED:INTERNAL=1 //Does the compiler support ansi for scope. CMAKE_NO_ANSI_FOR_SCOPE:INTERNAL=0 //ADVANCED property for variable: CMAKE_NO_ANSI_STREAM_HEADERS CMAKE_NO_ANSI_STREAM_HEADERS-ADVANCED:INTERNAL=1 //Does the compiler support headers like iostream. CMAKE_NO_ANSI_STREAM_HEADERS:INTERNAL=0 //Does the compiler support sstream CMAKE_NO_ANSI_STRING_STREAM:INTERNAL=0 //Does the compiler support std::. CMAKE_NO_STD_NAMESPACE:INTERNAL=0 //number of local generators CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=76 //ADVANCED property for variable: CMAKE_OBJCOPY CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_OBJDUMP CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_RANLIB CMAKE_RANLIB-ADVANCED:INTERNAL=1 //Path to CMake installation. CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //Result of CHECK_TYPE_SIZE CMAKE_SIZEOF_CHAR:INTERNAL=1 //Result of CHECK_TYPE_SIZE CMAKE_SIZEOF_DOUBLE:INTERNAL=8 //Result of CHECK_TYPE_SIZE CMAKE_SIZEOF_FLOAT:INTERNAL=4 //Result of CHECK_TYPE_SIZE CMAKE_SIZEOF_INT:INTERNAL=4 //Result of CHECK_TYPE_SIZE CMAKE_SIZEOF_LONG:INTERNAL=4 //Result of CHECK_TYPE_SIZE CMAKE_SIZEOF_SHORT:INTERNAL=2 //Result of CHECK_TYPE_SIZE CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=2 //Result of CHECK_TYPE_SIZE CMAKE_SIZEOF_VOID_P:INTERNAL=4 //ADVANCED property for variable: CMAKE_SKIP_RPATH CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 //Result of TRY_COMPILE CMAKE_STD_NAMESPACE:INTERNAL=TRUE //ADVANCED property for variable: CMAKE_STRIP CMAKE_STRIP-ADVANCED:INTERNAL=1 //Suppress Warnings that are meant for the author of the CMakeLists.txt // files. CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE //ADVANCED property for variable: CMAKE_THREAD_LIBS CMAKE_THREAD_LIBS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_USE_PTHREADS CMAKE_USE_PTHREADS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_USE_SPROC CMAKE_USE_SPROC-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_USE_WIN32_THREADS CMAKE_USE_WIN32_THREADS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 //Result of TEST_BIG_ENDIAN CMAKE_WORDS_BIGENDIAN:INTERNAL=0 //ADVANCED property for variable: CMAKE_X_CFLAGS CMAKE_X_CFLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_X_LIBS CMAKE_X_LIBS-ADVANCED:INTERNAL=1 //Result of TRY_COMPILE COMPILE_RESULT:INTERNAL=TRUE //ADVANCED property for variable: COMPRESSIONCOMMAND COMPRESSIONCOMMAND-ADVANCED:INTERNAL=1 //ADVANCED property for variable: COVERAGE_COMMAND COVERAGE_COMMAND-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CPACK_BINARY_NSIS CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CPACK_BINARY_ZIP CPACK_BINARY_ZIP-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CPACK_SOURCE_ZIP CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CVSCOMMAND CVSCOMMAND-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CVS_UPDATE_OPTIONS CVS_UPDATE_OPTIONS-ADVANCED:INTERNAL=1 //CXX compiler accepts flag -Wno-deprecated CXX_HAS_DEPRECATED_FLAG:INTERNAL=TRUE //ADVANCED property for variable: DART_BUILD_ERROR_REPORT_LIMIT DART_BUILD_ERROR_REPORT_LIMIT-ADVANCED:INTERNAL=1 //ADVANCED property for variable: DART_BUILD_WARNING_REPORT_LIMIT DART_BUILD_WARNING_REPORT_LIMIT-ADVANCED:INTERNAL=1 //ADVANCED property for variable: DART_ROOT DART_ROOT-ADVANCED:INTERNAL=1 //ADVANCED property for variable: DART_TESTING_TIMEOUT DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 //ADVANCED property for variable: DART_VERBOSE_BUILD DART_VERBOSE_BUILD-ADVANCED:INTERNAL=1 //ADVANCED property for variable: DELIVER_CONTINUOUS_EMAIL DELIVER_CONTINUOUS_EMAIL-ADVANCED:INTERNAL=1 //Result of TRY_RUN DUMMY:INTERNAL=0 //ADVANCED property for variable: EXECUTABLE_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH-ADVANCED:INTERNAL=1 //Single output directory for building all executables. EXECUTABLE_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin //Details about finding Threads FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE] //Support for extension C __FUNCTION__ GDCM_COMPILER_HAS_FUNCTION:INTERNAL=1 //ADVANCED property for variable: GDCM_DATA_DIR GDCM_DATA_DIR-ADVANCED:INTERNAL=1 //Install location for data (relative to prefix). GDCM_DATA_DIR:INTERNAL=/share/gdcm/ //ADVANCED property for variable: GDCM_LEGACY_REMOVE GDCM_LEGACY_REMOVE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: GDCM_LEGACY_SILENT GDCM_LEGACY_SILENT-ADVANCED:INTERNAL=1 //Result of TEST_BIG_ENDIAN GDCM_WORDS_BIGENDIAN:INTERNAL=0 //ADVANCED property for variable: GUNZIPCOMMAND GUNZIPCOMMAND-ADVANCED:INTERNAL=1 //Have include HAVE_ASSERT_H HAVE_ASSERT_H:INTERNAL=1 // HAVE_BIGBITFIELD_VALUE:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_CMAKE_SIZEOF_CHAR:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_CMAKE_SIZEOF_DOUBLE:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_CMAKE_SIZEOF_FLOAT:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_CMAKE_SIZEOF_INT:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_CMAKE_SIZEOF_LONG:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_CMAKE_SIZEOF_SHORT:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_CMAKE_SIZEOF_VOID_P:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_CMAKE_WORDS_BIGENDIAN:INTERNAL=TRUE //Have includes HAVE_DLFCN_H HAVE_DLFCN_H:INTERNAL= //Have include HAVE_FCNTL_H HAVE_FCNTL_H:INTERNAL=1 //Have function floor HAVE_FLOOR:INTERNAL=1 //Result of TRY_COMPILE HAVE_GDCM_WORDS_BIGENDIAN:INTERNAL=TRUE //Have function getopt HAVE_GETOPT:INTERNAL=1 //Have includes HAVE_IEEEFP_H HAVE_IEEEFP_H:INTERNAL= //Have include HAVE_INTTYPES_H HAVE_INTTYPES_H:INTERNAL=1 //Have function isascii HAVE_ISASCII:INTERNAL=1 // HAVE_ITK_CPP_FUNCTION:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_ITK_SIZEOF_LONG_LONG:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_ITK_SIZEOF___INT64:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_KWSYS_SIZEOF_CHAR:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_KWSYS_SIZEOF_INT:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_KWSYS_SIZEOF_LONG:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_KWSYS_SIZEOF_LONG_LONG:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_KWSYS_SIZEOF_SHORT:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_KWSYS_SIZEOF___INT64:INTERNAL=TRUE //Have library malloc HAVE_LIBMALLOC:INTERNAL= //Have include HAVE_LIMITS_H HAVE_LIMITS_H:INTERNAL=1 //Have include HAVE_MALLOC_H HAVE_MALLOC_H:INTERNAL=1 //Have function memmove HAVE_MEMMOVE:INTERNAL=1 //Have include HAVE_MEMORY_H HAVE_MEMORY_H:INTERNAL=1 //Have function memset HAVE_MEMSET:INTERNAL=1 //Have function mmap HAVE_MMAP:INTERNAL= //Have function pow HAVE_POW:INTERNAL=1 //Have library Psapi HAVE_PSAPI:INTERNAL= //Result of TRY_COMPILE HAVE_QNANHIBIT_VALUE:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_SIZEOF_INT:INTERNAL=TRUE //Result of TRY_COMPILE HAVE_SIZEOF_LONG:INTERNAL=TRUE //Have function sqrt HAVE_SQRT:INTERNAL=1 //Have include stddef.h HAVE_STDDEF_H:INTERNAL=1 //Have include stdint.h HAVE_STDINT_H:INTERNAL=1 //Have include HAVE_STDLIB_H HAVE_STDLIB_H:INTERNAL=1 //Have function strcasecmp HAVE_STRCASECMP:INTERNAL=1 //Have function strchr HAVE_STRCHR:INTERNAL=1 //Have include HAVE_STRINGS_H HAVE_STRINGS_H:INTERNAL=1 //Have include HAVE_STRING_H HAVE_STRING_H:INTERNAL=1 //Have function strrchr HAVE_STRRCHR:INTERNAL=1 //Have function strstr HAVE_STRSTR:INTERNAL=1 //Have function strtol HAVE_STRTOL:INTERNAL=1 //Have function areroul HAVE_STRTOUL:INTERNAL= //Have include HAVE_SYS_STAT_H HAVE_SYS_STAT_H:INTERNAL=1 //Have include HAVE_SYS_TIME_H HAVE_SYS_TIME_H:INTERNAL=1 //Have include sys/types.h HAVE_SYS_TYPES_H:INTERNAL=1 //Have include unistd.h HAVE_UNISTD_H:INTERNAL=1 //Result of TRY_COMPILE HAVE_VXL_BIG_ENDIAN:INTERNAL=TRUE //Have include HAVE_WINDOWS_H HAVE_WINDOWS_H:INTERNAL=1 //ADVANCED property for variable: HGCOMMAND HGCOMMAND-ADVANCED:INTERNAL=1 //ImageCompare path to be used by subprojects IMAGE_COMPARE:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompare //ImageCompare path to be used by subprojects IMAGE_COMPARE_COMMAND:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompareCommand //ImageCopy path to be used by subprojects IMAGE_COPY:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCopy //ADVANCED property for variable: ITK_BRAINWEB_DATA_ROOT ITK_BRAINWEB_DATA_ROOT-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_COMPUTER_MEMORY_SIZE ITK_COMPUTER_MEMORY_SIZE-ADVANCED:INTERNAL=1 //Result of TRY_COMPILE ITK_CPP_FUNCTION:INTERNAL=TRUE //ADVANCED property for variable: ITK_CSWIG_JAVA ITK_CSWIG_JAVA-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_CSWIG_PYTHON ITK_CSWIG_PYTHON-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_CSWIG_TCL ITK_CSWIG_TCL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_DATA_ROOT ITK_DATA_ROOT-ADVANCED:INTERNAL=1 //ITK dir to be used by subprojects ITK_DIR:INTERNAL=C:/msys/1.0/home/Insight-mingw //ADVANCED property for variable: ITK_EXPLICIT_INSTANTIATION ITK_EXPLICIT_INSTANTIATION-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE-ADVANCED:INTERNAL=1 ITK_INSTALL_PACKAGE_DIR:INTERNAL=/lib/InsightToolkit //Whether istream supports long long ITK_ISTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 //ADVANCED property for variable: ITK_LEGACY_REMOVE ITK_LEGACY_REMOVE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_LEGACY_SILENT ITK_LEGACY_SILENT-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_MRI_UNC_DATABASE_DATA_ROOT ITK_MRI_UNC_DATABASE_DATA_ROOT-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_OSIRIX_DATA_ROOT ITK_OSIRIX_DATA_ROOT-ADVANCED:INTERNAL=1 //Whether ostream supports long long ITK_OSTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 //Result of CHECK_TYPE_SIZE ITK_SIZEOF_LONG_LONG:INTERNAL=8 //Result of CHECK_TYPE_SIZE ITK_SIZEOF___INT64:INTERNAL=8 //Result of TRY_COMPILE ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_EMPTY_BRACKETS:INTERNAL=TRUE //Result of TRY_COMPILE ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_NULL_STRING:INTERNAL=FALSE //Result of TRY_COMPILE ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_TEMPLATE_ARGUMENTS:INTERNAL=FALSE //Result of TRY_COMPILE ITK_SUPPORTS_TEMPLATE_PARTIAL_SPECIALIZATION:INTERNAL=TRUE //itkTestDriver path to be used by subprojects ITK_TEST_DRIVER:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/itkTestDriver //Whether long and __int64 are the same type ITK_TYPE_SAME_LONG_AND___INT64:INTERNAL=0 //ADVANCED property for variable: ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_CONCEPT_CHECKING ITK_USE_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_CONSOLIDATED_MORPHOLOGY ITK_USE_CONSOLIDATED_MORPHOLOGY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_LIBXML2 ITK_USE_LIBXML2-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_MINC2 ITK_USE_MINC2-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_OPTIMIZED_REGISTRATION_METHODS ITK_USE_OPTIMIZED_REGISTRATION_METHODS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_ORIENTED_IMAGE_DIRECTION ITK_USE_ORIENTED_IMAGE_DIRECTION-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_PATENTED ITK_USE_PATENTED-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_REGION_VALIDATION_IN_ITERATORS ITK_USE_REGION_VALIDATION_IN_ITERATORS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_REVIEW ITK_USE_REVIEW-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_REVIEW_STATISTICS ITK_USE_REVIEW_STATISTICS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_STRICT_CONCEPT_CHECKING ITK_USE_STRICT_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_SYSTEM_GDCM ITK_USE_SYSTEM_GDCM-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_SYSTEM_LIBXML2 ITK_USE_SYSTEM_LIBXML2-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_SYSTEM_PNG ITK_USE_SYSTEM_PNG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_SYSTEM_TIFF ITK_USE_SYSTEM_TIFF-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_SYSTEM_VXL ITK_USE_SYSTEM_VXL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_SYSTEM_ZLIB ITK_USE_SYSTEM_ZLIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_USE_TRANSFORM_IO_FACTORIES ITK_USE_TRANSFORM_IO_FACTORIES-ADVANCED:INTERNAL=1 //ADVANCED property for variable: ITK_VISIBLEHUMAN_DATA_ROOT ITK_VISIBLEHUMAN_DATA_ROOT-ADVANCED:INTERNAL=1 //ADVANCED property for variable: JAVACOMMAND JAVACOMMAND-ADVANCED:INTERNAL=1 //Result of TRY_COMPILE KWSYS_CAN_CONVERT_UI64_TO_DOUBLE_COMPILED:INTERNAL=FALSE //Result of TRY_RUN KWSYS_CHAR_IS_SIGNED:INTERNAL=0 //Result of TRY_COMPILE KWSYS_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_CXX_HAS_CSTDDEF_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_CXX_HAS_CSTDIO_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_CXX_HAS_FULL_SPECIALIZATION_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_CXX_HAS_MEMBER_TEMPLATES_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS_COMPILED:INTERNAL=FALSE //Result of TRY_COMPILE KWSYS_CXX_SAME_LONG_AND___INT64_COMPILED:INTERNAL=FALSE //Result of TRY_COMPILE KWSYS_CXX_SAME_LONG_LONG_AND___INT64_COMPILED:INTERNAL=FALSE //Result of TRY_COMPILE KWSYS_IOS_HAVE_BINARY_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_IOS_HAVE_STD_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_IOS_USE_ANSI_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_IOS_USE_SSTREAM_COMPILED:INTERNAL=TRUE //Checking for Large File Support failed to compile. KWSYS_LFS_WORKS:INTERNAL=-1 //Result of TRY_COMPILE KWSYS_LFS_WORKS_COMPILED:INTERNAL=FALSE //Result of CHECK_TYPE_SIZE KWSYS_SIZEOF_CHAR:INTERNAL=1 //Result of CHECK_TYPE_SIZE KWSYS_SIZEOF_INT:INTERNAL=4 //Result of CHECK_TYPE_SIZE KWSYS_SIZEOF_LONG:INTERNAL=4 //Result of CHECK_TYPE_SIZE KWSYS_SIZEOF_LONG_LONG:INTERNAL=8 //Result of CHECK_TYPE_SIZE KWSYS_SIZEOF_SHORT:INTERNAL=2 //Result of CHECK_TYPE_SIZE KWSYS_SIZEOF___INT64:INTERNAL=8 //Result of TRY_COMPILE KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT_COMPILED:INTERNAL=FALSE //Result of TRY_COMPILE KWSYS_STL_HAS_ALLOCATOR_OBJECTS_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_STL_HAS_ALLOCATOR_REBIND_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_STL_HAS_ALLOCATOR_TEMPLATE_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_STL_HAS_ITERATOR_TRAITS_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_STL_HAVE_STD_COMPILED:INTERNAL=TRUE //Result of TRY_COMPILE KWSYS_STL_STRING_HAVE_NEQ_CHAR_COMPILED:INTERNAL=TRUE //ADVANCED property for variable: LIBRARY_OUTPUT_PATH LIBRARY_OUTPUT_PATH-ADVANCED:INTERNAL=1 //Single output directory for building all libraries. LIBRARY_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin //ADVANCED property for variable: MAKECOMMAND MAKECOMMAND-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MEMORYCHECK_COMMAND MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 //The 22nd bit of 32-bit floating-point quiet NaN. QNANHIBIT:INTERNAL=1 //Result of TRY_RUN QNANHIBIT_VALUE:INTERNAL=1 //Result of TRY_RUN RUN_RESULT:INTERNAL=1 //ADVANCED property for variable: SCPCOMMAND SCPCOMMAND-ADVANCED:INTERNAL=1 //ADVANCED property for variable: SITE SITE-ADVANCED:INTERNAL=1 //Result of CHECK_TYPE_SIZE SIZEOF_INT:INTERNAL=4 //Result of CHECK_TYPE_SIZE SIZEOF_LONG:INTERNAL=4 //ADVANCED property for variable: SLURM_SBATCH_COMMAND SLURM_SBATCH_COMMAND-ADVANCED:INTERNAL=1 //ADVANCED property for variable: SLURM_SRUN_COMMAND SLURM_SRUN_COMMAND-ADVANCED:INTERNAL=1 //CXX compiler accepts flag -features=no%anachronisms SUN_COMPILER:INTERNAL=FALSE //ADVANCED property for variable: SVNCOMMAND SVNCOMMAND-ADVANCED:INTERNAL=1 //ADVANCED property for variable: TCL_TCLSH TCL_TCLSH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: USE_FFTWD USE_FFTWD-ADVANCED:INTERNAL=1 //ADVANCED property for variable: USE_FFTWF USE_FFTWF-ADVANCED:INTERNAL=1 //ADVANCED property for variable: USE_SCSL USE_SCSL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: USE_WRAP_ITK USE_WRAP_ITK-ADVANCED:INTERNAL=1 //ADVANCED property for variable: UUID_INCLUDE_DIR UUID_INCLUDE_DIR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: UUID_LIBRARY UUID_LIBRARY-ADVANCED:INTERNAL=1 //VXL test VCL_ALLOWS_INLINE_INSTANTIATION:INTERNAL=1 //VXL test VCL_ALLOWS_NAMESPACE_STD:INTERNAL=1 //VXL test VCL_CANNOT_SPECIALIZE_CV:INTERNAL=1 //VXL test VCL_CAN_DO_COMPLETE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 //VXL test VCL_CAN_DO_IMPLICIT_TEMPLATES:INTERNAL=1 //VXL test VCL_CAN_DO_NON_TYPE_FUNCTION_TEMPLATE_PARAMETER:INTERNAL=1 //VXL test VCL_CAN_DO_PARTIAL_SPECIALIZATION:INTERNAL=1 //VXL test VCL_CAN_DO_STATIC_TEMPLATE_MEMBER:INTERNAL=1 //VXL test VCL_CAN_DO_TEMPLATE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 //VXL test (successful run) VCL_CHAR_IS_SIGNED:INTERNAL=1 //Result of TRY_COMPILE VCL_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE //VXL test (successful run) VCL_COMPLEX_POW_WORKS:INTERNAL=1 //Result of TRY_COMPILE VCL_COMPLEX_POW_WORKS_COMPILED:INTERNAL=TRUE //Have include algorithm VCL_CXX_HAS_HEADER_ALGORITHM:INTERNAL=1 //Have include bitset VCL_CXX_HAS_HEADER_BITSET:INTERNAL=1 //Have include cassert VCL_CXX_HAS_HEADER_CASSERT:INTERNAL=1 //Have include cctype VCL_CXX_HAS_HEADER_CCTYPE:INTERNAL=1 //Have include cerrno VCL_CXX_HAS_HEADER_CERRNO:INTERNAL=1 //Have include cfloat VCL_CXX_HAS_HEADER_CFLOAT:INTERNAL=1 //Have include ciso646 VCL_CXX_HAS_HEADER_CISO646:INTERNAL=1 //Have include climits VCL_CXX_HAS_HEADER_CLIMITS:INTERNAL=1 //Have include clocale VCL_CXX_HAS_HEADER_CLOCALE:INTERNAL=1 //Have include cmath VCL_CXX_HAS_HEADER_CMATH:INTERNAL=1 //Have include complex VCL_CXX_HAS_HEADER_COMPLEX:INTERNAL=1 //Have include csetjmp VCL_CXX_HAS_HEADER_CSETJMP:INTERNAL=1 //Have include csignal VCL_CXX_HAS_HEADER_CSIGNAL:INTERNAL=1 //Have include cstdarg VCL_CXX_HAS_HEADER_CSTDARG:INTERNAL=1 //Have include cstddef VCL_CXX_HAS_HEADER_CSTDDEF:INTERNAL=1 //Have include cstdio VCL_CXX_HAS_HEADER_CSTDIO:INTERNAL=1 //Have include cstdlib VCL_CXX_HAS_HEADER_CSTDLIB:INTERNAL=1 //Have include cstring VCL_CXX_HAS_HEADER_CSTRING:INTERNAL=1 //Have include ctime VCL_CXX_HAS_HEADER_CTIME:INTERNAL=1 //Have include cwchar VCL_CXX_HAS_HEADER_CWCHAR:INTERNAL=1 //Have include cwctype VCL_CXX_HAS_HEADER_CWCTYPE:INTERNAL=1 //Have include deque VCL_CXX_HAS_HEADER_DEQUE:INTERNAL=1 //Have include exception VCL_CXX_HAS_HEADER_EXCEPTION:INTERNAL=1 //Have include fstream VCL_CXX_HAS_HEADER_FSTREAM:INTERNAL=1 //Have include functional VCL_CXX_HAS_HEADER_FUNCTIONAL:INTERNAL=1 //Have include iomanip VCL_CXX_HAS_HEADER_IOMANIP:INTERNAL=1 //Have include ios VCL_CXX_HAS_HEADER_IOS:INTERNAL=1 //Have include iosfwd VCL_CXX_HAS_HEADER_IOSFWD:INTERNAL=1 //Have include iostream VCL_CXX_HAS_HEADER_IOSTREAM:INTERNAL=1 //Have include iso646.h VCL_CXX_HAS_HEADER_ISO646_H:INTERNAL=1 //Have include istream VCL_CXX_HAS_HEADER_ISTREAM:INTERNAL=1 //Have include iterator VCL_CXX_HAS_HEADER_ITERATOR:INTERNAL=1 //Have include limits VCL_CXX_HAS_HEADER_LIMITS:INTERNAL=1 //Have include list VCL_CXX_HAS_HEADER_LIST:INTERNAL=1 //Have include locale VCL_CXX_HAS_HEADER_LOCALE:INTERNAL=1 //Have include map VCL_CXX_HAS_HEADER_MAP:INTERNAL=1 //Have include memory VCL_CXX_HAS_HEADER_MEMORY:INTERNAL=1 //Have include new VCL_CXX_HAS_HEADER_NEW:INTERNAL=1 //Have include numeric VCL_CXX_HAS_HEADER_NUMERIC:INTERNAL=1 //Have include ostream VCL_CXX_HAS_HEADER_OSTREAM:INTERNAL=1 //Have include queue VCL_CXX_HAS_HEADER_QUEUE:INTERNAL=1 //Have include set VCL_CXX_HAS_HEADER_SET:INTERNAL=1 //Have include sstream VCL_CXX_HAS_HEADER_SSTREAM:INTERNAL=1 //Have include stack VCL_CXX_HAS_HEADER_STACK:INTERNAL=1 //Have include stdexcept VCL_CXX_HAS_HEADER_STDEXCEPT:INTERNAL=1 //Have include streambuf VCL_CXX_HAS_HEADER_STREAMBUF:INTERNAL=1 //Have include string VCL_CXX_HAS_HEADER_STRING:INTERNAL=1 //Have include strstream VCL_CXX_HAS_HEADER_STRSTREAM:INTERNAL=1 //Have include typeinfo VCL_CXX_HAS_HEADER_TYPEINFO:INTERNAL=1 //Have include utility VCL_CXX_HAS_HEADER_UTILITY:INTERNAL=1 //Have include valarray VCL_CXX_HAS_HEADER_VALARRAY:INTERNAL=1 //Have include vector VCL_CXX_HAS_HEADER_VECTOR:INTERNAL=1 //VXL test VCL_DEFAULT_VALUE:INTERNAL=1 //VXL test VCL_DEFINE_SPECIALIZATION:INTERNAL=1 //VXL test VCL_FOR_SCOPE_HACK:INTERNAL=1 //VXL test VCL_HAS_BOOL:INTERNAL=1 //VXL test VCL_HAS_DYNAMIC_CAST:INTERNAL=1 //VXL test VCL_HAS_EXCEPTIONS:INTERNAL=1 //VXL test VCL_HAS_EXPLICIT:INTERNAL=1 //VXL test VCL_HAS_EXPORT:INTERNAL=1 //VXL test (successful run) VCL_HAS_LFS:INTERNAL=1 //Result of TRY_COMPILE VCL_HAS_LFS_COMPILED:INTERNAL=TRUE //VXL test VCL_HAS_MEMBER_TEMPLATES:INTERNAL=1 //VXL test VCL_HAS_MUTABLE:INTERNAL=1 //VXL test VCL_HAS_NAMESPACES:INTERNAL=1 //VXL test VCL_HAS_RTTI:INTERNAL=1 //VXL test (successful run) VCL_HAS_SLICED_DESTRUCTOR_BUG:INTERNAL=1 //Result of TRY_COMPILE VCL_HAS_SLICED_DESTRUCTOR_BUG_COMPILED:INTERNAL=TRUE //Test (failed to compile) VCL_HAS_TEMPLATE_SYMBOLS:INTERNAL=0 //Result of TRY_COMPILE VCL_HAS_TEMPLATE_SYMBOLS_COMPILED:INTERNAL=FALSE //VXL test VCL_HAS_TYPENAME:INTERNAL=1 //VXL test (successful run) VCL_HAS_WORKING_STRINGSTREAM:INTERNAL=1 //Result of TRY_COMPILE VCL_HAS_WORKING_STRINGSTREAM_COMPILED:INTERNAL=TRUE //VXL test VCL_NEEDS_INLINE_INSTANTIATION:INTERNAL=1 //Test VCL_NEEDS_NAMESPACE_STD:INTERNAL=0 //VXL test VCL_NEED_FRIEND_FOR_TEMPLATE_OVERLOAD:INTERNAL=1 //VXL test VCL_NO_STATIC_DATA_MEMBERS:INTERNAL=1 //Test VCL_NULL_TMPL_ARGS:INTERNAL=0 //VXL test (successful run) VCL_NUMERIC_LIMITS_HAS_INFINITY:INTERNAL=1 //Result of TRY_COMPILE VCL_NUMERIC_LIMITS_HAS_INFINITY_COMPILED:INTERNAL=TRUE //Test VCL_OVERLOAD_CAST:INTERNAL=0 //VXL test (successful run) VCL_PROCESSOR_HAS_INFINITY:INTERNAL=1 //Result of TRY_COMPILE VCL_PROCESSOR_HAS_INFINITY_COMPILED:INTERNAL=TRUE //VXL test VCL_STATIC_CONST_INIT_FLOAT:INTERNAL=1 //VXL test VCL_STATIC_CONST_INIT_INT:INTERNAL=1 //Test VCL_STATIC_CONST_INIT_NO_DEFN:INTERNAL=0 //VXL test VCL_SUNPRO_CLASS_SCOPE_HACK:INTERNAL=1 //VXL test VCL_TEMPLATE_MATCHES_TOO_OFTEN:INTERNAL=1 //Are we using an version of gcc < 3.0 VNL_COMPILER_IS_GNUCXX_2XX:INTERNAL=0 //ADVANCED property for variable: VNL_CONFIG_CHECK_BOUNDS VNL_CONFIG_CHECK_BOUNDS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2 VNL_CONFIG_ENABLE_SSE2-ADVANCED:INTERNAL=1 //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2_ROUNDING VNL_CONFIG_ENABLE_SSE2_ROUNDING-ADVANCED:INTERNAL=1 //ADVANCED property for variable: VNL_CONFIG_LEGACY_METHODS VNL_CONFIG_LEGACY_METHODS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: VNL_CONFIG_THREAD_SAFE VNL_CONFIG_THREAD_SAFE-ADVANCED:INTERNAL=1 //Result of TEST_BIG_ENDIAN VXL_BIG_ENDIAN:INTERNAL=0 //VXL test result VXL_BYTE:INTERNAL=char //Serial number of last configuration VXL_CONFIG_SERIAL_LAST:INTERNAL=2007-13-09-001 //Have symbol finite VXL_C_MATH_HAS_FINITE:INTERNAL=1 //Have symbol finitef VXL_C_MATH_HAS_FINITEF:INTERNAL= //Have symbol finitel VXL_C_MATH_HAS_FINITEL:INTERNAL= //VXL test VXL_C_MATH_HAS_LROUND:INTERNAL=1 //Have symbol sqrtf VXL_C_MATH_HAS_SQRTF:INTERNAL=1 //Test VXL_HAS_ALIGNED_MALLOC:INTERNAL=0 //VXL test result VXL_HAS_BYTE:INTERNAL=1 //Test VXL_HAS_DBGHELP_H:INTERNAL=0 //Have include emmintrin.h VXL_HAS_EMMINTRIN_H:INTERNAL=1 //Have include ieeefp.h VXL_HAS_IEEEFP_H:INTERNAL= //VXL test result VXL_HAS_IEEE_128:INTERNAL=0 //VXL test result VXL_HAS_IEEE_32:INTERNAL=1 //VXL test result VXL_HAS_IEEE_64:INTERNAL=1 //VXL test result VXL_HAS_IEEE_96:INTERNAL=1 //VXL test result VXL_HAS_INT_16:INTERNAL=1 //VXL test result VXL_HAS_INT_32:INTERNAL=1 //VXL test result VXL_HAS_INT_64:INTERNAL=1 //VXL test result VXL_HAS_INT_8:INTERNAL=1 //VXL test VXL_HAS_MINGW_ALIGNED_MALLOC:INTERNAL=1 //Test VXL_HAS_MM_MALLOC:INTERNAL=0 //Test VXL_HAS_POSIX_MEMALIGN:INTERNAL=0 //Have include pthread.h VXL_HAS_PTHREAD_H:INTERNAL= //Have include semaphore.h VXL_HAS_SEMAPHORE_H:INTERNAL= //Test (failed to compile) VXL_HAS_SSE2_HARDWARE_SUPPORT:INTERNAL=0 //Result of TRY_COMPILE VXL_HAS_SSE2_HARDWARE_SUPPORT_COMPILED:INTERNAL=FALSE //Have symbol finite VXL_IEEEFP_HAS_FINITE:INTERNAL= //VXL test result VXL_IEEE_128:INTERNAL=void //VXL test result VXL_IEEE_32:INTERNAL=float //VXL test result VXL_IEEE_64:INTERNAL=double //VXL test result VXL_IEEE_96:INTERNAL=long double //VXL test result VXL_INT_16:INTERNAL=short //VXL test result VXL_INT_32:INTERNAL=int //VXL test result VXL_INT_64:INTERNAL=long long //VXL test result VXL_INT_8:INTERNAL=char //VXL test (successful run) VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE:INTERNAL=1 //Result of TRY_COMPILE VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_COMPILED:INTERNAL=TRUE //help string for how to enable SSE2 support VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_HELP:INTERNAL=The current compiler flags do not allow the SSE2 instructions to be used. ;It looks like if you add the flag '-msse2' you will be able to use the ;SSE2 instructions. If you chose to set VNL_CONFIG_ENABLE_SSE or ;VNL_CONFIG_ENABLE_SSE2_ROUNDING to ON, cmake will put this flag for you. ;You can also add this flag yourself. If you still see this message, after ;the flag change, you may need to set VXL_UPDATE_CONFIGURATION to ON and ;rerun cmake. //Have symbol drand48 VXL_STDLIB_HAS_DRAND48:INTERNAL= //Have symbol lrand48 VXL_STDLIB_HAS_LRAND48:INTERNAL= //VXL test VXL_STDLIB_HAS_QSORT:INTERNAL=1 //Have symbol srand48 VXL_STDLIB_HAS_SRAND48:INTERNAL= //Have function getpid VXL_UNISTD_HAS_GETPID:INTERNAL=1 //Have symbol intptr_t VXL_UNISTD_HAS_INTPTR_T:INTERNAL=1 //Have function lchown VXL_UNISTD_HAS_LCHOWN:INTERNAL= //Have function pread VXL_UNISTD_HAS_PREAD:INTERNAL= //Have function pwrite VXL_UNISTD_HAS_PWRITE:INTERNAL= //Have function tell VXL_UNISTD_HAS_TELL:INTERNAL=1 //Have function ualarm VXL_UNISTD_HAS_UALARM:INTERNAL= //Have symbol useconds_t VXL_UNISTD_HAS_USECONDS_T:INTERNAL=1 //Have function usleep VXL_UNISTD_HAS_USLEEP:INTERNAL=1 //VXL test VXL_UNISTD_USLEEP_IS_VOID:INTERNAL=1 //ADVANCED property for variable: VXL_UPDATE_CONFIGURATION VXL_UPDATE_CONFIGURATION-ADVANCED:INTERNAL=1 Bill Lorensen wrote: > > You are in the wrong directory. Look in the directory that is > described in the CMakeCache.txt variable Project_BINARY_DIR > > cd to that directory and type make > > > On Thu, Dec 10, 2009 at 4:22 PM, URI wrote: >> >> I get the message: >> >> make: *** No targets specified and no makefile found. ?Stop. >> >> >> >> 10) Start an msys shell by running msys.bat >> 11) cd to the locations you selected where to build the binaries. >> 12) make >> >> -- >> View this message in context: >> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4147921.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149414.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Thu Dec 10 23:15:09 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Thu, 10 Dec 2009 23:15:09 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260504230928-4149414.post@n2.nabble.com> References: <4db4735c0912091315l1eb784cfsef5a01f184394ba@mail.gmail.com> <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> <1260401494258-4142753.post@n2.nabble.com> <4db4735c0912092023m70f951d1s97be2162939236ae@mail.gmail.com> <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> <1260444515044-4144854.post@n2.nabble.com> <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> Message-ID: <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> navigate to C:\msys\1.0\home\Insight-mingw type ls and send the output to me On Thu, Dec 10, 2009 at 11:03 PM, URI wrote: > > Let me explain what I've done so I'm sure we're talking about the same thing: > > I ran Msys and typed "mkdir Insight-mingw " as per Steps 1 and 2. ?This > created a new folder C:\msys\1.0\home\Insight-mingw > > In my CMake gui I set the "Where to build the binaries" to that same folder. > > I did all the "Configure" stuff and all those files and folders appear in > that Insight-mingw folder. > > Then I start the Msys shell, navigate to C:\msys\1.0\home\Insight-mingw and > type "make" and that's when I get the error. > > If I look in that Insight-mingw folder where I built the binaries there is a > CMakeCache.txt file, but it does not have a Project_BINARY_DIR variable. > > Here is my CMakeCache.txt file: > > # This is the CMakeCache file. > # For build in directory: c:/msys/1.0/home/Insight-mingw > # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe > # You can edit this file to change values found and used by cmake. > # If you do not want to change any of the values, simply exit the editor. > # If you do want to change a value, simply edit, save, and exit the editor. > # The syntax for the file is as follows: > # KEY:TYPE=VALUE > # KEY is the name of a variable in the cache. > # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. > # VALUE is the current value for the KEY. > > ######################## > # EXTERNAL cache entries > ######################## > > //Name of build on the dashboard > BUILDNAME:STRING=Win32-make > > //Build Doxygen Documentation > BUILD_DOXYGEN:BOOL=OFF > > //Build the Examples directory. > BUILD_EXAMPLES:BOOL=ON > > //Toggle building shared libraries > BUILD_SHARED_LIBS:BOOL=OFF > > //Build the testing tree. > BUILD_TESTING:BOOL=ON > > //Path to a program. > BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND > > //Path to a program. > CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe > > //For backwards compatibility, what version of CMake commands and > // syntax should this version of CMake try to support. > CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 > > //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or > // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. > CMAKE_BUILD_TYPE:STRING= > > //Enable/Disable color output during build. > CMAKE_COLOR_MAKEFILE:BOOL=ON > > //CXX compiler. > CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe > > //Flags used by the compiler during all build types. > CMAKE_CXX_FLAGS:STRING= > > //Flags used by the compiler during debug builds. > CMAKE_CXX_FLAGS_DEBUG:STRING=-g > > //Flags used by the compiler during release minsize builds. > CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG > > //Flags used by the compiler during release builds (/MD /Ob1 /Oi > // /Ot /Oy /Gs will produce slightly less optimized but smaller > // files). > CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG > > //Flags used by the compiler during Release with Debug Info builds. > CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g > > //Libraries linked by defalut with all C++ applications. > CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool > -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 > > //C compiler. > CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe > > //Flags used by the compiler during all build types. > CMAKE_C_FLAGS:STRING= > > //Flags used by the compiler during debug builds. > CMAKE_C_FLAGS_DEBUG:STRING=-g > > //Flags used by the compiler during release minsize builds. > CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG > > //Flags used by the compiler during release builds (/MD /Ob1 /Oi > // /Ot /Oy /Gs will produce slightly less optimized but smaller > // files). > CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG > > //Flags used by the compiler during Release with Debug Info builds. > CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g > > //Libraries linked by defalut with all C applications. > CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool > -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 > > //Flags used by the linker. > CMAKE_EXE_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //Use HP pthreads. > CMAKE_HP_PTHREADS:BOOL=OFF > > //Install path prefix, prepended onto install directories. > CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/ITK > > //Path to a program. > CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe > > //Path to a program. > CMAKE_MAKE_PROGRAM:FILEPATH=C:/msys/1.0/bin/make.exe > > //Flags used by the linker during the creation of modules. > CMAKE_MODULE_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //Path to a program. > CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe > > //Path to a program. > CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe > > //Path to a program. > CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe > > //Value Computed by CMake > CMAKE_PROJECT_NAME:STATIC=ITK > > //Path to a program. > CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe > > //Flags used by the linker during the creation of dll's. > CMAKE_SHARED_LINKER_FLAGS:STRING= > > //Flags used by the linker during debug builds. > CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= > > //Flags used by the linker during release minsize builds. > CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= > > //Flags used by the linker during release builds. > CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= > > //Flags used by the linker during Release with Debug Info builds. > CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= > > //If set, runtime paths are not added when using shared libraries. > CMAKE_SKIP_RPATH:BOOL=OFF > > //Path to a program. > CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe > > //Thread library used. > CMAKE_THREAD_LIBS:STRING= > > //Use the pthreads library. > CMAKE_USE_PTHREADS:BOOL=OFF > > //If true, cmake will use relative paths in makefiles and projects. > CMAKE_USE_RELATIVE_PATHS:BOOL=OFF > > //Use sproc libs. > CMAKE_USE_SPROC:BOOL=OFF > > //Use the win32 thread library. > CMAKE_USE_WIN32_THREADS:BOOL=ON > > //If this value is on, makefiles will be generated without the > // .SILENT directive, and all commands will be echoed to the console > // during the make. ?This is useful for debugging only. With Visual > // Studio IDE projects all commands are done without /nologo. > CMAKE_VERBOSE_MAKEFILE:BOOL=OFF > > //X11 extra flags. > CMAKE_X_CFLAGS:STRING=-I > > //Libraries and options used in X11 programs. > CMAKE_X_LIBS:STRING= > > //Path to program used to compress files for transfer to the dart > // server > COMPRESSIONCOMMAND:FILEPATH=COMPRESSIONCOMMAND-NOTFOUND > > //Path to the coverage program that CTest uses for performing coverage > // inspection > COVERAGE_COMMAND:FILEPATH=C:/MinGW/bin/gcov.exe > > //Enable to build NSIS packages > CPACK_BINARY_NSIS:BOOL=ON > > //Enable to build ZIP packages > CPACK_BINARY_ZIP:BOOL=OFF > > //Enable to build ZIP source packages > CPACK_SOURCE_ZIP:BOOL=ON > > //Path to a program. > CVSCOMMAND:FILEPATH=CVSCOMMAND-NOTFOUND > > //Options passed to the cvs update command. > CVS_UPDATE_OPTIONS:STRING=-d -A -P > > //Limit of reported errors, -1 reports all. > DART_BUILD_ERROR_REPORT_LIMIT:BOOL=OFF > > //Limit of reported warnings, -1 reports all. > DART_BUILD_WARNING_REPORT_LIMIT:BOOL=OFF > > //If you have Dart installed, where is it located? > DART_ROOT:PATH=DART_ROOT-NOTFOUND > > //Maximum time allowed before CTest will kill the test. > DART_TESTING_TIMEOUT:STRING=1500 > > //Show the actual output of the build, or if off show a . for each > // 1024 bytes. > DART_VERBOSE_BUILD:BOOL=OFF > > //Should Dart server send email when build errors are found in > // Continuous builds? > DELIVER_CONTINUOUS_EMAIL:BOOL=OFF > > //Value Computed by CMake > FilteringExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Filtering > > //Value Computed by CMake > FilteringExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Filtering > > //Value Computed by CMake > GDCM_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/gdcm > > //Remove all legacy code completely. > GDCM_LEGACY_REMOVE:BOOL=OFF > > //Silence all legacy code messages. > GDCM_LEGACY_SILENT:BOOL=OFF > > //Value Computed by CMake > GDCM_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/gdcm > > //Path to gunzip executable > GUNZIPCOMMAND:FILEPATH=GUNZIPCOMMAND-NOTFOUND > > //Path to a program. > HGCOMMAND:FILEPATH=HGCOMMAND-NOTFOUND > > //Value Computed by CMake > IOExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/IO > > //Value Computed by CMake > IOExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/IO > > //Dependencies for the target > ITKAlgorithms_LIB_DEPENDS:STATIC=general;gdi32;general;ITKStatistics;general;ITKNumerics; > > //Dependencies for the target > ITKBasicFilters_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; > > //Dependencies for the target > ITKCommon_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_inst;general;itksys; > > //Dependencies for the target > ITKDICOMParser_LIB_DEPENDS:STATIC=general;gdi32; > > //Value Computed by CMake > ITKEXPAT_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/expat > > //Dependencies for the target > ITKEXPAT_LIB_DEPENDS:STATIC=general;gdi32; > > //Value Computed by CMake > ITKEXPAT_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/expat > > //Value Computed by CMake > ITKEXTHDRS_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkExtHdrs > > //Value Computed by CMake > ITKEXTHDRS_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkExtHdrs > > //Dependencies for the target > ITKFEM_LIB_DEPENDS:STATIC=general;gdi32;general;ITKBasicFilters;general;ITKIO; > > //Dependencies for the target > ITKIO_LIB_DEPENDS:STATIC=general;gdi32;general;ITKNrrdIO;general;itkgdcm;general;itkpng;general;itktiff;general;ITKSpatialObject;general;ITKMetaIO;general;ITKDICOMParser;general;ITKEXPAT;general;ITKniftiio; > > //Value Computed by CMake > ITKJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkjpeg > > //Value Computed by CMake > ITKJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkjpeg > > //Value Computed by CMake > ITKMetaIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/MetaIO > > //Dependencies for the target > ITKMetaIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itksys;general;comctl32;general;wsock32; > > //Value Computed by CMake > ITKMetaIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/MetaIO > > //Value Computed by CMake > ITKNrrdIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/NrrdIO > > //Dependencies for the target > ITKNrrdIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; > > //Value Computed by CMake > ITKNrrdIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/NrrdIO > > //Dependencies for the target > ITKNumerics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; > > //Value Computed by CMake > ITKOpenJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/openjpeg > > //Value Computed by CMake > ITKOpenJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/openjpeg > > //Value Computed by CMake > ITKPNG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkpng > > //Value Computed by CMake > ITKPNG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkpng > > //Dependencies for the target > ITKSpatialObject_LIB_DEPENDS:STATIC=general;gdi32;general;ITKMetaIO;general;ITKCommon; > > //Dependencies for the target > ITKStatistics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon;general;itkNetlibSlatec; > > //Value Computed by CMake > ITKTIFF_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itktiff > > //Value Computed by CMake > ITKTIFF_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itktiff > > //Value Computed by CMake > ITKTesting_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Testing > > //Value Computed by CMake > ITKTesting_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Testing > > //Value Computed by CMake > ITKZLIB_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkzlib > > //Value Computed by CMake > ITKZLIB_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkzlib > > //Value Computed by CMake > ITK_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw > > //Directory with data taken from > http://public.kitware.com/pub/itk/Data/BrainWeb/ > ITK_BRAINWEB_DATA_ROOT:PATH=ITK_BRAINWEB_DATA_ROOT-NOTFOUND > > //Provide here the size of your RAM Memory in GigaBytes > ITK_COMPUTER_MEMORY_SIZE:STRING=1 > > //Build cswig Java wrapper support > ITK_CSWIG_JAVA:BOOL=OFF > > //Build cswig Python wrapper support (requires CableSwig). > ITK_CSWIG_PYTHON:BOOL=OFF > > //Build cswig Tcl wrapper support (requires CableSwig). > ITK_CSWIG_TCL:BOOL=OFF > > //Path to a file. > ITK_DATA_ROOT:PATH=C:/ITK_3_16_0/Testing/Data > > //Try to explicitly build some of the core templates explictitly > // rather than over and over again. > ITK_EXPLICIT_INSTANTIATION:BOOL=OFF > > //Makes itk::Image behave like itk::OrientedImage > ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE:BOOL=ON > > //Remove all legacy code completely. > ITK_LEGACY_REMOVE:BOOL=OFF > > //Silence all legacy code messages. > ITK_LEGACY_SILENT:BOOL=OFF > > //Directory with data taken from > http://public.kitware.com/pub/itk/Data/HealthyVolunteersMRIDatabase/ > ITK_MRI_UNC_DATABASE_DATA_ROOT:PATH=ITK_MRI_UNC_DATABASE_DATA_ROOT-NOTFOUND > > //Directory with data taken from http://www.osirix-viewer.com/Downloads.html > ITK_OSIRIX_DATA_ROOT:PATH=ITK_OSIRIX_DATA_ROOT-NOTFOUND > > //Value Computed by CMake > ITK_SOURCE_DIR:STATIC=C:/ITK_3_16_0 > > //Turn on correct usage of centered-pixel coordinates. > ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON > > //Turn on concept checking to give helpful errors at compile time > // if a type cannot be used as a template parameter. > ITK_USE_CONCEPT_CHECKING:BOOL=ON > > //Turn on the experimental consolidated morphology. > ITK_USE_CONSOLIDATED_MORPHOLOGY:BOOL=OFF > > //Turn on the use of a sparse field level set surface interpolation > // method that has been deprecated since ITK 3.6. Turn this flag > // ON to exactly replicate the behavior of ITK<=3.4. > ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION:BOOL=OFF > > //Enable the use of KWStyle for checking coding style. > ITK_USE_KWSTYLE:BOOL=OFF > > //Use LIBXML2. > ITK_USE_LIBXML2:BOOL=OFF > > //Use MINC2 File Format > ITK_USE_MINC2:BOOL=OFF > > //Turn on the experimental version of accelerated registration > // methods. > ITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=OFF > > //Turn on correct use of oriented images direction in gradient > // computation and image registration. > ITK_USE_ORIENTED_IMAGE_DIRECTION:BOOL=ON > > //Build algorithms that are covered with Patents. It is YOUR responsibility > // to obtain a license from the patent holder in order to use these > // methods. > ITK_USE_PATENTED:BOOL=OFF > > //Turn on region validation in Iterator constructors. > ITK_USE_REGION_VALIDATION_IN_ITERATORS:BOOL=ON > > //Build algorithms that are candidates to be included in the Toolkit. > // This classes are not covered by the Backward Compatibility Policy, > // nor the Copyright Policy of ITK. > ITK_USE_REVIEW:BOOL=OFF > > //Use the experimental statistics framework. > ITK_USE_REVIEW_STATISTICS:BOOL=OFF > > //Turn on Strict concept checking to give more stringent errors > // at compile time if a type cannot be used as a template parameter. > ITK_USE_STRICT_CONCEPT_CHECKING:BOOL=OFF > > //Use an outside build of GDCM. > ITK_USE_SYSTEM_GDCM:BOOL=OFF > > //Use the system's libxml2 library. > ITK_USE_SYSTEM_LIBXML2:BOOL=OFF > > //Use the system's png library. > ITK_USE_SYSTEM_PNG:BOOL=OFF > > //Use the system's tiff library. > ITK_USE_SYSTEM_TIFF:BOOL=OFF > > //Use an outside build of VXL. > ITK_USE_SYSTEM_VXL:BOOL=OFF > > //Use the system's zlib library. > ITK_USE_SYSTEM_ZLIB:BOOL=OFF > > //Turn on the use of Template Meta-Programming techniques for unrolling > // for-loops at compile time. > ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING:BOOL=ON > > //Turn on the experimental IO factories for reading and writing > // transforms. > ITK_USE_TRANSFORM_IO_FACTORIES:BOOL=OFF > > //Directory with data taken from > http://www.nlm.nih.gov/research/visible/getting_data.html > ITK_VISIBLEHUMAN_DATA_ROOT:PATH=ITK_VISIBLEHUMAN_DATA_ROOT-NOTFOUND > > //Dependencies for the target > ITKniftiio_LIB_DEPENDS:STATIC=general;gdi32;general;ITKznz; > > //Dependencies for the target > ITKznz_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; > > //Value Computed by CMake > ImageExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Image > > //Value Computed by CMake > ImageExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Image > > //Value Computed by CMake > ImageRegistration_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Registration > > //Value Computed by CMake > ImageRegistration_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Registration > > //Value Computed by CMake > ImageSegmentation_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Segmentation > > //Value Computed by CMake > ImageSegmentation_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Segmentation > > //Value Computed by CMake > IteratorExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Iterators > > //Value Computed by CMake > IteratorExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Iterators > > //Path to java command, used by the Dart server to create html. > JAVACOMMAND:FILEPATH=JAVACOMMAND-NOTFOUND > > //Command used to build entire project from the command line. > MAKECOMMAND:STRING=C:/msys/1.0/bin/make.exe -i > > //Path to the memory checking command, used for memory error detection. > MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND > > //File that contains suppressions for the memory checker > MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= > > //Value Computed by CMake > MeshExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Mesh > > //Value Computed by CMake > MeshExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Mesh > > //Value Computed by CMake > NIFTI_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/nifti > > //Value Computed by CMake > NIFTI_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/nifti > > //Value Computed by CMake > NumericsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Numerics > > //Value Computed by CMake > NumericsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Numerics > > //Value Computed by CMake > PathExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Path > > //Value Computed by CMake > PathExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Path > > //Path to scp command, used by CTest for submitting results to > // a Dart server > SCPCOMMAND:FILEPATH=SCPCOMMAND-NOTFOUND > > //Name of the computer/site where compile is being run > SITE:STRING=ZAPPA > > //Path to the SLURM sbatch executable > SLURM_SBATCH_COMMAND:FILEPATH=SLURM_SBATCH_COMMAND-NOTFOUND > > //Path to the SLURM srun executable > SLURM_SRUN_COMMAND:FILEPATH=SLURM_SRUN_COMMAND-NOTFOUND > > //Path to a program. > SVNCOMMAND:FILEPATH=SVNCOMMAND-NOTFOUND > > //Value Computed by CMake > SpatialObjectsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/SpatialObjects > > //Value Computed by CMake > SpatialObjectsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/SpatialObjects > > //Value Computed by CMake > StatisticsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Statistics > > //Value Computed by CMake > StatisticsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Statistics > > //Path to a program. > TCL_TCLSH:FILEPATH=TCL_TCLSH-NOTFOUND > > //Use double precision FFTW if found > USE_FFTWD:BOOL=OFF > > //Use single precision FFTW if found > USE_FFTWF:BOOL=OFF > > //Use the SGI SCSL High Performance Computing math library > USE_SCSL:BOOL=OFF > > //Build external languages support > USE_WRAP_ITK:BOOL=OFF > > //Path to a file. > UUID_INCLUDE_DIR:PATH=UUID_INCLUDE_DIR-NOTFOUND > > //Path to a library. > UUID_LIBRARY:FILEPATH=UUID_LIBRARY-NOTFOUND > > //Whether vnl_vector/vnl_matrix accessor methods check index bounds. > VNL_CONFIG_CHECK_BOUNDS:BOOL=ON > > //Enable Streaming SIMD Extensions 2 optimisations (hardware dependant). > // Currently broken. For use by VNL developers only. > VNL_CONFIG_ENABLE_SSE2:BOOL=OFF > > //Enable Streaming SIMD Extensions 2 implementation of rounding > // (hardware dependant). > VNL_CONFIG_ENABLE_SSE2_ROUNDING:BOOL=OFF > > //Whether backward-compatibility methods are provided by vnl. > VNL_CONFIG_LEGACY_METHODS:BOOL=OFF > > //Whether thread-safe vnl implementations are used. > VNL_CONFIG_THREAD_SAFE:BOOL=ON > > //v3p include files > VTHREEP_INCLUDE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p > > //v3p include files > VTHREEP_INSTALL_INCLUDE_DIR:STATIC=C:/Program Files > (x86)/ITK/include/vxl/v3p > > //Re-run the configuration tests? > VXL_UPDATE_CONFIGURATION:BOOL=OFF > > //Dependencies for the target > itkNetlibSlatec_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib; > > //Value Computed by CMake > itkdicomparser_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/DICOMParser > > //Value Computed by CMake > itkdicomparser_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/DICOMParser > > //Dependencies for the target > itkgdcm_LIB_DEPENDS:STATIC=general;gdi32;general;itkjpeg8;general;itkjpeg12;general;itkjpeg16;general;itkopenjpeg;general;wsock32;general;snmpapi;general;rpcrt4; > > //Dependencies for the target > itkjpeg12_LIB_DEPENDS:STATIC=general;gdi32; > > //Dependencies for the target > itkjpeg16_LIB_DEPENDS:STATIC=general;gdi32; > > //Dependencies for the target > itkjpeg8_LIB_DEPENDS:STATIC=general;gdi32; > > //Dependencies for the target > itkopenjpeg_LIB_DEPENDS:STATIC=general;gdi32; > > //Dependencies for the target > itkpng_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; > > //Value Computed by CMake > itksys_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/kwsys > > //Dependencies for the target > itksys_LIB_DEPENDS:STATIC=general;gdi32;general;ws2_32; > > //Value Computed by CMake > itksys_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/kwsys > > //Dependencies for the target > itktestlib_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; > > //Dependencies for the target > itktiff_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itkjpeg8; > > //Dependencies for the target > itkv3p_netlib_LIB_DEPENDS:STATIC=general;gdi32; > > //Dependencies for the target > itkvcl_LIB_DEPENDS:STATIC=general;gdi32; > > //Dependencies for the target > itkvnl_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; > > //Dependencies for the target > itkvnl_algo_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib;general;itkvnl; > > //Dependencies for the target > itkvnl_inst_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_algo; > > //Dependencies for the target > itkzlib_LIB_DEPENDS:STATIC=general;gdi32; > > //Value Computed by CMake > netlib_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p/netlib > > //Value Computed by CMake > netlib_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p/netlib > > //Value Computed by CMake > vcl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/vcl > > //Value Computed by CMake > vcl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/vcl > > //Value Computed by CMake > vthreep_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p > > //Value Computed by CMake > vthreep_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p > > //Value Computed by CMake > vxl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl > > //Value Computed by CMake > vxl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl > > //Value Computed by CMake > vxl_config_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/config/cmake/config > > //Value Computed by CMake > vxl_config_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/config/cmake/config > > //Value Computed by CMake > vxlcore_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/core > > //Value Computed by CMake > vxlcore_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/core > > > ######################## > # INTERNAL cache entries > ######################## > > //System handles bit-fields larger than 32 bits. > BIGBITFIELD:INTERNAL=1 > //Result of TRY_COMPILE > BIGBITFIELD_VALUE:INTERNAL=TRUE > //ADVANCED property for variable: BUILDNAME > BUILDNAME-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: BZRCOMMAND > BZRCOMMAND-ADVANCED:INTERNAL=1 > //Result of TRY_COMPILE > CMAKE_ANSI_FOR_SCOPE:INTERNAL=TRUE > //Have include iostream > CMAKE_ANSI_STREAM_HEADERS:INTERNAL=1 > //ADVANCED property for variable: CMAKE_AR > CMAKE_AR-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_BACKWARDS_COMPATIBILITY > CMAKE_BACKWARDS_COMPATIBILITY-ADVANCED:INTERNAL=0 > //ADVANCED property for variable: CMAKE_BUILD_TOOL > CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 > //What is the target build tool cmake is generating for. > CMAKE_BUILD_TOOL:INTERNAL=C:/msys/1.0/bin/make.exe > //This is the directory where this CMakeCache.txt was created > CMAKE_CACHEFILE_DIR:INTERNAL=c:/msys/1.0/home/Insight-mingw > //Major version of cmake used to create the current loaded cache > CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 > //Minor version of cmake used to create the current loaded cache > CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 > //Patch version of cmake used to create the current loaded cache > CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 > //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE > CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 > //Path to CMake executable. > CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe > //Path to cpack program executable. > CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe > //ADVANCED property for variable: CMAKE_CTEST_COMMAND > CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 > //Path to ctest program executable. > CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe > //ADVANCED property for variable: CMAKE_CXX_COMPILER > CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 > CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS > CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG > CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL > CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE > CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO > CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES > CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_COMPILER > CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 > CMAKE_C_COMPILER_WORKS:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS > CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG > CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL > CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE > CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO > CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES > CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 > //Result of TRY_COMPILE > CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE > //Path to cache edit program executable. > CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe > //Executable file format > CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS > CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG > CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL > CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE > CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //Name of generator. > CMAKE_GENERATOR:INTERNAL=MSYS Makefiles > //Result of TRY_COMPILE > CMAKE_HAS_ANSI_STRING_STREAM:INTERNAL=TRUE > //Is X11 around. > CMAKE_HAS_X:INTERNAL= > //Have include limits.h > CMAKE_HAVE_LIMITS_H:INTERNAL=1 > //Have include pthread.h > CMAKE_HAVE_PTHREAD_H:INTERNAL= > //Have include stdint.h > CMAKE_HAVE_STDINT_H:INTERNAL=1 > //Have include CMAKE_HAVE_STDLIB_H > CMAKE_HAVE_STDLIB_H:INTERNAL=1 > //Have includes CMAKE_HAVE_SYS_PRCTL_H > CMAKE_HAVE_SYS_PRCTL_H:INTERNAL= > //Have include unistd.h > CMAKE_HAVE_UNISTD_H:INTERNAL=1 > //Start directory with the top level CMakeLists.txt file for this > // project > CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0 > //ADVANCED property for variable: CMAKE_HP_PTHREADS > CMAKE_HP_PTHREADS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_LINKER > CMAKE_LINKER-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MAKE_PROGRAM > CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS > CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG > CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL > CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE > CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_NM > CMAKE_NM-ADVANCED:INTERNAL=1 > //Does the compiler support ansi for scope. > CMAKE_NO_ANSI_FOR_SCOPE:INTERNAL=0 > //ADVANCED property for variable: CMAKE_NO_ANSI_STREAM_HEADERS > CMAKE_NO_ANSI_STREAM_HEADERS-ADVANCED:INTERNAL=1 > //Does the compiler support headers like iostream. > CMAKE_NO_ANSI_STREAM_HEADERS:INTERNAL=0 > //Does the compiler support sstream > CMAKE_NO_ANSI_STRING_STREAM:INTERNAL=0 > //Does the compiler support std::. > CMAKE_NO_STD_NAMESPACE:INTERNAL=0 > //number of local generators > CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=76 > //ADVANCED property for variable: CMAKE_OBJCOPY > CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_OBJDUMP > CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_RANLIB > CMAKE_RANLIB-ADVANCED:INTERNAL=1 > //Path to CMake installation. > CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS > CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG > CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL > CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE > CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO > CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 > //Result of CHECK_TYPE_SIZE > CMAKE_SIZEOF_CHAR:INTERNAL=1 > //Result of CHECK_TYPE_SIZE > CMAKE_SIZEOF_DOUBLE:INTERNAL=8 > //Result of CHECK_TYPE_SIZE > CMAKE_SIZEOF_FLOAT:INTERNAL=4 > //Result of CHECK_TYPE_SIZE > CMAKE_SIZEOF_INT:INTERNAL=4 > //Result of CHECK_TYPE_SIZE > CMAKE_SIZEOF_LONG:INTERNAL=4 > //Result of CHECK_TYPE_SIZE > CMAKE_SIZEOF_SHORT:INTERNAL=2 > //Result of CHECK_TYPE_SIZE > CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=2 > //Result of CHECK_TYPE_SIZE > CMAKE_SIZEOF_VOID_P:INTERNAL=4 > //ADVANCED property for variable: CMAKE_SKIP_RPATH > CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 > //Result of TRY_COMPILE > CMAKE_STD_NAMESPACE:INTERNAL=TRUE > //ADVANCED property for variable: CMAKE_STRIP > CMAKE_STRIP-ADVANCED:INTERNAL=1 > //Suppress Warnings that are meant for the author of the CMakeLists.txt > // files. > CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE > //ADVANCED property for variable: CMAKE_THREAD_LIBS > CMAKE_THREAD_LIBS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_USE_PTHREADS > CMAKE_USE_PTHREADS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS > CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_USE_SPROC > CMAKE_USE_SPROC-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_USE_WIN32_THREADS > CMAKE_USE_WIN32_THREADS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE > CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 > //Result of TEST_BIG_ENDIAN > CMAKE_WORDS_BIGENDIAN:INTERNAL=0 > //ADVANCED property for variable: CMAKE_X_CFLAGS > CMAKE_X_CFLAGS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CMAKE_X_LIBS > CMAKE_X_LIBS-ADVANCED:INTERNAL=1 > //Result of TRY_COMPILE > COMPILE_RESULT:INTERNAL=TRUE > //ADVANCED property for variable: COMPRESSIONCOMMAND > COMPRESSIONCOMMAND-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: COVERAGE_COMMAND > COVERAGE_COMMAND-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CPACK_BINARY_NSIS > CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CPACK_BINARY_ZIP > CPACK_BINARY_ZIP-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CPACK_SOURCE_ZIP > CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CVSCOMMAND > CVSCOMMAND-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: CVS_UPDATE_OPTIONS > CVS_UPDATE_OPTIONS-ADVANCED:INTERNAL=1 > //CXX compiler accepts flag -Wno-deprecated > CXX_HAS_DEPRECATED_FLAG:INTERNAL=TRUE > //ADVANCED property for variable: DART_BUILD_ERROR_REPORT_LIMIT > DART_BUILD_ERROR_REPORT_LIMIT-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: DART_BUILD_WARNING_REPORT_LIMIT > DART_BUILD_WARNING_REPORT_LIMIT-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: DART_ROOT > DART_ROOT-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: DART_TESTING_TIMEOUT > DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: DART_VERBOSE_BUILD > DART_VERBOSE_BUILD-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: DELIVER_CONTINUOUS_EMAIL > DELIVER_CONTINUOUS_EMAIL-ADVANCED:INTERNAL=1 > //Result of TRY_RUN > DUMMY:INTERNAL=0 > //ADVANCED property for variable: EXECUTABLE_OUTPUT_PATH > EXECUTABLE_OUTPUT_PATH-ADVANCED:INTERNAL=1 > //Single output directory for building all executables. > EXECUTABLE_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin > //Details about finding Threads > FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE] > //Support for extension C __FUNCTION__ > GDCM_COMPILER_HAS_FUNCTION:INTERNAL=1 > //ADVANCED property for variable: GDCM_DATA_DIR > GDCM_DATA_DIR-ADVANCED:INTERNAL=1 > //Install location for data (relative to prefix). > GDCM_DATA_DIR:INTERNAL=/share/gdcm/ > //ADVANCED property for variable: GDCM_LEGACY_REMOVE > GDCM_LEGACY_REMOVE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: GDCM_LEGACY_SILENT > GDCM_LEGACY_SILENT-ADVANCED:INTERNAL=1 > //Result of TEST_BIG_ENDIAN > GDCM_WORDS_BIGENDIAN:INTERNAL=0 > //ADVANCED property for variable: GUNZIPCOMMAND > GUNZIPCOMMAND-ADVANCED:INTERNAL=1 > //Have include HAVE_ASSERT_H > HAVE_ASSERT_H:INTERNAL=1 > // > HAVE_BIGBITFIELD_VALUE:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_CMAKE_SIZEOF_CHAR:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_CMAKE_SIZEOF_DOUBLE:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_CMAKE_SIZEOF_FLOAT:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_CMAKE_SIZEOF_INT:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_CMAKE_SIZEOF_LONG:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_CMAKE_SIZEOF_SHORT:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_CMAKE_SIZEOF_VOID_P:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_CMAKE_WORDS_BIGENDIAN:INTERNAL=TRUE > //Have includes HAVE_DLFCN_H > HAVE_DLFCN_H:INTERNAL= > //Have include HAVE_FCNTL_H > HAVE_FCNTL_H:INTERNAL=1 > //Have function floor > HAVE_FLOOR:INTERNAL=1 > //Result of TRY_COMPILE > HAVE_GDCM_WORDS_BIGENDIAN:INTERNAL=TRUE > //Have function getopt > HAVE_GETOPT:INTERNAL=1 > //Have includes HAVE_IEEEFP_H > HAVE_IEEEFP_H:INTERNAL= > //Have include HAVE_INTTYPES_H > HAVE_INTTYPES_H:INTERNAL=1 > //Have function isascii > HAVE_ISASCII:INTERNAL=1 > // > HAVE_ITK_CPP_FUNCTION:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_ITK_SIZEOF_LONG_LONG:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_ITK_SIZEOF___INT64:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_KWSYS_SIZEOF_CHAR:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_KWSYS_SIZEOF_INT:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_KWSYS_SIZEOF_LONG:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_KWSYS_SIZEOF_LONG_LONG:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_KWSYS_SIZEOF_SHORT:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_KWSYS_SIZEOF___INT64:INTERNAL=TRUE > //Have library malloc > HAVE_LIBMALLOC:INTERNAL= > //Have include HAVE_LIMITS_H > HAVE_LIMITS_H:INTERNAL=1 > //Have include HAVE_MALLOC_H > HAVE_MALLOC_H:INTERNAL=1 > //Have function memmove > HAVE_MEMMOVE:INTERNAL=1 > //Have include HAVE_MEMORY_H > HAVE_MEMORY_H:INTERNAL=1 > //Have function memset > HAVE_MEMSET:INTERNAL=1 > //Have function mmap > HAVE_MMAP:INTERNAL= > //Have function pow > HAVE_POW:INTERNAL=1 > //Have library Psapi > HAVE_PSAPI:INTERNAL= > //Result of TRY_COMPILE > HAVE_QNANHIBIT_VALUE:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_SIZEOF_INT:INTERNAL=TRUE > //Result of TRY_COMPILE > HAVE_SIZEOF_LONG:INTERNAL=TRUE > //Have function sqrt > HAVE_SQRT:INTERNAL=1 > //Have include stddef.h > HAVE_STDDEF_H:INTERNAL=1 > //Have include stdint.h > HAVE_STDINT_H:INTERNAL=1 > //Have include HAVE_STDLIB_H > HAVE_STDLIB_H:INTERNAL=1 > //Have function strcasecmp > HAVE_STRCASECMP:INTERNAL=1 > //Have function strchr > HAVE_STRCHR:INTERNAL=1 > //Have include HAVE_STRINGS_H > HAVE_STRINGS_H:INTERNAL=1 > //Have include HAVE_STRING_H > HAVE_STRING_H:INTERNAL=1 > //Have function strrchr > HAVE_STRRCHR:INTERNAL=1 > //Have function strstr > HAVE_STRSTR:INTERNAL=1 > //Have function strtol > HAVE_STRTOL:INTERNAL=1 > //Have function areroul > HAVE_STRTOUL:INTERNAL= > //Have include HAVE_SYS_STAT_H > HAVE_SYS_STAT_H:INTERNAL=1 > //Have include HAVE_SYS_TIME_H > HAVE_SYS_TIME_H:INTERNAL=1 > //Have include sys/types.h > HAVE_SYS_TYPES_H:INTERNAL=1 > //Have include unistd.h > HAVE_UNISTD_H:INTERNAL=1 > //Result of TRY_COMPILE > HAVE_VXL_BIG_ENDIAN:INTERNAL=TRUE > //Have include HAVE_WINDOWS_H > HAVE_WINDOWS_H:INTERNAL=1 > //ADVANCED property for variable: HGCOMMAND > HGCOMMAND-ADVANCED:INTERNAL=1 > //ImageCompare path to be used by subprojects > IMAGE_COMPARE:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompare > //ImageCompare path to be used by subprojects > IMAGE_COMPARE_COMMAND:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompareCommand > //ImageCopy path to be used by subprojects > IMAGE_COPY:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCopy > //ADVANCED property for variable: ITK_BRAINWEB_DATA_ROOT > ITK_BRAINWEB_DATA_ROOT-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_COMPUTER_MEMORY_SIZE > ITK_COMPUTER_MEMORY_SIZE-ADVANCED:INTERNAL=1 > //Result of TRY_COMPILE > ITK_CPP_FUNCTION:INTERNAL=TRUE > //ADVANCED property for variable: ITK_CSWIG_JAVA > ITK_CSWIG_JAVA-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_CSWIG_PYTHON > ITK_CSWIG_PYTHON-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_CSWIG_TCL > ITK_CSWIG_TCL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_DATA_ROOT > ITK_DATA_ROOT-ADVANCED:INTERNAL=1 > //ITK dir to be used by subprojects > ITK_DIR:INTERNAL=C:/msys/1.0/home/Insight-mingw > //ADVANCED property for variable: ITK_EXPLICIT_INSTANTIATION > ITK_EXPLICIT_INSTANTIATION-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE > ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE-ADVANCED:INTERNAL=1 > ITK_INSTALL_PACKAGE_DIR:INTERNAL=/lib/InsightToolkit > //Whether istream supports long long > ITK_ISTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 > //ADVANCED property for variable: ITK_LEGACY_REMOVE > ITK_LEGACY_REMOVE-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_LEGACY_SILENT > ITK_LEGACY_SILENT-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_MRI_UNC_DATABASE_DATA_ROOT > ITK_MRI_UNC_DATABASE_DATA_ROOT-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_OSIRIX_DATA_ROOT > ITK_OSIRIX_DATA_ROOT-ADVANCED:INTERNAL=1 > //Whether ostream supports long long > ITK_OSTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 > //Result of CHECK_TYPE_SIZE > ITK_SIZEOF_LONG_LONG:INTERNAL=8 > //Result of CHECK_TYPE_SIZE > ITK_SIZEOF___INT64:INTERNAL=8 > //Result of TRY_COMPILE > ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_EMPTY_BRACKETS:INTERNAL=TRUE > //Result of TRY_COMPILE > ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_NULL_STRING:INTERNAL=FALSE > //Result of TRY_COMPILE > ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_TEMPLATE_ARGUMENTS:INTERNAL=FALSE > //Result of TRY_COMPILE > ITK_SUPPORTS_TEMPLATE_PARTIAL_SPECIALIZATION:INTERNAL=TRUE > //itkTestDriver path to be used by subprojects > ITK_TEST_DRIVER:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/itkTestDriver > //Whether long and __int64 are the same type > ITK_TYPE_SAME_LONG_AND___INT64:INTERNAL=0 > //ADVANCED property for variable: > ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY > ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_CONCEPT_CHECKING > ITK_USE_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_CONSOLIDATED_MORPHOLOGY > ITK_USE_CONSOLIDATED_MORPHOLOGY-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION > ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_LIBXML2 > ITK_USE_LIBXML2-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_MINC2 > ITK_USE_MINC2-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_OPTIMIZED_REGISTRATION_METHODS > ITK_USE_OPTIMIZED_REGISTRATION_METHODS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_ORIENTED_IMAGE_DIRECTION > ITK_USE_ORIENTED_IMAGE_DIRECTION-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_PATENTED > ITK_USE_PATENTED-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_REGION_VALIDATION_IN_ITERATORS > ITK_USE_REGION_VALIDATION_IN_ITERATORS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_REVIEW > ITK_USE_REVIEW-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_REVIEW_STATISTICS > ITK_USE_REVIEW_STATISTICS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_STRICT_CONCEPT_CHECKING > ITK_USE_STRICT_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_SYSTEM_GDCM > ITK_USE_SYSTEM_GDCM-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_SYSTEM_LIBXML2 > ITK_USE_SYSTEM_LIBXML2-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_SYSTEM_PNG > ITK_USE_SYSTEM_PNG-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_SYSTEM_TIFF > ITK_USE_SYSTEM_TIFF-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_SYSTEM_VXL > ITK_USE_SYSTEM_VXL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_SYSTEM_ZLIB > ITK_USE_SYSTEM_ZLIB-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: > ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING > ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_USE_TRANSFORM_IO_FACTORIES > ITK_USE_TRANSFORM_IO_FACTORIES-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: ITK_VISIBLEHUMAN_DATA_ROOT > ITK_VISIBLEHUMAN_DATA_ROOT-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: JAVACOMMAND > JAVACOMMAND-ADVANCED:INTERNAL=1 > //Result of TRY_COMPILE > KWSYS_CAN_CONVERT_UI64_TO_DOUBLE_COMPILED:INTERNAL=FALSE > //Result of TRY_RUN > KWSYS_CHAR_IS_SIGNED:INTERNAL=0 > //Result of TRY_COMPILE > KWSYS_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_CXX_HAS_CSTDDEF_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_CXX_HAS_CSTDIO_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_CXX_HAS_FULL_SPECIALIZATION_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_CXX_HAS_MEMBER_TEMPLATES_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS_COMPILED:INTERNAL=FALSE > //Result of TRY_COMPILE > KWSYS_CXX_SAME_LONG_AND___INT64_COMPILED:INTERNAL=FALSE > //Result of TRY_COMPILE > KWSYS_CXX_SAME_LONG_LONG_AND___INT64_COMPILED:INTERNAL=FALSE > //Result of TRY_COMPILE > KWSYS_IOS_HAVE_BINARY_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_IOS_HAVE_STD_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_IOS_USE_ANSI_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_IOS_USE_SSTREAM_COMPILED:INTERNAL=TRUE > //Checking for Large File Support failed to compile. > KWSYS_LFS_WORKS:INTERNAL=-1 > //Result of TRY_COMPILE > KWSYS_LFS_WORKS_COMPILED:INTERNAL=FALSE > //Result of CHECK_TYPE_SIZE > KWSYS_SIZEOF_CHAR:INTERNAL=1 > //Result of CHECK_TYPE_SIZE > KWSYS_SIZEOF_INT:INTERNAL=4 > //Result of CHECK_TYPE_SIZE > KWSYS_SIZEOF_LONG:INTERNAL=4 > //Result of CHECK_TYPE_SIZE > KWSYS_SIZEOF_LONG_LONG:INTERNAL=8 > //Result of CHECK_TYPE_SIZE > KWSYS_SIZEOF_SHORT:INTERNAL=2 > //Result of CHECK_TYPE_SIZE > KWSYS_SIZEOF___INT64:INTERNAL=8 > //Result of TRY_COMPILE > KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT_COMPILED:INTERNAL=FALSE > //Result of TRY_COMPILE > KWSYS_STL_HAS_ALLOCATOR_OBJECTS_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_STL_HAS_ALLOCATOR_REBIND_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_STL_HAS_ALLOCATOR_TEMPLATE_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_STL_HAS_ITERATOR_TRAITS_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_STL_HAVE_STD_COMPILED:INTERNAL=TRUE > //Result of TRY_COMPILE > KWSYS_STL_STRING_HAVE_NEQ_CHAR_COMPILED:INTERNAL=TRUE > //ADVANCED property for variable: LIBRARY_OUTPUT_PATH > LIBRARY_OUTPUT_PATH-ADVANCED:INTERNAL=1 > //Single output directory for building all libraries. > LIBRARY_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin > //ADVANCED property for variable: MAKECOMMAND > MAKECOMMAND-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: MEMORYCHECK_COMMAND > MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE > MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 > //The 22nd bit of 32-bit floating-point quiet NaN. > QNANHIBIT:INTERNAL=1 > //Result of TRY_RUN > QNANHIBIT_VALUE:INTERNAL=1 > //Result of TRY_RUN > RUN_RESULT:INTERNAL=1 > //ADVANCED property for variable: SCPCOMMAND > SCPCOMMAND-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: SITE > SITE-ADVANCED:INTERNAL=1 > //Result of CHECK_TYPE_SIZE > SIZEOF_INT:INTERNAL=4 > //Result of CHECK_TYPE_SIZE > SIZEOF_LONG:INTERNAL=4 > //ADVANCED property for variable: SLURM_SBATCH_COMMAND > SLURM_SBATCH_COMMAND-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: SLURM_SRUN_COMMAND > SLURM_SRUN_COMMAND-ADVANCED:INTERNAL=1 > //CXX compiler accepts flag -features=no%anachronisms > SUN_COMPILER:INTERNAL=FALSE > //ADVANCED property for variable: SVNCOMMAND > SVNCOMMAND-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: TCL_TCLSH > TCL_TCLSH-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: USE_FFTWD > USE_FFTWD-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: USE_FFTWF > USE_FFTWF-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: USE_SCSL > USE_SCSL-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: USE_WRAP_ITK > USE_WRAP_ITK-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: UUID_INCLUDE_DIR > UUID_INCLUDE_DIR-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: UUID_LIBRARY > UUID_LIBRARY-ADVANCED:INTERNAL=1 > //VXL test > VCL_ALLOWS_INLINE_INSTANTIATION:INTERNAL=1 > //VXL test > VCL_ALLOWS_NAMESPACE_STD:INTERNAL=1 > //VXL test > VCL_CANNOT_SPECIALIZE_CV:INTERNAL=1 > //VXL test > VCL_CAN_DO_COMPLETE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 > //VXL test > VCL_CAN_DO_IMPLICIT_TEMPLATES:INTERNAL=1 > //VXL test > VCL_CAN_DO_NON_TYPE_FUNCTION_TEMPLATE_PARAMETER:INTERNAL=1 > //VXL test > VCL_CAN_DO_PARTIAL_SPECIALIZATION:INTERNAL=1 > //VXL test > VCL_CAN_DO_STATIC_TEMPLATE_MEMBER:INTERNAL=1 > //VXL test > VCL_CAN_DO_TEMPLATE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 > //VXL test ?(successful run) > VCL_CHAR_IS_SIGNED:INTERNAL=1 > //Result of TRY_COMPILE > VCL_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE > //VXL test ?(successful run) > VCL_COMPLEX_POW_WORKS:INTERNAL=1 > //Result of TRY_COMPILE > VCL_COMPLEX_POW_WORKS_COMPILED:INTERNAL=TRUE > //Have include algorithm > VCL_CXX_HAS_HEADER_ALGORITHM:INTERNAL=1 > //Have include bitset > VCL_CXX_HAS_HEADER_BITSET:INTERNAL=1 > //Have include cassert > VCL_CXX_HAS_HEADER_CASSERT:INTERNAL=1 > //Have include cctype > VCL_CXX_HAS_HEADER_CCTYPE:INTERNAL=1 > //Have include cerrno > VCL_CXX_HAS_HEADER_CERRNO:INTERNAL=1 > //Have include cfloat > VCL_CXX_HAS_HEADER_CFLOAT:INTERNAL=1 > //Have include ciso646 > VCL_CXX_HAS_HEADER_CISO646:INTERNAL=1 > //Have include climits > VCL_CXX_HAS_HEADER_CLIMITS:INTERNAL=1 > //Have include clocale > VCL_CXX_HAS_HEADER_CLOCALE:INTERNAL=1 > //Have include cmath > VCL_CXX_HAS_HEADER_CMATH:INTERNAL=1 > //Have include complex > VCL_CXX_HAS_HEADER_COMPLEX:INTERNAL=1 > //Have include csetjmp > VCL_CXX_HAS_HEADER_CSETJMP:INTERNAL=1 > //Have include csignal > VCL_CXX_HAS_HEADER_CSIGNAL:INTERNAL=1 > //Have include cstdarg > VCL_CXX_HAS_HEADER_CSTDARG:INTERNAL=1 > //Have include cstddef > VCL_CXX_HAS_HEADER_CSTDDEF:INTERNAL=1 > //Have include cstdio > VCL_CXX_HAS_HEADER_CSTDIO:INTERNAL=1 > //Have include cstdlib > VCL_CXX_HAS_HEADER_CSTDLIB:INTERNAL=1 > //Have include cstring > VCL_CXX_HAS_HEADER_CSTRING:INTERNAL=1 > //Have include ctime > VCL_CXX_HAS_HEADER_CTIME:INTERNAL=1 > //Have include cwchar > VCL_CXX_HAS_HEADER_CWCHAR:INTERNAL=1 > //Have include cwctype > VCL_CXX_HAS_HEADER_CWCTYPE:INTERNAL=1 > //Have include deque > VCL_CXX_HAS_HEADER_DEQUE:INTERNAL=1 > //Have include exception > VCL_CXX_HAS_HEADER_EXCEPTION:INTERNAL=1 > //Have include fstream > VCL_CXX_HAS_HEADER_FSTREAM:INTERNAL=1 > //Have include functional > VCL_CXX_HAS_HEADER_FUNCTIONAL:INTERNAL=1 > //Have include iomanip > VCL_CXX_HAS_HEADER_IOMANIP:INTERNAL=1 > //Have include ios > VCL_CXX_HAS_HEADER_IOS:INTERNAL=1 > //Have include iosfwd > VCL_CXX_HAS_HEADER_IOSFWD:INTERNAL=1 > //Have include iostream > VCL_CXX_HAS_HEADER_IOSTREAM:INTERNAL=1 > //Have include iso646.h > VCL_CXX_HAS_HEADER_ISO646_H:INTERNAL=1 > //Have include istream > VCL_CXX_HAS_HEADER_ISTREAM:INTERNAL=1 > //Have include iterator > VCL_CXX_HAS_HEADER_ITERATOR:INTERNAL=1 > //Have include limits > VCL_CXX_HAS_HEADER_LIMITS:INTERNAL=1 > //Have include list > VCL_CXX_HAS_HEADER_LIST:INTERNAL=1 > //Have include locale > VCL_CXX_HAS_HEADER_LOCALE:INTERNAL=1 > //Have include map > VCL_CXX_HAS_HEADER_MAP:INTERNAL=1 > //Have include memory > VCL_CXX_HAS_HEADER_MEMORY:INTERNAL=1 > //Have include new > VCL_CXX_HAS_HEADER_NEW:INTERNAL=1 > //Have include numeric > VCL_CXX_HAS_HEADER_NUMERIC:INTERNAL=1 > //Have include ostream > VCL_CXX_HAS_HEADER_OSTREAM:INTERNAL=1 > //Have include queue > VCL_CXX_HAS_HEADER_QUEUE:INTERNAL=1 > //Have include set > VCL_CXX_HAS_HEADER_SET:INTERNAL=1 > //Have include sstream > VCL_CXX_HAS_HEADER_SSTREAM:INTERNAL=1 > //Have include stack > VCL_CXX_HAS_HEADER_STACK:INTERNAL=1 > //Have include stdexcept > VCL_CXX_HAS_HEADER_STDEXCEPT:INTERNAL=1 > //Have include streambuf > VCL_CXX_HAS_HEADER_STREAMBUF:INTERNAL=1 > //Have include string > VCL_CXX_HAS_HEADER_STRING:INTERNAL=1 > //Have include strstream > VCL_CXX_HAS_HEADER_STRSTREAM:INTERNAL=1 > //Have include typeinfo > VCL_CXX_HAS_HEADER_TYPEINFO:INTERNAL=1 > //Have include utility > VCL_CXX_HAS_HEADER_UTILITY:INTERNAL=1 > //Have include valarray > VCL_CXX_HAS_HEADER_VALARRAY:INTERNAL=1 > //Have include vector > VCL_CXX_HAS_HEADER_VECTOR:INTERNAL=1 > //VXL test > VCL_DEFAULT_VALUE:INTERNAL=1 > //VXL test > VCL_DEFINE_SPECIALIZATION:INTERNAL=1 > //VXL test > VCL_FOR_SCOPE_HACK:INTERNAL=1 > //VXL test > VCL_HAS_BOOL:INTERNAL=1 > //VXL test > VCL_HAS_DYNAMIC_CAST:INTERNAL=1 > //VXL test > VCL_HAS_EXCEPTIONS:INTERNAL=1 > //VXL test > VCL_HAS_EXPLICIT:INTERNAL=1 > //VXL test > VCL_HAS_EXPORT:INTERNAL=1 > //VXL test ?(successful run) > VCL_HAS_LFS:INTERNAL=1 > //Result of TRY_COMPILE > VCL_HAS_LFS_COMPILED:INTERNAL=TRUE > //VXL test > VCL_HAS_MEMBER_TEMPLATES:INTERNAL=1 > //VXL test > VCL_HAS_MUTABLE:INTERNAL=1 > //VXL test > VCL_HAS_NAMESPACES:INTERNAL=1 > //VXL test > VCL_HAS_RTTI:INTERNAL=1 > //VXL test ?(successful run) > VCL_HAS_SLICED_DESTRUCTOR_BUG:INTERNAL=1 > //Result of TRY_COMPILE > VCL_HAS_SLICED_DESTRUCTOR_BUG_COMPILED:INTERNAL=TRUE > //Test ?(failed to compile) > VCL_HAS_TEMPLATE_SYMBOLS:INTERNAL=0 > //Result of TRY_COMPILE > VCL_HAS_TEMPLATE_SYMBOLS_COMPILED:INTERNAL=FALSE > //VXL test > VCL_HAS_TYPENAME:INTERNAL=1 > //VXL test ?(successful run) > VCL_HAS_WORKING_STRINGSTREAM:INTERNAL=1 > //Result of TRY_COMPILE > VCL_HAS_WORKING_STRINGSTREAM_COMPILED:INTERNAL=TRUE > //VXL test > VCL_NEEDS_INLINE_INSTANTIATION:INTERNAL=1 > //Test > VCL_NEEDS_NAMESPACE_STD:INTERNAL=0 > //VXL test > VCL_NEED_FRIEND_FOR_TEMPLATE_OVERLOAD:INTERNAL=1 > //VXL test > VCL_NO_STATIC_DATA_MEMBERS:INTERNAL=1 > //Test > VCL_NULL_TMPL_ARGS:INTERNAL=0 > //VXL test ?(successful run) > VCL_NUMERIC_LIMITS_HAS_INFINITY:INTERNAL=1 > //Result of TRY_COMPILE > VCL_NUMERIC_LIMITS_HAS_INFINITY_COMPILED:INTERNAL=TRUE > //Test > VCL_OVERLOAD_CAST:INTERNAL=0 > //VXL test ?(successful run) > VCL_PROCESSOR_HAS_INFINITY:INTERNAL=1 > //Result of TRY_COMPILE > VCL_PROCESSOR_HAS_INFINITY_COMPILED:INTERNAL=TRUE > //VXL test > VCL_STATIC_CONST_INIT_FLOAT:INTERNAL=1 > //VXL test > VCL_STATIC_CONST_INIT_INT:INTERNAL=1 > //Test > VCL_STATIC_CONST_INIT_NO_DEFN:INTERNAL=0 > //VXL test > VCL_SUNPRO_CLASS_SCOPE_HACK:INTERNAL=1 > //VXL test > VCL_TEMPLATE_MATCHES_TOO_OFTEN:INTERNAL=1 > //Are we using an version of gcc < 3.0 > VNL_COMPILER_IS_GNUCXX_2XX:INTERNAL=0 > //ADVANCED property for variable: VNL_CONFIG_CHECK_BOUNDS > VNL_CONFIG_CHECK_BOUNDS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2 > VNL_CONFIG_ENABLE_SSE2-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2_ROUNDING > VNL_CONFIG_ENABLE_SSE2_ROUNDING-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: VNL_CONFIG_LEGACY_METHODS > VNL_CONFIG_LEGACY_METHODS-ADVANCED:INTERNAL=1 > //ADVANCED property for variable: VNL_CONFIG_THREAD_SAFE > VNL_CONFIG_THREAD_SAFE-ADVANCED:INTERNAL=1 > //Result of TEST_BIG_ENDIAN > VXL_BIG_ENDIAN:INTERNAL=0 > //VXL test result > VXL_BYTE:INTERNAL=char > //Serial number of last configuration > VXL_CONFIG_SERIAL_LAST:INTERNAL=2007-13-09-001 > //Have symbol finite > VXL_C_MATH_HAS_FINITE:INTERNAL=1 > //Have symbol finitef > VXL_C_MATH_HAS_FINITEF:INTERNAL= > //Have symbol finitel > VXL_C_MATH_HAS_FINITEL:INTERNAL= > //VXL test > VXL_C_MATH_HAS_LROUND:INTERNAL=1 > //Have symbol sqrtf > VXL_C_MATH_HAS_SQRTF:INTERNAL=1 > //Test > VXL_HAS_ALIGNED_MALLOC:INTERNAL=0 > //VXL test result > VXL_HAS_BYTE:INTERNAL=1 > //Test > VXL_HAS_DBGHELP_H:INTERNAL=0 > //Have include emmintrin.h > VXL_HAS_EMMINTRIN_H:INTERNAL=1 > //Have include ieeefp.h > VXL_HAS_IEEEFP_H:INTERNAL= > //VXL test result > VXL_HAS_IEEE_128:INTERNAL=0 > //VXL test result > VXL_HAS_IEEE_32:INTERNAL=1 > //VXL test result > VXL_HAS_IEEE_64:INTERNAL=1 > //VXL test result > VXL_HAS_IEEE_96:INTERNAL=1 > //VXL test result > VXL_HAS_INT_16:INTERNAL=1 > //VXL test result > VXL_HAS_INT_32:INTERNAL=1 > //VXL test result > VXL_HAS_INT_64:INTERNAL=1 > //VXL test result > VXL_HAS_INT_8:INTERNAL=1 > //VXL test > VXL_HAS_MINGW_ALIGNED_MALLOC:INTERNAL=1 > //Test > VXL_HAS_MM_MALLOC:INTERNAL=0 > //Test > VXL_HAS_POSIX_MEMALIGN:INTERNAL=0 > //Have include pthread.h > VXL_HAS_PTHREAD_H:INTERNAL= > //Have include semaphore.h > VXL_HAS_SEMAPHORE_H:INTERNAL= > //Test ?(failed to compile) > VXL_HAS_SSE2_HARDWARE_SUPPORT:INTERNAL=0 > //Result of TRY_COMPILE > VXL_HAS_SSE2_HARDWARE_SUPPORT_COMPILED:INTERNAL=FALSE > //Have symbol finite > VXL_IEEEFP_HAS_FINITE:INTERNAL= > //VXL test result > VXL_IEEE_128:INTERNAL=void > //VXL test result > VXL_IEEE_32:INTERNAL=float > //VXL test result > VXL_IEEE_64:INTERNAL=double > //VXL test result > VXL_IEEE_96:INTERNAL=long double > //VXL test result > VXL_INT_16:INTERNAL=short > //VXL test result > VXL_INT_32:INTERNAL=int > //VXL test result > VXL_INT_64:INTERNAL=long long > //VXL test result > VXL_INT_8:INTERNAL=char > //VXL test ?(successful run) > VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE:INTERNAL=1 > //Result of TRY_COMPILE > VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_COMPILED:INTERNAL=TRUE > //help string for how to enable SSE2 support > VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_HELP:INTERNAL=The current compiler flags > do not allow the SSE2 instructions to be used. ;It looks like if you add the > flag '-msse2' you will be able to use the ;SSE2 instructions. If you chose > to set VNL_CONFIG_ENABLE_SSE or ;VNL_CONFIG_ENABLE_SSE2_ROUNDING to ON, > cmake will put this flag for you. ;You can also add this flag yourself. If > you still see this message, after ;the flag change, you may need to set > VXL_UPDATE_CONFIGURATION to ON and ;rerun cmake. > //Have symbol drand48 > VXL_STDLIB_HAS_DRAND48:INTERNAL= > //Have symbol lrand48 > VXL_STDLIB_HAS_LRAND48:INTERNAL= > //VXL test > VXL_STDLIB_HAS_QSORT:INTERNAL=1 > //Have symbol srand48 > VXL_STDLIB_HAS_SRAND48:INTERNAL= > //Have function getpid > VXL_UNISTD_HAS_GETPID:INTERNAL=1 > //Have symbol intptr_t > VXL_UNISTD_HAS_INTPTR_T:INTERNAL=1 > //Have function lchown > VXL_UNISTD_HAS_LCHOWN:INTERNAL= > //Have function pread > VXL_UNISTD_HAS_PREAD:INTERNAL= > //Have function pwrite > VXL_UNISTD_HAS_PWRITE:INTERNAL= > //Have function tell > VXL_UNISTD_HAS_TELL:INTERNAL=1 > //Have function ualarm > VXL_UNISTD_HAS_UALARM:INTERNAL= > //Have symbol useconds_t > VXL_UNISTD_HAS_USECONDS_T:INTERNAL=1 > //Have function usleep > VXL_UNISTD_HAS_USLEEP:INTERNAL=1 > //VXL test > VXL_UNISTD_USLEEP_IS_VOID:INTERNAL=1 > //ADVANCED property for variable: VXL_UPDATE_CONFIGURATION > VXL_UPDATE_CONFIGURATION-ADVANCED:INTERNAL=1 > > > > > > > Bill Lorensen wrote: >> >> You are in the wrong directory. Look in the directory that is >> described in the CMakeCache.txt variable Project_BINARY_DIR >> >> cd to that directory and type make >> >> >> On Thu, Dec 10, 2009 at 4:22 PM, URI wrote: >>> >>> I get the message: >>> >>> make: *** No targets specified and no makefile found. ?Stop. >>> >>> >>> >>> 10) Start an msys shell by running msys.bat >>> 11) cd to the locations you selected where to build the binaries. >>> 12) make >>> >>> -- >>> View this message in context: >>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4147921.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149414.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From zallen at wheelinghospital.com Fri Dec 11 00:36:44 2009 From: zallen at wheelinghospital.com (URI) Date: Thu, 10 Dec 2009 21:36:44 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> References: <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> <1260401494258-4142753.post@n2.nabble.com> <4db4735c0912092023m70f951d1s97be2162939236ae@mail.gmail.com> <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> <1260444515044-4144854.post@n2.nabble.com> <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> Message-ID: <1260509804319-4149580.post@n2.nabble.com> Here's what I get: AllowContinuous.sh BuildContinuous.sh BuildContinuousWithCTest.sh CMake CMakeCache.txt CMakeFiles CMakeTmp CPackConfig.cmake CPackSourceConfig.cmake CTestCustom.cmake Code DartConfiguration.tcl Examples ITKBuildSettings.cmake ITKConfig.cmake ITKLibraryDepends.cmake PreventContinuous.sh Testing UseITK.cmake Utilities Wrapping creonentry itkConfigure.h Bill Lorensen wrote: > > navigate to C:\msys\1.0\home\Insight-mingw > type ls and send the output to me > > On Thu, Dec 10, 2009 at 11:03 PM, URI wrote: >> >> Let me explain what I've done so I'm sure we're talking about the same >> thing: >> >> I ran Msys and typed "mkdir Insight-mingw " as per Steps 1 and 2. ?This >> created a new folder C:\msys\1.0\home\Insight-mingw >> >> In my CMake gui I set the "Where to build the binaries" to that same >> folder. >> >> I did all the "Configure" stuff and all those files and folders appear in >> that Insight-mingw folder. >> >> Then I start the Msys shell, navigate to C:\msys\1.0\home\Insight-mingw >> and >> type "make" and that's when I get the error. >> >> If I look in that Insight-mingw folder where I built the binaries there >> is a >> CMakeCache.txt file, but it does not have a Project_BINARY_DIR variable. >> >> Here is my CMakeCache.txt file: >> >> # This is the CMakeCache file. >> # For build in directory: c:/msys/1.0/home/Insight-mingw >> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >> # You can edit this file to change values found and used by cmake. >> # If you do not want to change any of the values, simply exit the editor. >> # If you do want to change a value, simply edit, save, and exit the >> editor. >> # The syntax for the file is as follows: >> # KEY:TYPE=VALUE >> # KEY is the name of a variable in the cache. >> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >> # VALUE is the current value for the KEY. >> >> ######################## >> # EXTERNAL cache entries >> ######################## >> >> //Name of build on the dashboard >> BUILDNAME:STRING=Win32-make >> >> //Build Doxygen Documentation >> BUILD_DOXYGEN:BOOL=OFF >> >> //Build the Examples directory. >> BUILD_EXAMPLES:BOOL=ON >> >> //Toggle building shared libraries >> BUILD_SHARED_LIBS:BOOL=OFF >> >> //Build the testing tree. >> BUILD_TESTING:BOOL=ON >> >> //Path to a program. >> BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND >> >> //Path to a program. >> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >> >> //For backwards compatibility, what version of CMake commands and >> // syntax should this version of CMake try to support. >> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >> >> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >> CMAKE_BUILD_TYPE:STRING= >> >> //Enable/Disable color output during build. >> CMAKE_COLOR_MAKEFILE:BOOL=ON >> >> //CXX compiler. >> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >> >> //Flags used by the compiler during all build types. >> CMAKE_CXX_FLAGS:STRING= >> >> //Flags used by the compiler during debug builds. >> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >> >> //Flags used by the compiler during release minsize builds. >> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >> >> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >> // /Ot /Oy /Gs will produce slightly less optimized but smaller >> // files). >> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >> >> //Flags used by the compiler during Release with Debug Info builds. >> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >> >> //Libraries linked by defalut with all C++ applications. >> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >> -lwinspool >> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >> >> //C compiler. >> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >> >> //Flags used by the compiler during all build types. >> CMAKE_C_FLAGS:STRING= >> >> //Flags used by the compiler during debug builds. >> CMAKE_C_FLAGS_DEBUG:STRING=-g >> >> //Flags used by the compiler during release minsize builds. >> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >> >> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >> // /Ot /Oy /Gs will produce slightly less optimized but smaller >> // files). >> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >> >> //Flags used by the compiler during Release with Debug Info builds. >> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >> >> //Libraries linked by defalut with all C applications. >> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool >> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >> >> //Flags used by the linker. >> CMAKE_EXE_LINKER_FLAGS:STRING= >> >> //Flags used by the linker during debug builds. >> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >> >> //Flags used by the linker during release minsize builds. >> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >> >> //Flags used by the linker during release builds. >> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >> >> //Flags used by the linker during Release with Debug Info builds. >> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >> >> //Use HP pthreads. >> CMAKE_HP_PTHREADS:BOOL=OFF >> >> //Install path prefix, prepended onto install directories. >> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/ITK >> >> //Path to a program. >> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >> >> //Path to a program. >> CMAKE_MAKE_PROGRAM:FILEPATH=C:/msys/1.0/bin/make.exe >> >> //Flags used by the linker during the creation of modules. >> CMAKE_MODULE_LINKER_FLAGS:STRING= >> >> //Flags used by the linker during debug builds. >> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >> >> //Flags used by the linker during release minsize builds. >> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >> >> //Flags used by the linker during release builds. >> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >> >> //Flags used by the linker during Release with Debug Info builds. >> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >> >> //Path to a program. >> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >> >> //Path to a program. >> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >> >> //Path to a program. >> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >> >> //Value Computed by CMake >> CMAKE_PROJECT_NAME:STATIC=ITK >> >> //Path to a program. >> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >> >> //Flags used by the linker during the creation of dll's. >> CMAKE_SHARED_LINKER_FLAGS:STRING= >> >> //Flags used by the linker during debug builds. >> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >> >> //Flags used by the linker during release minsize builds. >> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >> >> //Flags used by the linker during release builds. >> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >> >> //Flags used by the linker during Release with Debug Info builds. >> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >> >> //If set, runtime paths are not added when using shared libraries. >> CMAKE_SKIP_RPATH:BOOL=OFF >> >> //Path to a program. >> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >> >> //Thread library used. >> CMAKE_THREAD_LIBS:STRING= >> >> //Use the pthreads library. >> CMAKE_USE_PTHREADS:BOOL=OFF >> >> //If true, cmake will use relative paths in makefiles and projects. >> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >> >> //Use sproc libs. >> CMAKE_USE_SPROC:BOOL=OFF >> >> //Use the win32 thread library. >> CMAKE_USE_WIN32_THREADS:BOOL=ON >> >> //If this value is on, makefiles will be generated without the >> // .SILENT directive, and all commands will be echoed to the console >> // during the make. ?This is useful for debugging only. With Visual >> // Studio IDE projects all commands are done without /nologo. >> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >> >> //X11 extra flags. >> CMAKE_X_CFLAGS:STRING=-I >> >> //Libraries and options used in X11 programs. >> CMAKE_X_LIBS:STRING= >> >> //Path to program used to compress files for transfer to the dart >> // server >> COMPRESSIONCOMMAND:FILEPATH=COMPRESSIONCOMMAND-NOTFOUND >> >> //Path to the coverage program that CTest uses for performing coverage >> // inspection >> COVERAGE_COMMAND:FILEPATH=C:/MinGW/bin/gcov.exe >> >> //Enable to build NSIS packages >> CPACK_BINARY_NSIS:BOOL=ON >> >> //Enable to build ZIP packages >> CPACK_BINARY_ZIP:BOOL=OFF >> >> //Enable to build ZIP source packages >> CPACK_SOURCE_ZIP:BOOL=ON >> >> //Path to a program. >> CVSCOMMAND:FILEPATH=CVSCOMMAND-NOTFOUND >> >> //Options passed to the cvs update command. >> CVS_UPDATE_OPTIONS:STRING=-d -A -P >> >> //Limit of reported errors, -1 reports all. >> DART_BUILD_ERROR_REPORT_LIMIT:BOOL=OFF >> >> //Limit of reported warnings, -1 reports all. >> DART_BUILD_WARNING_REPORT_LIMIT:BOOL=OFF >> >> //If you have Dart installed, where is it located? >> DART_ROOT:PATH=DART_ROOT-NOTFOUND >> >> //Maximum time allowed before CTest will kill the test. >> DART_TESTING_TIMEOUT:STRING=1500 >> >> //Show the actual output of the build, or if off show a . for each >> // 1024 bytes. >> DART_VERBOSE_BUILD:BOOL=OFF >> >> //Should Dart server send email when build errors are found in >> // Continuous builds? >> DELIVER_CONTINUOUS_EMAIL:BOOL=OFF >> >> //Value Computed by CMake >> FilteringExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Filtering >> >> //Value Computed by CMake >> FilteringExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Filtering >> >> //Value Computed by CMake >> GDCM_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/gdcm >> >> //Remove all legacy code completely. >> GDCM_LEGACY_REMOVE:BOOL=OFF >> >> //Silence all legacy code messages. >> GDCM_LEGACY_SILENT:BOOL=OFF >> >> //Value Computed by CMake >> GDCM_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/gdcm >> >> //Path to gunzip executable >> GUNZIPCOMMAND:FILEPATH=GUNZIPCOMMAND-NOTFOUND >> >> //Path to a program. >> HGCOMMAND:FILEPATH=HGCOMMAND-NOTFOUND >> >> //Value Computed by CMake >> IOExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/IO >> >> //Value Computed by CMake >> IOExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/IO >> >> //Dependencies for the target >> ITKAlgorithms_LIB_DEPENDS:STATIC=general;gdi32;general;ITKStatistics;general;ITKNumerics; >> >> //Dependencies for the target >> ITKBasicFilters_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >> >> //Dependencies for the target >> ITKCommon_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_inst;general;itksys; >> >> //Dependencies for the target >> ITKDICOMParser_LIB_DEPENDS:STATIC=general;gdi32; >> >> //Value Computed by CMake >> ITKEXPAT_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/expat >> >> //Dependencies for the target >> ITKEXPAT_LIB_DEPENDS:STATIC=general;gdi32; >> >> //Value Computed by CMake >> ITKEXPAT_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/expat >> >> //Value Computed by CMake >> ITKEXTHDRS_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkExtHdrs >> >> //Value Computed by CMake >> ITKEXTHDRS_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkExtHdrs >> >> //Dependencies for the target >> ITKFEM_LIB_DEPENDS:STATIC=general;gdi32;general;ITKBasicFilters;general;ITKIO; >> >> //Dependencies for the target >> ITKIO_LIB_DEPENDS:STATIC=general;gdi32;general;ITKNrrdIO;general;itkgdcm;general;itkpng;general;itktiff;general;ITKSpatialObject;general;ITKMetaIO;general;ITKDICOMParser;general;ITKEXPAT;general;ITKniftiio; >> >> //Value Computed by CMake >> ITKJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkjpeg >> >> //Value Computed by CMake >> ITKJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkjpeg >> >> //Value Computed by CMake >> ITKMetaIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/MetaIO >> >> //Dependencies for the target >> ITKMetaIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itksys;general;comctl32;general;wsock32; >> >> //Value Computed by CMake >> ITKMetaIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/MetaIO >> >> //Value Computed by CMake >> ITKNrrdIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/NrrdIO >> >> //Dependencies for the target >> ITKNrrdIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >> >> //Value Computed by CMake >> ITKNrrdIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/NrrdIO >> >> //Dependencies for the target >> ITKNumerics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >> >> //Value Computed by CMake >> ITKOpenJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/openjpeg >> >> //Value Computed by CMake >> ITKOpenJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/openjpeg >> >> //Value Computed by CMake >> ITKPNG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkpng >> >> //Value Computed by CMake >> ITKPNG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkpng >> >> //Dependencies for the target >> ITKSpatialObject_LIB_DEPENDS:STATIC=general;gdi32;general;ITKMetaIO;general;ITKCommon; >> >> //Dependencies for the target >> ITKStatistics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon;general;itkNetlibSlatec; >> >> //Value Computed by CMake >> ITKTIFF_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itktiff >> >> //Value Computed by CMake >> ITKTIFF_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itktiff >> >> //Value Computed by CMake >> ITKTesting_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Testing >> >> //Value Computed by CMake >> ITKTesting_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Testing >> >> //Value Computed by CMake >> ITKZLIB_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkzlib >> >> //Value Computed by CMake >> ITKZLIB_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkzlib >> >> //Value Computed by CMake >> ITK_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw >> >> //Directory with data taken from >> http://public.kitware.com/pub/itk/Data/BrainWeb/ >> ITK_BRAINWEB_DATA_ROOT:PATH=ITK_BRAINWEB_DATA_ROOT-NOTFOUND >> >> //Provide here the size of your RAM Memory in GigaBytes >> ITK_COMPUTER_MEMORY_SIZE:STRING=1 >> >> //Build cswig Java wrapper support >> ITK_CSWIG_JAVA:BOOL=OFF >> >> //Build cswig Python wrapper support (requires CableSwig). >> ITK_CSWIG_PYTHON:BOOL=OFF >> >> //Build cswig Tcl wrapper support (requires CableSwig). >> ITK_CSWIG_TCL:BOOL=OFF >> >> //Path to a file. >> ITK_DATA_ROOT:PATH=C:/ITK_3_16_0/Testing/Data >> >> //Try to explicitly build some of the core templates explictitly >> // rather than over and over again. >> ITK_EXPLICIT_INSTANTIATION:BOOL=OFF >> >> //Makes itk::Image behave like itk::OrientedImage >> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE:BOOL=ON >> >> //Remove all legacy code completely. >> ITK_LEGACY_REMOVE:BOOL=OFF >> >> //Silence all legacy code messages. >> ITK_LEGACY_SILENT:BOOL=OFF >> >> //Directory with data taken from >> http://public.kitware.com/pub/itk/Data/HealthyVolunteersMRIDatabase/ >> ITK_MRI_UNC_DATABASE_DATA_ROOT:PATH=ITK_MRI_UNC_DATABASE_DATA_ROOT-NOTFOUND >> >> //Directory with data taken from >> http://www.osirix-viewer.com/Downloads.html >> ITK_OSIRIX_DATA_ROOT:PATH=ITK_OSIRIX_DATA_ROOT-NOTFOUND >> >> //Value Computed by CMake >> ITK_SOURCE_DIR:STATIC=C:/ITK_3_16_0 >> >> //Turn on correct usage of centered-pixel coordinates. >> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON >> >> //Turn on concept checking to give helpful errors at compile time >> // if a type cannot be used as a template parameter. >> ITK_USE_CONCEPT_CHECKING:BOOL=ON >> >> //Turn on the experimental consolidated morphology. >> ITK_USE_CONSOLIDATED_MORPHOLOGY:BOOL=OFF >> >> //Turn on the use of a sparse field level set surface interpolation >> // method that has been deprecated since ITK 3.6. Turn this flag >> // ON to exactly replicate the behavior of ITK<=3.4. >> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION:BOOL=OFF >> >> //Enable the use of KWStyle for checking coding style. >> ITK_USE_KWSTYLE:BOOL=OFF >> >> //Use LIBXML2. >> ITK_USE_LIBXML2:BOOL=OFF >> >> //Use MINC2 File Format >> ITK_USE_MINC2:BOOL=OFF >> >> //Turn on the experimental version of accelerated registration >> // methods. >> ITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=OFF >> >> //Turn on correct use of oriented images direction in gradient >> // computation and image registration. >> ITK_USE_ORIENTED_IMAGE_DIRECTION:BOOL=ON >> >> //Build algorithms that are covered with Patents. It is YOUR >> responsibility >> // to obtain a license from the patent holder in order to use these >> // methods. >> ITK_USE_PATENTED:BOOL=OFF >> >> //Turn on region validation in Iterator constructors. >> ITK_USE_REGION_VALIDATION_IN_ITERATORS:BOOL=ON >> >> //Build algorithms that are candidates to be included in the Toolkit. >> // This classes are not covered by the Backward Compatibility Policy, >> // nor the Copyright Policy of ITK. >> ITK_USE_REVIEW:BOOL=OFF >> >> //Use the experimental statistics framework. >> ITK_USE_REVIEW_STATISTICS:BOOL=OFF >> >> //Turn on Strict concept checking to give more stringent errors >> // at compile time if a type cannot be used as a template parameter. >> ITK_USE_STRICT_CONCEPT_CHECKING:BOOL=OFF >> >> //Use an outside build of GDCM. >> ITK_USE_SYSTEM_GDCM:BOOL=OFF >> >> //Use the system's libxml2 library. >> ITK_USE_SYSTEM_LIBXML2:BOOL=OFF >> >> //Use the system's png library. >> ITK_USE_SYSTEM_PNG:BOOL=OFF >> >> //Use the system's tiff library. >> ITK_USE_SYSTEM_TIFF:BOOL=OFF >> >> //Use an outside build of VXL. >> ITK_USE_SYSTEM_VXL:BOOL=OFF >> >> //Use the system's zlib library. >> ITK_USE_SYSTEM_ZLIB:BOOL=OFF >> >> //Turn on the use of Template Meta-Programming techniques for unrolling >> // for-loops at compile time. >> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING:BOOL=ON >> >> //Turn on the experimental IO factories for reading and writing >> // transforms. >> ITK_USE_TRANSFORM_IO_FACTORIES:BOOL=OFF >> >> //Directory with data taken from >> http://www.nlm.nih.gov/research/visible/getting_data.html >> ITK_VISIBLEHUMAN_DATA_ROOT:PATH=ITK_VISIBLEHUMAN_DATA_ROOT-NOTFOUND >> >> //Dependencies for the target >> ITKniftiio_LIB_DEPENDS:STATIC=general;gdi32;general;ITKznz; >> >> //Dependencies for the target >> ITKznz_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >> >> //Value Computed by CMake >> ImageExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Image >> >> //Value Computed by CMake >> ImageExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Image >> >> //Value Computed by CMake >> ImageRegistration_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Registration >> >> //Value Computed by CMake >> ImageRegistration_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Registration >> >> //Value Computed by CMake >> ImageSegmentation_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Segmentation >> >> //Value Computed by CMake >> ImageSegmentation_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Segmentation >> >> //Value Computed by CMake >> IteratorExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Iterators >> >> //Value Computed by CMake >> IteratorExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Iterators >> >> //Path to java command, used by the Dart server to create html. >> JAVACOMMAND:FILEPATH=JAVACOMMAND-NOTFOUND >> >> //Command used to build entire project from the command line. >> MAKECOMMAND:STRING=C:/msys/1.0/bin/make.exe -i >> >> //Path to the memory checking command, used for memory error detection. >> MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND >> >> //File that contains suppressions for the memory checker >> MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= >> >> //Value Computed by CMake >> MeshExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Mesh >> >> //Value Computed by CMake >> MeshExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Mesh >> >> //Value Computed by CMake >> NIFTI_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/nifti >> >> //Value Computed by CMake >> NIFTI_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/nifti >> >> //Value Computed by CMake >> NumericsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Numerics >> >> //Value Computed by CMake >> NumericsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Numerics >> >> //Value Computed by CMake >> PathExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Path >> >> //Value Computed by CMake >> PathExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Path >> >> //Path to scp command, used by CTest for submitting results to >> // a Dart server >> SCPCOMMAND:FILEPATH=SCPCOMMAND-NOTFOUND >> >> //Name of the computer/site where compile is being run >> SITE:STRING=ZAPPA >> >> //Path to the SLURM sbatch executable >> SLURM_SBATCH_COMMAND:FILEPATH=SLURM_SBATCH_COMMAND-NOTFOUND >> >> //Path to the SLURM srun executable >> SLURM_SRUN_COMMAND:FILEPATH=SLURM_SRUN_COMMAND-NOTFOUND >> >> //Path to a program. >> SVNCOMMAND:FILEPATH=SVNCOMMAND-NOTFOUND >> >> //Value Computed by CMake >> SpatialObjectsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/SpatialObjects >> >> //Value Computed by CMake >> SpatialObjectsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/SpatialObjects >> >> //Value Computed by CMake >> StatisticsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Statistics >> >> //Value Computed by CMake >> StatisticsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Statistics >> >> //Path to a program. >> TCL_TCLSH:FILEPATH=TCL_TCLSH-NOTFOUND >> >> //Use double precision FFTW if found >> USE_FFTWD:BOOL=OFF >> >> //Use single precision FFTW if found >> USE_FFTWF:BOOL=OFF >> >> //Use the SGI SCSL High Performance Computing math library >> USE_SCSL:BOOL=OFF >> >> //Build external languages support >> USE_WRAP_ITK:BOOL=OFF >> >> //Path to a file. >> UUID_INCLUDE_DIR:PATH=UUID_INCLUDE_DIR-NOTFOUND >> >> //Path to a library. >> UUID_LIBRARY:FILEPATH=UUID_LIBRARY-NOTFOUND >> >> //Whether vnl_vector/vnl_matrix accessor methods check index bounds. >> VNL_CONFIG_CHECK_BOUNDS:BOOL=ON >> >> //Enable Streaming SIMD Extensions 2 optimisations (hardware dependant). >> // Currently broken. For use by VNL developers only. >> VNL_CONFIG_ENABLE_SSE2:BOOL=OFF >> >> //Enable Streaming SIMD Extensions 2 implementation of rounding >> // (hardware dependant). >> VNL_CONFIG_ENABLE_SSE2_ROUNDING:BOOL=OFF >> >> //Whether backward-compatibility methods are provided by vnl. >> VNL_CONFIG_LEGACY_METHODS:BOOL=OFF >> >> //Whether thread-safe vnl implementations are used. >> VNL_CONFIG_THREAD_SAFE:BOOL=ON >> >> //v3p include files >> VTHREEP_INCLUDE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >> >> //v3p include files >> VTHREEP_INSTALL_INCLUDE_DIR:STATIC=C:/Program Files >> (x86)/ITK/include/vxl/v3p >> >> //Re-run the configuration tests? >> VXL_UPDATE_CONFIGURATION:BOOL=OFF >> >> //Dependencies for the target >> itkNetlibSlatec_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib; >> >> //Value Computed by CMake >> itkdicomparser_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/DICOMParser >> >> //Value Computed by CMake >> itkdicomparser_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/DICOMParser >> >> //Dependencies for the target >> itkgdcm_LIB_DEPENDS:STATIC=general;gdi32;general;itkjpeg8;general;itkjpeg12;general;itkjpeg16;general;itkopenjpeg;general;wsock32;general;snmpapi;general;rpcrt4; >> >> //Dependencies for the target >> itkjpeg12_LIB_DEPENDS:STATIC=general;gdi32; >> >> //Dependencies for the target >> itkjpeg16_LIB_DEPENDS:STATIC=general;gdi32; >> >> //Dependencies for the target >> itkjpeg8_LIB_DEPENDS:STATIC=general;gdi32; >> >> //Dependencies for the target >> itkopenjpeg_LIB_DEPENDS:STATIC=general;gdi32; >> >> //Dependencies for the target >> itkpng_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >> >> //Value Computed by CMake >> itksys_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/kwsys >> >> //Dependencies for the target >> itksys_LIB_DEPENDS:STATIC=general;gdi32;general;ws2_32; >> >> //Value Computed by CMake >> itksys_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/kwsys >> >> //Dependencies for the target >> itktestlib_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >> >> //Dependencies for the target >> itktiff_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itkjpeg8; >> >> //Dependencies for the target >> itkv3p_netlib_LIB_DEPENDS:STATIC=general;gdi32; >> >> //Dependencies for the target >> itkvcl_LIB_DEPENDS:STATIC=general;gdi32; >> >> //Dependencies for the target >> itkvnl_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >> >> //Dependencies for the target >> itkvnl_algo_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib;general;itkvnl; >> >> //Dependencies for the target >> itkvnl_inst_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_algo; >> >> //Dependencies for the target >> itkzlib_LIB_DEPENDS:STATIC=general;gdi32; >> >> //Value Computed by CMake >> netlib_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p/netlib >> >> //Value Computed by CMake >> netlib_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p/netlib >> >> //Value Computed by CMake >> vcl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/vcl >> >> //Value Computed by CMake >> vcl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/vcl >> >> //Value Computed by CMake >> vthreep_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p >> >> //Value Computed by CMake >> vthreep_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >> >> //Value Computed by CMake >> vxl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl >> >> //Value Computed by CMake >> vxl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl >> >> //Value Computed by CMake >> vxl_config_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/config/cmake/config >> >> //Value Computed by CMake >> vxl_config_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/config/cmake/config >> >> //Value Computed by CMake >> vxlcore_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/core >> >> //Value Computed by CMake >> vxlcore_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/core >> >> >> ######################## >> # INTERNAL cache entries >> ######################## >> >> //System handles bit-fields larger than 32 bits. >> BIGBITFIELD:INTERNAL=1 >> //Result of TRY_COMPILE >> BIGBITFIELD_VALUE:INTERNAL=TRUE >> //ADVANCED property for variable: BUILDNAME >> BUILDNAME-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: BZRCOMMAND >> BZRCOMMAND-ADVANCED:INTERNAL=1 >> //Result of TRY_COMPILE >> CMAKE_ANSI_FOR_SCOPE:INTERNAL=TRUE >> //Have include iostream >> CMAKE_ANSI_STREAM_HEADERS:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_AR >> CMAKE_AR-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_BACKWARDS_COMPATIBILITY >> CMAKE_BACKWARDS_COMPATIBILITY-ADVANCED:INTERNAL=0 >> //ADVANCED property for variable: CMAKE_BUILD_TOOL >> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >> //What is the target build tool cmake is generating for. >> CMAKE_BUILD_TOOL:INTERNAL=C:/msys/1.0/bin/make.exe >> //This is the directory where this CMakeCache.txt was created >> CMAKE_CACHEFILE_DIR:INTERNAL=c:/msys/1.0/home/Insight-mingw >> //Major version of cmake used to create the current loaded cache >> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >> //Minor version of cmake used to create the current loaded cache >> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >> //Patch version of cmake used to create the current loaded cache >> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >> //Path to CMake executable. >> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >> //Path to cpack program executable. >> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >> //ADVANCED property for variable: CMAKE_CTEST_COMMAND >> CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 >> //Path to ctest program executable. >> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >> //ADVANCED property for variable: CMAKE_CXX_COMPILER >> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS >> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_COMPILER >> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS >> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >> //Result of TRY_COMPILE >> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >> //Path to cache edit program executable. >> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >> //Executable file format >> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //Name of generator. >> CMAKE_GENERATOR:INTERNAL=MSYS Makefiles >> //Result of TRY_COMPILE >> CMAKE_HAS_ANSI_STRING_STREAM:INTERNAL=TRUE >> //Is X11 around. >> CMAKE_HAS_X:INTERNAL= >> //Have include limits.h >> CMAKE_HAVE_LIMITS_H:INTERNAL=1 >> //Have include pthread.h >> CMAKE_HAVE_PTHREAD_H:INTERNAL= >> //Have include stdint.h >> CMAKE_HAVE_STDINT_H:INTERNAL=1 >> //Have include CMAKE_HAVE_STDLIB_H >> CMAKE_HAVE_STDLIB_H:INTERNAL=1 >> //Have includes CMAKE_HAVE_SYS_PRCTL_H >> CMAKE_HAVE_SYS_PRCTL_H:INTERNAL= >> //Have include unistd.h >> CMAKE_HAVE_UNISTD_H:INTERNAL=1 >> //Start directory with the top level CMakeLists.txt file for this >> // project >> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0 >> //ADVANCED property for variable: CMAKE_HP_PTHREADS >> CMAKE_HP_PTHREADS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_LINKER >> CMAKE_LINKER-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: >> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_NM >> CMAKE_NM-ADVANCED:INTERNAL=1 >> //Does the compiler support ansi for scope. >> CMAKE_NO_ANSI_FOR_SCOPE:INTERNAL=0 >> //ADVANCED property for variable: CMAKE_NO_ANSI_STREAM_HEADERS >> CMAKE_NO_ANSI_STREAM_HEADERS-ADVANCED:INTERNAL=1 >> //Does the compiler support headers like iostream. >> CMAKE_NO_ANSI_STREAM_HEADERS:INTERNAL=0 >> //Does the compiler support sstream >> CMAKE_NO_ANSI_STRING_STREAM:INTERNAL=0 >> //Does the compiler support std::. >> CMAKE_NO_STD_NAMESPACE:INTERNAL=0 >> //number of local generators >> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=76 >> //ADVANCED property for variable: CMAKE_OBJCOPY >> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_OBJDUMP >> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_RANLIB >> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >> //Path to CMake installation. >> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: >> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >> //Result of CHECK_TYPE_SIZE >> CMAKE_SIZEOF_CHAR:INTERNAL=1 >> //Result of CHECK_TYPE_SIZE >> CMAKE_SIZEOF_DOUBLE:INTERNAL=8 >> //Result of CHECK_TYPE_SIZE >> CMAKE_SIZEOF_FLOAT:INTERNAL=4 >> //Result of CHECK_TYPE_SIZE >> CMAKE_SIZEOF_INT:INTERNAL=4 >> //Result of CHECK_TYPE_SIZE >> CMAKE_SIZEOF_LONG:INTERNAL=4 >> //Result of CHECK_TYPE_SIZE >> CMAKE_SIZEOF_SHORT:INTERNAL=2 >> //Result of CHECK_TYPE_SIZE >> CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=2 >> //Result of CHECK_TYPE_SIZE >> CMAKE_SIZEOF_VOID_P:INTERNAL=4 >> //ADVANCED property for variable: CMAKE_SKIP_RPATH >> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >> //Result of TRY_COMPILE >> CMAKE_STD_NAMESPACE:INTERNAL=TRUE >> //ADVANCED property for variable: CMAKE_STRIP >> CMAKE_STRIP-ADVANCED:INTERNAL=1 >> //Suppress Warnings that are meant for the author of the CMakeLists.txt >> // files. >> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >> //ADVANCED property for variable: CMAKE_THREAD_LIBS >> CMAKE_THREAD_LIBS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_USE_PTHREADS >> CMAKE_USE_PTHREADS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_USE_SPROC >> CMAKE_USE_SPROC-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_USE_WIN32_THREADS >> CMAKE_USE_WIN32_THREADS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >> //Result of TEST_BIG_ENDIAN >> CMAKE_WORDS_BIGENDIAN:INTERNAL=0 >> //ADVANCED property for variable: CMAKE_X_CFLAGS >> CMAKE_X_CFLAGS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CMAKE_X_LIBS >> CMAKE_X_LIBS-ADVANCED:INTERNAL=1 >> //Result of TRY_COMPILE >> COMPILE_RESULT:INTERNAL=TRUE >> //ADVANCED property for variable: COMPRESSIONCOMMAND >> COMPRESSIONCOMMAND-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: COVERAGE_COMMAND >> COVERAGE_COMMAND-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CPACK_BINARY_NSIS >> CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CPACK_BINARY_ZIP >> CPACK_BINARY_ZIP-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CPACK_SOURCE_ZIP >> CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CVSCOMMAND >> CVSCOMMAND-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: CVS_UPDATE_OPTIONS >> CVS_UPDATE_OPTIONS-ADVANCED:INTERNAL=1 >> //CXX compiler accepts flag -Wno-deprecated >> CXX_HAS_DEPRECATED_FLAG:INTERNAL=TRUE >> //ADVANCED property for variable: DART_BUILD_ERROR_REPORT_LIMIT >> DART_BUILD_ERROR_REPORT_LIMIT-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: DART_BUILD_WARNING_REPORT_LIMIT >> DART_BUILD_WARNING_REPORT_LIMIT-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: DART_ROOT >> DART_ROOT-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: DART_TESTING_TIMEOUT >> DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: DART_VERBOSE_BUILD >> DART_VERBOSE_BUILD-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: DELIVER_CONTINUOUS_EMAIL >> DELIVER_CONTINUOUS_EMAIL-ADVANCED:INTERNAL=1 >> //Result of TRY_RUN >> DUMMY:INTERNAL=0 >> //ADVANCED property for variable: EXECUTABLE_OUTPUT_PATH >> EXECUTABLE_OUTPUT_PATH-ADVANCED:INTERNAL=1 >> //Single output directory for building all executables. >> EXECUTABLE_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >> //Details about finding Threads >> FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE] >> //Support for extension C __FUNCTION__ >> GDCM_COMPILER_HAS_FUNCTION:INTERNAL=1 >> //ADVANCED property for variable: GDCM_DATA_DIR >> GDCM_DATA_DIR-ADVANCED:INTERNAL=1 >> //Install location for data (relative to prefix). >> GDCM_DATA_DIR:INTERNAL=/share/gdcm/ >> //ADVANCED property for variable: GDCM_LEGACY_REMOVE >> GDCM_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: GDCM_LEGACY_SILENT >> GDCM_LEGACY_SILENT-ADVANCED:INTERNAL=1 >> //Result of TEST_BIG_ENDIAN >> GDCM_WORDS_BIGENDIAN:INTERNAL=0 >> //ADVANCED property for variable: GUNZIPCOMMAND >> GUNZIPCOMMAND-ADVANCED:INTERNAL=1 >> //Have include HAVE_ASSERT_H >> HAVE_ASSERT_H:INTERNAL=1 >> // >> HAVE_BIGBITFIELD_VALUE:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_CMAKE_SIZEOF_CHAR:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_CMAKE_SIZEOF_DOUBLE:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_CMAKE_SIZEOF_FLOAT:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_CMAKE_SIZEOF_INT:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_CMAKE_SIZEOF_LONG:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_CMAKE_SIZEOF_SHORT:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_CMAKE_SIZEOF_VOID_P:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_CMAKE_WORDS_BIGENDIAN:INTERNAL=TRUE >> //Have includes HAVE_DLFCN_H >> HAVE_DLFCN_H:INTERNAL= >> //Have include HAVE_FCNTL_H >> HAVE_FCNTL_H:INTERNAL=1 >> //Have function floor >> HAVE_FLOOR:INTERNAL=1 >> //Result of TRY_COMPILE >> HAVE_GDCM_WORDS_BIGENDIAN:INTERNAL=TRUE >> //Have function getopt >> HAVE_GETOPT:INTERNAL=1 >> //Have includes HAVE_IEEEFP_H >> HAVE_IEEEFP_H:INTERNAL= >> //Have include HAVE_INTTYPES_H >> HAVE_INTTYPES_H:INTERNAL=1 >> //Have function isascii >> HAVE_ISASCII:INTERNAL=1 >> // >> HAVE_ITK_CPP_FUNCTION:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_ITK_SIZEOF_LONG_LONG:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_ITK_SIZEOF___INT64:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_KWSYS_SIZEOF_CHAR:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_KWSYS_SIZEOF_INT:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_KWSYS_SIZEOF_LONG:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_KWSYS_SIZEOF_LONG_LONG:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_KWSYS_SIZEOF_SHORT:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_KWSYS_SIZEOF___INT64:INTERNAL=TRUE >> //Have library malloc >> HAVE_LIBMALLOC:INTERNAL= >> //Have include HAVE_LIMITS_H >> HAVE_LIMITS_H:INTERNAL=1 >> //Have include HAVE_MALLOC_H >> HAVE_MALLOC_H:INTERNAL=1 >> //Have function memmove >> HAVE_MEMMOVE:INTERNAL=1 >> //Have include HAVE_MEMORY_H >> HAVE_MEMORY_H:INTERNAL=1 >> //Have function memset >> HAVE_MEMSET:INTERNAL=1 >> //Have function mmap >> HAVE_MMAP:INTERNAL= >> //Have function pow >> HAVE_POW:INTERNAL=1 >> //Have library Psapi >> HAVE_PSAPI:INTERNAL= >> //Result of TRY_COMPILE >> HAVE_QNANHIBIT_VALUE:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_SIZEOF_INT:INTERNAL=TRUE >> //Result of TRY_COMPILE >> HAVE_SIZEOF_LONG:INTERNAL=TRUE >> //Have function sqrt >> HAVE_SQRT:INTERNAL=1 >> //Have include stddef.h >> HAVE_STDDEF_H:INTERNAL=1 >> //Have include stdint.h >> HAVE_STDINT_H:INTERNAL=1 >> //Have include HAVE_STDLIB_H >> HAVE_STDLIB_H:INTERNAL=1 >> //Have function strcasecmp >> HAVE_STRCASECMP:INTERNAL=1 >> //Have function strchr >> HAVE_STRCHR:INTERNAL=1 >> //Have include HAVE_STRINGS_H >> HAVE_STRINGS_H:INTERNAL=1 >> //Have include HAVE_STRING_H >> HAVE_STRING_H:INTERNAL=1 >> //Have function strrchr >> HAVE_STRRCHR:INTERNAL=1 >> //Have function strstr >> HAVE_STRSTR:INTERNAL=1 >> //Have function strtol >> HAVE_STRTOL:INTERNAL=1 >> //Have function areroul >> HAVE_STRTOUL:INTERNAL= >> //Have include HAVE_SYS_STAT_H >> HAVE_SYS_STAT_H:INTERNAL=1 >> //Have include HAVE_SYS_TIME_H >> HAVE_SYS_TIME_H:INTERNAL=1 >> //Have include sys/types.h >> HAVE_SYS_TYPES_H:INTERNAL=1 >> //Have include unistd.h >> HAVE_UNISTD_H:INTERNAL=1 >> //Result of TRY_COMPILE >> HAVE_VXL_BIG_ENDIAN:INTERNAL=TRUE >> //Have include HAVE_WINDOWS_H >> HAVE_WINDOWS_H:INTERNAL=1 >> //ADVANCED property for variable: HGCOMMAND >> HGCOMMAND-ADVANCED:INTERNAL=1 >> //ImageCompare path to be used by subprojects >> IMAGE_COMPARE:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompare >> //ImageCompare path to be used by subprojects >> IMAGE_COMPARE_COMMAND:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompareCommand >> //ImageCopy path to be used by subprojects >> IMAGE_COPY:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCopy >> //ADVANCED property for variable: ITK_BRAINWEB_DATA_ROOT >> ITK_BRAINWEB_DATA_ROOT-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_COMPUTER_MEMORY_SIZE >> ITK_COMPUTER_MEMORY_SIZE-ADVANCED:INTERNAL=1 >> //Result of TRY_COMPILE >> ITK_CPP_FUNCTION:INTERNAL=TRUE >> //ADVANCED property for variable: ITK_CSWIG_JAVA >> ITK_CSWIG_JAVA-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_CSWIG_PYTHON >> ITK_CSWIG_PYTHON-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_CSWIG_TCL >> ITK_CSWIG_TCL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_DATA_ROOT >> ITK_DATA_ROOT-ADVANCED:INTERNAL=1 >> //ITK dir to be used by subprojects >> ITK_DIR:INTERNAL=C:/msys/1.0/home/Insight-mingw >> //ADVANCED property for variable: ITK_EXPLICIT_INSTANTIATION >> ITK_EXPLICIT_INSTANTIATION-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE >> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE-ADVANCED:INTERNAL=1 >> ITK_INSTALL_PACKAGE_DIR:INTERNAL=/lib/InsightToolkit >> //Whether istream supports long long >> ITK_ISTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >> //ADVANCED property for variable: ITK_LEGACY_REMOVE >> ITK_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_LEGACY_SILENT >> ITK_LEGACY_SILENT-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_MRI_UNC_DATABASE_DATA_ROOT >> ITK_MRI_UNC_DATABASE_DATA_ROOT-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_OSIRIX_DATA_ROOT >> ITK_OSIRIX_DATA_ROOT-ADVANCED:INTERNAL=1 >> //Whether ostream supports long long >> ITK_OSTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >> //Result of CHECK_TYPE_SIZE >> ITK_SIZEOF_LONG_LONG:INTERNAL=8 >> //Result of CHECK_TYPE_SIZE >> ITK_SIZEOF___INT64:INTERNAL=8 >> //Result of TRY_COMPILE >> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_EMPTY_BRACKETS:INTERNAL=TRUE >> //Result of TRY_COMPILE >> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_NULL_STRING:INTERNAL=FALSE >> //Result of TRY_COMPILE >> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_TEMPLATE_ARGUMENTS:INTERNAL=FALSE >> //Result of TRY_COMPILE >> ITK_SUPPORTS_TEMPLATE_PARTIAL_SPECIALIZATION:INTERNAL=TRUE >> //itkTestDriver path to be used by subprojects >> ITK_TEST_DRIVER:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/itkTestDriver >> //Whether long and __int64 are the same type >> ITK_TYPE_SAME_LONG_AND___INT64:INTERNAL=0 >> //ADVANCED property for variable: >> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY >> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_CONCEPT_CHECKING >> ITK_USE_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_CONSOLIDATED_MORPHOLOGY >> ITK_USE_CONSOLIDATED_MORPHOLOGY-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: >> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION >> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_LIBXML2 >> ITK_USE_LIBXML2-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_MINC2 >> ITK_USE_MINC2-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_OPTIMIZED_REGISTRATION_METHODS >> ITK_USE_OPTIMIZED_REGISTRATION_METHODS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_ORIENTED_IMAGE_DIRECTION >> ITK_USE_ORIENTED_IMAGE_DIRECTION-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_PATENTED >> ITK_USE_PATENTED-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_REGION_VALIDATION_IN_ITERATORS >> ITK_USE_REGION_VALIDATION_IN_ITERATORS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_REVIEW >> ITK_USE_REVIEW-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_REVIEW_STATISTICS >> ITK_USE_REVIEW_STATISTICS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_STRICT_CONCEPT_CHECKING >> ITK_USE_STRICT_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_SYSTEM_GDCM >> ITK_USE_SYSTEM_GDCM-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_SYSTEM_LIBXML2 >> ITK_USE_SYSTEM_LIBXML2-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_SYSTEM_PNG >> ITK_USE_SYSTEM_PNG-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_SYSTEM_TIFF >> ITK_USE_SYSTEM_TIFF-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_SYSTEM_VXL >> ITK_USE_SYSTEM_VXL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_SYSTEM_ZLIB >> ITK_USE_SYSTEM_ZLIB-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: >> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING >> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_USE_TRANSFORM_IO_FACTORIES >> ITK_USE_TRANSFORM_IO_FACTORIES-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: ITK_VISIBLEHUMAN_DATA_ROOT >> ITK_VISIBLEHUMAN_DATA_ROOT-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: JAVACOMMAND >> JAVACOMMAND-ADVANCED:INTERNAL=1 >> //Result of TRY_COMPILE >> KWSYS_CAN_CONVERT_UI64_TO_DOUBLE_COMPILED:INTERNAL=FALSE >> //Result of TRY_RUN >> KWSYS_CHAR_IS_SIGNED:INTERNAL=0 >> //Result of TRY_COMPILE >> KWSYS_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_CXX_HAS_CSTDDEF_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_CXX_HAS_CSTDIO_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_CXX_HAS_FULL_SPECIALIZATION_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_CXX_HAS_MEMBER_TEMPLATES_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS_COMPILED:INTERNAL=FALSE >> //Result of TRY_COMPILE >> KWSYS_CXX_SAME_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >> //Result of TRY_COMPILE >> KWSYS_CXX_SAME_LONG_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >> //Result of TRY_COMPILE >> KWSYS_IOS_HAVE_BINARY_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_IOS_HAVE_STD_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_IOS_USE_ANSI_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_IOS_USE_SSTREAM_COMPILED:INTERNAL=TRUE >> //Checking for Large File Support failed to compile. >> KWSYS_LFS_WORKS:INTERNAL=-1 >> //Result of TRY_COMPILE >> KWSYS_LFS_WORKS_COMPILED:INTERNAL=FALSE >> //Result of CHECK_TYPE_SIZE >> KWSYS_SIZEOF_CHAR:INTERNAL=1 >> //Result of CHECK_TYPE_SIZE >> KWSYS_SIZEOF_INT:INTERNAL=4 >> //Result of CHECK_TYPE_SIZE >> KWSYS_SIZEOF_LONG:INTERNAL=4 >> //Result of CHECK_TYPE_SIZE >> KWSYS_SIZEOF_LONG_LONG:INTERNAL=8 >> //Result of CHECK_TYPE_SIZE >> KWSYS_SIZEOF_SHORT:INTERNAL=2 >> //Result of CHECK_TYPE_SIZE >> KWSYS_SIZEOF___INT64:INTERNAL=8 >> //Result of TRY_COMPILE >> KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT_COMPILED:INTERNAL=FALSE >> //Result of TRY_COMPILE >> KWSYS_STL_HAS_ALLOCATOR_OBJECTS_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_STL_HAS_ALLOCATOR_REBIND_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_STL_HAS_ALLOCATOR_TEMPLATE_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_STL_HAS_ITERATOR_TRAITS_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_STL_HAVE_STD_COMPILED:INTERNAL=TRUE >> //Result of TRY_COMPILE >> KWSYS_STL_STRING_HAVE_NEQ_CHAR_COMPILED:INTERNAL=TRUE >> //ADVANCED property for variable: LIBRARY_OUTPUT_PATH >> LIBRARY_OUTPUT_PATH-ADVANCED:INTERNAL=1 >> //Single output directory for building all libraries. >> LIBRARY_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >> //ADVANCED property for variable: MAKECOMMAND >> MAKECOMMAND-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: MEMORYCHECK_COMMAND >> MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE >> MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 >> //The 22nd bit of 32-bit floating-point quiet NaN. >> QNANHIBIT:INTERNAL=1 >> //Result of TRY_RUN >> QNANHIBIT_VALUE:INTERNAL=1 >> //Result of TRY_RUN >> RUN_RESULT:INTERNAL=1 >> //ADVANCED property for variable: SCPCOMMAND >> SCPCOMMAND-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: SITE >> SITE-ADVANCED:INTERNAL=1 >> //Result of CHECK_TYPE_SIZE >> SIZEOF_INT:INTERNAL=4 >> //Result of CHECK_TYPE_SIZE >> SIZEOF_LONG:INTERNAL=4 >> //ADVANCED property for variable: SLURM_SBATCH_COMMAND >> SLURM_SBATCH_COMMAND-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: SLURM_SRUN_COMMAND >> SLURM_SRUN_COMMAND-ADVANCED:INTERNAL=1 >> //CXX compiler accepts flag -features=no%anachronisms >> SUN_COMPILER:INTERNAL=FALSE >> //ADVANCED property for variable: SVNCOMMAND >> SVNCOMMAND-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: TCL_TCLSH >> TCL_TCLSH-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: USE_FFTWD >> USE_FFTWD-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: USE_FFTWF >> USE_FFTWF-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: USE_SCSL >> USE_SCSL-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: USE_WRAP_ITK >> USE_WRAP_ITK-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: UUID_INCLUDE_DIR >> UUID_INCLUDE_DIR-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: UUID_LIBRARY >> UUID_LIBRARY-ADVANCED:INTERNAL=1 >> //VXL test >> VCL_ALLOWS_INLINE_INSTANTIATION:INTERNAL=1 >> //VXL test >> VCL_ALLOWS_NAMESPACE_STD:INTERNAL=1 >> //VXL test >> VCL_CANNOT_SPECIALIZE_CV:INTERNAL=1 >> //VXL test >> VCL_CAN_DO_COMPLETE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >> //VXL test >> VCL_CAN_DO_IMPLICIT_TEMPLATES:INTERNAL=1 >> //VXL test >> VCL_CAN_DO_NON_TYPE_FUNCTION_TEMPLATE_PARAMETER:INTERNAL=1 >> //VXL test >> VCL_CAN_DO_PARTIAL_SPECIALIZATION:INTERNAL=1 >> //VXL test >> VCL_CAN_DO_STATIC_TEMPLATE_MEMBER:INTERNAL=1 >> //VXL test >> VCL_CAN_DO_TEMPLATE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >> //VXL test ?(successful run) >> VCL_CHAR_IS_SIGNED:INTERNAL=1 >> //Result of TRY_COMPILE >> VCL_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >> //VXL test ?(successful run) >> VCL_COMPLEX_POW_WORKS:INTERNAL=1 >> //Result of TRY_COMPILE >> VCL_COMPLEX_POW_WORKS_COMPILED:INTERNAL=TRUE >> //Have include algorithm >> VCL_CXX_HAS_HEADER_ALGORITHM:INTERNAL=1 >> //Have include bitset >> VCL_CXX_HAS_HEADER_BITSET:INTERNAL=1 >> //Have include cassert >> VCL_CXX_HAS_HEADER_CASSERT:INTERNAL=1 >> //Have include cctype >> VCL_CXX_HAS_HEADER_CCTYPE:INTERNAL=1 >> //Have include cerrno >> VCL_CXX_HAS_HEADER_CERRNO:INTERNAL=1 >> //Have include cfloat >> VCL_CXX_HAS_HEADER_CFLOAT:INTERNAL=1 >> //Have include ciso646 >> VCL_CXX_HAS_HEADER_CISO646:INTERNAL=1 >> //Have include climits >> VCL_CXX_HAS_HEADER_CLIMITS:INTERNAL=1 >> //Have include clocale >> VCL_CXX_HAS_HEADER_CLOCALE:INTERNAL=1 >> //Have include cmath >> VCL_CXX_HAS_HEADER_CMATH:INTERNAL=1 >> //Have include complex >> VCL_CXX_HAS_HEADER_COMPLEX:INTERNAL=1 >> //Have include csetjmp >> VCL_CXX_HAS_HEADER_CSETJMP:INTERNAL=1 >> //Have include csignal >> VCL_CXX_HAS_HEADER_CSIGNAL:INTERNAL=1 >> //Have include cstdarg >> VCL_CXX_HAS_HEADER_CSTDARG:INTERNAL=1 >> //Have include cstddef >> VCL_CXX_HAS_HEADER_CSTDDEF:INTERNAL=1 >> //Have include cstdio >> VCL_CXX_HAS_HEADER_CSTDIO:INTERNAL=1 >> //Have include cstdlib >> VCL_CXX_HAS_HEADER_CSTDLIB:INTERNAL=1 >> //Have include cstring >> VCL_CXX_HAS_HEADER_CSTRING:INTERNAL=1 >> //Have include ctime >> VCL_CXX_HAS_HEADER_CTIME:INTERNAL=1 >> //Have include cwchar >> VCL_CXX_HAS_HEADER_CWCHAR:INTERNAL=1 >> //Have include cwctype >> VCL_CXX_HAS_HEADER_CWCTYPE:INTERNAL=1 >> //Have include deque >> VCL_CXX_HAS_HEADER_DEQUE:INTERNAL=1 >> //Have include exception >> VCL_CXX_HAS_HEADER_EXCEPTION:INTERNAL=1 >> //Have include fstream >> VCL_CXX_HAS_HEADER_FSTREAM:INTERNAL=1 >> //Have include functional >> VCL_CXX_HAS_HEADER_FUNCTIONAL:INTERNAL=1 >> //Have include iomanip >> VCL_CXX_HAS_HEADER_IOMANIP:INTERNAL=1 >> //Have include ios >> VCL_CXX_HAS_HEADER_IOS:INTERNAL=1 >> //Have include iosfwd >> VCL_CXX_HAS_HEADER_IOSFWD:INTERNAL=1 >> //Have include iostream >> VCL_CXX_HAS_HEADER_IOSTREAM:INTERNAL=1 >> //Have include iso646.h >> VCL_CXX_HAS_HEADER_ISO646_H:INTERNAL=1 >> //Have include istream >> VCL_CXX_HAS_HEADER_ISTREAM:INTERNAL=1 >> //Have include iterator >> VCL_CXX_HAS_HEADER_ITERATOR:INTERNAL=1 >> //Have include limits >> VCL_CXX_HAS_HEADER_LIMITS:INTERNAL=1 >> //Have include list >> VCL_CXX_HAS_HEADER_LIST:INTERNAL=1 >> //Have include locale >> VCL_CXX_HAS_HEADER_LOCALE:INTERNAL=1 >> //Have include map >> VCL_CXX_HAS_HEADER_MAP:INTERNAL=1 >> //Have include memory >> VCL_CXX_HAS_HEADER_MEMORY:INTERNAL=1 >> //Have include new >> VCL_CXX_HAS_HEADER_NEW:INTERNAL=1 >> //Have include numeric >> VCL_CXX_HAS_HEADER_NUMERIC:INTERNAL=1 >> //Have include ostream >> VCL_CXX_HAS_HEADER_OSTREAM:INTERNAL=1 >> //Have include queue >> VCL_CXX_HAS_HEADER_QUEUE:INTERNAL=1 >> //Have include set >> VCL_CXX_HAS_HEADER_SET:INTERNAL=1 >> //Have include sstream >> VCL_CXX_HAS_HEADER_SSTREAM:INTERNAL=1 >> //Have include stack >> VCL_CXX_HAS_HEADER_STACK:INTERNAL=1 >> //Have include stdexcept >> VCL_CXX_HAS_HEADER_STDEXCEPT:INTERNAL=1 >> //Have include streambuf >> VCL_CXX_HAS_HEADER_STREAMBUF:INTERNAL=1 >> //Have include string >> VCL_CXX_HAS_HEADER_STRING:INTERNAL=1 >> //Have include strstream >> VCL_CXX_HAS_HEADER_STRSTREAM:INTERNAL=1 >> //Have include typeinfo >> VCL_CXX_HAS_HEADER_TYPEINFO:INTERNAL=1 >> //Have include utility >> VCL_CXX_HAS_HEADER_UTILITY:INTERNAL=1 >> //Have include valarray >> VCL_CXX_HAS_HEADER_VALARRAY:INTERNAL=1 >> //Have include vector >> VCL_CXX_HAS_HEADER_VECTOR:INTERNAL=1 >> //VXL test >> VCL_DEFAULT_VALUE:INTERNAL=1 >> //VXL test >> VCL_DEFINE_SPECIALIZATION:INTERNAL=1 >> //VXL test >> VCL_FOR_SCOPE_HACK:INTERNAL=1 >> //VXL test >> VCL_HAS_BOOL:INTERNAL=1 >> //VXL test >> VCL_HAS_DYNAMIC_CAST:INTERNAL=1 >> //VXL test >> VCL_HAS_EXCEPTIONS:INTERNAL=1 >> //VXL test >> VCL_HAS_EXPLICIT:INTERNAL=1 >> //VXL test >> VCL_HAS_EXPORT:INTERNAL=1 >> //VXL test ?(successful run) >> VCL_HAS_LFS:INTERNAL=1 >> //Result of TRY_COMPILE >> VCL_HAS_LFS_COMPILED:INTERNAL=TRUE >> //VXL test >> VCL_HAS_MEMBER_TEMPLATES:INTERNAL=1 >> //VXL test >> VCL_HAS_MUTABLE:INTERNAL=1 >> //VXL test >> VCL_HAS_NAMESPACES:INTERNAL=1 >> //VXL test >> VCL_HAS_RTTI:INTERNAL=1 >> //VXL test ?(successful run) >> VCL_HAS_SLICED_DESTRUCTOR_BUG:INTERNAL=1 >> //Result of TRY_COMPILE >> VCL_HAS_SLICED_DESTRUCTOR_BUG_COMPILED:INTERNAL=TRUE >> //Test ?(failed to compile) >> VCL_HAS_TEMPLATE_SYMBOLS:INTERNAL=0 >> //Result of TRY_COMPILE >> VCL_HAS_TEMPLATE_SYMBOLS_COMPILED:INTERNAL=FALSE >> //VXL test >> VCL_HAS_TYPENAME:INTERNAL=1 >> //VXL test ?(successful run) >> VCL_HAS_WORKING_STRINGSTREAM:INTERNAL=1 >> //Result of TRY_COMPILE >> VCL_HAS_WORKING_STRINGSTREAM_COMPILED:INTERNAL=TRUE >> //VXL test >> VCL_NEEDS_INLINE_INSTANTIATION:INTERNAL=1 >> //Test >> VCL_NEEDS_NAMESPACE_STD:INTERNAL=0 >> //VXL test >> VCL_NEED_FRIEND_FOR_TEMPLATE_OVERLOAD:INTERNAL=1 >> //VXL test >> VCL_NO_STATIC_DATA_MEMBERS:INTERNAL=1 >> //Test >> VCL_NULL_TMPL_ARGS:INTERNAL=0 >> //VXL test ?(successful run) >> VCL_NUMERIC_LIMITS_HAS_INFINITY:INTERNAL=1 >> //Result of TRY_COMPILE >> VCL_NUMERIC_LIMITS_HAS_INFINITY_COMPILED:INTERNAL=TRUE >> //Test >> VCL_OVERLOAD_CAST:INTERNAL=0 >> //VXL test ?(successful run) >> VCL_PROCESSOR_HAS_INFINITY:INTERNAL=1 >> //Result of TRY_COMPILE >> VCL_PROCESSOR_HAS_INFINITY_COMPILED:INTERNAL=TRUE >> //VXL test >> VCL_STATIC_CONST_INIT_FLOAT:INTERNAL=1 >> //VXL test >> VCL_STATIC_CONST_INIT_INT:INTERNAL=1 >> //Test >> VCL_STATIC_CONST_INIT_NO_DEFN:INTERNAL=0 >> //VXL test >> VCL_SUNPRO_CLASS_SCOPE_HACK:INTERNAL=1 >> //VXL test >> VCL_TEMPLATE_MATCHES_TOO_OFTEN:INTERNAL=1 >> //Are we using an version of gcc < 3.0 >> VNL_COMPILER_IS_GNUCXX_2XX:INTERNAL=0 >> //ADVANCED property for variable: VNL_CONFIG_CHECK_BOUNDS >> VNL_CONFIG_CHECK_BOUNDS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2 >> VNL_CONFIG_ENABLE_SSE2-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2_ROUNDING >> VNL_CONFIG_ENABLE_SSE2_ROUNDING-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: VNL_CONFIG_LEGACY_METHODS >> VNL_CONFIG_LEGACY_METHODS-ADVANCED:INTERNAL=1 >> //ADVANCED property for variable: VNL_CONFIG_THREAD_SAFE >> VNL_CONFIG_THREAD_SAFE-ADVANCED:INTERNAL=1 >> //Result of TEST_BIG_ENDIAN >> VXL_BIG_ENDIAN:INTERNAL=0 >> //VXL test result >> VXL_BYTE:INTERNAL=char >> //Serial number of last configuration >> VXL_CONFIG_SERIAL_LAST:INTERNAL=2007-13-09-001 >> //Have symbol finite >> VXL_C_MATH_HAS_FINITE:INTERNAL=1 >> //Have symbol finitef >> VXL_C_MATH_HAS_FINITEF:INTERNAL= >> //Have symbol finitel >> VXL_C_MATH_HAS_FINITEL:INTERNAL= >> //VXL test >> VXL_C_MATH_HAS_LROUND:INTERNAL=1 >> //Have symbol sqrtf >> VXL_C_MATH_HAS_SQRTF:INTERNAL=1 >> //Test >> VXL_HAS_ALIGNED_MALLOC:INTERNAL=0 >> //VXL test result >> VXL_HAS_BYTE:INTERNAL=1 >> //Test >> VXL_HAS_DBGHELP_H:INTERNAL=0 >> //Have include emmintrin.h >> VXL_HAS_EMMINTRIN_H:INTERNAL=1 >> //Have include ieeefp.h >> VXL_HAS_IEEEFP_H:INTERNAL= >> //VXL test result >> VXL_HAS_IEEE_128:INTERNAL=0 >> //VXL test result >> VXL_HAS_IEEE_32:INTERNAL=1 >> //VXL test result >> VXL_HAS_IEEE_64:INTERNAL=1 >> //VXL test result >> VXL_HAS_IEEE_96:INTERNAL=1 >> //VXL test result >> VXL_HAS_INT_16:INTERNAL=1 >> //VXL test result >> VXL_HAS_INT_32:INTERNAL=1 >> //VXL test result >> VXL_HAS_INT_64:INTERNAL=1 >> //VXL test result >> VXL_HAS_INT_8:INTERNAL=1 >> //VXL test >> VXL_HAS_MINGW_ALIGNED_MALLOC:INTERNAL=1 >> //Test >> VXL_HAS_MM_MALLOC:INTERNAL=0 >> //Test >> VXL_HAS_POSIX_MEMALIGN:INTERNAL=0 >> //Have include pthread.h >> VXL_HAS_PTHREAD_H:INTERNAL= >> //Have include semaphore.h >> VXL_HAS_SEMAPHORE_H:INTERNAL= >> //Test ?(failed to compile) >> VXL_HAS_SSE2_HARDWARE_SUPPORT:INTERNAL=0 >> //Result of TRY_COMPILE >> VXL_HAS_SSE2_HARDWARE_SUPPORT_COMPILED:INTERNAL=FALSE >> //Have symbol finite >> VXL_IEEEFP_HAS_FINITE:INTERNAL= >> //VXL test result >> VXL_IEEE_128:INTERNAL=void >> //VXL test result >> VXL_IEEE_32:INTERNAL=float >> //VXL test result >> VXL_IEEE_64:INTERNAL=double >> //VXL test result >> VXL_IEEE_96:INTERNAL=long double >> //VXL test result >> VXL_INT_16:INTERNAL=short >> //VXL test result >> VXL_INT_32:INTERNAL=int >> //VXL test result >> VXL_INT_64:INTERNAL=long long >> //VXL test result >> VXL_INT_8:INTERNAL=char >> //VXL test ?(successful run) >> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE:INTERNAL=1 >> //Result of TRY_COMPILE >> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_COMPILED:INTERNAL=TRUE >> //help string for how to enable SSE2 support >> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_HELP:INTERNAL=The current compiler >> flags >> do not allow the SSE2 instructions to be used. ;It looks like if you add >> the >> flag '-msse2' you will be able to use the ;SSE2 instructions. If you >> chose >> to set VNL_CONFIG_ENABLE_SSE or ;VNL_CONFIG_ENABLE_SSE2_ROUNDING to ON, >> cmake will put this flag for you. ;You can also add this flag yourself. >> If >> you still see this message, after ;the flag change, you may need to set >> VXL_UPDATE_CONFIGURATION to ON and ;rerun cmake. >> //Have symbol drand48 >> VXL_STDLIB_HAS_DRAND48:INTERNAL= >> //Have symbol lrand48 >> VXL_STDLIB_HAS_LRAND48:INTERNAL= >> //VXL test >> VXL_STDLIB_HAS_QSORT:INTERNAL=1 >> //Have symbol srand48 >> VXL_STDLIB_HAS_SRAND48:INTERNAL= >> //Have function getpid >> VXL_UNISTD_HAS_GETPID:INTERNAL=1 >> //Have symbol intptr_t >> VXL_UNISTD_HAS_INTPTR_T:INTERNAL=1 >> //Have function lchown >> VXL_UNISTD_HAS_LCHOWN:INTERNAL= >> //Have function pread >> VXL_UNISTD_HAS_PREAD:INTERNAL= >> //Have function pwrite >> VXL_UNISTD_HAS_PWRITE:INTERNAL= >> //Have function tell >> VXL_UNISTD_HAS_TELL:INTERNAL=1 >> //Have function ualarm >> VXL_UNISTD_HAS_UALARM:INTERNAL= >> //Have symbol useconds_t >> VXL_UNISTD_HAS_USECONDS_T:INTERNAL=1 >> //Have function usleep >> VXL_UNISTD_HAS_USLEEP:INTERNAL=1 >> //VXL test >> VXL_UNISTD_USLEEP_IS_VOID:INTERNAL=1 >> //ADVANCED property for variable: VXL_UPDATE_CONFIGURATION >> VXL_UPDATE_CONFIGURATION-ADVANCED:INTERNAL=1 >> >> >> >> >> >> >> Bill Lorensen wrote: >>> >>> You are in the wrong directory. Look in the directory that is >>> described in the CMakeCache.txt variable Project_BINARY_DIR >>> >>> cd to that directory and type make >>> >>> >>> On Thu, Dec 10, 2009 at 4:22 PM, URI >>> wrote: >>>> >>>> I get the message: >>>> >>>> make: *** No targets specified and no makefile found. ?Stop. >>>> >>>> >>>> >>>> 10) Start an msys shell by running msys.bat >>>> 11) cd to the locations you selected where to build the binaries. >>>> 12) make >>>> >>>> -- >>>> View this message in context: >>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4147921.html >>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >>> >> >> -- >> View this message in context: >> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149414.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149580.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From michael.mentink at st-hughs.ox.ac.uk Fri Dec 11 04:56:23 2009 From: michael.mentink at st-hughs.ox.ac.uk (michiel mentink) Date: Fri, 11 Dec 2009 09:56:23 +0000 Subject: [Insight-users] DICOM measures In-Reply-To: <4b1fc9888b14f_2047a437bf02dc@weasel1.tmail> References: <4b1f875688625_5248a437bf01c8@weasel1.tmail> <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> <4b1fc9888b14f_2047a437bf02dc@weasel1.tmail> Message-ID: <5488ad6a0912110156r15f36263y5283511e22c2bf27@mail.gmail.com> Hi Luis Pereira, If I understand correctly, you want to know how big the dicom volume is in mm. I think Luis has answered that already. However, I can give you a different answer, why don't you calculate (number of pixels along an axis) * (pixel size in mm) (slice thickness) * (number of slices) ? Those dimensions you can find in your dicom tags. Good luck, Michael On Wed, Dec 9, 2009 at 4:00 PM, l.a.pereira wrote: > > Luis, sorry i'm sending message again, I had problem with first email > format. > > Luis, thanks for reply. > > My problem is know how tags I need use to calculate original DICOM > dimensions x,y,z to milimeters. > > I believe that if I get the total physical extend image I will solve my > problem. > > My application read a DICOM series and create a Volume. After that, the > user will work from slices x,y,z obtained from > > vtkImagePlaneWidget->GetResliceOutput(), so I need to establish a > co-relation between vtkImagePlaneWidget->GetResliceOutput() and the > > original measures of DICOM Series in milimeters. > > > > > > Em 09/12/2009 13:27, Luis Ibanez < luis.ibanez at kitware.com > escreveu: > > > Hi Luis, > > Could you please be more specific regarding > what you call "measures" ? > > Are you referring to the total physical extent of the image ? > (e.g. the volume of space that is occupied by the image). > > or are you referring to measuring distances between pairs > of pixels in the image ? > > If you are talking about the second case, then what > you want to do is to take the indices of both pixels. > (let's call them index1 and index2) and do the following: > > > const ImageType * image = reader->GetInput(); > ImageType::PointType point1; > ImageType::PointType point2; > > image->TransformIndexToPhysicalPoint( index1, point1 ); > image->TransformIndexToPhysicalPoint( index2, point2 ); > > const double distance = point1.EuclideanDistanceTo( point2 ); > > That value of "distance" will be measured in millimeters, > which is the default unit in DICOM, > > When the indices are converted to physical points, the > computation process will take into account: > > A) The coordinates of the image Origin > B) The values of pixel spacing > C) The orientation (direction) of the image > > The resulting value of "distance" will therefore be > in the units of physical space. > > > As Michiel pointed out, the values of (A), (B) and (C) > are defined in the DICOM tags. If you are curious > about the values, you could also print them out with > > reader->Update(); > const ImageType * image = reader->GetInput(); > std::cout << image->GetOrigin() << std::endl; > std::cout << image->GetSpacing() << std::endl; > std::cout << image->GetDirection() << std::endl; > > > --- > > If you were talking about other type of "measures", > please, describe them in detail. > > > Thanks, > > > Luis > > > > ------------------------------------------------------------------------------------------ > On Wed, Dec 9, 2009 at 8:13 AM, michiel mentink > wrote: > > Hi Luis, > > > > try example Examples/IO/DicomSeriesReadPrintTags.cxx. > > It prints the most important tags. > > > > It is described in the itk software guide paragraph 7.12.6 > > You can also see those tags summarized on my page on: > > > https://sites.google.com/site/michielmentink/programming/itk/image-translate > > (on the bottom). > > > > greets, > > > > Michael > > > > On 12/9/09, l.a.pereira wrote: > >> > >> Hi, > >> > >> I'm reading a DICOM series with GDCMImageIO. > >> > >> Now, I need obtain the measures of this DICOM series to convert it in > >> milimeters. > >> > >> How can I do it ? > >> > >> There is some tags in DICOM header where I can calculate/convert this > >> measures to milimeters ? > >> > >> Thanks, > >> > >> > >> > >> Luis > >> > >> > >> > >> _____________________________________ > >> Powered by www.kitware.com > >> > >> Visit other Kitware open-source projects at > >> http://www.kitware.com/opensource/opensource.html > >> > >> Kitware offers ITK Training Courses, for more information visit: > >> http://www.kitware.com/products/protraining.html > >> > >> Please keep messages on-topic and check the ITK FAQ at: > >> http://www.itk.org/Wiki/ITK_FAQ > >> > >> Follow this link to subscribe/unsubscribe: > >> http://www.itk.org/mailman/listinfo/insight-users > >> > > > > > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Robert.Atwood at diamond.ac.uk Fri Dec 11 04:55:54 2009 From: Robert.Atwood at diamond.ac.uk (Robert.Atwood at diamond.ac.uk) Date: Fri, 11 Dec 2009 09:55:54 -0000 Subject: [Insight-users] FW: GDA goes Open Source - scientific data acquisition / hardware control system Message-ID: <4854F2500EA8C4478A508D2D92973E5205A9EAAC@EXCHANGE25.fed.cclrc.ac.uk> Hello fellow ITK users: I hope the follwing announement from my colleagues here at Diamond Synchrotron is of some interest; our Data Acquisition team has plans to include volume visualization, and I'd like to create some hook for calling ITK-based analysis routines .. But also I know several people here are generally following the use of open-source in science. I'm not a developer on the GDA project, merely a user. After some initial teething pains it seems actually not bad for users , our very first external users were able, during their three-day visit, to run unattended automated experiments. Robert Atwood Beamline I-12 (Joint Environmental, Engineering and Processing ) Diamond Light Source (begin forwarded message) "GDA goes open source" www.opengda.org It is with great pleasure that we announce the making of our core Data Acquisition framework "Open Source". The GDA project is an open-source framework for creating customized data acquisition software for science facilities such as neutron and x-ray sources. It includes in addition some complementary pre-release analysis and visualization software from the analysis team. We hope that this may be of use in other facilities and, ideally, that we may be able to profit from the value that you may contribute. Please consult the website www.opengda.org for the latest information but we list below briefly some of the features of the software: GDA was initially developed at SRS Daresbury but since 2003 it has been adopted by Diamond Light Source who took over as the principal developer. The software is released under the GPLv3. * Eclipse RCP graphical interface (there is a Swing interface which is being phased out) * Embedded Jython interpreter for scripting and command-line control * Control system agnostic: internal interfaces in the code enable the control system(s) that operate individual pieces of hardware to be abstracted from the rest of the code. * Diffcalc for diffractometer control in reciprical lattice space. * Distributed design: multiple object servers representing hardware communicating with multiple clients via CORBA * Role-based access control to restrict users operations on hardware where necessary * Baton control: multiple client GUIs may run at the same time on each beamline with control managed by a baton passed between them. * Nexus data file format. Other formats are used and may be implemented, but the code is optimised for the Nexus format. * Nexus data file viewer within the GDA client. * Online data analysis and visualisation The Diamond Light Source Data Acquisition and Scientific Computing teams -- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom From matthias.dodt at mdc-berlin.de Fri Dec 11 06:02:07 2009 From: matthias.dodt at mdc-berlin.de (Matthias Dodt) Date: Fri, 11 Dec 2009 12:02:07 +0100 Subject: [Insight-users] Motion estimation Message-ID: <4B2226AF.7070500@mdc-berlin.de> Hi ITK'lers! I wonder if there are some simple motion-estimation filters available like Lukas-Kanade or Horn-Schunck available in ITK? Thanks for any hin! best, mat From l.a.pereira at uol.com.br Fri Dec 11 06:49:30 2009 From: l.a.pereira at uol.com.br (l.a.pereira) Date: Fri, 11 Dec 2009 09:49:30 -0200 Subject: [Insight-users] DICOM measures In-Reply-To: <5488ad6a0912110156r15f36263y5283511e22c2bf27@mail.gmail.com> References: <4b1f875688625_5248a437bf01c8@weasel1.tmail> <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> <4b1fc9888b14f_2047a437bf02dc@weasel1.tmail> <5488ad6a0912110156r15f36263y5283511e22c2bf27@mail.gmail.com> Message-ID: <4b2231ca2756a_e03f0033f41f4@weasel15.tmail> An HTML attachment was scrubbed... URL: From mort.motes at gmail.com Fri Dec 11 06:55:54 2009 From: mort.motes at gmail.com (motes motes) Date: Fri, 11 Dec 2009 12:55:54 +0100 Subject: [Insight-users] metric->SetUseNormalization(true); Message-ID: <54eca6a70912110355p190f5bb0o6821acf5bcc7545c@mail.gmail.com> I use the metric: template < class TFixedImage, class TMovingImage > class AdvancedMeanSquaresImageToImageMetric : public AdvancedImageToImageMetric< TFixedImage, TMovingImage> { public: from the elastix library. Its possible to set metric->SetUseNormalization(true); But when my registration process I typically get metric values from: 1.12079 to 0.32345. Should the range not be strictly in the range [0;1] since I have choosen to normalize the values? From michael.mentink at st-hughs.ox.ac.uk Fri Dec 11 07:30:57 2009 From: michael.mentink at st-hughs.ox.ac.uk (michiel mentink) Date: Fri, 11 Dec 2009 12:30:57 +0000 Subject: [Insight-users] DICOM measures In-Reply-To: <4b2231ca2756a_e03f0033f41f4@weasel15.tmail> References: <4b1f875688625_5248a437bf01c8@weasel1.tmail> <5488ad6a0912090513qdf02cfbxf5c0dfb2b509390d@mail.gmail.com> <4b1fc9888b14f_2047a437bf02dc@weasel1.tmail> <5488ad6a0912110156r15f36263y5283511e22c2bf27@mail.gmail.com> <4b2231ca2756a_e03f0033f41f4@weasel15.tmail> Message-ID: <5488ad6a0912110430q164f6347qe61cc86b64a59820@mail.gmail.com> open your file in ITKsnap. In the file open dialog, it gives you all the dimensions of x,y,z in number of pixels, along with the image coordinates. Write them down. Then run example Examples/IO/DicomSeriesReadPrintTags.cxx. It gives you the tags and the information contained in the tags. You can then see which dimension corresponds to which tag. Good luck! Michael On Fri, Dec 11, 2009 at 11:49 AM, l.a.pereira wrote: > Hi Michael, > > Great sugestion. Can you say me what are this tags ? > > More one question: In the formule: (number of pixels along an axis) * > (pixel size in mm) > (slice thickness) * (number of slices), the variable (number of slices) > just can find in the orietation axis (in my case axial), right ? > > If yes, how can i use this formule for all others orientation > (coronal/sagital) ? > > Thanks, > > > > Em 11/12/2009 07:56, *michiel mentink < michael.mentink at st-hughs.ox.ac.uk> > * escreveu: > > > Hi Luis Pereira, > > If I understand correctly, you want to know how big the dicom volume is in > mm. > I think Luis has answered that already. > > However, I can give you a different answer, why don't you calculate > > (number of pixels along an axis) * (pixel size in mm) > (slice thickness) * (number of slices) ? > > Those dimensions you can find in your dicom tags. > > Good luck, > > Michael > > > > > On Wed, Dec 9, 2009 at 4:00 PM, l.a.pereira > > wrote: > >> >> Luis, sorry i'm sending message again, I had problem with first email >> format. >> >> Luis, thanks for reply. >> >> My problem is know how tags I need use to calculate original DICOM >> dimensions x,y,z to milimeters. >> >> I believe that if I get the total physical extend image I will solve my >> problem. >> >> My application read a DICOM series and create a Volume. After that, the >> user will work from slices x,y,z obtained from >> >> vtkImagePlaneWidget->GetResliceOutput(), so I need to establish a >> co-relation between vtkImagePlaneWidget->GetResliceOutput() and the >> >> original measures of DICOM Series in milimeters. >> >> >> >> >> >> Em 09/12/2009 13:27, Luis Ibanez < luis.ibanez at kitware.com> escreveu: >> >> >> Hi Luis, >> >> Could you please be more specific regarding >> what you call "measures" ? >> >> Are you referring to the total physical extent of the image ? >> (e.g. the volume of space that is occupied by the image). >> >> or are you referring to measuring distances between pairs >> of pixels in the image ? >> >> If you are talking about the second case, then what >> you want to do is to take the indices of both pixels. >> (let's call them index1 and index2) and do the following: >> >> >> const ImageType * image = reader->GetInput(); >> ImageType::PointType point1; >> ImageType::PointType point2; >> >> image->TransformIndexToPhysicalPoint( index1, point1 ); >> image->TransformIndexToPhysicalPoint( index2, point2 ); >> >> const double distance = point1.EuclideanDistanceTo( point2 ); >> >> That value of "distance" will be measured in millimeters, >> which is the default unit in DICOM, >> >> When the indices are converted to physical points, the >> computation process will take into account: >> >> A) The coordinates of the image Origin >> B) The values of pixel spacing >> C) The orientation (direction) of the image >> >> The resulting value of "distance" will therefore be >> in the units of physical space. >> >> >> As Michiel pointed out, the values of (A), (B) and (C) >> are defined in the DICOM tags. If you are curious >> about the values, you could also print them out with >> >> reader->Update(); >> const ImageType * image = reader->GetInput(); >> std::cout << image->GetOrigin() << std::endl; >> std::cout << image->GetSpacing() << std::endl; >> std::cout << image->GetDirection() << std::endl; >> >> >> --- >> >> If you were talking about other type of "measures", >> please, describe them i n detail. >> >> >> >> Thanks, >> >> >> Luis >> >> >> >> ------------------------------------------------------------------------------------------ >> On Wed, Dec 9, 2009 at 8:13 AM, michiel mentink >> wrote: >> > Hi Luis, >> > >> > try example Examples/IO/DicomSeriesReadPrintTags.cxx. >> > It prints the most important tags. >> > >> > It is described in the itk software guide paragraph 7.12.6 >> > You can also see those tags summarized on my page on: >> > >> https://sites.google.com/site/michielmentink/programming/itk/image-translate >> > (on the bottom). >> > >> > greets, >> > >> > Michael >> > >> > On 12/9/09, l.a.pereira wrote: >> >> >> >> Hi, >> >> >> >> I'm reading a DICOM series with GDCMImageIO. >> >> >> >> Now, I need obtain the measures of this DICOM series to convert it in >> >> milimeters. >> >> >> >> How can I do it ? >> >> >> >> There is some tags in DICOM header where I can calculate/convert this >> >> measures to milimeters ? >> >> >> >> Thanks, >> >> >> >> >> >> >> >> Luis >> >> >> >> >> >> >> >> _____________________________________ >> >> Powered by www.kitware.com >> >> >> >> Visit other Kitware open-source projects at >> >> http://www.kitware.com/opensource/opensource.html >> >> >> >> Kitware offers ITK Training Courses, for more information visit: >> >> >> http://www.kitware.com/products/protraining.html >> >> >> >> Please keep messages on-topic and check the ITK FAQ at: >> >> http://www.itk.org/Wiki/ITK_FAQ >> >> >> >> Follow this link to subscribe/unsubscribe: >> >> http://www.itk.org/mailman/listinfo/insight-users >> >> >> > >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http: //www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> > >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From M.Staring at lumc.nl Fri Dec 11 07:45:25 2009 From: M.Staring at lumc.nl (M.Staring at lumc.nl) Date: Fri, 11 Dec 2009 13:45:25 +0100 Subject: [Insight-users] metric->SetUseNormalization(true); In-Reply-To: <54eca6a70912110355p190f5bb0o6821acf5bcc7545c@mail.gmail.com> Message-ID: Hi Motes, the documentation of that function reads: /** Set/Get whether to normalize the mean squares measure. * This divides the MeanSquares by a factor (range/10)^2, * where range represents the maximum gray value range of the * images. Based on the ad hoc assumption that range/10 is the * maximum average difference that will be observed. * Dividing by range^2 sounds less ad hoc, but will yield * very small values. */ So, normalisation means in this case dividing by the expected (assumed) maximal difference. Therefore, the range of metric values is not in [0,1]. hth, Marius > -----Original Message----- > From: insight-users-bounces at itk.org > [mailto:insight-users-bounces at itk.org] On Behalf Of motes motes > Sent: vrijdag 11 december 2009 12:56 > To: Insight Users Mailing List > Subject: [Insight-users] metric->SetUseNormalization(true); > > I use the metric: > > template < class TFixedImage, class TMovingImage > > class AdvancedMeanSquaresImageToImageMetric : > public AdvancedImageToImageMetric< TFixedImage, TMovingImage> > { > public: > > > from the elastix library. Its possible to set > > metric->SetUseNormalization(true); > > > But when my registration process I typically get metric values from: > 1.12079 to 0.32345. Should the range not be strictly in the range > [0;1] since I have choosen to normalize the values? > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From bill.lorensen at gmail.com Fri Dec 11 08:37:18 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 11 Dec 2009 08:37:18 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260509804319-4149580.post@n2.nabble.com> References: <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> <4db4735c0912092023m70f951d1s97be2162939236ae@mail.gmail.com> <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> <1260444515044-4144854.post@n2.nabble.com> <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> <1260509804319-4149580.post@n2.nabble.com> Message-ID: <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> OK, so there is no Makefile in this directory. When you ran cmake, did any error or warning windows pop up? On Fri, Dec 11, 2009 at 12:36 AM, URI wrote: > > Here's what I get: > > AllowContinuous.sh > BuildContinuous.sh > BuildContinuousWithCTest.sh > CMake > CMakeCache.txt > CMakeFiles > CMakeTmp > CPackConfig.cmake > CPackSourceConfig.cmake > CTestCustom.cmake > Code > DartConfiguration.tcl > Examples > ITKBuildSettings.cmake > ITKConfig.cmake > ITKLibraryDepends.cmake > PreventContinuous.sh > Testing > UseITK.cmake > Utilities > Wrapping > creonentry > itkConfigure.h > > > > > Bill Lorensen wrote: >> >> navigate to C:\msys\1.0\home\Insight-mingw >> type ls and send the output to me >> >> On Thu, Dec 10, 2009 at 11:03 PM, URI wrote: >>> >>> Let me explain what I've done so I'm sure we're talking about the same >>> thing: >>> >>> I ran Msys and typed "mkdir Insight-mingw " as per Steps 1 and 2. ?This >>> created a new folder C:\msys\1.0\home\Insight-mingw >>> >>> In my CMake gui I set the "Where to build the binaries" to that same >>> folder. >>> >>> I did all the "Configure" stuff and all those files and folders appear in >>> that Insight-mingw folder. >>> >>> Then I start the Msys shell, navigate to C:\msys\1.0\home\Insight-mingw >>> and >>> type "make" and that's when I get the error. >>> >>> If I look in that Insight-mingw folder where I built the binaries there >>> is a >>> CMakeCache.txt file, but it does not have a Project_BINARY_DIR variable. >>> >>> Here is my CMakeCache.txt file: >>> >>> # This is the CMakeCache file. >>> # For build in directory: c:/msys/1.0/home/Insight-mingw >>> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >>> # You can edit this file to change values found and used by cmake. >>> # If you do not want to change any of the values, simply exit the editor. >>> # If you do want to change a value, simply edit, save, and exit the >>> editor. >>> # The syntax for the file is as follows: >>> # KEY:TYPE=VALUE >>> # KEY is the name of a variable in the cache. >>> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >>> # VALUE is the current value for the KEY. >>> >>> ######################## >>> # EXTERNAL cache entries >>> ######################## >>> >>> //Name of build on the dashboard >>> BUILDNAME:STRING=Win32-make >>> >>> //Build Doxygen Documentation >>> BUILD_DOXYGEN:BOOL=OFF >>> >>> //Build the Examples directory. >>> BUILD_EXAMPLES:BOOL=ON >>> >>> //Toggle building shared libraries >>> BUILD_SHARED_LIBS:BOOL=OFF >>> >>> //Build the testing tree. >>> BUILD_TESTING:BOOL=ON >>> >>> //Path to a program. >>> BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND >>> >>> //Path to a program. >>> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >>> >>> //For backwards compatibility, what version of CMake commands and >>> // syntax should this version of CMake try to support. >>> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >>> >>> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >>> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >>> CMAKE_BUILD_TYPE:STRING= >>> >>> //Enable/Disable color output during build. >>> CMAKE_COLOR_MAKEFILE:BOOL=ON >>> >>> //CXX compiler. >>> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >>> >>> //Flags used by the compiler during all build types. >>> CMAKE_CXX_FLAGS:STRING= >>> >>> //Flags used by the compiler during debug builds. >>> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >>> >>> //Flags used by the compiler during release minsize builds. >>> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>> >>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>> // files). >>> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>> >>> //Flags used by the compiler during Release with Debug Info builds. >>> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>> >>> //Libraries linked by defalut with all C++ applications. >>> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>> -lwinspool >>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>> >>> //C compiler. >>> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >>> >>> //Flags used by the compiler during all build types. >>> CMAKE_C_FLAGS:STRING= >>> >>> //Flags used by the compiler during debug builds. >>> CMAKE_C_FLAGS_DEBUG:STRING=-g >>> >>> //Flags used by the compiler during release minsize builds. >>> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>> >>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>> // files). >>> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>> >>> //Flags used by the compiler during Release with Debug Info builds. >>> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>> >>> //Libraries linked by defalut with all C applications. >>> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool >>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>> >>> //Flags used by the linker. >>> CMAKE_EXE_LINKER_FLAGS:STRING= >>> >>> //Flags used by the linker during debug builds. >>> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >>> >>> //Flags used by the linker during release minsize builds. >>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >>> >>> //Flags used by the linker during release builds. >>> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >>> >>> //Flags used by the linker during Release with Debug Info builds. >>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>> >>> //Use HP pthreads. >>> CMAKE_HP_PTHREADS:BOOL=OFF >>> >>> //Install path prefix, prepended onto install directories. >>> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/ITK >>> >>> //Path to a program. >>> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >>> >>> //Path to a program. >>> CMAKE_MAKE_PROGRAM:FILEPATH=C:/msys/1.0/bin/make.exe >>> >>> //Flags used by the linker during the creation of modules. >>> CMAKE_MODULE_LINKER_FLAGS:STRING= >>> >>> //Flags used by the linker during debug builds. >>> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >>> >>> //Flags used by the linker during release minsize builds. >>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >>> >>> //Flags used by the linker during release builds. >>> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >>> >>> //Flags used by the linker during Release with Debug Info builds. >>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>> >>> //Path to a program. >>> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >>> >>> //Path to a program. >>> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >>> >>> //Path to a program. >>> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >>> >>> //Value Computed by CMake >>> CMAKE_PROJECT_NAME:STATIC=ITK >>> >>> //Path to a program. >>> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >>> >>> //Flags used by the linker during the creation of dll's. >>> CMAKE_SHARED_LINKER_FLAGS:STRING= >>> >>> //Flags used by the linker during debug builds. >>> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >>> >>> //Flags used by the linker during release minsize builds. >>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >>> >>> //Flags used by the linker during release builds. >>> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >>> >>> //Flags used by the linker during Release with Debug Info builds. >>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>> >>> //If set, runtime paths are not added when using shared libraries. >>> CMAKE_SKIP_RPATH:BOOL=OFF >>> >>> //Path to a program. >>> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >>> >>> //Thread library used. >>> CMAKE_THREAD_LIBS:STRING= >>> >>> //Use the pthreads library. >>> CMAKE_USE_PTHREADS:BOOL=OFF >>> >>> //If true, cmake will use relative paths in makefiles and projects. >>> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >>> >>> //Use sproc libs. >>> CMAKE_USE_SPROC:BOOL=OFF >>> >>> //Use the win32 thread library. >>> CMAKE_USE_WIN32_THREADS:BOOL=ON >>> >>> //If this value is on, makefiles will be generated without the >>> // .SILENT directive, and all commands will be echoed to the console >>> // during the make. ?This is useful for debugging only. With Visual >>> // Studio IDE projects all commands are done without /nologo. >>> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >>> >>> //X11 extra flags. >>> CMAKE_X_CFLAGS:STRING=-I >>> >>> //Libraries and options used in X11 programs. >>> CMAKE_X_LIBS:STRING= >>> >>> //Path to program used to compress files for transfer to the dart >>> // server >>> COMPRESSIONCOMMAND:FILEPATH=COMPRESSIONCOMMAND-NOTFOUND >>> >>> //Path to the coverage program that CTest uses for performing coverage >>> // inspection >>> COVERAGE_COMMAND:FILEPATH=C:/MinGW/bin/gcov.exe >>> >>> //Enable to build NSIS packages >>> CPACK_BINARY_NSIS:BOOL=ON >>> >>> //Enable to build ZIP packages >>> CPACK_BINARY_ZIP:BOOL=OFF >>> >>> //Enable to build ZIP source packages >>> CPACK_SOURCE_ZIP:BOOL=ON >>> >>> //Path to a program. >>> CVSCOMMAND:FILEPATH=CVSCOMMAND-NOTFOUND >>> >>> //Options passed to the cvs update command. >>> CVS_UPDATE_OPTIONS:STRING=-d -A -P >>> >>> //Limit of reported errors, -1 reports all. >>> DART_BUILD_ERROR_REPORT_LIMIT:BOOL=OFF >>> >>> //Limit of reported warnings, -1 reports all. >>> DART_BUILD_WARNING_REPORT_LIMIT:BOOL=OFF >>> >>> //If you have Dart installed, where is it located? >>> DART_ROOT:PATH=DART_ROOT-NOTFOUND >>> >>> //Maximum time allowed before CTest will kill the test. >>> DART_TESTING_TIMEOUT:STRING=1500 >>> >>> //Show the actual output of the build, or if off show a . for each >>> // 1024 bytes. >>> DART_VERBOSE_BUILD:BOOL=OFF >>> >>> //Should Dart server send email when build errors are found in >>> // Continuous builds? >>> DELIVER_CONTINUOUS_EMAIL:BOOL=OFF >>> >>> //Value Computed by CMake >>> FilteringExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Filtering >>> >>> //Value Computed by CMake >>> FilteringExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Filtering >>> >>> //Value Computed by CMake >>> GDCM_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/gdcm >>> >>> //Remove all legacy code completely. >>> GDCM_LEGACY_REMOVE:BOOL=OFF >>> >>> //Silence all legacy code messages. >>> GDCM_LEGACY_SILENT:BOOL=OFF >>> >>> //Value Computed by CMake >>> GDCM_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/gdcm >>> >>> //Path to gunzip executable >>> GUNZIPCOMMAND:FILEPATH=GUNZIPCOMMAND-NOTFOUND >>> >>> //Path to a program. >>> HGCOMMAND:FILEPATH=HGCOMMAND-NOTFOUND >>> >>> //Value Computed by CMake >>> IOExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/IO >>> >>> //Value Computed by CMake >>> IOExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/IO >>> >>> //Dependencies for the target >>> ITKAlgorithms_LIB_DEPENDS:STATIC=general;gdi32;general;ITKStatistics;general;ITKNumerics; >>> >>> //Dependencies for the target >>> ITKBasicFilters_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>> >>> //Dependencies for the target >>> ITKCommon_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_inst;general;itksys; >>> >>> //Dependencies for the target >>> ITKDICOMParser_LIB_DEPENDS:STATIC=general;gdi32; >>> >>> //Value Computed by CMake >>> ITKEXPAT_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/expat >>> >>> //Dependencies for the target >>> ITKEXPAT_LIB_DEPENDS:STATIC=general;gdi32; >>> >>> //Value Computed by CMake >>> ITKEXPAT_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/expat >>> >>> //Value Computed by CMake >>> ITKEXTHDRS_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkExtHdrs >>> >>> //Value Computed by CMake >>> ITKEXTHDRS_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkExtHdrs >>> >>> //Dependencies for the target >>> ITKFEM_LIB_DEPENDS:STATIC=general;gdi32;general;ITKBasicFilters;general;ITKIO; >>> >>> //Dependencies for the target >>> ITKIO_LIB_DEPENDS:STATIC=general;gdi32;general;ITKNrrdIO;general;itkgdcm;general;itkpng;general;itktiff;general;ITKSpatialObject;general;ITKMetaIO;general;ITKDICOMParser;general;ITKEXPAT;general;ITKniftiio; >>> >>> //Value Computed by CMake >>> ITKJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkjpeg >>> >>> //Value Computed by CMake >>> ITKJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkjpeg >>> >>> //Value Computed by CMake >>> ITKMetaIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/MetaIO >>> >>> //Dependencies for the target >>> ITKMetaIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itksys;general;comctl32;general;wsock32; >>> >>> //Value Computed by CMake >>> ITKMetaIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/MetaIO >>> >>> //Value Computed by CMake >>> ITKNrrdIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/NrrdIO >>> >>> //Dependencies for the target >>> ITKNrrdIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>> >>> //Value Computed by CMake >>> ITKNrrdIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/NrrdIO >>> >>> //Dependencies for the target >>> ITKNumerics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>> >>> //Value Computed by CMake >>> ITKOpenJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/openjpeg >>> >>> //Value Computed by CMake >>> ITKOpenJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/openjpeg >>> >>> //Value Computed by CMake >>> ITKPNG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkpng >>> >>> //Value Computed by CMake >>> ITKPNG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkpng >>> >>> //Dependencies for the target >>> ITKSpatialObject_LIB_DEPENDS:STATIC=general;gdi32;general;ITKMetaIO;general;ITKCommon; >>> >>> //Dependencies for the target >>> ITKStatistics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon;general;itkNetlibSlatec; >>> >>> //Value Computed by CMake >>> ITKTIFF_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itktiff >>> >>> //Value Computed by CMake >>> ITKTIFF_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itktiff >>> >>> //Value Computed by CMake >>> ITKTesting_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Testing >>> >>> //Value Computed by CMake >>> ITKTesting_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Testing >>> >>> //Value Computed by CMake >>> ITKZLIB_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkzlib >>> >>> //Value Computed by CMake >>> ITKZLIB_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkzlib >>> >>> //Value Computed by CMake >>> ITK_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw >>> >>> //Directory with data taken from >>> http://public.kitware.com/pub/itk/Data/BrainWeb/ >>> ITK_BRAINWEB_DATA_ROOT:PATH=ITK_BRAINWEB_DATA_ROOT-NOTFOUND >>> >>> //Provide here the size of your RAM Memory in GigaBytes >>> ITK_COMPUTER_MEMORY_SIZE:STRING=1 >>> >>> //Build cswig Java wrapper support >>> ITK_CSWIG_JAVA:BOOL=OFF >>> >>> //Build cswig Python wrapper support (requires CableSwig). >>> ITK_CSWIG_PYTHON:BOOL=OFF >>> >>> //Build cswig Tcl wrapper support (requires CableSwig). >>> ITK_CSWIG_TCL:BOOL=OFF >>> >>> //Path to a file. >>> ITK_DATA_ROOT:PATH=C:/ITK_3_16_0/Testing/Data >>> >>> //Try to explicitly build some of the core templates explictitly >>> // rather than over and over again. >>> ITK_EXPLICIT_INSTANTIATION:BOOL=OFF >>> >>> //Makes itk::Image behave like itk::OrientedImage >>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE:BOOL=ON >>> >>> //Remove all legacy code completely. >>> ITK_LEGACY_REMOVE:BOOL=OFF >>> >>> //Silence all legacy code messages. >>> ITK_LEGACY_SILENT:BOOL=OFF >>> >>> //Directory with data taken from >>> http://public.kitware.com/pub/itk/Data/HealthyVolunteersMRIDatabase/ >>> ITK_MRI_UNC_DATABASE_DATA_ROOT:PATH=ITK_MRI_UNC_DATABASE_DATA_ROOT-NOTFOUND >>> >>> //Directory with data taken from >>> http://www.osirix-viewer.com/Downloads.html >>> ITK_OSIRIX_DATA_ROOT:PATH=ITK_OSIRIX_DATA_ROOT-NOTFOUND >>> >>> //Value Computed by CMake >>> ITK_SOURCE_DIR:STATIC=C:/ITK_3_16_0 >>> >>> //Turn on correct usage of centered-pixel coordinates. >>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON >>> >>> //Turn on concept checking to give helpful errors at compile time >>> // if a type cannot be used as a template parameter. >>> ITK_USE_CONCEPT_CHECKING:BOOL=ON >>> >>> //Turn on the experimental consolidated morphology. >>> ITK_USE_CONSOLIDATED_MORPHOLOGY:BOOL=OFF >>> >>> //Turn on the use of a sparse field level set surface interpolation >>> // method that has been deprecated since ITK 3.6. Turn this flag >>> // ON to exactly replicate the behavior of ITK<=3.4. >>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION:BOOL=OFF >>> >>> //Enable the use of KWStyle for checking coding style. >>> ITK_USE_KWSTYLE:BOOL=OFF >>> >>> //Use LIBXML2. >>> ITK_USE_LIBXML2:BOOL=OFF >>> >>> //Use MINC2 File Format >>> ITK_USE_MINC2:BOOL=OFF >>> >>> //Turn on the experimental version of accelerated registration >>> // methods. >>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=OFF >>> >>> //Turn on correct use of oriented images direction in gradient >>> // computation and image registration. >>> ITK_USE_ORIENTED_IMAGE_DIRECTION:BOOL=ON >>> >>> //Build algorithms that are covered with Patents. It is YOUR >>> responsibility >>> // to obtain a license from the patent holder in order to use these >>> // methods. >>> ITK_USE_PATENTED:BOOL=OFF >>> >>> //Turn on region validation in Iterator constructors. >>> ITK_USE_REGION_VALIDATION_IN_ITERATORS:BOOL=ON >>> >>> //Build algorithms that are candidates to be included in the Toolkit. >>> // This classes are not covered by the Backward Compatibility Policy, >>> // nor the Copyright Policy of ITK. >>> ITK_USE_REVIEW:BOOL=OFF >>> >>> //Use the experimental statistics framework. >>> ITK_USE_REVIEW_STATISTICS:BOOL=OFF >>> >>> //Turn on Strict concept checking to give more stringent errors >>> // at compile time if a type cannot be used as a template parameter. >>> ITK_USE_STRICT_CONCEPT_CHECKING:BOOL=OFF >>> >>> //Use an outside build of GDCM. >>> ITK_USE_SYSTEM_GDCM:BOOL=OFF >>> >>> //Use the system's libxml2 library. >>> ITK_USE_SYSTEM_LIBXML2:BOOL=OFF >>> >>> //Use the system's png library. >>> ITK_USE_SYSTEM_PNG:BOOL=OFF >>> >>> //Use the system's tiff library. >>> ITK_USE_SYSTEM_TIFF:BOOL=OFF >>> >>> //Use an outside build of VXL. >>> ITK_USE_SYSTEM_VXL:BOOL=OFF >>> >>> //Use the system's zlib library. >>> ITK_USE_SYSTEM_ZLIB:BOOL=OFF >>> >>> //Turn on the use of Template Meta-Programming techniques for unrolling >>> // for-loops at compile time. >>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING:BOOL=ON >>> >>> //Turn on the experimental IO factories for reading and writing >>> // transforms. >>> ITK_USE_TRANSFORM_IO_FACTORIES:BOOL=OFF >>> >>> //Directory with data taken from >>> http://www.nlm.nih.gov/research/visible/getting_data.html >>> ITK_VISIBLEHUMAN_DATA_ROOT:PATH=ITK_VISIBLEHUMAN_DATA_ROOT-NOTFOUND >>> >>> //Dependencies for the target >>> ITKniftiio_LIB_DEPENDS:STATIC=general;gdi32;general;ITKznz; >>> >>> //Dependencies for the target >>> ITKznz_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>> >>> //Value Computed by CMake >>> ImageExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Image >>> >>> //Value Computed by CMake >>> ImageExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Image >>> >>> //Value Computed by CMake >>> ImageRegistration_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Registration >>> >>> //Value Computed by CMake >>> ImageRegistration_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Registration >>> >>> //Value Computed by CMake >>> ImageSegmentation_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Segmentation >>> >>> //Value Computed by CMake >>> ImageSegmentation_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Segmentation >>> >>> //Value Computed by CMake >>> IteratorExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Iterators >>> >>> //Value Computed by CMake >>> IteratorExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Iterators >>> >>> //Path to java command, used by the Dart server to create html. >>> JAVACOMMAND:FILEPATH=JAVACOMMAND-NOTFOUND >>> >>> //Command used to build entire project from the command line. >>> MAKECOMMAND:STRING=C:/msys/1.0/bin/make.exe -i >>> >>> //Path to the memory checking command, used for memory error detection. >>> MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND >>> >>> //File that contains suppressions for the memory checker >>> MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= >>> >>> //Value Computed by CMake >>> MeshExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Mesh >>> >>> //Value Computed by CMake >>> MeshExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Mesh >>> >>> //Value Computed by CMake >>> NIFTI_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/nifti >>> >>> //Value Computed by CMake >>> NIFTI_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/nifti >>> >>> //Value Computed by CMake >>> NumericsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Numerics >>> >>> //Value Computed by CMake >>> NumericsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Numerics >>> >>> //Value Computed by CMake >>> PathExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Path >>> >>> //Value Computed by CMake >>> PathExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Path >>> >>> //Path to scp command, used by CTest for submitting results to >>> // a Dart server >>> SCPCOMMAND:FILEPATH=SCPCOMMAND-NOTFOUND >>> >>> //Name of the computer/site where compile is being run >>> SITE:STRING=ZAPPA >>> >>> //Path to the SLURM sbatch executable >>> SLURM_SBATCH_COMMAND:FILEPATH=SLURM_SBATCH_COMMAND-NOTFOUND >>> >>> //Path to the SLURM srun executable >>> SLURM_SRUN_COMMAND:FILEPATH=SLURM_SRUN_COMMAND-NOTFOUND >>> >>> //Path to a program. >>> SVNCOMMAND:FILEPATH=SVNCOMMAND-NOTFOUND >>> >>> //Value Computed by CMake >>> SpatialObjectsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/SpatialObjects >>> >>> //Value Computed by CMake >>> SpatialObjectsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/SpatialObjects >>> >>> //Value Computed by CMake >>> StatisticsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Statistics >>> >>> //Value Computed by CMake >>> StatisticsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Statistics >>> >>> //Path to a program. >>> TCL_TCLSH:FILEPATH=TCL_TCLSH-NOTFOUND >>> >>> //Use double precision FFTW if found >>> USE_FFTWD:BOOL=OFF >>> >>> //Use single precision FFTW if found >>> USE_FFTWF:BOOL=OFF >>> >>> //Use the SGI SCSL High Performance Computing math library >>> USE_SCSL:BOOL=OFF >>> >>> //Build external languages support >>> USE_WRAP_ITK:BOOL=OFF >>> >>> //Path to a file. >>> UUID_INCLUDE_DIR:PATH=UUID_INCLUDE_DIR-NOTFOUND >>> >>> //Path to a library. >>> UUID_LIBRARY:FILEPATH=UUID_LIBRARY-NOTFOUND >>> >>> //Whether vnl_vector/vnl_matrix accessor methods check index bounds. >>> VNL_CONFIG_CHECK_BOUNDS:BOOL=ON >>> >>> //Enable Streaming SIMD Extensions 2 optimisations (hardware dependant). >>> // Currently broken. For use by VNL developers only. >>> VNL_CONFIG_ENABLE_SSE2:BOOL=OFF >>> >>> //Enable Streaming SIMD Extensions 2 implementation of rounding >>> // (hardware dependant). >>> VNL_CONFIG_ENABLE_SSE2_ROUNDING:BOOL=OFF >>> >>> //Whether backward-compatibility methods are provided by vnl. >>> VNL_CONFIG_LEGACY_METHODS:BOOL=OFF >>> >>> //Whether thread-safe vnl implementations are used. >>> VNL_CONFIG_THREAD_SAFE:BOOL=ON >>> >>> //v3p include files >>> VTHREEP_INCLUDE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>> >>> //v3p include files >>> VTHREEP_INSTALL_INCLUDE_DIR:STATIC=C:/Program Files >>> (x86)/ITK/include/vxl/v3p >>> >>> //Re-run the configuration tests? >>> VXL_UPDATE_CONFIGURATION:BOOL=OFF >>> >>> //Dependencies for the target >>> itkNetlibSlatec_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib; >>> >>> //Value Computed by CMake >>> itkdicomparser_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/DICOMParser >>> >>> //Value Computed by CMake >>> itkdicomparser_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/DICOMParser >>> >>> //Dependencies for the target >>> itkgdcm_LIB_DEPENDS:STATIC=general;gdi32;general;itkjpeg8;general;itkjpeg12;general;itkjpeg16;general;itkopenjpeg;general;wsock32;general;snmpapi;general;rpcrt4; >>> >>> //Dependencies for the target >>> itkjpeg12_LIB_DEPENDS:STATIC=general;gdi32; >>> >>> //Dependencies for the target >>> itkjpeg16_LIB_DEPENDS:STATIC=general;gdi32; >>> >>> //Dependencies for the target >>> itkjpeg8_LIB_DEPENDS:STATIC=general;gdi32; >>> >>> //Dependencies for the target >>> itkopenjpeg_LIB_DEPENDS:STATIC=general;gdi32; >>> >>> //Dependencies for the target >>> itkpng_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>> >>> //Value Computed by CMake >>> itksys_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/kwsys >>> >>> //Dependencies for the target >>> itksys_LIB_DEPENDS:STATIC=general;gdi32;general;ws2_32; >>> >>> //Value Computed by CMake >>> itksys_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/kwsys >>> >>> //Dependencies for the target >>> itktestlib_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>> >>> //Dependencies for the target >>> itktiff_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itkjpeg8; >>> >>> //Dependencies for the target >>> itkv3p_netlib_LIB_DEPENDS:STATIC=general;gdi32; >>> >>> //Dependencies for the target >>> itkvcl_LIB_DEPENDS:STATIC=general;gdi32; >>> >>> //Dependencies for the target >>> itkvnl_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>> >>> //Dependencies for the target >>> itkvnl_algo_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib;general;itkvnl; >>> >>> //Dependencies for the target >>> itkvnl_inst_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_algo; >>> >>> //Dependencies for the target >>> itkzlib_LIB_DEPENDS:STATIC=general;gdi32; >>> >>> //Value Computed by CMake >>> netlib_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p/netlib >>> >>> //Value Computed by CMake >>> netlib_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p/netlib >>> >>> //Value Computed by CMake >>> vcl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/vcl >>> >>> //Value Computed by CMake >>> vcl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/vcl >>> >>> //Value Computed by CMake >>> vthreep_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p >>> >>> //Value Computed by CMake >>> vthreep_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>> >>> //Value Computed by CMake >>> vxl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl >>> >>> //Value Computed by CMake >>> vxl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl >>> >>> //Value Computed by CMake >>> vxl_config_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/config/cmake/config >>> >>> //Value Computed by CMake >>> vxl_config_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/config/cmake/config >>> >>> //Value Computed by CMake >>> vxlcore_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/core >>> >>> //Value Computed by CMake >>> vxlcore_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/core >>> >>> >>> ######################## >>> # INTERNAL cache entries >>> ######################## >>> >>> //System handles bit-fields larger than 32 bits. >>> BIGBITFIELD:INTERNAL=1 >>> //Result of TRY_COMPILE >>> BIGBITFIELD_VALUE:INTERNAL=TRUE >>> //ADVANCED property for variable: BUILDNAME >>> BUILDNAME-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: BZRCOMMAND >>> BZRCOMMAND-ADVANCED:INTERNAL=1 >>> //Result of TRY_COMPILE >>> CMAKE_ANSI_FOR_SCOPE:INTERNAL=TRUE >>> //Have include iostream >>> CMAKE_ANSI_STREAM_HEADERS:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_AR >>> CMAKE_AR-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_BACKWARDS_COMPATIBILITY >>> CMAKE_BACKWARDS_COMPATIBILITY-ADVANCED:INTERNAL=0 >>> //ADVANCED property for variable: CMAKE_BUILD_TOOL >>> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >>> //What is the target build tool cmake is generating for. >>> CMAKE_BUILD_TOOL:INTERNAL=C:/msys/1.0/bin/make.exe >>> //This is the directory where this CMakeCache.txt was created >>> CMAKE_CACHEFILE_DIR:INTERNAL=c:/msys/1.0/home/Insight-mingw >>> //Major version of cmake used to create the current loaded cache >>> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >>> //Minor version of cmake used to create the current loaded cache >>> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >>> //Patch version of cmake used to create the current loaded cache >>> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >>> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >>> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >>> //Path to CMake executable. >>> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >>> //Path to cpack program executable. >>> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >>> //ADVANCED property for variable: CMAKE_CTEST_COMMAND >>> CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 >>> //Path to ctest program executable. >>> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >>> //ADVANCED property for variable: CMAKE_CXX_COMPILER >>> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >>> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS >>> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >>> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >>> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >>> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >>> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >>> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_COMPILER >>> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >>> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS >>> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >>> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >>> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >>> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >>> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >>> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>> //Result of TRY_COMPILE >>> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >>> //Path to cache edit program executable. >>> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >>> //Executable file format >>> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >>> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >>> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >>> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //Name of generator. >>> CMAKE_GENERATOR:INTERNAL=MSYS Makefiles >>> //Result of TRY_COMPILE >>> CMAKE_HAS_ANSI_STRING_STREAM:INTERNAL=TRUE >>> //Is X11 around. >>> CMAKE_HAS_X:INTERNAL= >>> //Have include limits.h >>> CMAKE_HAVE_LIMITS_H:INTERNAL=1 >>> //Have include pthread.h >>> CMAKE_HAVE_PTHREAD_H:INTERNAL= >>> //Have include stdint.h >>> CMAKE_HAVE_STDINT_H:INTERNAL=1 >>> //Have include CMAKE_HAVE_STDLIB_H >>> CMAKE_HAVE_STDLIB_H:INTERNAL=1 >>> //Have includes CMAKE_HAVE_SYS_PRCTL_H >>> CMAKE_HAVE_SYS_PRCTL_H:INTERNAL= >>> //Have include unistd.h >>> CMAKE_HAVE_UNISTD_H:INTERNAL=1 >>> //Start directory with the top level CMakeLists.txt file for this >>> // project >>> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0 >>> //ADVANCED property for variable: CMAKE_HP_PTHREADS >>> CMAKE_HP_PTHREADS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_LINKER >>> CMAKE_LINKER-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >>> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >>> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >>> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >>> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: >>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_NM >>> CMAKE_NM-ADVANCED:INTERNAL=1 >>> //Does the compiler support ansi for scope. >>> CMAKE_NO_ANSI_FOR_SCOPE:INTERNAL=0 >>> //ADVANCED property for variable: CMAKE_NO_ANSI_STREAM_HEADERS >>> CMAKE_NO_ANSI_STREAM_HEADERS-ADVANCED:INTERNAL=1 >>> //Does the compiler support headers like iostream. >>> CMAKE_NO_ANSI_STREAM_HEADERS:INTERNAL=0 >>> //Does the compiler support sstream >>> CMAKE_NO_ANSI_STRING_STREAM:INTERNAL=0 >>> //Does the compiler support std::. >>> CMAKE_NO_STD_NAMESPACE:INTERNAL=0 >>> //number of local generators >>> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=76 >>> //ADVANCED property for variable: CMAKE_OBJCOPY >>> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_OBJDUMP >>> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_RANLIB >>> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >>> //Path to CMake installation. >>> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >>> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >>> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >>> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: >>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>> //Result of CHECK_TYPE_SIZE >>> CMAKE_SIZEOF_CHAR:INTERNAL=1 >>> //Result of CHECK_TYPE_SIZE >>> CMAKE_SIZEOF_DOUBLE:INTERNAL=8 >>> //Result of CHECK_TYPE_SIZE >>> CMAKE_SIZEOF_FLOAT:INTERNAL=4 >>> //Result of CHECK_TYPE_SIZE >>> CMAKE_SIZEOF_INT:INTERNAL=4 >>> //Result of CHECK_TYPE_SIZE >>> CMAKE_SIZEOF_LONG:INTERNAL=4 >>> //Result of CHECK_TYPE_SIZE >>> CMAKE_SIZEOF_SHORT:INTERNAL=2 >>> //Result of CHECK_TYPE_SIZE >>> CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=2 >>> //Result of CHECK_TYPE_SIZE >>> CMAKE_SIZEOF_VOID_P:INTERNAL=4 >>> //ADVANCED property for variable: CMAKE_SKIP_RPATH >>> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >>> //Result of TRY_COMPILE >>> CMAKE_STD_NAMESPACE:INTERNAL=TRUE >>> //ADVANCED property for variable: CMAKE_STRIP >>> CMAKE_STRIP-ADVANCED:INTERNAL=1 >>> //Suppress Warnings that are meant for the author of the CMakeLists.txt >>> // files. >>> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >>> //ADVANCED property for variable: CMAKE_THREAD_LIBS >>> CMAKE_THREAD_LIBS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_USE_PTHREADS >>> CMAKE_USE_PTHREADS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >>> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_USE_SPROC >>> CMAKE_USE_SPROC-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_USE_WIN32_THREADS >>> CMAKE_USE_WIN32_THREADS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >>> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >>> //Result of TEST_BIG_ENDIAN >>> CMAKE_WORDS_BIGENDIAN:INTERNAL=0 >>> //ADVANCED property for variable: CMAKE_X_CFLAGS >>> CMAKE_X_CFLAGS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CMAKE_X_LIBS >>> CMAKE_X_LIBS-ADVANCED:INTERNAL=1 >>> //Result of TRY_COMPILE >>> COMPILE_RESULT:INTERNAL=TRUE >>> //ADVANCED property for variable: COMPRESSIONCOMMAND >>> COMPRESSIONCOMMAND-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: COVERAGE_COMMAND >>> COVERAGE_COMMAND-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CPACK_BINARY_NSIS >>> CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CPACK_BINARY_ZIP >>> CPACK_BINARY_ZIP-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CPACK_SOURCE_ZIP >>> CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CVSCOMMAND >>> CVSCOMMAND-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: CVS_UPDATE_OPTIONS >>> CVS_UPDATE_OPTIONS-ADVANCED:INTERNAL=1 >>> //CXX compiler accepts flag -Wno-deprecated >>> CXX_HAS_DEPRECATED_FLAG:INTERNAL=TRUE >>> //ADVANCED property for variable: DART_BUILD_ERROR_REPORT_LIMIT >>> DART_BUILD_ERROR_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: DART_BUILD_WARNING_REPORT_LIMIT >>> DART_BUILD_WARNING_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: DART_ROOT >>> DART_ROOT-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: DART_TESTING_TIMEOUT >>> DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: DART_VERBOSE_BUILD >>> DART_VERBOSE_BUILD-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: DELIVER_CONTINUOUS_EMAIL >>> DELIVER_CONTINUOUS_EMAIL-ADVANCED:INTERNAL=1 >>> //Result of TRY_RUN >>> DUMMY:INTERNAL=0 >>> //ADVANCED property for variable: EXECUTABLE_OUTPUT_PATH >>> EXECUTABLE_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>> //Single output directory for building all executables. >>> EXECUTABLE_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>> //Details about finding Threads >>> FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE] >>> //Support for extension C __FUNCTION__ >>> GDCM_COMPILER_HAS_FUNCTION:INTERNAL=1 >>> //ADVANCED property for variable: GDCM_DATA_DIR >>> GDCM_DATA_DIR-ADVANCED:INTERNAL=1 >>> //Install location for data (relative to prefix). >>> GDCM_DATA_DIR:INTERNAL=/share/gdcm/ >>> //ADVANCED property for variable: GDCM_LEGACY_REMOVE >>> GDCM_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: GDCM_LEGACY_SILENT >>> GDCM_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>> //Result of TEST_BIG_ENDIAN >>> GDCM_WORDS_BIGENDIAN:INTERNAL=0 >>> //ADVANCED property for variable: GUNZIPCOMMAND >>> GUNZIPCOMMAND-ADVANCED:INTERNAL=1 >>> //Have include HAVE_ASSERT_H >>> HAVE_ASSERT_H:INTERNAL=1 >>> // >>> HAVE_BIGBITFIELD_VALUE:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_CMAKE_SIZEOF_CHAR:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_CMAKE_SIZEOF_DOUBLE:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_CMAKE_SIZEOF_FLOAT:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_CMAKE_SIZEOF_INT:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_CMAKE_SIZEOF_LONG:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_CMAKE_SIZEOF_SHORT:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_CMAKE_SIZEOF_VOID_P:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_CMAKE_WORDS_BIGENDIAN:INTERNAL=TRUE >>> //Have includes HAVE_DLFCN_H >>> HAVE_DLFCN_H:INTERNAL= >>> //Have include HAVE_FCNTL_H >>> HAVE_FCNTL_H:INTERNAL=1 >>> //Have function floor >>> HAVE_FLOOR:INTERNAL=1 >>> //Result of TRY_COMPILE >>> HAVE_GDCM_WORDS_BIGENDIAN:INTERNAL=TRUE >>> //Have function getopt >>> HAVE_GETOPT:INTERNAL=1 >>> //Have includes HAVE_IEEEFP_H >>> HAVE_IEEEFP_H:INTERNAL= >>> //Have include HAVE_INTTYPES_H >>> HAVE_INTTYPES_H:INTERNAL=1 >>> //Have function isascii >>> HAVE_ISASCII:INTERNAL=1 >>> // >>> HAVE_ITK_CPP_FUNCTION:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_ITK_SIZEOF_LONG_LONG:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_ITK_SIZEOF___INT64:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_KWSYS_SIZEOF_CHAR:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_KWSYS_SIZEOF_INT:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_KWSYS_SIZEOF_LONG:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_KWSYS_SIZEOF_LONG_LONG:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_KWSYS_SIZEOF_SHORT:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_KWSYS_SIZEOF___INT64:INTERNAL=TRUE >>> //Have library malloc >>> HAVE_LIBMALLOC:INTERNAL= >>> //Have include HAVE_LIMITS_H >>> HAVE_LIMITS_H:INTERNAL=1 >>> //Have include HAVE_MALLOC_H >>> HAVE_MALLOC_H:INTERNAL=1 >>> //Have function memmove >>> HAVE_MEMMOVE:INTERNAL=1 >>> //Have include HAVE_MEMORY_H >>> HAVE_MEMORY_H:INTERNAL=1 >>> //Have function memset >>> HAVE_MEMSET:INTERNAL=1 >>> //Have function mmap >>> HAVE_MMAP:INTERNAL= >>> //Have function pow >>> HAVE_POW:INTERNAL=1 >>> //Have library Psapi >>> HAVE_PSAPI:INTERNAL= >>> //Result of TRY_COMPILE >>> HAVE_QNANHIBIT_VALUE:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_SIZEOF_INT:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> HAVE_SIZEOF_LONG:INTERNAL=TRUE >>> //Have function sqrt >>> HAVE_SQRT:INTERNAL=1 >>> //Have include stddef.h >>> HAVE_STDDEF_H:INTERNAL=1 >>> //Have include stdint.h >>> HAVE_STDINT_H:INTERNAL=1 >>> //Have include HAVE_STDLIB_H >>> HAVE_STDLIB_H:INTERNAL=1 >>> //Have function strcasecmp >>> HAVE_STRCASECMP:INTERNAL=1 >>> //Have function strchr >>> HAVE_STRCHR:INTERNAL=1 >>> //Have include HAVE_STRINGS_H >>> HAVE_STRINGS_H:INTERNAL=1 >>> //Have include HAVE_STRING_H >>> HAVE_STRING_H:INTERNAL=1 >>> //Have function strrchr >>> HAVE_STRRCHR:INTERNAL=1 >>> //Have function strstr >>> HAVE_STRSTR:INTERNAL=1 >>> //Have function strtol >>> HAVE_STRTOL:INTERNAL=1 >>> //Have function areroul >>> HAVE_STRTOUL:INTERNAL= >>> //Have include HAVE_SYS_STAT_H >>> HAVE_SYS_STAT_H:INTERNAL=1 >>> //Have include HAVE_SYS_TIME_H >>> HAVE_SYS_TIME_H:INTERNAL=1 >>> //Have include sys/types.h >>> HAVE_SYS_TYPES_H:INTERNAL=1 >>> //Have include unistd.h >>> HAVE_UNISTD_H:INTERNAL=1 >>> //Result of TRY_COMPILE >>> HAVE_VXL_BIG_ENDIAN:INTERNAL=TRUE >>> //Have include HAVE_WINDOWS_H >>> HAVE_WINDOWS_H:INTERNAL=1 >>> //ADVANCED property for variable: HGCOMMAND >>> HGCOMMAND-ADVANCED:INTERNAL=1 >>> //ImageCompare path to be used by subprojects >>> IMAGE_COMPARE:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompare >>> //ImageCompare path to be used by subprojects >>> IMAGE_COMPARE_COMMAND:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompareCommand >>> //ImageCopy path to be used by subprojects >>> IMAGE_COPY:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCopy >>> //ADVANCED property for variable: ITK_BRAINWEB_DATA_ROOT >>> ITK_BRAINWEB_DATA_ROOT-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_COMPUTER_MEMORY_SIZE >>> ITK_COMPUTER_MEMORY_SIZE-ADVANCED:INTERNAL=1 >>> //Result of TRY_COMPILE >>> ITK_CPP_FUNCTION:INTERNAL=TRUE >>> //ADVANCED property for variable: ITK_CSWIG_JAVA >>> ITK_CSWIG_JAVA-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_CSWIG_PYTHON >>> ITK_CSWIG_PYTHON-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_CSWIG_TCL >>> ITK_CSWIG_TCL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_DATA_ROOT >>> ITK_DATA_ROOT-ADVANCED:INTERNAL=1 >>> //ITK dir to be used by subprojects >>> ITK_DIR:INTERNAL=C:/msys/1.0/home/Insight-mingw >>> //ADVANCED property for variable: ITK_EXPLICIT_INSTANTIATION >>> ITK_EXPLICIT_INSTANTIATION-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE >>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE-ADVANCED:INTERNAL=1 >>> ITK_INSTALL_PACKAGE_DIR:INTERNAL=/lib/InsightToolkit >>> //Whether istream supports long long >>> ITK_ISTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>> //ADVANCED property for variable: ITK_LEGACY_REMOVE >>> ITK_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_LEGACY_SILENT >>> ITK_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_MRI_UNC_DATABASE_DATA_ROOT >>> ITK_MRI_UNC_DATABASE_DATA_ROOT-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_OSIRIX_DATA_ROOT >>> ITK_OSIRIX_DATA_ROOT-ADVANCED:INTERNAL=1 >>> //Whether ostream supports long long >>> ITK_OSTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>> //Result of CHECK_TYPE_SIZE >>> ITK_SIZEOF_LONG_LONG:INTERNAL=8 >>> //Result of CHECK_TYPE_SIZE >>> ITK_SIZEOF___INT64:INTERNAL=8 >>> //Result of TRY_COMPILE >>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_EMPTY_BRACKETS:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_NULL_STRING:INTERNAL=FALSE >>> //Result of TRY_COMPILE >>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_TEMPLATE_ARGUMENTS:INTERNAL=FALSE >>> //Result of TRY_COMPILE >>> ITK_SUPPORTS_TEMPLATE_PARTIAL_SPECIALIZATION:INTERNAL=TRUE >>> //itkTestDriver path to be used by subprojects >>> ITK_TEST_DRIVER:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/itkTestDriver >>> //Whether long and __int64 are the same type >>> ITK_TYPE_SAME_LONG_AND___INT64:INTERNAL=0 >>> //ADVANCED property for variable: >>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY >>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_CONCEPT_CHECKING >>> ITK_USE_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_CONSOLIDATED_MORPHOLOGY >>> ITK_USE_CONSOLIDATED_MORPHOLOGY-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: >>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION >>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_LIBXML2 >>> ITK_USE_LIBXML2-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_MINC2 >>> ITK_USE_MINC2-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_OPTIMIZED_REGISTRATION_METHODS >>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_ORIENTED_IMAGE_DIRECTION >>> ITK_USE_ORIENTED_IMAGE_DIRECTION-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_PATENTED >>> ITK_USE_PATENTED-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_REGION_VALIDATION_IN_ITERATORS >>> ITK_USE_REGION_VALIDATION_IN_ITERATORS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_REVIEW >>> ITK_USE_REVIEW-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_REVIEW_STATISTICS >>> ITK_USE_REVIEW_STATISTICS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_STRICT_CONCEPT_CHECKING >>> ITK_USE_STRICT_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_SYSTEM_GDCM >>> ITK_USE_SYSTEM_GDCM-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_SYSTEM_LIBXML2 >>> ITK_USE_SYSTEM_LIBXML2-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_SYSTEM_PNG >>> ITK_USE_SYSTEM_PNG-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_SYSTEM_TIFF >>> ITK_USE_SYSTEM_TIFF-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_SYSTEM_VXL >>> ITK_USE_SYSTEM_VXL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_SYSTEM_ZLIB >>> ITK_USE_SYSTEM_ZLIB-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: >>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING >>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_USE_TRANSFORM_IO_FACTORIES >>> ITK_USE_TRANSFORM_IO_FACTORIES-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: ITK_VISIBLEHUMAN_DATA_ROOT >>> ITK_VISIBLEHUMAN_DATA_ROOT-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: JAVACOMMAND >>> JAVACOMMAND-ADVANCED:INTERNAL=1 >>> //Result of TRY_COMPILE >>> KWSYS_CAN_CONVERT_UI64_TO_DOUBLE_COMPILED:INTERNAL=FALSE >>> //Result of TRY_RUN >>> KWSYS_CHAR_IS_SIGNED:INTERNAL=0 >>> //Result of TRY_COMPILE >>> KWSYS_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_CXX_HAS_CSTDDEF_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_CXX_HAS_CSTDIO_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_CXX_HAS_FULL_SPECIALIZATION_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_CXX_HAS_MEMBER_TEMPLATES_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS_COMPILED:INTERNAL=FALSE >>> //Result of TRY_COMPILE >>> KWSYS_CXX_SAME_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>> //Result of TRY_COMPILE >>> KWSYS_CXX_SAME_LONG_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>> //Result of TRY_COMPILE >>> KWSYS_IOS_HAVE_BINARY_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_IOS_HAVE_STD_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_IOS_USE_ANSI_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_IOS_USE_SSTREAM_COMPILED:INTERNAL=TRUE >>> //Checking for Large File Support failed to compile. >>> KWSYS_LFS_WORKS:INTERNAL=-1 >>> //Result of TRY_COMPILE >>> KWSYS_LFS_WORKS_COMPILED:INTERNAL=FALSE >>> //Result of CHECK_TYPE_SIZE >>> KWSYS_SIZEOF_CHAR:INTERNAL=1 >>> //Result of CHECK_TYPE_SIZE >>> KWSYS_SIZEOF_INT:INTERNAL=4 >>> //Result of CHECK_TYPE_SIZE >>> KWSYS_SIZEOF_LONG:INTERNAL=4 >>> //Result of CHECK_TYPE_SIZE >>> KWSYS_SIZEOF_LONG_LONG:INTERNAL=8 >>> //Result of CHECK_TYPE_SIZE >>> KWSYS_SIZEOF_SHORT:INTERNAL=2 >>> //Result of CHECK_TYPE_SIZE >>> KWSYS_SIZEOF___INT64:INTERNAL=8 >>> //Result of TRY_COMPILE >>> KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT_COMPILED:INTERNAL=FALSE >>> //Result of TRY_COMPILE >>> KWSYS_STL_HAS_ALLOCATOR_OBJECTS_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_STL_HAS_ALLOCATOR_REBIND_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_STL_HAS_ALLOCATOR_TEMPLATE_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_STL_HAS_ITERATOR_TRAITS_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_STL_HAVE_STD_COMPILED:INTERNAL=TRUE >>> //Result of TRY_COMPILE >>> KWSYS_STL_STRING_HAVE_NEQ_CHAR_COMPILED:INTERNAL=TRUE >>> //ADVANCED property for variable: LIBRARY_OUTPUT_PATH >>> LIBRARY_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>> //Single output directory for building all libraries. >>> LIBRARY_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>> //ADVANCED property for variable: MAKECOMMAND >>> MAKECOMMAND-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: MEMORYCHECK_COMMAND >>> MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE >>> MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 >>> //The 22nd bit of 32-bit floating-point quiet NaN. >>> QNANHIBIT:INTERNAL=1 >>> //Result of TRY_RUN >>> QNANHIBIT_VALUE:INTERNAL=1 >>> //Result of TRY_RUN >>> RUN_RESULT:INTERNAL=1 >>> //ADVANCED property for variable: SCPCOMMAND >>> SCPCOMMAND-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: SITE >>> SITE-ADVANCED:INTERNAL=1 >>> //Result of CHECK_TYPE_SIZE >>> SIZEOF_INT:INTERNAL=4 >>> //Result of CHECK_TYPE_SIZE >>> SIZEOF_LONG:INTERNAL=4 >>> //ADVANCED property for variable: SLURM_SBATCH_COMMAND >>> SLURM_SBATCH_COMMAND-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: SLURM_SRUN_COMMAND >>> SLURM_SRUN_COMMAND-ADVANCED:INTERNAL=1 >>> //CXX compiler accepts flag -features=no%anachronisms >>> SUN_COMPILER:INTERNAL=FALSE >>> //ADVANCED property for variable: SVNCOMMAND >>> SVNCOMMAND-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: TCL_TCLSH >>> TCL_TCLSH-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: USE_FFTWD >>> USE_FFTWD-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: USE_FFTWF >>> USE_FFTWF-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: USE_SCSL >>> USE_SCSL-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: USE_WRAP_ITK >>> USE_WRAP_ITK-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: UUID_INCLUDE_DIR >>> UUID_INCLUDE_DIR-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: UUID_LIBRARY >>> UUID_LIBRARY-ADVANCED:INTERNAL=1 >>> //VXL test >>> VCL_ALLOWS_INLINE_INSTANTIATION:INTERNAL=1 >>> //VXL test >>> VCL_ALLOWS_NAMESPACE_STD:INTERNAL=1 >>> //VXL test >>> VCL_CANNOT_SPECIALIZE_CV:INTERNAL=1 >>> //VXL test >>> VCL_CAN_DO_COMPLETE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>> //VXL test >>> VCL_CAN_DO_IMPLICIT_TEMPLATES:INTERNAL=1 >>> //VXL test >>> VCL_CAN_DO_NON_TYPE_FUNCTION_TEMPLATE_PARAMETER:INTERNAL=1 >>> //VXL test >>> VCL_CAN_DO_PARTIAL_SPECIALIZATION:INTERNAL=1 >>> //VXL test >>> VCL_CAN_DO_STATIC_TEMPLATE_MEMBER:INTERNAL=1 >>> //VXL test >>> VCL_CAN_DO_TEMPLATE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>> //VXL test ?(successful run) >>> VCL_CHAR_IS_SIGNED:INTERNAL=1 >>> //Result of TRY_COMPILE >>> VCL_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>> //VXL test ?(successful run) >>> VCL_COMPLEX_POW_WORKS:INTERNAL=1 >>> //Result of TRY_COMPILE >>> VCL_COMPLEX_POW_WORKS_COMPILED:INTERNAL=TRUE >>> //Have include algorithm >>> VCL_CXX_HAS_HEADER_ALGORITHM:INTERNAL=1 >>> //Have include bitset >>> VCL_CXX_HAS_HEADER_BITSET:INTERNAL=1 >>> //Have include cassert >>> VCL_CXX_HAS_HEADER_CASSERT:INTERNAL=1 >>> //Have include cctype >>> VCL_CXX_HAS_HEADER_CCTYPE:INTERNAL=1 >>> //Have include cerrno >>> VCL_CXX_HAS_HEADER_CERRNO:INTERNAL=1 >>> //Have include cfloat >>> VCL_CXX_HAS_HEADER_CFLOAT:INTERNAL=1 >>> //Have include ciso646 >>> VCL_CXX_HAS_HEADER_CISO646:INTERNAL=1 >>> //Have include climits >>> VCL_CXX_HAS_HEADER_CLIMITS:INTERNAL=1 >>> //Have include clocale >>> VCL_CXX_HAS_HEADER_CLOCALE:INTERNAL=1 >>> //Have include cmath >>> VCL_CXX_HAS_HEADER_CMATH:INTERNAL=1 >>> //Have include complex >>> VCL_CXX_HAS_HEADER_COMPLEX:INTERNAL=1 >>> //Have include csetjmp >>> VCL_CXX_HAS_HEADER_CSETJMP:INTERNAL=1 >>> //Have include csignal >>> VCL_CXX_HAS_HEADER_CSIGNAL:INTERNAL=1 >>> //Have include cstdarg >>> VCL_CXX_HAS_HEADER_CSTDARG:INTERNAL=1 >>> //Have include cstddef >>> VCL_CXX_HAS_HEADER_CSTDDEF:INTERNAL=1 >>> //Have include cstdio >>> VCL_CXX_HAS_HEADER_CSTDIO:INTERNAL=1 >>> //Have include cstdlib >>> VCL_CXX_HAS_HEADER_CSTDLIB:INTERNAL=1 >>> //Have include cstring >>> VCL_CXX_HAS_HEADER_CSTRING:INTERNAL=1 >>> //Have include ctime >>> VCL_CXX_HAS_HEADER_CTIME:INTERNAL=1 >>> //Have include cwchar >>> VCL_CXX_HAS_HEADER_CWCHAR:INTERNAL=1 >>> //Have include cwctype >>> VCL_CXX_HAS_HEADER_CWCTYPE:INTERNAL=1 >>> //Have include deque >>> VCL_CXX_HAS_HEADER_DEQUE:INTERNAL=1 >>> //Have include exception >>> VCL_CXX_HAS_HEADER_EXCEPTION:INTERNAL=1 >>> //Have include fstream >>> VCL_CXX_HAS_HEADER_FSTREAM:INTERNAL=1 >>> //Have include functional >>> VCL_CXX_HAS_HEADER_FUNCTIONAL:INTERNAL=1 >>> //Have include iomanip >>> VCL_CXX_HAS_HEADER_IOMANIP:INTERNAL=1 >>> //Have include ios >>> VCL_CXX_HAS_HEADER_IOS:INTERNAL=1 >>> //Have include iosfwd >>> VCL_CXX_HAS_HEADER_IOSFWD:INTERNAL=1 >>> //Have include iostream >>> VCL_CXX_HAS_HEADER_IOSTREAM:INTERNAL=1 >>> //Have include iso646.h >>> VCL_CXX_HAS_HEADER_ISO646_H:INTERNAL=1 >>> //Have include istream >>> VCL_CXX_HAS_HEADER_ISTREAM:INTERNAL=1 >>> //Have include iterator >>> VCL_CXX_HAS_HEADER_ITERATOR:INTERNAL=1 >>> //Have include limits >>> VCL_CXX_HAS_HEADER_LIMITS:INTERNAL=1 >>> //Have include list >>> VCL_CXX_HAS_HEADER_LIST:INTERNAL=1 >>> //Have include locale >>> VCL_CXX_HAS_HEADER_LOCALE:INTERNAL=1 >>> //Have include map >>> VCL_CXX_HAS_HEADER_MAP:INTERNAL=1 >>> //Have include memory >>> VCL_CXX_HAS_HEADER_MEMORY:INTERNAL=1 >>> //Have include new >>> VCL_CXX_HAS_HEADER_NEW:INTERNAL=1 >>> //Have include numeric >>> VCL_CXX_HAS_HEADER_NUMERIC:INTERNAL=1 >>> //Have include ostream >>> VCL_CXX_HAS_HEADER_OSTREAM:INTERNAL=1 >>> //Have include queue >>> VCL_CXX_HAS_HEADER_QUEUE:INTERNAL=1 >>> //Have include set >>> VCL_CXX_HAS_HEADER_SET:INTERNAL=1 >>> //Have include sstream >>> VCL_CXX_HAS_HEADER_SSTREAM:INTERNAL=1 >>> //Have include stack >>> VCL_CXX_HAS_HEADER_STACK:INTERNAL=1 >>> //Have include stdexcept >>> VCL_CXX_HAS_HEADER_STDEXCEPT:INTERNAL=1 >>> //Have include streambuf >>> VCL_CXX_HAS_HEADER_STREAMBUF:INTERNAL=1 >>> //Have include string >>> VCL_CXX_HAS_HEADER_STRING:INTERNAL=1 >>> //Have include strstream >>> VCL_CXX_HAS_HEADER_STRSTREAM:INTERNAL=1 >>> //Have include typeinfo >>> VCL_CXX_HAS_HEADER_TYPEINFO:INTERNAL=1 >>> //Have include utility >>> VCL_CXX_HAS_HEADER_UTILITY:INTERNAL=1 >>> //Have include valarray >>> VCL_CXX_HAS_HEADER_VALARRAY:INTERNAL=1 >>> //Have include vector >>> VCL_CXX_HAS_HEADER_VECTOR:INTERNAL=1 >>> //VXL test >>> VCL_DEFAULT_VALUE:INTERNAL=1 >>> //VXL test >>> VCL_DEFINE_SPECIALIZATION:INTERNAL=1 >>> //VXL test >>> VCL_FOR_SCOPE_HACK:INTERNAL=1 >>> //VXL test >>> VCL_HAS_BOOL:INTERNAL=1 >>> //VXL test >>> VCL_HAS_DYNAMIC_CAST:INTERNAL=1 >>> //VXL test >>> VCL_HAS_EXCEPTIONS:INTERNAL=1 >>> //VXL test >>> VCL_HAS_EXPLICIT:INTERNAL=1 >>> //VXL test >>> VCL_HAS_EXPORT:INTERNAL=1 >>> //VXL test ?(successful run) >>> VCL_HAS_LFS:INTERNAL=1 >>> //Result of TRY_COMPILE >>> VCL_HAS_LFS_COMPILED:INTERNAL=TRUE >>> //VXL test >>> VCL_HAS_MEMBER_TEMPLATES:INTERNAL=1 >>> //VXL test >>> VCL_HAS_MUTABLE:INTERNAL=1 >>> //VXL test >>> VCL_HAS_NAMESPACES:INTERNAL=1 >>> //VXL test >>> VCL_HAS_RTTI:INTERNAL=1 >>> //VXL test ?(successful run) >>> VCL_HAS_SLICED_DESTRUCTOR_BUG:INTERNAL=1 >>> //Result of TRY_COMPILE >>> VCL_HAS_SLICED_DESTRUCTOR_BUG_COMPILED:INTERNAL=TRUE >>> //Test ?(failed to compile) >>> VCL_HAS_TEMPLATE_SYMBOLS:INTERNAL=0 >>> //Result of TRY_COMPILE >>> VCL_HAS_TEMPLATE_SYMBOLS_COMPILED:INTERNAL=FALSE >>> //VXL test >>> VCL_HAS_TYPENAME:INTERNAL=1 >>> //VXL test ?(successful run) >>> VCL_HAS_WORKING_STRINGSTREAM:INTERNAL=1 >>> //Result of TRY_COMPILE >>> VCL_HAS_WORKING_STRINGSTREAM_COMPILED:INTERNAL=TRUE >>> //VXL test >>> VCL_NEEDS_INLINE_INSTANTIATION:INTERNAL=1 >>> //Test >>> VCL_NEEDS_NAMESPACE_STD:INTERNAL=0 >>> //VXL test >>> VCL_NEED_FRIEND_FOR_TEMPLATE_OVERLOAD:INTERNAL=1 >>> //VXL test >>> VCL_NO_STATIC_DATA_MEMBERS:INTERNAL=1 >>> //Test >>> VCL_NULL_TMPL_ARGS:INTERNAL=0 >>> //VXL test ?(successful run) >>> VCL_NUMERIC_LIMITS_HAS_INFINITY:INTERNAL=1 >>> //Result of TRY_COMPILE >>> VCL_NUMERIC_LIMITS_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>> //Test >>> VCL_OVERLOAD_CAST:INTERNAL=0 >>> //VXL test ?(successful run) >>> VCL_PROCESSOR_HAS_INFINITY:INTERNAL=1 >>> //Result of TRY_COMPILE >>> VCL_PROCESSOR_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>> //VXL test >>> VCL_STATIC_CONST_INIT_FLOAT:INTERNAL=1 >>> //VXL test >>> VCL_STATIC_CONST_INIT_INT:INTERNAL=1 >>> //Test >>> VCL_STATIC_CONST_INIT_NO_DEFN:INTERNAL=0 >>> //VXL test >>> VCL_SUNPRO_CLASS_SCOPE_HACK:INTERNAL=1 >>> //VXL test >>> VCL_TEMPLATE_MATCHES_TOO_OFTEN:INTERNAL=1 >>> //Are we using an version of gcc < 3.0 >>> VNL_COMPILER_IS_GNUCXX_2XX:INTERNAL=0 >>> //ADVANCED property for variable: VNL_CONFIG_CHECK_BOUNDS >>> VNL_CONFIG_CHECK_BOUNDS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2 >>> VNL_CONFIG_ENABLE_SSE2-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2_ROUNDING >>> VNL_CONFIG_ENABLE_SSE2_ROUNDING-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: VNL_CONFIG_LEGACY_METHODS >>> VNL_CONFIG_LEGACY_METHODS-ADVANCED:INTERNAL=1 >>> //ADVANCED property for variable: VNL_CONFIG_THREAD_SAFE >>> VNL_CONFIG_THREAD_SAFE-ADVANCED:INTERNAL=1 >>> //Result of TEST_BIG_ENDIAN >>> VXL_BIG_ENDIAN:INTERNAL=0 >>> //VXL test result >>> VXL_BYTE:INTERNAL=char >>> //Serial number of last configuration >>> VXL_CONFIG_SERIAL_LAST:INTERNAL=2007-13-09-001 >>> //Have symbol finite >>> VXL_C_MATH_HAS_FINITE:INTERNAL=1 >>> //Have symbol finitef >>> VXL_C_MATH_HAS_FINITEF:INTERNAL= >>> //Have symbol finitel >>> VXL_C_MATH_HAS_FINITEL:INTERNAL= >>> //VXL test >>> VXL_C_MATH_HAS_LROUND:INTERNAL=1 >>> //Have symbol sqrtf >>> VXL_C_MATH_HAS_SQRTF:INTERNAL=1 >>> //Test >>> VXL_HAS_ALIGNED_MALLOC:INTERNAL=0 >>> //VXL test result >>> VXL_HAS_BYTE:INTERNAL=1 >>> //Test >>> VXL_HAS_DBGHELP_H:INTERNAL=0 >>> //Have include emmintrin.h >>> VXL_HAS_EMMINTRIN_H:INTERNAL=1 >>> //Have include ieeefp.h >>> VXL_HAS_IEEEFP_H:INTERNAL= >>> //VXL test result >>> VXL_HAS_IEEE_128:INTERNAL=0 >>> //VXL test result >>> VXL_HAS_IEEE_32:INTERNAL=1 >>> //VXL test result >>> VXL_HAS_IEEE_64:INTERNAL=1 >>> //VXL test result >>> VXL_HAS_IEEE_96:INTERNAL=1 >>> //VXL test result >>> VXL_HAS_INT_16:INTERNAL=1 >>> //VXL test result >>> VXL_HAS_INT_32:INTERNAL=1 >>> //VXL test result >>> VXL_HAS_INT_64:INTERNAL=1 >>> //VXL test result >>> VXL_HAS_INT_8:INTERNAL=1 >>> //VXL test >>> VXL_HAS_MINGW_ALIGNED_MALLOC:INTERNAL=1 >>> //Test >>> VXL_HAS_MM_MALLOC:INTERNAL=0 >>> //Test >>> VXL_HAS_POSIX_MEMALIGN:INTERNAL=0 >>> //Have include pthread.h >>> VXL_HAS_PTHREAD_H:INTERNAL= >>> //Have include semaphore.h >>> VXL_HAS_SEMAPHORE_H:INTERNAL= >>> //Test ?(failed to compile) >>> VXL_HAS_SSE2_HARDWARE_SUPPORT:INTERNAL=0 >>> //Result of TRY_COMPILE >>> VXL_HAS_SSE2_HARDWARE_SUPPORT_COMPILED:INTERNAL=FALSE >>> //Have symbol finite >>> VXL_IEEEFP_HAS_FINITE:INTERNAL= >>> //VXL test result >>> VXL_IEEE_128:INTERNAL=void >>> //VXL test result >>> VXL_IEEE_32:INTERNAL=float >>> //VXL test result >>> VXL_IEEE_64:INTERNAL=double >>> //VXL test result >>> VXL_IEEE_96:INTERNAL=long double >>> //VXL test result >>> VXL_INT_16:INTERNAL=short >>> //VXL test result >>> VXL_INT_32:INTERNAL=int >>> //VXL test result >>> VXL_INT_64:INTERNAL=long long >>> //VXL test result >>> VXL_INT_8:INTERNAL=char >>> //VXL test ?(successful run) >>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE:INTERNAL=1 >>> //Result of TRY_COMPILE >>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_COMPILED:INTERNAL=TRUE >>> //help string for how to enable SSE2 support >>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_HELP:INTERNAL=The current compiler >>> flags >>> do not allow the SSE2 instructions to be used. ;It looks like if you add >>> the >>> flag '-msse2' you will be able to use the ;SSE2 instructions. If you >>> chose >>> to set VNL_CONFIG_ENABLE_SSE or ;VNL_CONFIG_ENABLE_SSE2_ROUNDING to ON, >>> cmake will put this flag for you. ;You can also add this flag yourself. >>> If >>> you still see this message, after ;the flag change, you may need to set >>> VXL_UPDATE_CONFIGURATION to ON and ;rerun cmake. >>> //Have symbol drand48 >>> VXL_STDLIB_HAS_DRAND48:INTERNAL= >>> //Have symbol lrand48 >>> VXL_STDLIB_HAS_LRAND48:INTERNAL= >>> //VXL test >>> VXL_STDLIB_HAS_QSORT:INTERNAL=1 >>> //Have symbol srand48 >>> VXL_STDLIB_HAS_SRAND48:INTERNAL= >>> //Have function getpid >>> VXL_UNISTD_HAS_GETPID:INTERNAL=1 >>> //Have symbol intptr_t >>> VXL_UNISTD_HAS_INTPTR_T:INTERNAL=1 >>> //Have function lchown >>> VXL_UNISTD_HAS_LCHOWN:INTERNAL= >>> //Have function pread >>> VXL_UNISTD_HAS_PREAD:INTERNAL= >>> //Have function pwrite >>> VXL_UNISTD_HAS_PWRITE:INTERNAL= >>> //Have function tell >>> VXL_UNISTD_HAS_TELL:INTERNAL=1 >>> //Have function ualarm >>> VXL_UNISTD_HAS_UALARM:INTERNAL= >>> //Have symbol useconds_t >>> VXL_UNISTD_HAS_USECONDS_T:INTERNAL=1 >>> //Have function usleep >>> VXL_UNISTD_HAS_USLEEP:INTERNAL=1 >>> //VXL test >>> VXL_UNISTD_USLEEP_IS_VOID:INTERNAL=1 >>> //ADVANCED property for variable: VXL_UPDATE_CONFIGURATION >>> VXL_UPDATE_CONFIGURATION-ADVANCED:INTERNAL=1 >>> >>> >>> >>> >>> >>> >>> Bill Lorensen wrote: >>>> >>>> You are in the wrong directory. Look in the directory that is >>>> described in the CMakeCache.txt variable Project_BINARY_DIR >>>> >>>> cd to that directory and type make >>>> >>>> >>>> On Thu, Dec 10, 2009 at 4:22 PM, URI >>>> wrote: >>>>> >>>>> I get the message: >>>>> >>>>> make: *** No targets specified and no makefile found. ?Stop. >>>>> >>>>> >>>>> >>>>> 10) Start an msys shell by running msys.bat >>>>> 11) cd to the locations you selected where to build the binaries. >>>>> 12) make >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4147921.html >>>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.html >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149414.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149580.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Fri Dec 11 08:44:41 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 08:44:41 -0500 Subject: [Insight-users] No Tcon today. Message-ID: We will not hold a tcon today. My apologies for the late notice. Luis From bill.lorensen at gmail.com Fri Dec 11 08:53:34 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 11 Dec 2009 08:53:34 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> References: <4db4735c0912091433r6b917a9eyf7e2d559708d93c4@mail.gmail.com> <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> <1260444515044-4144854.post@n2.nabble.com> <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> <1260509804319-4149580.post@n2.nabble.com> <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> Message-ID: <4db4735c0912110553x7086b85cub0301eed9db5ee44@mail.gmail.com> Maybe I forgot to tell you step 9? Did you press OK? 9) In cmake Press OK to generate selected build files and exit On Fri, Dec 11, 2009 at 8:37 AM, Bill Lorensen wrote: > OK, so there is no Makefile in this directory. When you ran cmake, did > any error or warning windows pop up? > > On Fri, Dec 11, 2009 at 12:36 AM, URI wrote: >> >> Here's what I get: >> >> AllowContinuous.sh >> BuildContinuous.sh >> BuildContinuousWithCTest.sh >> CMake >> CMakeCache.txt >> CMakeFiles >> CMakeTmp >> CPackConfig.cmake >> CPackSourceConfig.cmake >> CTestCustom.cmake >> Code >> DartConfiguration.tcl >> Examples >> ITKBuildSettings.cmake >> ITKConfig.cmake >> ITKLibraryDepends.cmake >> PreventContinuous.sh >> Testing >> UseITK.cmake >> Utilities >> Wrapping >> creonentry >> itkConfigure.h >> >> >> >> >> Bill Lorensen wrote: >>> >>> navigate to C:\msys\1.0\home\Insight-mingw >>> type ls and send the output to me >>> >>> On Thu, Dec 10, 2009 at 11:03 PM, URI wrote: >>>> >>>> Let me explain what I've done so I'm sure we're talking about the same >>>> thing: >>>> >>>> I ran Msys and typed "mkdir Insight-mingw " as per Steps 1 and 2. ?This >>>> created a new folder C:\msys\1.0\home\Insight-mingw >>>> >>>> In my CMake gui I set the "Where to build the binaries" to that same >>>> folder. >>>> >>>> I did all the "Configure" stuff and all those files and folders appear in >>>> that Insight-mingw folder. >>>> >>>> Then I start the Msys shell, navigate to C:\msys\1.0\home\Insight-mingw >>>> and >>>> type "make" and that's when I get the error. >>>> >>>> If I look in that Insight-mingw folder where I built the binaries there >>>> is a >>>> CMakeCache.txt file, but it does not have a Project_BINARY_DIR variable. >>>> >>>> Here is my CMakeCache.txt file: >>>> >>>> # This is the CMakeCache file. >>>> # For build in directory: c:/msys/1.0/home/Insight-mingw >>>> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >>>> # You can edit this file to change values found and used by cmake. >>>> # If you do not want to change any of the values, simply exit the editor. >>>> # If you do want to change a value, simply edit, save, and exit the >>>> editor. >>>> # The syntax for the file is as follows: >>>> # KEY:TYPE=VALUE >>>> # KEY is the name of a variable in the cache. >>>> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >>>> # VALUE is the current value for the KEY. >>>> >>>> ######################## >>>> # EXTERNAL cache entries >>>> ######################## >>>> >>>> //Name of build on the dashboard >>>> BUILDNAME:STRING=Win32-make >>>> >>>> //Build Doxygen Documentation >>>> BUILD_DOXYGEN:BOOL=OFF >>>> >>>> //Build the Examples directory. >>>> BUILD_EXAMPLES:BOOL=ON >>>> >>>> //Toggle building shared libraries >>>> BUILD_SHARED_LIBS:BOOL=OFF >>>> >>>> //Build the testing tree. >>>> BUILD_TESTING:BOOL=ON >>>> >>>> //Path to a program. >>>> BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND >>>> >>>> //Path to a program. >>>> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >>>> >>>> //For backwards compatibility, what version of CMake commands and >>>> // syntax should this version of CMake try to support. >>>> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >>>> >>>> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >>>> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >>>> CMAKE_BUILD_TYPE:STRING= >>>> >>>> //Enable/Disable color output during build. >>>> CMAKE_COLOR_MAKEFILE:BOOL=ON >>>> >>>> //CXX compiler. >>>> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >>>> >>>> //Flags used by the compiler during all build types. >>>> CMAKE_CXX_FLAGS:STRING= >>>> >>>> //Flags used by the compiler during debug builds. >>>> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >>>> >>>> //Flags used by the compiler during release minsize builds. >>>> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>> >>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>> // files). >>>> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>> >>>> //Flags used by the compiler during Release with Debug Info builds. >>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>> >>>> //Libraries linked by defalut with all C++ applications. >>>> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>>> -lwinspool >>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>> >>>> //C compiler. >>>> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >>>> >>>> //Flags used by the compiler during all build types. >>>> CMAKE_C_FLAGS:STRING= >>>> >>>> //Flags used by the compiler during debug builds. >>>> CMAKE_C_FLAGS_DEBUG:STRING=-g >>>> >>>> //Flags used by the compiler during release minsize builds. >>>> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>> >>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>> // files). >>>> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>> >>>> //Flags used by the compiler during Release with Debug Info builds. >>>> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>> >>>> //Libraries linked by defalut with all C applications. >>>> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool >>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>> >>>> //Flags used by the linker. >>>> CMAKE_EXE_LINKER_FLAGS:STRING= >>>> >>>> //Flags used by the linker during debug builds. >>>> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >>>> >>>> //Flags used by the linker during release minsize builds. >>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >>>> >>>> //Flags used by the linker during release builds. >>>> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >>>> >>>> //Flags used by the linker during Release with Debug Info builds. >>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>> >>>> //Use HP pthreads. >>>> CMAKE_HP_PTHREADS:BOOL=OFF >>>> >>>> //Install path prefix, prepended onto install directories. >>>> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/ITK >>>> >>>> //Path to a program. >>>> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >>>> >>>> //Path to a program. >>>> CMAKE_MAKE_PROGRAM:FILEPATH=C:/msys/1.0/bin/make.exe >>>> >>>> //Flags used by the linker during the creation of modules. >>>> CMAKE_MODULE_LINKER_FLAGS:STRING= >>>> >>>> //Flags used by the linker during debug builds. >>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >>>> >>>> //Flags used by the linker during release minsize builds. >>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >>>> >>>> //Flags used by the linker during release builds. >>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >>>> >>>> //Flags used by the linker during Release with Debug Info builds. >>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>> >>>> //Path to a program. >>>> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >>>> >>>> //Path to a program. >>>> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >>>> >>>> //Path to a program. >>>> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >>>> >>>> //Value Computed by CMake >>>> CMAKE_PROJECT_NAME:STATIC=ITK >>>> >>>> //Path to a program. >>>> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >>>> >>>> //Flags used by the linker during the creation of dll's. >>>> CMAKE_SHARED_LINKER_FLAGS:STRING= >>>> >>>> //Flags used by the linker during debug builds. >>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >>>> >>>> //Flags used by the linker during release minsize builds. >>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >>>> >>>> //Flags used by the linker during release builds. >>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >>>> >>>> //Flags used by the linker during Release with Debug Info builds. >>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>> >>>> //If set, runtime paths are not added when using shared libraries. >>>> CMAKE_SKIP_RPATH:BOOL=OFF >>>> >>>> //Path to a program. >>>> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >>>> >>>> //Thread library used. >>>> CMAKE_THREAD_LIBS:STRING= >>>> >>>> //Use the pthreads library. >>>> CMAKE_USE_PTHREADS:BOOL=OFF >>>> >>>> //If true, cmake will use relative paths in makefiles and projects. >>>> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >>>> >>>> //Use sproc libs. >>>> CMAKE_USE_SPROC:BOOL=OFF >>>> >>>> //Use the win32 thread library. >>>> CMAKE_USE_WIN32_THREADS:BOOL=ON >>>> >>>> //If this value is on, makefiles will be generated without the >>>> // .SILENT directive, and all commands will be echoed to the console >>>> // during the make. ?This is useful for debugging only. With Visual >>>> // Studio IDE projects all commands are done without /nologo. >>>> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >>>> >>>> //X11 extra flags. >>>> CMAKE_X_CFLAGS:STRING=-I >>>> >>>> //Libraries and options used in X11 programs. >>>> CMAKE_X_LIBS:STRING= >>>> >>>> //Path to program used to compress files for transfer to the dart >>>> // server >>>> COMPRESSIONCOMMAND:FILEPATH=COMPRESSIONCOMMAND-NOTFOUND >>>> >>>> //Path to the coverage program that CTest uses for performing coverage >>>> // inspection >>>> COVERAGE_COMMAND:FILEPATH=C:/MinGW/bin/gcov.exe >>>> >>>> //Enable to build NSIS packages >>>> CPACK_BINARY_NSIS:BOOL=ON >>>> >>>> //Enable to build ZIP packages >>>> CPACK_BINARY_ZIP:BOOL=OFF >>>> >>>> //Enable to build ZIP source packages >>>> CPACK_SOURCE_ZIP:BOOL=ON >>>> >>>> //Path to a program. >>>> CVSCOMMAND:FILEPATH=CVSCOMMAND-NOTFOUND >>>> >>>> //Options passed to the cvs update command. >>>> CVS_UPDATE_OPTIONS:STRING=-d -A -P >>>> >>>> //Limit of reported errors, -1 reports all. >>>> DART_BUILD_ERROR_REPORT_LIMIT:BOOL=OFF >>>> >>>> //Limit of reported warnings, -1 reports all. >>>> DART_BUILD_WARNING_REPORT_LIMIT:BOOL=OFF >>>> >>>> //If you have Dart installed, where is it located? >>>> DART_ROOT:PATH=DART_ROOT-NOTFOUND >>>> >>>> //Maximum time allowed before CTest will kill the test. >>>> DART_TESTING_TIMEOUT:STRING=1500 >>>> >>>> //Show the actual output of the build, or if off show a . for each >>>> // 1024 bytes. >>>> DART_VERBOSE_BUILD:BOOL=OFF >>>> >>>> //Should Dart server send email when build errors are found in >>>> // Continuous builds? >>>> DELIVER_CONTINUOUS_EMAIL:BOOL=OFF >>>> >>>> //Value Computed by CMake >>>> FilteringExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Filtering >>>> >>>> //Value Computed by CMake >>>> FilteringExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Filtering >>>> >>>> //Value Computed by CMake >>>> GDCM_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/gdcm >>>> >>>> //Remove all legacy code completely. >>>> GDCM_LEGACY_REMOVE:BOOL=OFF >>>> >>>> //Silence all legacy code messages. >>>> GDCM_LEGACY_SILENT:BOOL=OFF >>>> >>>> //Value Computed by CMake >>>> GDCM_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/gdcm >>>> >>>> //Path to gunzip executable >>>> GUNZIPCOMMAND:FILEPATH=GUNZIPCOMMAND-NOTFOUND >>>> >>>> //Path to a program. >>>> HGCOMMAND:FILEPATH=HGCOMMAND-NOTFOUND >>>> >>>> //Value Computed by CMake >>>> IOExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/IO >>>> >>>> //Value Computed by CMake >>>> IOExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/IO >>>> >>>> //Dependencies for the target >>>> ITKAlgorithms_LIB_DEPENDS:STATIC=general;gdi32;general;ITKStatistics;general;ITKNumerics; >>>> >>>> //Dependencies for the target >>>> ITKBasicFilters_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>>> >>>> //Dependencies for the target >>>> ITKCommon_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_inst;general;itksys; >>>> >>>> //Dependencies for the target >>>> ITKDICOMParser_LIB_DEPENDS:STATIC=general;gdi32; >>>> >>>> //Value Computed by CMake >>>> ITKEXPAT_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/expat >>>> >>>> //Dependencies for the target >>>> ITKEXPAT_LIB_DEPENDS:STATIC=general;gdi32; >>>> >>>> //Value Computed by CMake >>>> ITKEXPAT_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/expat >>>> >>>> //Value Computed by CMake >>>> ITKEXTHDRS_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkExtHdrs >>>> >>>> //Value Computed by CMake >>>> ITKEXTHDRS_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkExtHdrs >>>> >>>> //Dependencies for the target >>>> ITKFEM_LIB_DEPENDS:STATIC=general;gdi32;general;ITKBasicFilters;general;ITKIO; >>>> >>>> //Dependencies for the target >>>> ITKIO_LIB_DEPENDS:STATIC=general;gdi32;general;ITKNrrdIO;general;itkgdcm;general;itkpng;general;itktiff;general;ITKSpatialObject;general;ITKMetaIO;general;ITKDICOMParser;general;ITKEXPAT;general;ITKniftiio; >>>> >>>> //Value Computed by CMake >>>> ITKJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkjpeg >>>> >>>> //Value Computed by CMake >>>> ITKJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkjpeg >>>> >>>> //Value Computed by CMake >>>> ITKMetaIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/MetaIO >>>> >>>> //Dependencies for the target >>>> ITKMetaIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itksys;general;comctl32;general;wsock32; >>>> >>>> //Value Computed by CMake >>>> ITKMetaIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/MetaIO >>>> >>>> //Value Computed by CMake >>>> ITKNrrdIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/NrrdIO >>>> >>>> //Dependencies for the target >>>> ITKNrrdIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>> >>>> //Value Computed by CMake >>>> ITKNrrdIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/NrrdIO >>>> >>>> //Dependencies for the target >>>> ITKNumerics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>>> >>>> //Value Computed by CMake >>>> ITKOpenJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/openjpeg >>>> >>>> //Value Computed by CMake >>>> ITKOpenJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/openjpeg >>>> >>>> //Value Computed by CMake >>>> ITKPNG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkpng >>>> >>>> //Value Computed by CMake >>>> ITKPNG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkpng >>>> >>>> //Dependencies for the target >>>> ITKSpatialObject_LIB_DEPENDS:STATIC=general;gdi32;general;ITKMetaIO;general;ITKCommon; >>>> >>>> //Dependencies for the target >>>> ITKStatistics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon;general;itkNetlibSlatec; >>>> >>>> //Value Computed by CMake >>>> ITKTIFF_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itktiff >>>> >>>> //Value Computed by CMake >>>> ITKTIFF_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itktiff >>>> >>>> //Value Computed by CMake >>>> ITKTesting_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Testing >>>> >>>> //Value Computed by CMake >>>> ITKTesting_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Testing >>>> >>>> //Value Computed by CMake >>>> ITKZLIB_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkzlib >>>> >>>> //Value Computed by CMake >>>> ITKZLIB_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkzlib >>>> >>>> //Value Computed by CMake >>>> ITK_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw >>>> >>>> //Directory with data taken from >>>> http://public.kitware.com/pub/itk/Data/BrainWeb/ >>>> ITK_BRAINWEB_DATA_ROOT:PATH=ITK_BRAINWEB_DATA_ROOT-NOTFOUND >>>> >>>> //Provide here the size of your RAM Memory in GigaBytes >>>> ITK_COMPUTER_MEMORY_SIZE:STRING=1 >>>> >>>> //Build cswig Java wrapper support >>>> ITK_CSWIG_JAVA:BOOL=OFF >>>> >>>> //Build cswig Python wrapper support (requires CableSwig). >>>> ITK_CSWIG_PYTHON:BOOL=OFF >>>> >>>> //Build cswig Tcl wrapper support (requires CableSwig). >>>> ITK_CSWIG_TCL:BOOL=OFF >>>> >>>> //Path to a file. >>>> ITK_DATA_ROOT:PATH=C:/ITK_3_16_0/Testing/Data >>>> >>>> //Try to explicitly build some of the core templates explictitly >>>> // rather than over and over again. >>>> ITK_EXPLICIT_INSTANTIATION:BOOL=OFF >>>> >>>> //Makes itk::Image behave like itk::OrientedImage >>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE:BOOL=ON >>>> >>>> //Remove all legacy code completely. >>>> ITK_LEGACY_REMOVE:BOOL=OFF >>>> >>>> //Silence all legacy code messages. >>>> ITK_LEGACY_SILENT:BOOL=OFF >>>> >>>> //Directory with data taken from >>>> http://public.kitware.com/pub/itk/Data/HealthyVolunteersMRIDatabase/ >>>> ITK_MRI_UNC_DATABASE_DATA_ROOT:PATH=ITK_MRI_UNC_DATABASE_DATA_ROOT-NOTFOUND >>>> >>>> //Directory with data taken from >>>> http://www.osirix-viewer.com/Downloads.html >>>> ITK_OSIRIX_DATA_ROOT:PATH=ITK_OSIRIX_DATA_ROOT-NOTFOUND >>>> >>>> //Value Computed by CMake >>>> ITK_SOURCE_DIR:STATIC=C:/ITK_3_16_0 >>>> >>>> //Turn on correct usage of centered-pixel coordinates. >>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON >>>> >>>> //Turn on concept checking to give helpful errors at compile time >>>> // if a type cannot be used as a template parameter. >>>> ITK_USE_CONCEPT_CHECKING:BOOL=ON >>>> >>>> //Turn on the experimental consolidated morphology. >>>> ITK_USE_CONSOLIDATED_MORPHOLOGY:BOOL=OFF >>>> >>>> //Turn on the use of a sparse field level set surface interpolation >>>> // method that has been deprecated since ITK 3.6. Turn this flag >>>> // ON to exactly replicate the behavior of ITK<=3.4. >>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION:BOOL=OFF >>>> >>>> //Enable the use of KWStyle for checking coding style. >>>> ITK_USE_KWSTYLE:BOOL=OFF >>>> >>>> //Use LIBXML2. >>>> ITK_USE_LIBXML2:BOOL=OFF >>>> >>>> //Use MINC2 File Format >>>> ITK_USE_MINC2:BOOL=OFF >>>> >>>> //Turn on the experimental version of accelerated registration >>>> // methods. >>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=OFF >>>> >>>> //Turn on correct use of oriented images direction in gradient >>>> // computation and image registration. >>>> ITK_USE_ORIENTED_IMAGE_DIRECTION:BOOL=ON >>>> >>>> //Build algorithms that are covered with Patents. It is YOUR >>>> responsibility >>>> // to obtain a license from the patent holder in order to use these >>>> // methods. >>>> ITK_USE_PATENTED:BOOL=OFF >>>> >>>> //Turn on region validation in Iterator constructors. >>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS:BOOL=ON >>>> >>>> //Build algorithms that are candidates to be included in the Toolkit. >>>> // This classes are not covered by the Backward Compatibility Policy, >>>> // nor the Copyright Policy of ITK. >>>> ITK_USE_REVIEW:BOOL=OFF >>>> >>>> //Use the experimental statistics framework. >>>> ITK_USE_REVIEW_STATISTICS:BOOL=OFF >>>> >>>> //Turn on Strict concept checking to give more stringent errors >>>> // at compile time if a type cannot be used as a template parameter. >>>> ITK_USE_STRICT_CONCEPT_CHECKING:BOOL=OFF >>>> >>>> //Use an outside build of GDCM. >>>> ITK_USE_SYSTEM_GDCM:BOOL=OFF >>>> >>>> //Use the system's libxml2 library. >>>> ITK_USE_SYSTEM_LIBXML2:BOOL=OFF >>>> >>>> //Use the system's png library. >>>> ITK_USE_SYSTEM_PNG:BOOL=OFF >>>> >>>> //Use the system's tiff library. >>>> ITK_USE_SYSTEM_TIFF:BOOL=OFF >>>> >>>> //Use an outside build of VXL. >>>> ITK_USE_SYSTEM_VXL:BOOL=OFF >>>> >>>> //Use the system's zlib library. >>>> ITK_USE_SYSTEM_ZLIB:BOOL=OFF >>>> >>>> //Turn on the use of Template Meta-Programming techniques for unrolling >>>> // for-loops at compile time. >>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING:BOOL=ON >>>> >>>> //Turn on the experimental IO factories for reading and writing >>>> // transforms. >>>> ITK_USE_TRANSFORM_IO_FACTORIES:BOOL=OFF >>>> >>>> //Directory with data taken from >>>> http://www.nlm.nih.gov/research/visible/getting_data.html >>>> ITK_VISIBLEHUMAN_DATA_ROOT:PATH=ITK_VISIBLEHUMAN_DATA_ROOT-NOTFOUND >>>> >>>> //Dependencies for the target >>>> ITKniftiio_LIB_DEPENDS:STATIC=general;gdi32;general;ITKznz; >>>> >>>> //Dependencies for the target >>>> ITKznz_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>> >>>> //Value Computed by CMake >>>> ImageExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Image >>>> >>>> //Value Computed by CMake >>>> ImageExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Image >>>> >>>> //Value Computed by CMake >>>> ImageRegistration_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Registration >>>> >>>> //Value Computed by CMake >>>> ImageRegistration_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Registration >>>> >>>> //Value Computed by CMake >>>> ImageSegmentation_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Segmentation >>>> >>>> //Value Computed by CMake >>>> ImageSegmentation_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Segmentation >>>> >>>> //Value Computed by CMake >>>> IteratorExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Iterators >>>> >>>> //Value Computed by CMake >>>> IteratorExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Iterators >>>> >>>> //Path to java command, used by the Dart server to create html. >>>> JAVACOMMAND:FILEPATH=JAVACOMMAND-NOTFOUND >>>> >>>> //Command used to build entire project from the command line. >>>> MAKECOMMAND:STRING=C:/msys/1.0/bin/make.exe -i >>>> >>>> //Path to the memory checking command, used for memory error detection. >>>> MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND >>>> >>>> //File that contains suppressions for the memory checker >>>> MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= >>>> >>>> //Value Computed by CMake >>>> MeshExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Mesh >>>> >>>> //Value Computed by CMake >>>> MeshExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Mesh >>>> >>>> //Value Computed by CMake >>>> NIFTI_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/nifti >>>> >>>> //Value Computed by CMake >>>> NIFTI_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/nifti >>>> >>>> //Value Computed by CMake >>>> NumericsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Numerics >>>> >>>> //Value Computed by CMake >>>> NumericsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Numerics >>>> >>>> //Value Computed by CMake >>>> PathExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Path >>>> >>>> //Value Computed by CMake >>>> PathExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Path >>>> >>>> //Path to scp command, used by CTest for submitting results to >>>> // a Dart server >>>> SCPCOMMAND:FILEPATH=SCPCOMMAND-NOTFOUND >>>> >>>> //Name of the computer/site where compile is being run >>>> SITE:STRING=ZAPPA >>>> >>>> //Path to the SLURM sbatch executable >>>> SLURM_SBATCH_COMMAND:FILEPATH=SLURM_SBATCH_COMMAND-NOTFOUND >>>> >>>> //Path to the SLURM srun executable >>>> SLURM_SRUN_COMMAND:FILEPATH=SLURM_SRUN_COMMAND-NOTFOUND >>>> >>>> //Path to a program. >>>> SVNCOMMAND:FILEPATH=SVNCOMMAND-NOTFOUND >>>> >>>> //Value Computed by CMake >>>> SpatialObjectsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/SpatialObjects >>>> >>>> //Value Computed by CMake >>>> SpatialObjectsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/SpatialObjects >>>> >>>> //Value Computed by CMake >>>> StatisticsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Statistics >>>> >>>> //Value Computed by CMake >>>> StatisticsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Statistics >>>> >>>> //Path to a program. >>>> TCL_TCLSH:FILEPATH=TCL_TCLSH-NOTFOUND >>>> >>>> //Use double precision FFTW if found >>>> USE_FFTWD:BOOL=OFF >>>> >>>> //Use single precision FFTW if found >>>> USE_FFTWF:BOOL=OFF >>>> >>>> //Use the SGI SCSL High Performance Computing math library >>>> USE_SCSL:BOOL=OFF >>>> >>>> //Build external languages support >>>> USE_WRAP_ITK:BOOL=OFF >>>> >>>> //Path to a file. >>>> UUID_INCLUDE_DIR:PATH=UUID_INCLUDE_DIR-NOTFOUND >>>> >>>> //Path to a library. >>>> UUID_LIBRARY:FILEPATH=UUID_LIBRARY-NOTFOUND >>>> >>>> //Whether vnl_vector/vnl_matrix accessor methods check index bounds. >>>> VNL_CONFIG_CHECK_BOUNDS:BOOL=ON >>>> >>>> //Enable Streaming SIMD Extensions 2 optimisations (hardware dependant). >>>> // Currently broken. For use by VNL developers only. >>>> VNL_CONFIG_ENABLE_SSE2:BOOL=OFF >>>> >>>> //Enable Streaming SIMD Extensions 2 implementation of rounding >>>> // (hardware dependant). >>>> VNL_CONFIG_ENABLE_SSE2_ROUNDING:BOOL=OFF >>>> >>>> //Whether backward-compatibility methods are provided by vnl. >>>> VNL_CONFIG_LEGACY_METHODS:BOOL=OFF >>>> >>>> //Whether thread-safe vnl implementations are used. >>>> VNL_CONFIG_THREAD_SAFE:BOOL=ON >>>> >>>> //v3p include files >>>> VTHREEP_INCLUDE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>>> >>>> //v3p include files >>>> VTHREEP_INSTALL_INCLUDE_DIR:STATIC=C:/Program Files >>>> (x86)/ITK/include/vxl/v3p >>>> >>>> //Re-run the configuration tests? >>>> VXL_UPDATE_CONFIGURATION:BOOL=OFF >>>> >>>> //Dependencies for the target >>>> itkNetlibSlatec_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib; >>>> >>>> //Value Computed by CMake >>>> itkdicomparser_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/DICOMParser >>>> >>>> //Value Computed by CMake >>>> itkdicomparser_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/DICOMParser >>>> >>>> //Dependencies for the target >>>> itkgdcm_LIB_DEPENDS:STATIC=general;gdi32;general;itkjpeg8;general;itkjpeg12;general;itkjpeg16;general;itkopenjpeg;general;wsock32;general;snmpapi;general;rpcrt4; >>>> >>>> //Dependencies for the target >>>> itkjpeg12_LIB_DEPENDS:STATIC=general;gdi32; >>>> >>>> //Dependencies for the target >>>> itkjpeg16_LIB_DEPENDS:STATIC=general;gdi32; >>>> >>>> //Dependencies for the target >>>> itkjpeg8_LIB_DEPENDS:STATIC=general;gdi32; >>>> >>>> //Dependencies for the target >>>> itkopenjpeg_LIB_DEPENDS:STATIC=general;gdi32; >>>> >>>> //Dependencies for the target >>>> itkpng_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>> >>>> //Value Computed by CMake >>>> itksys_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/kwsys >>>> >>>> //Dependencies for the target >>>> itksys_LIB_DEPENDS:STATIC=general;gdi32;general;ws2_32; >>>> >>>> //Value Computed by CMake >>>> itksys_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/kwsys >>>> >>>> //Dependencies for the target >>>> itktestlib_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>>> >>>> //Dependencies for the target >>>> itktiff_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itkjpeg8; >>>> >>>> //Dependencies for the target >>>> itkv3p_netlib_LIB_DEPENDS:STATIC=general;gdi32; >>>> >>>> //Dependencies for the target >>>> itkvcl_LIB_DEPENDS:STATIC=general;gdi32; >>>> >>>> //Dependencies for the target >>>> itkvnl_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>>> >>>> //Dependencies for the target >>>> itkvnl_algo_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib;general;itkvnl; >>>> >>>> //Dependencies for the target >>>> itkvnl_inst_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_algo; >>>> >>>> //Dependencies for the target >>>> itkzlib_LIB_DEPENDS:STATIC=general;gdi32; >>>> >>>> //Value Computed by CMake >>>> netlib_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p/netlib >>>> >>>> //Value Computed by CMake >>>> netlib_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p/netlib >>>> >>>> //Value Computed by CMake >>>> vcl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/vcl >>>> >>>> //Value Computed by CMake >>>> vcl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/vcl >>>> >>>> //Value Computed by CMake >>>> vthreep_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p >>>> >>>> //Value Computed by CMake >>>> vthreep_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>>> >>>> //Value Computed by CMake >>>> vxl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl >>>> >>>> //Value Computed by CMake >>>> vxl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl >>>> >>>> //Value Computed by CMake >>>> vxl_config_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/config/cmake/config >>>> >>>> //Value Computed by CMake >>>> vxl_config_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/config/cmake/config >>>> >>>> //Value Computed by CMake >>>> vxlcore_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/core >>>> >>>> //Value Computed by CMake >>>> vxlcore_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/core >>>> >>>> >>>> ######################## >>>> # INTERNAL cache entries >>>> ######################## >>>> >>>> //System handles bit-fields larger than 32 bits. >>>> BIGBITFIELD:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> BIGBITFIELD_VALUE:INTERNAL=TRUE >>>> //ADVANCED property for variable: BUILDNAME >>>> BUILDNAME-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: BZRCOMMAND >>>> BZRCOMMAND-ADVANCED:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> CMAKE_ANSI_FOR_SCOPE:INTERNAL=TRUE >>>> //Have include iostream >>>> CMAKE_ANSI_STREAM_HEADERS:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_AR >>>> CMAKE_AR-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_BACKWARDS_COMPATIBILITY >>>> CMAKE_BACKWARDS_COMPATIBILITY-ADVANCED:INTERNAL=0 >>>> //ADVANCED property for variable: CMAKE_BUILD_TOOL >>>> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >>>> //What is the target build tool cmake is generating for. >>>> CMAKE_BUILD_TOOL:INTERNAL=C:/msys/1.0/bin/make.exe >>>> //This is the directory where this CMakeCache.txt was created >>>> CMAKE_CACHEFILE_DIR:INTERNAL=c:/msys/1.0/home/Insight-mingw >>>> //Major version of cmake used to create the current loaded cache >>>> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >>>> //Minor version of cmake used to create the current loaded cache >>>> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >>>> //Patch version of cmake used to create the current loaded cache >>>> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >>>> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >>>> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >>>> //Path to CMake executable. >>>> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >>>> //Path to cpack program executable. >>>> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >>>> //ADVANCED property for variable: CMAKE_CTEST_COMMAND >>>> CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 >>>> //Path to ctest program executable. >>>> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >>>> //ADVANCED property for variable: CMAKE_CXX_COMPILER >>>> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >>>> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS >>>> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >>>> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >>>> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >>>> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >>>> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_COMPILER >>>> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >>>> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS >>>> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >>>> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >>>> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >>>> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >>>> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >>>> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >>>> //Path to cache edit program executable. >>>> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >>>> //Executable file format >>>> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >>>> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >>>> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >>>> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //Name of generator. >>>> CMAKE_GENERATOR:INTERNAL=MSYS Makefiles >>>> //Result of TRY_COMPILE >>>> CMAKE_HAS_ANSI_STRING_STREAM:INTERNAL=TRUE >>>> //Is X11 around. >>>> CMAKE_HAS_X:INTERNAL= >>>> //Have include limits.h >>>> CMAKE_HAVE_LIMITS_H:INTERNAL=1 >>>> //Have include pthread.h >>>> CMAKE_HAVE_PTHREAD_H:INTERNAL= >>>> //Have include stdint.h >>>> CMAKE_HAVE_STDINT_H:INTERNAL=1 >>>> //Have include CMAKE_HAVE_STDLIB_H >>>> CMAKE_HAVE_STDLIB_H:INTERNAL=1 >>>> //Have includes CMAKE_HAVE_SYS_PRCTL_H >>>> CMAKE_HAVE_SYS_PRCTL_H:INTERNAL= >>>> //Have include unistd.h >>>> CMAKE_HAVE_UNISTD_H:INTERNAL=1 >>>> //Start directory with the top level CMakeLists.txt file for this >>>> // project >>>> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0 >>>> //ADVANCED property for variable: CMAKE_HP_PTHREADS >>>> CMAKE_HP_PTHREADS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_LINKER >>>> CMAKE_LINKER-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >>>> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >>>> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: >>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_NM >>>> CMAKE_NM-ADVANCED:INTERNAL=1 >>>> //Does the compiler support ansi for scope. >>>> CMAKE_NO_ANSI_FOR_SCOPE:INTERNAL=0 >>>> //ADVANCED property for variable: CMAKE_NO_ANSI_STREAM_HEADERS >>>> CMAKE_NO_ANSI_STREAM_HEADERS-ADVANCED:INTERNAL=1 >>>> //Does the compiler support headers like iostream. >>>> CMAKE_NO_ANSI_STREAM_HEADERS:INTERNAL=0 >>>> //Does the compiler support sstream >>>> CMAKE_NO_ANSI_STRING_STREAM:INTERNAL=0 >>>> //Does the compiler support std::. >>>> CMAKE_NO_STD_NAMESPACE:INTERNAL=0 >>>> //number of local generators >>>> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=76 >>>> //ADVANCED property for variable: CMAKE_OBJCOPY >>>> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_OBJDUMP >>>> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_RANLIB >>>> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >>>> //Path to CMake installation. >>>> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >>>> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: >>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>> //Result of CHECK_TYPE_SIZE >>>> CMAKE_SIZEOF_CHAR:INTERNAL=1 >>>> //Result of CHECK_TYPE_SIZE >>>> CMAKE_SIZEOF_DOUBLE:INTERNAL=8 >>>> //Result of CHECK_TYPE_SIZE >>>> CMAKE_SIZEOF_FLOAT:INTERNAL=4 >>>> //Result of CHECK_TYPE_SIZE >>>> CMAKE_SIZEOF_INT:INTERNAL=4 >>>> //Result of CHECK_TYPE_SIZE >>>> CMAKE_SIZEOF_LONG:INTERNAL=4 >>>> //Result of CHECK_TYPE_SIZE >>>> CMAKE_SIZEOF_SHORT:INTERNAL=2 >>>> //Result of CHECK_TYPE_SIZE >>>> CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=2 >>>> //Result of CHECK_TYPE_SIZE >>>> CMAKE_SIZEOF_VOID_P:INTERNAL=4 >>>> //ADVANCED property for variable: CMAKE_SKIP_RPATH >>>> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> CMAKE_STD_NAMESPACE:INTERNAL=TRUE >>>> //ADVANCED property for variable: CMAKE_STRIP >>>> CMAKE_STRIP-ADVANCED:INTERNAL=1 >>>> //Suppress Warnings that are meant for the author of the CMakeLists.txt >>>> // files. >>>> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >>>> //ADVANCED property for variable: CMAKE_THREAD_LIBS >>>> CMAKE_THREAD_LIBS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_USE_PTHREADS >>>> CMAKE_USE_PTHREADS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >>>> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_USE_SPROC >>>> CMAKE_USE_SPROC-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_USE_WIN32_THREADS >>>> CMAKE_USE_WIN32_THREADS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >>>> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >>>> //Result of TEST_BIG_ENDIAN >>>> CMAKE_WORDS_BIGENDIAN:INTERNAL=0 >>>> //ADVANCED property for variable: CMAKE_X_CFLAGS >>>> CMAKE_X_CFLAGS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CMAKE_X_LIBS >>>> CMAKE_X_LIBS-ADVANCED:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> COMPILE_RESULT:INTERNAL=TRUE >>>> //ADVANCED property for variable: COMPRESSIONCOMMAND >>>> COMPRESSIONCOMMAND-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: COVERAGE_COMMAND >>>> COVERAGE_COMMAND-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CPACK_BINARY_NSIS >>>> CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CPACK_BINARY_ZIP >>>> CPACK_BINARY_ZIP-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CPACK_SOURCE_ZIP >>>> CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CVSCOMMAND >>>> CVSCOMMAND-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: CVS_UPDATE_OPTIONS >>>> CVS_UPDATE_OPTIONS-ADVANCED:INTERNAL=1 >>>> //CXX compiler accepts flag -Wno-deprecated >>>> CXX_HAS_DEPRECATED_FLAG:INTERNAL=TRUE >>>> //ADVANCED property for variable: DART_BUILD_ERROR_REPORT_LIMIT >>>> DART_BUILD_ERROR_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: DART_BUILD_WARNING_REPORT_LIMIT >>>> DART_BUILD_WARNING_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: DART_ROOT >>>> DART_ROOT-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: DART_TESTING_TIMEOUT >>>> DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: DART_VERBOSE_BUILD >>>> DART_VERBOSE_BUILD-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: DELIVER_CONTINUOUS_EMAIL >>>> DELIVER_CONTINUOUS_EMAIL-ADVANCED:INTERNAL=1 >>>> //Result of TRY_RUN >>>> DUMMY:INTERNAL=0 >>>> //ADVANCED property for variable: EXECUTABLE_OUTPUT_PATH >>>> EXECUTABLE_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>>> //Single output directory for building all executables. >>>> EXECUTABLE_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>>> //Details about finding Threads >>>> FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE] >>>> //Support for extension C __FUNCTION__ >>>> GDCM_COMPILER_HAS_FUNCTION:INTERNAL=1 >>>> //ADVANCED property for variable: GDCM_DATA_DIR >>>> GDCM_DATA_DIR-ADVANCED:INTERNAL=1 >>>> //Install location for data (relative to prefix). >>>> GDCM_DATA_DIR:INTERNAL=/share/gdcm/ >>>> //ADVANCED property for variable: GDCM_LEGACY_REMOVE >>>> GDCM_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: GDCM_LEGACY_SILENT >>>> GDCM_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>>> //Result of TEST_BIG_ENDIAN >>>> GDCM_WORDS_BIGENDIAN:INTERNAL=0 >>>> //ADVANCED property for variable: GUNZIPCOMMAND >>>> GUNZIPCOMMAND-ADVANCED:INTERNAL=1 >>>> //Have include HAVE_ASSERT_H >>>> HAVE_ASSERT_H:INTERNAL=1 >>>> // >>>> HAVE_BIGBITFIELD_VALUE:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_CMAKE_SIZEOF_CHAR:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_CMAKE_SIZEOF_DOUBLE:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_CMAKE_SIZEOF_FLOAT:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_CMAKE_SIZEOF_INT:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_CMAKE_SIZEOF_LONG:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_CMAKE_SIZEOF_SHORT:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_CMAKE_SIZEOF_VOID_P:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_CMAKE_WORDS_BIGENDIAN:INTERNAL=TRUE >>>> //Have includes HAVE_DLFCN_H >>>> HAVE_DLFCN_H:INTERNAL= >>>> //Have include HAVE_FCNTL_H >>>> HAVE_FCNTL_H:INTERNAL=1 >>>> //Have function floor >>>> HAVE_FLOOR:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> HAVE_GDCM_WORDS_BIGENDIAN:INTERNAL=TRUE >>>> //Have function getopt >>>> HAVE_GETOPT:INTERNAL=1 >>>> //Have includes HAVE_IEEEFP_H >>>> HAVE_IEEEFP_H:INTERNAL= >>>> //Have include HAVE_INTTYPES_H >>>> HAVE_INTTYPES_H:INTERNAL=1 >>>> //Have function isascii >>>> HAVE_ISASCII:INTERNAL=1 >>>> // >>>> HAVE_ITK_CPP_FUNCTION:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_ITK_SIZEOF_LONG_LONG:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_ITK_SIZEOF___INT64:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_KWSYS_SIZEOF_CHAR:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_KWSYS_SIZEOF_INT:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_KWSYS_SIZEOF_LONG:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_KWSYS_SIZEOF_LONG_LONG:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_KWSYS_SIZEOF_SHORT:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_KWSYS_SIZEOF___INT64:INTERNAL=TRUE >>>> //Have library malloc >>>> HAVE_LIBMALLOC:INTERNAL= >>>> //Have include HAVE_LIMITS_H >>>> HAVE_LIMITS_H:INTERNAL=1 >>>> //Have include HAVE_MALLOC_H >>>> HAVE_MALLOC_H:INTERNAL=1 >>>> //Have function memmove >>>> HAVE_MEMMOVE:INTERNAL=1 >>>> //Have include HAVE_MEMORY_H >>>> HAVE_MEMORY_H:INTERNAL=1 >>>> //Have function memset >>>> HAVE_MEMSET:INTERNAL=1 >>>> //Have function mmap >>>> HAVE_MMAP:INTERNAL= >>>> //Have function pow >>>> HAVE_POW:INTERNAL=1 >>>> //Have library Psapi >>>> HAVE_PSAPI:INTERNAL= >>>> //Result of TRY_COMPILE >>>> HAVE_QNANHIBIT_VALUE:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_SIZEOF_INT:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> HAVE_SIZEOF_LONG:INTERNAL=TRUE >>>> //Have function sqrt >>>> HAVE_SQRT:INTERNAL=1 >>>> //Have include stddef.h >>>> HAVE_STDDEF_H:INTERNAL=1 >>>> //Have include stdint.h >>>> HAVE_STDINT_H:INTERNAL=1 >>>> //Have include HAVE_STDLIB_H >>>> HAVE_STDLIB_H:INTERNAL=1 >>>> //Have function strcasecmp >>>> HAVE_STRCASECMP:INTERNAL=1 >>>> //Have function strchr >>>> HAVE_STRCHR:INTERNAL=1 >>>> //Have include HAVE_STRINGS_H >>>> HAVE_STRINGS_H:INTERNAL=1 >>>> //Have include HAVE_STRING_H >>>> HAVE_STRING_H:INTERNAL=1 >>>> //Have function strrchr >>>> HAVE_STRRCHR:INTERNAL=1 >>>> //Have function strstr >>>> HAVE_STRSTR:INTERNAL=1 >>>> //Have function strtol >>>> HAVE_STRTOL:INTERNAL=1 >>>> //Have function areroul >>>> HAVE_STRTOUL:INTERNAL= >>>> //Have include HAVE_SYS_STAT_H >>>> HAVE_SYS_STAT_H:INTERNAL=1 >>>> //Have include HAVE_SYS_TIME_H >>>> HAVE_SYS_TIME_H:INTERNAL=1 >>>> //Have include sys/types.h >>>> HAVE_SYS_TYPES_H:INTERNAL=1 >>>> //Have include unistd.h >>>> HAVE_UNISTD_H:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> HAVE_VXL_BIG_ENDIAN:INTERNAL=TRUE >>>> //Have include HAVE_WINDOWS_H >>>> HAVE_WINDOWS_H:INTERNAL=1 >>>> //ADVANCED property for variable: HGCOMMAND >>>> HGCOMMAND-ADVANCED:INTERNAL=1 >>>> //ImageCompare path to be used by subprojects >>>> IMAGE_COMPARE:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompare >>>> //ImageCompare path to be used by subprojects >>>> IMAGE_COMPARE_COMMAND:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompareCommand >>>> //ImageCopy path to be used by subprojects >>>> IMAGE_COPY:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCopy >>>> //ADVANCED property for variable: ITK_BRAINWEB_DATA_ROOT >>>> ITK_BRAINWEB_DATA_ROOT-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_COMPUTER_MEMORY_SIZE >>>> ITK_COMPUTER_MEMORY_SIZE-ADVANCED:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> ITK_CPP_FUNCTION:INTERNAL=TRUE >>>> //ADVANCED property for variable: ITK_CSWIG_JAVA >>>> ITK_CSWIG_JAVA-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_CSWIG_PYTHON >>>> ITK_CSWIG_PYTHON-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_CSWIG_TCL >>>> ITK_CSWIG_TCL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_DATA_ROOT >>>> ITK_DATA_ROOT-ADVANCED:INTERNAL=1 >>>> //ITK dir to be used by subprojects >>>> ITK_DIR:INTERNAL=C:/msys/1.0/home/Insight-mingw >>>> //ADVANCED property for variable: ITK_EXPLICIT_INSTANTIATION >>>> ITK_EXPLICIT_INSTANTIATION-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE >>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE-ADVANCED:INTERNAL=1 >>>> ITK_INSTALL_PACKAGE_DIR:INTERNAL=/lib/InsightToolkit >>>> //Whether istream supports long long >>>> ITK_ISTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_LEGACY_REMOVE >>>> ITK_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_LEGACY_SILENT >>>> ITK_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_MRI_UNC_DATABASE_DATA_ROOT >>>> ITK_MRI_UNC_DATABASE_DATA_ROOT-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_OSIRIX_DATA_ROOT >>>> ITK_OSIRIX_DATA_ROOT-ADVANCED:INTERNAL=1 >>>> //Whether ostream supports long long >>>> ITK_OSTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>>> //Result of CHECK_TYPE_SIZE >>>> ITK_SIZEOF_LONG_LONG:INTERNAL=8 >>>> //Result of CHECK_TYPE_SIZE >>>> ITK_SIZEOF___INT64:INTERNAL=8 >>>> //Result of TRY_COMPILE >>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_EMPTY_BRACKETS:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_NULL_STRING:INTERNAL=FALSE >>>> //Result of TRY_COMPILE >>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_TEMPLATE_ARGUMENTS:INTERNAL=FALSE >>>> //Result of TRY_COMPILE >>>> ITK_SUPPORTS_TEMPLATE_PARTIAL_SPECIALIZATION:INTERNAL=TRUE >>>> //itkTestDriver path to be used by subprojects >>>> ITK_TEST_DRIVER:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/itkTestDriver >>>> //Whether long and __int64 are the same type >>>> ITK_TYPE_SAME_LONG_AND___INT64:INTERNAL=0 >>>> //ADVANCED property for variable: >>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY >>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_CONCEPT_CHECKING >>>> ITK_USE_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_CONSOLIDATED_MORPHOLOGY >>>> ITK_USE_CONSOLIDATED_MORPHOLOGY-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: >>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION >>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_LIBXML2 >>>> ITK_USE_LIBXML2-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_MINC2 >>>> ITK_USE_MINC2-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_OPTIMIZED_REGISTRATION_METHODS >>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_ORIENTED_IMAGE_DIRECTION >>>> ITK_USE_ORIENTED_IMAGE_DIRECTION-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_PATENTED >>>> ITK_USE_PATENTED-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_REGION_VALIDATION_IN_ITERATORS >>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_REVIEW >>>> ITK_USE_REVIEW-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_REVIEW_STATISTICS >>>> ITK_USE_REVIEW_STATISTICS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_STRICT_CONCEPT_CHECKING >>>> ITK_USE_STRICT_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_SYSTEM_GDCM >>>> ITK_USE_SYSTEM_GDCM-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_SYSTEM_LIBXML2 >>>> ITK_USE_SYSTEM_LIBXML2-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_SYSTEM_PNG >>>> ITK_USE_SYSTEM_PNG-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_SYSTEM_TIFF >>>> ITK_USE_SYSTEM_TIFF-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_SYSTEM_VXL >>>> ITK_USE_SYSTEM_VXL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_SYSTEM_ZLIB >>>> ITK_USE_SYSTEM_ZLIB-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: >>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING >>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_USE_TRANSFORM_IO_FACTORIES >>>> ITK_USE_TRANSFORM_IO_FACTORIES-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: ITK_VISIBLEHUMAN_DATA_ROOT >>>> ITK_VISIBLEHUMAN_DATA_ROOT-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: JAVACOMMAND >>>> JAVACOMMAND-ADVANCED:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> KWSYS_CAN_CONVERT_UI64_TO_DOUBLE_COMPILED:INTERNAL=FALSE >>>> //Result of TRY_RUN >>>> KWSYS_CHAR_IS_SIGNED:INTERNAL=0 >>>> //Result of TRY_COMPILE >>>> KWSYS_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_CXX_HAS_CSTDDEF_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_CXX_HAS_CSTDIO_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_CXX_HAS_FULL_SPECIALIZATION_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_CXX_HAS_MEMBER_TEMPLATES_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS_COMPILED:INTERNAL=FALSE >>>> //Result of TRY_COMPILE >>>> KWSYS_CXX_SAME_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>>> //Result of TRY_COMPILE >>>> KWSYS_CXX_SAME_LONG_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>>> //Result of TRY_COMPILE >>>> KWSYS_IOS_HAVE_BINARY_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_IOS_HAVE_STD_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_IOS_USE_ANSI_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_IOS_USE_SSTREAM_COMPILED:INTERNAL=TRUE >>>> //Checking for Large File Support failed to compile. >>>> KWSYS_LFS_WORKS:INTERNAL=-1 >>>> //Result of TRY_COMPILE >>>> KWSYS_LFS_WORKS_COMPILED:INTERNAL=FALSE >>>> //Result of CHECK_TYPE_SIZE >>>> KWSYS_SIZEOF_CHAR:INTERNAL=1 >>>> //Result of CHECK_TYPE_SIZE >>>> KWSYS_SIZEOF_INT:INTERNAL=4 >>>> //Result of CHECK_TYPE_SIZE >>>> KWSYS_SIZEOF_LONG:INTERNAL=4 >>>> //Result of CHECK_TYPE_SIZE >>>> KWSYS_SIZEOF_LONG_LONG:INTERNAL=8 >>>> //Result of CHECK_TYPE_SIZE >>>> KWSYS_SIZEOF_SHORT:INTERNAL=2 >>>> //Result of CHECK_TYPE_SIZE >>>> KWSYS_SIZEOF___INT64:INTERNAL=8 >>>> //Result of TRY_COMPILE >>>> KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT_COMPILED:INTERNAL=FALSE >>>> //Result of TRY_COMPILE >>>> KWSYS_STL_HAS_ALLOCATOR_OBJECTS_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_STL_HAS_ALLOCATOR_REBIND_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_STL_HAS_ALLOCATOR_TEMPLATE_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_STL_HAS_ITERATOR_TRAITS_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_STL_HAVE_STD_COMPILED:INTERNAL=TRUE >>>> //Result of TRY_COMPILE >>>> KWSYS_STL_STRING_HAVE_NEQ_CHAR_COMPILED:INTERNAL=TRUE >>>> //ADVANCED property for variable: LIBRARY_OUTPUT_PATH >>>> LIBRARY_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>>> //Single output directory for building all libraries. >>>> LIBRARY_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>>> //ADVANCED property for variable: MAKECOMMAND >>>> MAKECOMMAND-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: MEMORYCHECK_COMMAND >>>> MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE >>>> MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 >>>> //The 22nd bit of 32-bit floating-point quiet NaN. >>>> QNANHIBIT:INTERNAL=1 >>>> //Result of TRY_RUN >>>> QNANHIBIT_VALUE:INTERNAL=1 >>>> //Result of TRY_RUN >>>> RUN_RESULT:INTERNAL=1 >>>> //ADVANCED property for variable: SCPCOMMAND >>>> SCPCOMMAND-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: SITE >>>> SITE-ADVANCED:INTERNAL=1 >>>> //Result of CHECK_TYPE_SIZE >>>> SIZEOF_INT:INTERNAL=4 >>>> //Result of CHECK_TYPE_SIZE >>>> SIZEOF_LONG:INTERNAL=4 >>>> //ADVANCED property for variable: SLURM_SBATCH_COMMAND >>>> SLURM_SBATCH_COMMAND-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: SLURM_SRUN_COMMAND >>>> SLURM_SRUN_COMMAND-ADVANCED:INTERNAL=1 >>>> //CXX compiler accepts flag -features=no%anachronisms >>>> SUN_COMPILER:INTERNAL=FALSE >>>> //ADVANCED property for variable: SVNCOMMAND >>>> SVNCOMMAND-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: TCL_TCLSH >>>> TCL_TCLSH-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: USE_FFTWD >>>> USE_FFTWD-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: USE_FFTWF >>>> USE_FFTWF-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: USE_SCSL >>>> USE_SCSL-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: USE_WRAP_ITK >>>> USE_WRAP_ITK-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: UUID_INCLUDE_DIR >>>> UUID_INCLUDE_DIR-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: UUID_LIBRARY >>>> UUID_LIBRARY-ADVANCED:INTERNAL=1 >>>> //VXL test >>>> VCL_ALLOWS_INLINE_INSTANTIATION:INTERNAL=1 >>>> //VXL test >>>> VCL_ALLOWS_NAMESPACE_STD:INTERNAL=1 >>>> //VXL test >>>> VCL_CANNOT_SPECIALIZE_CV:INTERNAL=1 >>>> //VXL test >>>> VCL_CAN_DO_COMPLETE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>>> //VXL test >>>> VCL_CAN_DO_IMPLICIT_TEMPLATES:INTERNAL=1 >>>> //VXL test >>>> VCL_CAN_DO_NON_TYPE_FUNCTION_TEMPLATE_PARAMETER:INTERNAL=1 >>>> //VXL test >>>> VCL_CAN_DO_PARTIAL_SPECIALIZATION:INTERNAL=1 >>>> //VXL test >>>> VCL_CAN_DO_STATIC_TEMPLATE_MEMBER:INTERNAL=1 >>>> //VXL test >>>> VCL_CAN_DO_TEMPLATE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>>> //VXL test ?(successful run) >>>> VCL_CHAR_IS_SIGNED:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> VCL_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>>> //VXL test ?(successful run) >>>> VCL_COMPLEX_POW_WORKS:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> VCL_COMPLEX_POW_WORKS_COMPILED:INTERNAL=TRUE >>>> //Have include algorithm >>>> VCL_CXX_HAS_HEADER_ALGORITHM:INTERNAL=1 >>>> //Have include bitset >>>> VCL_CXX_HAS_HEADER_BITSET:INTERNAL=1 >>>> //Have include cassert >>>> VCL_CXX_HAS_HEADER_CASSERT:INTERNAL=1 >>>> //Have include cctype >>>> VCL_CXX_HAS_HEADER_CCTYPE:INTERNAL=1 >>>> //Have include cerrno >>>> VCL_CXX_HAS_HEADER_CERRNO:INTERNAL=1 >>>> //Have include cfloat >>>> VCL_CXX_HAS_HEADER_CFLOAT:INTERNAL=1 >>>> //Have include ciso646 >>>> VCL_CXX_HAS_HEADER_CISO646:INTERNAL=1 >>>> //Have include climits >>>> VCL_CXX_HAS_HEADER_CLIMITS:INTERNAL=1 >>>> //Have include clocale >>>> VCL_CXX_HAS_HEADER_CLOCALE:INTERNAL=1 >>>> //Have include cmath >>>> VCL_CXX_HAS_HEADER_CMATH:INTERNAL=1 >>>> //Have include complex >>>> VCL_CXX_HAS_HEADER_COMPLEX:INTERNAL=1 >>>> //Have include csetjmp >>>> VCL_CXX_HAS_HEADER_CSETJMP:INTERNAL=1 >>>> //Have include csignal >>>> VCL_CXX_HAS_HEADER_CSIGNAL:INTERNAL=1 >>>> //Have include cstdarg >>>> VCL_CXX_HAS_HEADER_CSTDARG:INTERNAL=1 >>>> //Have include cstddef >>>> VCL_CXX_HAS_HEADER_CSTDDEF:INTERNAL=1 >>>> //Have include cstdio >>>> VCL_CXX_HAS_HEADER_CSTDIO:INTERNAL=1 >>>> //Have include cstdlib >>>> VCL_CXX_HAS_HEADER_CSTDLIB:INTERNAL=1 >>>> //Have include cstring >>>> VCL_CXX_HAS_HEADER_CSTRING:INTERNAL=1 >>>> //Have include ctime >>>> VCL_CXX_HAS_HEADER_CTIME:INTERNAL=1 >>>> //Have include cwchar >>>> VCL_CXX_HAS_HEADER_CWCHAR:INTERNAL=1 >>>> //Have include cwctype >>>> VCL_CXX_HAS_HEADER_CWCTYPE:INTERNAL=1 >>>> //Have include deque >>>> VCL_CXX_HAS_HEADER_DEQUE:INTERNAL=1 >>>> //Have include exception >>>> VCL_CXX_HAS_HEADER_EXCEPTION:INTERNAL=1 >>>> //Have include fstream >>>> VCL_CXX_HAS_HEADER_FSTREAM:INTERNAL=1 >>>> //Have include functional >>>> VCL_CXX_HAS_HEADER_FUNCTIONAL:INTERNAL=1 >>>> //Have include iomanip >>>> VCL_CXX_HAS_HEADER_IOMANIP:INTERNAL=1 >>>> //Have include ios >>>> VCL_CXX_HAS_HEADER_IOS:INTERNAL=1 >>>> //Have include iosfwd >>>> VCL_CXX_HAS_HEADER_IOSFWD:INTERNAL=1 >>>> //Have include iostream >>>> VCL_CXX_HAS_HEADER_IOSTREAM:INTERNAL=1 >>>> //Have include iso646.h >>>> VCL_CXX_HAS_HEADER_ISO646_H:INTERNAL=1 >>>> //Have include istream >>>> VCL_CXX_HAS_HEADER_ISTREAM:INTERNAL=1 >>>> //Have include iterator >>>> VCL_CXX_HAS_HEADER_ITERATOR:INTERNAL=1 >>>> //Have include limits >>>> VCL_CXX_HAS_HEADER_LIMITS:INTERNAL=1 >>>> //Have include list >>>> VCL_CXX_HAS_HEADER_LIST:INTERNAL=1 >>>> //Have include locale >>>> VCL_CXX_HAS_HEADER_LOCALE:INTERNAL=1 >>>> //Have include map >>>> VCL_CXX_HAS_HEADER_MAP:INTERNAL=1 >>>> //Have include memory >>>> VCL_CXX_HAS_HEADER_MEMORY:INTERNAL=1 >>>> //Have include new >>>> VCL_CXX_HAS_HEADER_NEW:INTERNAL=1 >>>> //Have include numeric >>>> VCL_CXX_HAS_HEADER_NUMERIC:INTERNAL=1 >>>> //Have include ostream >>>> VCL_CXX_HAS_HEADER_OSTREAM:INTERNAL=1 >>>> //Have include queue >>>> VCL_CXX_HAS_HEADER_QUEUE:INTERNAL=1 >>>> //Have include set >>>> VCL_CXX_HAS_HEADER_SET:INTERNAL=1 >>>> //Have include sstream >>>> VCL_CXX_HAS_HEADER_SSTREAM:INTERNAL=1 >>>> //Have include stack >>>> VCL_CXX_HAS_HEADER_STACK:INTERNAL=1 >>>> //Have include stdexcept >>>> VCL_CXX_HAS_HEADER_STDEXCEPT:INTERNAL=1 >>>> //Have include streambuf >>>> VCL_CXX_HAS_HEADER_STREAMBUF:INTERNAL=1 >>>> //Have include string >>>> VCL_CXX_HAS_HEADER_STRING:INTERNAL=1 >>>> //Have include strstream >>>> VCL_CXX_HAS_HEADER_STRSTREAM:INTERNAL=1 >>>> //Have include typeinfo >>>> VCL_CXX_HAS_HEADER_TYPEINFO:INTERNAL=1 >>>> //Have include utility >>>> VCL_CXX_HAS_HEADER_UTILITY:INTERNAL=1 >>>> //Have include valarray >>>> VCL_CXX_HAS_HEADER_VALARRAY:INTERNAL=1 >>>> //Have include vector >>>> VCL_CXX_HAS_HEADER_VECTOR:INTERNAL=1 >>>> //VXL test >>>> VCL_DEFAULT_VALUE:INTERNAL=1 >>>> //VXL test >>>> VCL_DEFINE_SPECIALIZATION:INTERNAL=1 >>>> //VXL test >>>> VCL_FOR_SCOPE_HACK:INTERNAL=1 >>>> //VXL test >>>> VCL_HAS_BOOL:INTERNAL=1 >>>> //VXL test >>>> VCL_HAS_DYNAMIC_CAST:INTERNAL=1 >>>> //VXL test >>>> VCL_HAS_EXCEPTIONS:INTERNAL=1 >>>> //VXL test >>>> VCL_HAS_EXPLICIT:INTERNAL=1 >>>> //VXL test >>>> VCL_HAS_EXPORT:INTERNAL=1 >>>> //VXL test ?(successful run) >>>> VCL_HAS_LFS:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> VCL_HAS_LFS_COMPILED:INTERNAL=TRUE >>>> //VXL test >>>> VCL_HAS_MEMBER_TEMPLATES:INTERNAL=1 >>>> //VXL test >>>> VCL_HAS_MUTABLE:INTERNAL=1 >>>> //VXL test >>>> VCL_HAS_NAMESPACES:INTERNAL=1 >>>> //VXL test >>>> VCL_HAS_RTTI:INTERNAL=1 >>>> //VXL test ?(successful run) >>>> VCL_HAS_SLICED_DESTRUCTOR_BUG:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> VCL_HAS_SLICED_DESTRUCTOR_BUG_COMPILED:INTERNAL=TRUE >>>> //Test ?(failed to compile) >>>> VCL_HAS_TEMPLATE_SYMBOLS:INTERNAL=0 >>>> //Result of TRY_COMPILE >>>> VCL_HAS_TEMPLATE_SYMBOLS_COMPILED:INTERNAL=FALSE >>>> //VXL test >>>> VCL_HAS_TYPENAME:INTERNAL=1 >>>> //VXL test ?(successful run) >>>> VCL_HAS_WORKING_STRINGSTREAM:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> VCL_HAS_WORKING_STRINGSTREAM_COMPILED:INTERNAL=TRUE >>>> //VXL test >>>> VCL_NEEDS_INLINE_INSTANTIATION:INTERNAL=1 >>>> //Test >>>> VCL_NEEDS_NAMESPACE_STD:INTERNAL=0 >>>> //VXL test >>>> VCL_NEED_FRIEND_FOR_TEMPLATE_OVERLOAD:INTERNAL=1 >>>> //VXL test >>>> VCL_NO_STATIC_DATA_MEMBERS:INTERNAL=1 >>>> //Test >>>> VCL_NULL_TMPL_ARGS:INTERNAL=0 >>>> //VXL test ?(successful run) >>>> VCL_NUMERIC_LIMITS_HAS_INFINITY:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> VCL_NUMERIC_LIMITS_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>>> //Test >>>> VCL_OVERLOAD_CAST:INTERNAL=0 >>>> //VXL test ?(successful run) >>>> VCL_PROCESSOR_HAS_INFINITY:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> VCL_PROCESSOR_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>>> //VXL test >>>> VCL_STATIC_CONST_INIT_FLOAT:INTERNAL=1 >>>> //VXL test >>>> VCL_STATIC_CONST_INIT_INT:INTERNAL=1 >>>> //Test >>>> VCL_STATIC_CONST_INIT_NO_DEFN:INTERNAL=0 >>>> //VXL test >>>> VCL_SUNPRO_CLASS_SCOPE_HACK:INTERNAL=1 >>>> //VXL test >>>> VCL_TEMPLATE_MATCHES_TOO_OFTEN:INTERNAL=1 >>>> //Are we using an version of gcc < 3.0 >>>> VNL_COMPILER_IS_GNUCXX_2XX:INTERNAL=0 >>>> //ADVANCED property for variable: VNL_CONFIG_CHECK_BOUNDS >>>> VNL_CONFIG_CHECK_BOUNDS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2 >>>> VNL_CONFIG_ENABLE_SSE2-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2_ROUNDING >>>> VNL_CONFIG_ENABLE_SSE2_ROUNDING-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: VNL_CONFIG_LEGACY_METHODS >>>> VNL_CONFIG_LEGACY_METHODS-ADVANCED:INTERNAL=1 >>>> //ADVANCED property for variable: VNL_CONFIG_THREAD_SAFE >>>> VNL_CONFIG_THREAD_SAFE-ADVANCED:INTERNAL=1 >>>> //Result of TEST_BIG_ENDIAN >>>> VXL_BIG_ENDIAN:INTERNAL=0 >>>> //VXL test result >>>> VXL_BYTE:INTERNAL=char >>>> //Serial number of last configuration >>>> VXL_CONFIG_SERIAL_LAST:INTERNAL=2007-13-09-001 >>>> //Have symbol finite >>>> VXL_C_MATH_HAS_FINITE:INTERNAL=1 >>>> //Have symbol finitef >>>> VXL_C_MATH_HAS_FINITEF:INTERNAL= >>>> //Have symbol finitel >>>> VXL_C_MATH_HAS_FINITEL:INTERNAL= >>>> //VXL test >>>> VXL_C_MATH_HAS_LROUND:INTERNAL=1 >>>> //Have symbol sqrtf >>>> VXL_C_MATH_HAS_SQRTF:INTERNAL=1 >>>> //Test >>>> VXL_HAS_ALIGNED_MALLOC:INTERNAL=0 >>>> //VXL test result >>>> VXL_HAS_BYTE:INTERNAL=1 >>>> //Test >>>> VXL_HAS_DBGHELP_H:INTERNAL=0 >>>> //Have include emmintrin.h >>>> VXL_HAS_EMMINTRIN_H:INTERNAL=1 >>>> //Have include ieeefp.h >>>> VXL_HAS_IEEEFP_H:INTERNAL= >>>> //VXL test result >>>> VXL_HAS_IEEE_128:INTERNAL=0 >>>> //VXL test result >>>> VXL_HAS_IEEE_32:INTERNAL=1 >>>> //VXL test result >>>> VXL_HAS_IEEE_64:INTERNAL=1 >>>> //VXL test result >>>> VXL_HAS_IEEE_96:INTERNAL=1 >>>> //VXL test result >>>> VXL_HAS_INT_16:INTERNAL=1 >>>> //VXL test result >>>> VXL_HAS_INT_32:INTERNAL=1 >>>> //VXL test result >>>> VXL_HAS_INT_64:INTERNAL=1 >>>> //VXL test result >>>> VXL_HAS_INT_8:INTERNAL=1 >>>> //VXL test >>>> VXL_HAS_MINGW_ALIGNED_MALLOC:INTERNAL=1 >>>> //Test >>>> VXL_HAS_MM_MALLOC:INTERNAL=0 >>>> //Test >>>> VXL_HAS_POSIX_MEMALIGN:INTERNAL=0 >>>> //Have include pthread.h >>>> VXL_HAS_PTHREAD_H:INTERNAL= >>>> //Have include semaphore.h >>>> VXL_HAS_SEMAPHORE_H:INTERNAL= >>>> //Test ?(failed to compile) >>>> VXL_HAS_SSE2_HARDWARE_SUPPORT:INTERNAL=0 >>>> //Result of TRY_COMPILE >>>> VXL_HAS_SSE2_HARDWARE_SUPPORT_COMPILED:INTERNAL=FALSE >>>> //Have symbol finite >>>> VXL_IEEEFP_HAS_FINITE:INTERNAL= >>>> //VXL test result >>>> VXL_IEEE_128:INTERNAL=void >>>> //VXL test result >>>> VXL_IEEE_32:INTERNAL=float >>>> //VXL test result >>>> VXL_IEEE_64:INTERNAL=double >>>> //VXL test result >>>> VXL_IEEE_96:INTERNAL=long double >>>> //VXL test result >>>> VXL_INT_16:INTERNAL=short >>>> //VXL test result >>>> VXL_INT_32:INTERNAL=int >>>> //VXL test result >>>> VXL_INT_64:INTERNAL=long long >>>> //VXL test result >>>> VXL_INT_8:INTERNAL=char >>>> //VXL test ?(successful run) >>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE:INTERNAL=1 >>>> //Result of TRY_COMPILE >>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_COMPILED:INTERNAL=TRUE >>>> //help string for how to enable SSE2 support >>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_HELP:INTERNAL=The current compiler >>>> flags >>>> do not allow the SSE2 instructions to be used. ;It looks like if you add >>>> the >>>> flag '-msse2' you will be able to use the ;SSE2 instructions. If you >>>> chose >>>> to set VNL_CONFIG_ENABLE_SSE or ;VNL_CONFIG_ENABLE_SSE2_ROUNDING to ON, >>>> cmake will put this flag for you. ;You can also add this flag yourself. >>>> If >>>> you still see this message, after ;the flag change, you may need to set >>>> VXL_UPDATE_CONFIGURATION to ON and ;rerun cmake. >>>> //Have symbol drand48 >>>> VXL_STDLIB_HAS_DRAND48:INTERNAL= >>>> //Have symbol lrand48 >>>> VXL_STDLIB_HAS_LRAND48:INTERNAL= >>>> //VXL test >>>> VXL_STDLIB_HAS_QSORT:INTERNAL=1 >>>> //Have symbol srand48 >>>> VXL_STDLIB_HAS_SRAND48:INTERNAL= >>>> //Have function getpid >>>> VXL_UNISTD_HAS_GETPID:INTERNAL=1 >>>> //Have symbol intptr_t >>>> VXL_UNISTD_HAS_INTPTR_T:INTERNAL=1 >>>> //Have function lchown >>>> VXL_UNISTD_HAS_LCHOWN:INTERNAL= >>>> //Have function pread >>>> VXL_UNISTD_HAS_PREAD:INTERNAL= >>>> //Have function pwrite >>>> VXL_UNISTD_HAS_PWRITE:INTERNAL= >>>> //Have function tell >>>> VXL_UNISTD_HAS_TELL:INTERNAL=1 >>>> //Have function ualarm >>>> VXL_UNISTD_HAS_UALARM:INTERNAL= >>>> //Have symbol useconds_t >>>> VXL_UNISTD_HAS_USECONDS_T:INTERNAL=1 >>>> //Have function usleep >>>> VXL_UNISTD_HAS_USLEEP:INTERNAL=1 >>>> //VXL test >>>> VXL_UNISTD_USLEEP_IS_VOID:INTERNAL=1 >>>> //ADVANCED property for variable: VXL_UPDATE_CONFIGURATION >>>> VXL_UPDATE_CONFIGURATION-ADVANCED:INTERNAL=1 >>>> >>>> >>>> >>>> >>>> >>>> >>>> Bill Lorensen wrote: >>>>> >>>>> You are in the wrong directory. Look in the directory that is >>>>> described in the CMakeCache.txt variable Project_BINARY_DIR >>>>> >>>>> cd to that directory and type make >>>>> >>>>> >>>>> On Thu, Dec 10, 2009 at 4:22 PM, URI >>>>> wrote: >>>>>> >>>>>> I get the message: >>>>>> >>>>>> make: *** No targets specified and no makefile found. ?Stop. >>>>>> >>>>>> >>>>>> >>>>>> 10) Start an msys shell by running msys.bat >>>>>> 11) cd to the locations you selected where to build the binaries. >>>>>> 12) make >>>>>> >>>>>> -- >>>>>> View this message in context: >>>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4147921.html >>>>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>>>> _____________________________________ >>>>>> Powered by www.kitware.com >>>>>> >>>>>> Visit other Kitware open-source projects at >>>>>> http://www.kitware.com/opensource/opensource.html >>>>>> >>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>> http://www.kitware.com/products/protraining.html >>>>>> >>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>> >>>>>> Follow this link to subscribe/unsubscribe: >>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>> >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.html >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149414.html >>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >>> >> >> -- >> View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149580.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > From jelleferinga at gmail.com Fri Dec 11 09:35:56 2009 From: jelleferinga at gmail.com (jelle) Date: Fri, 11 Dec 2009 14:35:56 +0000 (UTC) Subject: [Insight-users] troubles while building itk 3.16 for snow leopard - 10.6 Message-ID: hi, I'm trying to build itk 3.16 on snow leopard, with wrapitk enabled. My goal is to build the wrappers for 64 bit python 2.6. I've got Xcode 3.2 / swig 1.3.40 installed and CableSwig from: http://code.google.com/p/wrapitk/wiki/WrapITKBinaries While building itk, I run into the following error. Any ideas what I can do to overcome this issue? Should I build CableSwig from scratch? Many thanks in advance, -jelle [ 29%] Generating wrap_vcl_complex.xml In file included from /usr/include/c++/4.2.1/cstdlib:72, from /usr/include/c++/4.2.1/bits/stl_algobase.h:68, from /usr/include/c++/4.2.1/bits/char_traits.h:46, from /usr/include/c++/4.2.1/ios:45, from /usr/include/c++/4.2.1/istream:44, from /usr/include/c++/4.2.1/sstream:44, from /usr/include/c++/4.2.1/complex:50, from /Users/localadmin/Src/InsightToolkit-3.16.0/Utilities/vxl/vcl/iso/vcl_complex.h:6, from /Users/localadmin/Src/InsightToolkit-3.16.0/Utilities/vxl/vcl/vcl_complex.h:62, from /Users/localadmin/Src/itk_build/Wrapping/WrapITK/Modules/ VXLNumerics/wrap_vcl_complex.cxx:1: /usr/include/stdlib.h:272: error: expected primary-expression before 'void' /usr/include/stdlib.h:274: error: expected `)' before '^' token /usr/include/stdlib.h:274: error: expected ',' or '...' before '^' token /usr/include/stdlib.h:274: error: expected initializer before ')' token /usr/include/stdlib.h:301: error: expected `)' before '^' token /usr/include/stdlib.h:301: error: expected ',' or '...' before '^' token /usr/include/stdlib.h:301: error: expected initializer before ')' token /usr/include/stdlib.h:307: error: expected `)' before '^' token /usr/include/stdlib.h:307: error: expected ',' or '...' before '^' token /usr/include/stdlib.h:307: error: expected initializer before ')' token /usr/include/stdlib.h:313: error: expected `)' before '^' token /usr/include/stdlib.h:313: error: expected ',' or '...' before '^' token /usr/include/stdlib.h:313: error: expected initializer before ')' token /usr/include/stdlib.h:319: error: expected `)' before '^' token /usr/include/stdlib.h:319: error: expected ',' or '...' before '^' token /usr/include/stdlib.h:319: error: expected initializer before ')' token make[2]: *** [Wrapping/WrapITK/Modules/VXLNumerics/wrap_vcl_complex.xml] Error 1 make[1]: *** [Wrapping/WrapITK/Modules/VXLNumerics/CMakeFiles/ _VXLNumericsPython.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... From marco.giord at gmail.com Fri Dec 11 09:41:21 2009 From: marco.giord at gmail.com (marco giordano) Date: Fri, 11 Dec 2009 15:41:21 +0100 Subject: [Insight-users] Affine transform based registration in 3D Message-ID: Hi, I am running an Affine transform registration in 3D (basically ImageRegistration9.cxx). In order to support 3D mode, appart from some obvious changes, I did the following: Extend the optimizer scale: .... optimizerScales[0] = 1.0; optimizerScales[1] = 1.0; optimizerScales[2] = 1.0; optimizerScales[3] = 1.0; optimizerScales[4] = 1.0; optimizerScales[5] = 1.0; optimizerScales[6] = 1.0; optimizerScales[7] = 1.0; optimizerScales[8] = 1.0; optimizerScales[9] = translationScale; optimizerScales[10] = translationScale; optimizerScales[11] = translationScale; ... Get the full set of final parameters to print out .... const double finalRotationCenterX = transform->GetCenter()[0]; const double finalRotationCenterY = transform->GetCenter()[1]; const double finalRotationCenterZ = transform->GetCenter()[2]; const double finalTranslationX = finalParameters[9]; const double finalTranslationY = finalParameters[10]; const double finalTranslationZ = finalParameters[11]; .... Then I guess I must retrieve the rotation angle by SVD which I guess it is run on the 3x3 matrix but I do not know in which order I must pick up the value. I am not sure that I got this right but my guess would be: (Guess) vnl_matrix p(3, 3); p[0][0] = (double) finalParameters[0]; p[0][1] = (double) finalParameters[1]; p[0][2] = (double) finalParameters[2]; p[1][0] = (double) finalParameters[3]; p[1][1] = (double) finalParameters[4]; p[1][2] = (double) finalParameters[5]; p[2][0] = (double) finalParameters[6]; p[2][1] = (double) finalParameters[7]; p[2][2] = (double) finalParameters[8]; vnl_svd svd(p); vnl_matrix r(3, 3); r = svd.U() * vnl_transpose(svd.V()); double angle = asin(r[1][0]); std::cout << " Scale 1 = " << svd.W(0) << std::endl; std::cout << " Scale 2 = " << svd.W(1) << std::endl; std::cout << " Scale 3 = " << svd.W(3) << std::endl; std::cout << " Angle (degrees) = " << angle * 45.0 / atan(1.0) << std::endl; Does that make sense ? I would appreciate some help on that. Thank you -- Marco G. -------------- next part -------------- An HTML attachment was scrubbed... URL: From luis.ibanez at kitware.com Fri Dec 11 10:28:06 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 10:28:06 -0500 Subject: [Insight-users] Using c++ stl containers in the transform? In-Reply-To: <54eca6a70912100909k217b59f7g7ef6a66813e6110b@mail.gmail.com> References: <54eca6a70912100409t67f2a30w9535e7ce50ce3135@mail.gmail.com> <54eca6a70912100909k217b59f7g7ef6a66813e6110b@mail.gmail.com> Message-ID: Hi Motes, Please see comments interleaved with your text below. Thanks Luis ------------------------------------------- On Thu, Dec 10, 2009 at 12:09 PM, motes motes wrote: > On Thu, Dec 10, 2009 at 3:23 PM, Luis Ibanez wrote: >> Hi Motes, >> >> Before we dive into the details of your code.... >> >> Are you compiling you application for "Release" ?? > > > Yes > >> In order to do profiling comparisons, you must >> start first by making sure that you are using the >> compiler's optimization. >> >> >> Using STL containers is as efficient as using >> pointers, as long as you access the elements >> of the container via STL iterators. > > I have not found any documentation that says that doing: > > std::vector container; > // Add 100000 strings to container > > std::vector::iterator it = container.begin() > while (it != container.end()) { > ?std::string str = *it; > ?// do something with str > ?it++; > } > > is faster than: > > int size = ?container.size(); > for (int i=0; i< size; i++) { > ?std::string str = container[i]; > ?// do something with str > } > > > I have tried both implementation in my transform and I do not > experince any difference in performance. > Yes, that's exactly what I said in my previous email: That using STL iteratos is *as fast as* using pointers. (as long as you compile for Release). > >> Do the operations of mapping points involve >> inserting new elements or removing exising >> elements from the STL containers in your >> Transform ?? >> > > I only lookup existing elements and read the contents of those. I do > not add or delete any elements. > > What method are you using for "looking up" elements in the container ? and ... what container are you using ? (std::vector ? std::map?). > > > >> >> ? ?Please let us know, >> >> >> ? ? ? ?Thanks >> >> >> ? ? ? ? ? ? Luis >> >> >> -------------------------------------------------- >> On Thu, Dec 10, 2009 at 7:09 AM, motes motes wrote: >>> I have created a transform (TransformPoint) that iterates a >>> std::vector base on a lookup in a std::map. I can't get the same >>> performance compared to running the ?BSplineDeformableTransform and I >>> suspect that its beause I use the stl containers. Typically I only >>> iterate 10-40 elements in the vector based on a single lookup in the >>> map (lg n time). >>> >>> Does anyone have experiences with the pros and cons of using the stl >>> containers in per pixel/voxel functions like the TransformPoint in the >>> BSplineDeformableTransform? >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > From luis.ibanez at kitware.com Fri Dec 11 10:36:50 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 10:36:50 -0500 Subject: [Insight-users] Affine transform based registration in 3D In-Reply-To: References: Message-ID: Hi Marco, You got most of it right. The rotation aspect, however, requires a bit more work. The AffineTransform can give you a combination of * Shearing * Scaling * Rotation So, first you must separate the rotational part of the Matrix from the rest (scaling and shearing). This can be done by using Polar decomposition, for Details, please See: http://www.cmake.org/pipermail/insight-users/2006-August/019025.html Once you extract the Orthogonal matrix (that represents rotation) out of the Affine Matrix, you can feed it into a Versor, by using the method: versor.SetMatrix( orthogonalMatrix ) and finally, from the Versor, you can get: double angle = versor.GetAngle(); VectorType rotationAxis = versor.GetAxis(); that will tell you how many *radians* is the current Affine transform rotating, and around what axis in space. Regards, Luis ----------------------------------- On Fri, Dec 11, 2009 at 9:41 AM, marco giordano wrote: > Hi, > > I am running an Affine transform registration in 3D (basically > ImageRegistration9.cxx). > > In order to support 3D mode, appart from some obvious changes, I did the > following: > > Extend the optimizer scale: > > .... > ?optimizerScales[0] =? 1.0; > ? optimizerScales[1] =? 1.0; > ? optimizerScales[2] =? 1.0; > ? optimizerScales[3] =? 1.0; > ? optimizerScales[4] =? 1.0; > ? optimizerScales[5] =? 1.0; > ? optimizerScales[6] =? 1.0; > ? optimizerScales[7] =? 1.0; > ? optimizerScales[8] =? 1.0; > ? optimizerScales[9] =? translationScale; > ? optimizerScales[10] =? translationScale; > ? optimizerScales[11] =? translationScale; > ... > > > Get the full set of final parameters to print out > > .... > const double finalRotationCenterX = transform->GetCenter()[0]; > ? const double finalRotationCenterY = transform->GetCenter()[1]; > ? const double finalRotationCenterZ = transform->GetCenter()[2]; > ? const double finalTranslationX??? = finalParameters[9]; > ? const double finalTranslationY??? = finalParameters[10]; > ? const double finalTranslationZ??? = finalParameters[11]; > .... > > Then I guess I must retrieve the rotation angle by SVD > which I guess it is run on the 3x3 matrix but I do not know in which order I > must pick up the value. I am not sure that I got > this right but my guess would be: > > (Guess) > ?vnl_matrix p(3, 3); > ? p[0][0] = (double) finalParameters[0]; > ? p[0][1] = (double) finalParameters[1]; > ? p[0][2] = (double) finalParameters[2]; > > ? p[1][0] = (double) finalParameters[3]; > ? p[1][1] = (double) finalParameters[4]; > ? p[1][2] = (double) finalParameters[5]; > > ? p[2][0] = (double) finalParameters[6]; > ? p[2][1] = (double) finalParameters[7]; > ? p[2][2] = (double) finalParameters[8]; > > > ? vnl_svd svd(p); > ? vnl_matrix r(3, 3); > ? r = svd.U() * vnl_transpose(svd.V()); > ? double angle = asin(r[1][0]); > > ? std::cout << " Scale 1???????? = " << svd.W(0)???????????????? << > std::endl; > ? std::cout << " Scale 2???????? = " << svd.W(1)???????????????? << > std::endl; > ? std::cout << " Scale 3???????? = " << svd.W(3)???????????????? << > std::endl; > ? std::cout << " Angle (degrees) = " << angle * 45.0 / atan(1.0) << > std::endl; > > > Does that make sense ? > > I would appreciate some help on that. > > Thank you > > -- > Marco G. > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Fri Dec 11 10:43:02 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 10:43:02 -0500 Subject: [Insight-users] Motion estimation In-Reply-To: <4B2226AF.7070500@mdc-berlin.de> References: <4B2226AF.7070500@mdc-berlin.de> Message-ID: Hi Matthias, We don't have motion-estimation filters per-se, but we have deformable registration filters that are based on Optical-Flow concepts, and therefore, some of them could be applicable to motion estimation. In particular, you may want to look at: * DemonsRegistrationFilter, and * LevelSetMotionRegistrationFilter Both of them, can be found in the directory: Insight/Code/Algorithms Note that there are also several variations of Demons methods in the directory: Insight/Code/Review Regards, Luis ----------------------------------------------- On Fri, Dec 11, 2009 at 6:02 AM, Matthias Dodt wrote: > Hi ITK'lers! > > I wonder if there are some simple motion-estimation filters available like > Lukas-Kanade or Horn-Schunck available in ITK? > > Thanks for any hin! > > best, > > mat > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Fri Dec 11 10:54:17 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 10:54:17 -0500 Subject: [Insight-users] how to compile and build a new filter? In-Reply-To: References: Message-ID: Hi Ming, The simplest way to do it, is to put these two files: newFilter.h newFilter.txx inside your project, and to add to your CMakeList.txt file the following line: INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}) and finally, just include the newFilter.h header in the .cxx files of your project where you need to instantiate the filter. You may find useful to look at the Tutorial: http://www.na-mic.org/Wiki/images/b/bc/Insight-Writing-a-New-Filter.ppt Also, you SHOULD write a UNIT TEST for this new filter, before you attempt to use it in your project. It will save you a lot of unnecessary suffering. Regards, Luis ----------------------------------------------------- On Thu, Dec 10, 2009 at 11:10 AM, Ming Chao wrote: > Hi, > Can anyone give a hint on what is the easiest way to compile and build a > newFilter.h and newFilter.txx? They are not included in the ITK package but > I want to use them in my calculation. Thanks, > Ming > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Fri Dec 11 11:20:55 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 11:20:55 -0500 Subject: [Insight-users] combining output from segmentation with label map attributes using Gaetan Lehmann's paper: "Label object representation and manipulation with ITK" In-Reply-To: References: Message-ID: Hi John, Have you saved the output of the connectedThreshold filter to a file, and verified that indeed it contains the segmentation of the Ventricles ? Alos, you are instantiating the connectedThreshold filter by using as output an image of pixel type Float. typedef float InternalPixelType; const unsigned int Dimension = 3; typedef itk::Image< InternalPixelType, Dimension > InternalImageType; typedef itk::ConnectedThresholdImageFilter< InternalImageType, InternalImageType > ConnectedFilterType; Do you have any motivation for doing so ? The output of a Connected Threshold filter is typically a binary image, so you probably should do: typedef unsigned char BinaryPixelType; typedef itk::Image< BinaryPixelType, Dimension > BinaryImageType; typedef itk::ConnectedThresholdImageFilter< InternalImageType, BinaryImageType > ConnectedFilterType; and subsequently, you should instantiate the BinaryImageToLabelMapFilter also using as input this Binary image type. Currently, you have: typedef itk::BinaryImageToLabelMapFilter< InternalImageType, LabelMapType > ConverterType; .. and you should probably replace it with: typedef itk::BinaryImageToLabelMapFilter< BinaryImageType, LabelMapType > ConverterType; Regards Luis ---------------------------- On Tue, Dec 8, 2009 at 2:38 PM, John Drozd wrote: > Hello, > > I have segmented the ventricles from an image using a connected threshold > image filter. > I then tried to convert my outputted segmentation to a label map filter and > then to get the label's attributes. > > I am using parts of the example code attribute_values.cxx that is described > in section 9.4 of > Gaetan Lehmann's paper: "Label object representation and manipulation with > ITK" > > My problem is that my code is telling me that the number of labels is 0. > How do I apply a label to my segmented ventricles? > > Below is my code: > > /* > to run type: > ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm 103 > 142 95 17100 17300 > */ > > #if defined(_MSC_VER) > #pragma warning ( disable : 4786 ) > #endif > > #ifdef __BORLANDC__ > #define ITK_LEAN_AND_MEAN > #endif > > > #include "itkConnectedThresholdImageFilter.h" > > #include "itkImage.h" > #include "itkCastImageFilter.h" > > #include "itkCurvatureFlowImageFilter.h" > > #include "itkImageFileReader.h" > #include "itkImageFileWriter.h" > > #include "itkGDCMImageIO.h" > > #include "itkVersion.h" > > #include "itkOrientedImage.h" > #include "itkMinimumMaximumImageFilter.h" > > #include "itkGDCMImageIO.h" > #include "itkGDCMSeriesFileNames.h" > #include "itkNumericSeriesFileNames.h" > > #include "itkImageSeriesReader.h" > #include "itkImageSeriesWriter.h" > > #include "itkResampleImageFilter.h" > #include "itkShiftScaleImageFilter.h" > > #include "itkIdentityTransform.h" > #include "itkLinearInterpolateImageFunction.h" > > #include > > #include "gdcm/src/gdcmFile.h" > #include "gdcm/src/gdcmUtil.h" > > #include > > //added per attribute_values.cxx > #include "itkImageFileReader.h" > > #include "itkShapeLabelObject.h" > //#include "itkStatisticsLabelObject.h" > > #include "itkLabelMap.h" > > #include "itkBinaryImageToShapeLabelMapFilter.h" > //#include "itkBinaryImageToStatisticsLabelMapFilter.h" > > //end of added code > > int main( int argc, char *argv[]) > { > ? if( argc < 7 ) > ??? { > ??? std::cerr << "Missing Parameters " << std::endl; > ??? std::cerr << "Usage: " << argv[0]; > ??? std::cerr << " inputImage? outputImage seedX seedY seedZ lowerThreshold > upperThreshold" << std::endl; > > ??? return 1; > ??? } > > ? typedef?? float?????????? InternalPixelType; > > ? const???? unsigned int??? Dimension = 3; > > ? typedef itk::Image< InternalPixelType, Dimension >? InternalImageType; > > ? typedef signed short OutputPixelType; > > ? typedef itk::Image< OutputPixelType, Dimension > OutputImageType; > ? typedef itk::Image< float, Dimension > OutputImageType2; > ? typedef itk::CastImageFilter< InternalImageType, OutputImageType > > ??? CastingFilterType; > ? CastingFilterType::Pointer caster = CastingFilterType::New(); > > ? const??? unsigned int??? ImageDimension = 3; > ? typedef? signed short??? PixelType; > > ? typedef itk::Image< PixelType, ImageDimension >? FixedImageType; > ? typedef itk::Image< float, ImageDimension >? FloatImageType; > > ? typedef? itk::ImageFileReader< FixedImageType > ReaderType; > ? typedef? itk::ImageFileWriter WriterType; > ? typedef? itk::ImageFileWriter WriterType2; > > ? ReaderType::Pointer reader = ReaderType::New(); > ? WriterType::Pointer writer = WriterType::New(); > ? WriterType2::Pointer writer2 = WriterType2::New(); > > ? typedef itk::GDCMImageIO?????????? ImageIOTypefixed; > ? ImageIOTypefixed::Pointer gdcmImageIOfixed = ImageIOTypefixed::New(); > ? reader->SetImageIO( gdcmImageIOfixed ); > > ? typedef itk::GDCMImageIO?????????? ImageIOTypefixed2; > ? ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = ImageIOTypefixed2::New(); > > ? reader->SetFileName( argv[1] ); > > ? reader->Update(); > > ? typedef itk::CurvatureFlowImageFilter< InternalImageType, > InternalImageType > > ??? CurvatureFlowImageFilterType; > > ? CurvatureFlowImageFilterType::Pointer smoothing = > ???????????????????????? CurvatureFlowImageFilterType::New(); > > ? typedef itk::ConnectedThresholdImageFilter< InternalImageType, > ??????????????????????????????????? InternalImageType > ConnectedFilterType; > > ? ConnectedFilterType::Pointer connectedThreshold = > ConnectedFilterType::New(); > > ? typedef signed short InputAPixelType; > ? typedef float OutputBPixelType; > > ? typedef itk::Image< InputAPixelType, 3 > InputAImageType; > ? typedef itk::Image< OutputBPixelType, 3 > OutputBImageType; > > ? typedef itk::CastImageFilter< InputAImageType, OutputBImageType > > CastFilterType; > > ? CastFilterType::Pointer castFilter = CastFilterType::New(); > > > ? castFilter->SetInput( reader->GetOutput() ); > > > ? connectedThreshold->SetInput( castFilter->GetOutput() ); > > ? caster->SetInput( connectedThreshold->GetOutput() ); > > > ? smoothing->SetNumberOfIterations( 20 ); //was 5 > ? smoothing->SetTimeStep( 0.125 ); > > ? const InternalPixelType lowerThreshold = atof( argv[6] ); > ? const InternalPixelType upperThreshold = atof( argv[7] ); > > ? connectedThreshold->SetLower(? lowerThreshold? ); > ? connectedThreshold->SetUpper(? upperThreshold? ); > > ? connectedThreshold->SetReplaceValue( 255 ); > > ? InternalImageType::IndexType? index; > > ? index[0] = atoi( argv[3] ); > ? index[1] = atoi( argv[4] ); > > ? //added > ? index[2] = atoi( argv[5] ); > > ? std::cout << index << std::endl; > > ? // Software Guide : BeginCodeSnippet > ? connectedThreshold->SetSeed( index ); > > ? //obtain a 5 x 5 bounding region of seeds > ? int ii, jj, kk; > > ? ii = index[0]; > ? jj = index[1]; > ? kk = index[2]; > > ? for (int i = ii; i < ii + 5; i++) > ??? for (int j = jj; j < jj + 5; j++) > ????? for (int k = kk; k < kk + 5; k++) > ??? { > > ????? index[0] = i; > ????? index[1] = j; > ????? index[2] = k; > ????? connectedThreshold->AddSeed( index ); > ??? } > > ? for (int i = ii; i > ii - 5; i--) > ??? for (int j = jj; j > jj - 5; j--) > ????? for (int k = kk; k > kk - 5; k--) > ??? { > > ????? index[0] = i; > ????? index[1] = j; > ????? index[2] = k; > ????? connectedThreshold->AddSeed( index ); > ??? } > > ? connectedThreshold->Print(std::cout,17100); > > ? typedef itk::MetaDataDictionary DictionaryType; > > ? DictionaryType inputdict = reader->GetMetaDataDictionary(); > > ? writer->SetMetaDataDictionary( inputdict ); > > ? writer->SetFileName( argv[2] ); > > ? //added per attribute_values.cxx > > ? // define the object type. Here the ShapeLabelObject type > ? // is chosen in order to read some attribute related to the shape > ? // of the objects (by opposition to the content of the object, with > ? // the StatisticsLabelObejct). > ? typedef unsigned long LabelType; > > ? typedef itk::ShapeLabelObject< LabelType, 3 > LabelObjectType; > > ? typedef itk::LabelMap< LabelObjectType > LabelMapType; > > ? // convert the image in a collection of objects > ? typedef itk::BinaryImageToLabelMapFilter< InternalImageType, LabelMapType >> ConverterType; > > ? ConverterType::Pointer converter = ConverterType::New(); > > ? converter->SetInput( connectedThreshold->GetOutput() ); > > ? //converter->SetForegroundValue( atoi(argv[2]) ); > ? //converter->SetForegroundValue( 255 ); > > ? // valuate the attributes with the dedicated filter: ShapeLabelMapFilter > > ? typedef itk::ShapeLabelMapFilter< LabelMapType > ShapeFilterType; > ? ShapeFilterType::Pointer shape = ShapeFilterType::New(); > ? shape->SetInput( converter->GetOutput() ); > > ? shape->Update(); > > > ? // then we can read the attribute values we're interested in. The > BinaryImageToShapeLabelMapFilter > ? // produce consecutive labels, so we can use a for loop and > GetLabelObject() method to retrieve > ? // the label objects. If the labels are not consecutive, the > GetNthLabelObject() method must be > ? // use instead of GetLabelObject(), or an iterator on the label object > container of the label map. > ? LabelMapType::Pointer labelMap = shape->GetOutput(); > > ? std::cout << "Number of label objects = " << > labelMap->GetNumberOfLabelObjects() << std::endl; > > > ? for( unsigned int label=1; label<=labelMap->GetNumberOfLabelObjects(); > label++ ) > ??? { > ??? // we don't need a SmartPointer of the label object here, because the > reference is kept in > ??? // in the label map. > ??? const LabelObjectType * labelObject = labelMap->GetLabelObject( label ); > ??? std::cout << label << "\t" << labelObject->GetPhysicalSize() << "\t" << > labelObject->GetCentroid() << std::endl; > ??? } > > ? writer->SetInput( caster->GetOutput() ); > > ? try > ??? { > ??? writer->Update(); > ??? } > ? catch( itk::ExceptionObject & excep ) > ??? { > ??? std::cerr << "Exception caught !" << std::endl; > ??? std::cerr << excep << std::endl; > ??? } > > ? std::cout << "output from reader->GetOutput()->GetDirection()" << > std::endl; > ? std::cout << reader->GetOutput()->GetDirection() << std::endl; > > ? std::cout << "output from castFilter->GetOutput()->GetDirection()" << > std::endl; > ? std::cout << castFilter->GetOutput()->GetDirection() << std::endl; > > ? std::cout << "output from connectedThreshold->GetOutput()->GetDirection()" > << std::endl; > ? std::cout << connectedThreshold->GetOutput()->GetDirection() << std::endl; > > ? std::cout << "output from caster->GetOutput()->GetDirection()" << > std::endl; > ? std::cout << caster->GetOutput()->GetDirection() << std::endl; > > ? return 0; > } > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Fri Dec 11 11:30:08 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 11:30:08 -0500 Subject: [Insight-users] combining output from segmentation with label map attributes using Gaetan Lehmann's paper: "Label object representation and manipulation with ITK" In-Reply-To: References: Message-ID: Hi John, What do you mean by "antiquated" ? Are you grabbing that code from an old release ? The Relabel filter has not been declared deprecated and it is still a functional part of the toolkit. You may also be interested in the filter that we recently moved into the Code/Review directory: itkLabelGeometryImageFilter.h that is described in the Insight Journal paper: "A Label Geometry Image Filter for Multiple Object Measurement" by Padfield D., Miller J. from GE Global Research http://www.insight-journal.org/browse/publication/301 http://hdl.handle.net/1926/1493 ---- About your comparison with Slicer3, How did you created the label map inside Slicer ? Did you uploaded the same binary image that was generated from your code ? Apparently, we are discussing here a difference of: 1 pixel Please let us know Luis ----------------------------------------------------------------------------- On Tue, Dec 8, 2009 at 5:30 PM, John Drozd wrote: > Hi again, > > I reverted to using an antiquated "RelabelComponentImageFilter.h" header to > get the volume of the ventricles, but is there a way to get the physical > size using a non-antiquated currently used header? > > I used: > > //ADDED PER WEB PAGE > > //http://old.nabble.com/Labeling-an-image-and-displaying-results-with-distinguished-levels-of-gray-colors-td26623991.html > ? typedef itk::ConnectedComponentImageFilter OutputImageType>? LabelType2; > ? typedef itk::RelabelComponentImageFilter OutputImageType> RelabelType; > > ? LabelType2::Pointer labeler = LabelType2::New(); > ? RelabelType::Pointer relabeler = RelabelType::New(); > > ? labeler->SetInput(caster->GetOutput()); > ? labeler->Update(); > > ? relabeler->SetInput(labeler->GetOutput()); > ? relabeler->Update(); > > ? for (unsigned int i=0; iGetNumberOfObjects(); i++) > ??? { > ??????? std::cout<<"Number of pixel for object "< "<GetSizeOfObjectsInPixels()[i]< > ??? std::cout<<"Physical size for object "< "<GetSizeOfObjectsInPhysicalUnits()[i]< ??? } > ? //END OF ADDED CODE > > This gave me a ventricle size of > Number of pixel for object 0: 22129 > Physical size for object 0: 23901 > > When I created a label map using the gui in 3DSlicer, I got a similar size > but not exactly the same size: > Number of pixel for object 0: 22130 > Physical size for object 0: 23901.284681 > > Below is the updated code: > > /* > to run type: > ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm 103 > 142 95 17100 17300 > */ > > #if defined(_MSC_VER) > #pragma warning ( disable : 4786 ) > #endif > > #ifdef __BORLANDC__ > #define ITK_LEAN_AND_MEAN > #endif > > > #include "itkConnectedThresholdImageFilter.h" > > #include "itkImage.h" > #include "itkCastImageFilter.h" > > #include "itkCurvatureFlowImageFilter.h" > > #include "itkImageFileReader.h" > #include "itkImageFileWriter.h" > > #include "itkGDCMImageIO.h" > > #include "itkVersion.h" > > #include "itkOrientedImage.h" > #include "itkMinimumMaximumImageFilter.h" > > #include "itkGDCMImageIO.h" > #include "itkGDCMSeriesFileNames.h" > #include "itkNumericSeriesFileNames.h" > > #include "itkImageSeriesReader.h" > #include "itkImageSeriesWriter.h" > > #include "itkResampleImageFilter.h" > #include "itkShiftScaleImageFilter.h" > > #include "itkIdentityTransform.h" > #include "itkLinearInterpolateImageFunction.h" > > #include > > #include "gdcm/src/gdcmFile.h" > #include "gdcm/src/gdcmUtil.h" > > #include > > //added per attribute_values.cxx > #include "itkImageFileReader.h" > > #include "itkShapeLabelObject.h" > //#include "itkStatisticsLabelObject.h" > > #include "itkLabelMap.h" > > #include "itkBinaryImageToShapeLabelMapFilter.h" > //#include "itkBinaryImageToStatisticsLabelMapFilter.h" > > //ADDED PER WEB PAGE > //http://old.nabble.com/Labeling-an-image-and-displaying-results-with-distinguished-levels-of-gray-colors-td26623991.html > #include "itkConnectedComponentImageFilter.h" > #include "itkRelabelComponentImageFilter.h" > //END OF ADDED CODE > > //end of added code > > int main( int argc, char *argv[]) > { > ? if( argc < 7 ) > ??? { > ??? std::cerr << "Missing Parameters " << std::endl; > ??? std::cerr << "Usage: " << argv[0]; > ??? std::cerr << " inputImage? outputImage seedX seedY seedZ lowerThreshold > upperThreshold" << std::endl; > > ??? return 1; > ??? } > > ? typedef?? float?????????? InternalPixelType; > > ? const???? unsigned int??? Dimension = 3; > > ? typedef itk::Image< InternalPixelType, Dimension >? InternalImageType; > > ? typedef signed short OutputPixelType; > > ? typedef itk::Image< OutputPixelType, Dimension > OutputImageType; > ? typedef itk::Image< float, Dimension > OutputImageType2; > ? typedef itk::CastImageFilter< InternalImageType, OutputImageType > > ??? CastingFilterType; > ? CastingFilterType::Pointer caster = CastingFilterType::New(); > > ? const??? unsigned int??? ImageDimension = 3; > ? typedef? signed short??? PixelType; > > ? typedef itk::Image< PixelType, ImageDimension >? FixedImageType; > ? typedef itk::Image< float, ImageDimension >? FloatImageType; > > ? typedef? itk::ImageFileReader< FixedImageType > ReaderType; > ? typedef? itk::ImageFileWriter WriterType; > ? typedef? itk::ImageFileWriter WriterType2; > > ? ReaderType::Pointer reader = ReaderType::New(); > ? WriterType::Pointer writer = WriterType::New(); > ? WriterType2::Pointer writer2 = WriterType2::New(); > > ? typedef itk::GDCMImageIO?????????? ImageIOTypefixed; > ? ImageIOTypefixed::Pointer gdcmImageIOfixed = ImageIOTypefixed::New(); > ? reader->SetImageIO( gdcmImageIOfixed ); > > ? typedef itk::GDCMImageIO?????????? ImageIOTypefixed2; > ? ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = ImageIOTypefixed2::New(); > > ? reader->SetFileName( argv[1] ); > > ? reader->Update(); > > ? typedef itk::CurvatureFlowImageFilter< InternalImageType, > InternalImageType > > ??? CurvatureFlowImageFilterType; > > ? CurvatureFlowImageFilterType::Pointer smoothing = > ???????????????????????? CurvatureFlowImageFilterType::New(); > > ? typedef itk::ConnectedThresholdImageFilter< InternalImageType, > ??????????????????????????????????? InternalImageType > ConnectedFilterType; > > ? ConnectedFilterType::Pointer connectedThreshold = > ConnectedFilterType::New(); > > ? typedef signed short InputAPixelType; > ? typedef float OutputBPixelType; > > ? typedef itk::Image< InputAPixelType, 3 > InputAImageType; > ? typedef itk::Image< OutputBPixelType, 3 > OutputBImageType; > > ? typedef itk::CastImageFilter< InputAImageType, OutputBImageType > > CastFilterType; > > ? CastFilterType::Pointer castFilter = CastFilterType::New(); > > > ? castFilter->SetInput( reader->GetOutput() ); > > > ? connectedThreshold->SetInput( castFilter->GetOutput() ); > > ? caster->SetInput( connectedThreshold->GetOutput() ); > > > ? smoothing->SetNumberOfIterations( 20 ); //was 5 > ? smoothing->SetTimeStep( 0.125 ); > > ? const InternalPixelType lowerThreshold = atof( argv[6] ); > ? const InternalPixelType upperThreshold = atof( argv[7] ); > > ? connectedThreshold->SetLower(? lowerThreshold? ); > ? connectedThreshold->SetUpper(? upperThreshold? ); > > ? connectedThreshold->SetReplaceValue( 255 ); > > ? InternalImageType::IndexType? index; > > ? index[0] = atoi( argv[3] ); > ? index[1] = atoi( argv[4] ); > > ? //added > ? index[2] = atoi( argv[5] ); > > ? std::cout << index << std::endl; > > ? // Software Guide : BeginCodeSnippet > ? connectedThreshold->SetSeed( index ); > > ? //obtain a 5 x 5 bounding region of seeds > ? int ii, jj, kk; > > ? ii = index[0]; > ? jj = index[1]; > ? kk = index[2]; > > ? for (int i = ii; i < ii + 5; i++) > ??? for (int j = jj; j < jj + 5; j++) > ????? for (int k = kk; k < kk + 5; k++) > ??? { > > ????? index[0] = i; > ????? index[1] = j; > ????? index[2] = k; > ????? connectedThreshold->AddSeed( index ); > ??? } > > ? for (int i = ii; i > ii - 5; i--) > ??? for (int j = jj; j > jj - 5; j--) > ????? for (int k = kk; k > kk - 5; k--) > ??? { > > ????? index[0] = i; > ????? index[1] = j; > ????? index[2] = k; > ????? connectedThreshold->AddSeed( index ); > ??? } > > ? connectedThreshold->Print(std::cout,17100); > > ? typedef itk::MetaDataDictionary DictionaryType; > > ? DictionaryType inputdict = reader->GetMetaDataDictionary(); > > ? writer->SetMetaDataDictionary( inputdict ); > > ? writer->SetFileName( argv[2] ); > > ? //added per attribute_values.cxx > > ? // define the object type. Here the ShapeLabelObject type > ? // is chosen in order to read some attribute related to the shape > ? // of the objects (by opposition to the content of the object, with > ? // the StatisticsLabelObejct). > ? typedef unsigned long LabelType; > > ? typedef itk::ShapeLabelObject< LabelType, 3 > LabelObjectType; > > ? typedef itk::LabelMap< LabelObjectType > LabelMapType; > > ? // convert the image in a collection of objects > ? typedef itk::BinaryImageToLabelMapFilter< OutputImageType, LabelMapType > > ConverterType; > > ? ConverterType::Pointer converter = ConverterType::New(); > > ? //ADDED after email > ? connectedThreshold->Update(); > ? //END OF ADDED code > > ? //ADDED PER WEB PAGE > > //http://old.nabble.com/Labeling-an-image-and-displaying-results-with-distinguished-levels-of-gray-colors-td26623991.html > ? typedef itk::ConnectedComponentImageFilter OutputImageType>? LabelType2; > ? typedef itk::RelabelComponentImageFilter OutputImageType> RelabelType; > > ? LabelType2::Pointer labeler = LabelType2::New(); > ? RelabelType::Pointer relabeler = RelabelType::New(); > > ? labeler->SetInput(caster->GetOutput()); > ? labeler->Update(); > > ? relabeler->SetInput(labeler->GetOutput()); > ? relabeler->Update(); > > ? for (unsigned int i=0; iGetNumberOfObjects(); i++) > ??? { > ??????? std::cout<<"Number of pixel for object "< "<GetSizeOfObjectsInPixels()[i]< > ??? std::cout<<"Physical size for object "< "<GetSizeOfObjectsInPhysicalUnits()[i]< ??? } > ? //END OF ADDED CODE > > ? //converter->SetInput( connectedThreshold->GetOutput() ); > ? converter->SetInput( relabeler->GetOutput() ); > > ? //converter->SetForegroundValue( atoi(argv[2]) ); > ? //converter->SetForegroundValue( 255 ); > > ? // valuate the attributes with the dedicated filter: ShapeLabelMapFilter > > ? typedef itk::ShapeLabelMapFilter< LabelMapType > ShapeFilterType; > ? ShapeFilterType::Pointer shape = ShapeFilterType::New(); > ? shape->SetInput( converter->GetOutput() ); > > ? shape->Update(); > > > ? // then we can read the attribute values we're interested in. The > BinaryImageToShapeLabelMapFilter > ? // produce consecutive labels, so we can use a for loop and > GetLabelObject() method to retrieve > ? // the label objects. If the labels are not consecutive, the > GetNthLabelObject() method must be > ? // use instead of GetLabelObject(), or an iterator on the label object > container of the label map. > ? LabelMapType::Pointer labelMap = shape->GetOutput(); > > ? std::cout << "Number of label objects = " << > labelMap->GetNumberOfLabelObjects() << std::endl; > > > ? for( unsigned int label=1; label<=labelMap->GetNumberOfLabelObjects(); > label++ ) > ??? { > ??? // we don't need a SmartPointer of the label object here, because the > reference is kept in > ??? // in the label map. > ??? const LabelObjectType * labelObject = labelMap->GetLabelObject( label ); > ??? std::cout << label << "\t" << labelObject->GetPhysicalSize() << "\t" << > labelObject->GetCentroid() << std::endl; > ??? } > > ? writer->SetInput( caster->GetOutput() ); > > ? try > ??? { > ??? writer->Update(); > ??? } > ? catch( itk::ExceptionObject & excep ) > ??? { > ??? std::cerr << "Exception caught !" << std::endl; > ??? std::cerr << excep << std::endl; > ??? } > > ? std::cout << "output from reader->GetOutput()->GetDirection()" << > std::endl; > ? std::cout << reader->GetOutput()->GetDirection() << std::endl; > > ? std::cout << "output from castFilter->GetOutput()->GetDirection()" << > std::endl; > ? std::cout << castFilter->GetOutput()->GetDirection() << std::endl; > > ? std::cout << "output from connectedThreshold->GetOutput()->GetDirection()" > << std::endl; > ? std::cout << connectedThreshold->GetOutput()->GetDirection() << std::endl; > > ? std::cout << "output from caster->GetOutput()->GetDirection()" << > std::endl; > ? std::cout << caster->GetOutput()->GetDirection() << std::endl; > > ? return 0; > } > > and output: > [jdrozd at trumpet > ConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter]$ > make > Scanning dependencies of target > ConnectedThresholdImageFilter > [100%] Building CXX object > CMakeFiles/ConnectedThresholdImageFilter.dir/ConnectedThresholdImageFilter.o > In file included from > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/hash_map:64, > ???????????????? from > /trumpet/downloads/3DSlicerDec22009/Slicer3-lib/Insight/Code/Common/itk_hash_map.h:69, > ???????????????? from > /trumpet/downloads/3DSlicerDec22009/Slicer3-lib/Insight/Code/BasicFilters/itkRelabelComponentImageFilter.txx:25, > ???????????????? from > /trumpet/downloads/3DSlicerDec22009/Slicer3-lib/Insight/Code/BasicFilters/itkRelabelComponentImageFilter.h:298, > ???????????????? from > /trumpet/downloads/ConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter_Plugin/ConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter/ConnectedThresholdImageFilter.cxx:65: > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/backward/backward_warning.h:33:2: > warning: #warning This file includes at least one deprecated or antiquated > header which may be removed without further notice at a future date. Please > use a non-deprecated interface with equivalent functionality instead. For a > listing of replacement headers and interfaces, consult the file > backward_warning.h. To disable this warning use -Wno-deprecated. > Linking CXX executable > ConnectedThresholdImageFilter > [100%] Built target > ConnectedThresholdImageFilter > [jdrozd at trumpet > ConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter]$ > ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm 103 > 142 95 17100 > 17300 > [103, 142, > 95] > ??H??H?}?H?U?H??9(ConnectedThresholdImageFilter > (0xe37580) > ??????????????????????????????????????? RTTI typeinfo: > itk::ConnectedThresholdImageFilter, itk::Image 3u> > > ??????????????????????????????????????? Reference Count: > 1 > ??????????????????????????????????????? Modified Time: > 376 > ??????????????????????????????????????? Debug: > Off > > Observers: > > none > ??????????????????????????????????????? Number Of Required Inputs: > 1 > ??????????????????????????????????????? Number Of Required Outputs: > 1 > ??????????????????????????????????????? Number Of Threads: > 8 > ??????????????????????????????????????? ReleaseDataFlag: > Off > ??????????????????????????????????????? ReleaseDataBeforeUpdateFlag: > Off > ??????????????????????????????????????? Input 0: > (0xe49e50) > ??????????????????????????????????????? Input 1: > (0xe399b0) > ??????????????????????????????????????? Input 2: > (0xe37980) > ??????????????????????????????????????? Output 0: > (0xe376a0) > ??????????????????????????????????????? AbortGenerateData: > Off > ??????????????????????????????????????? Progress: > 0 > > Multithreader: > ??????????????????????????????????????? RTTI typeinfo: > itk::MultiThreader > ??????????????????????????????????????? Reference Count: > 1 > ??????????????????????????????????????? Modified Time: > 82 > ??????????????????????????????????????? Debug: > Off > > Observers: > > none > ??????????????????????????????????????? Thread Count: 8 > ??????????????????????????????????????? Global Maximum Number Of Threads: > 128 > ??????????????????????????????????????? Global Default Number Of Threads: 8 > ??????????????????????????????????????? Upper: 3.40282e+38 > ??????????????????????????????????????? Lower: -3.40282e+38 > ??????????????????????????????????????? ReplaceValue: 255 > ??????????????????????????????????????? Connectivity: 0 > Number of pixel for object 0: 22129 > Physical size for object 0: 23901 > Number of pixel for object 1: 1 > Physical size for object 1: 1.08004 > Number of label objects = 0 > output from reader->GetOutput()->GetDirection() > 0 0 1 > 0 1 0 > -1 0 0 > > output from castFilter->GetOutput()->GetDirection() > 0 0 1 > 0 1 0 > -1 0 0 > > output from connectedThreshold->GetOutput()->GetDirection() > 0 0 1 > 0 1 0 > -1 0 0 > > output from caster->GetOutput()->GetDirection() > 0 0 1 > 0 1 0 > -1 0 0 > > [jdrozd at trumpet > ConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter]$ > > > > On Tue, Dec 8, 2009 at 2:38 PM, John Drozd wrote: >> >> Hello, >> >> I have segmented the ventricles from an image using a connected threshold >> image filter. >> I then tried to convert my outputted segmentation to a label map filter >> and then to get the label's attributes. >> >> I am using parts of the example code attribute_values.cxx that is >> described in section 9.4 of >> Gaetan Lehmann's paper: "Label object representation and manipulation with >> ITK" >> >> My problem is that my code is telling me that the number of labels is 0. >> How do I apply a label to my segmented ventricles? >> >> Below is my code: >> >> /* >> to run type: >> ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm 103 >> 142 95 17100 17300 >> */ >> >> #if defined(_MSC_VER) >> #pragma warning ( disable : 4786 ) >> #endif >> >> #ifdef __BORLANDC__ >> #define ITK_LEAN_AND_MEAN >> #endif >> >> >> #include "itkConnectedThresholdImageFilter.h" >> >> #include "itkImage.h" >> #include "itkCastImageFilter.h" >> >> #include "itkCurvatureFlowImageFilter.h" >> >> #include "itkImageFileReader.h" >> #include "itkImageFileWriter.h" >> >> #include "itkGDCMImageIO.h" >> >> #include "itkVersion.h" >> >> #include "itkOrientedImage.h" >> #include "itkMinimumMaximumImageFilter.h" >> >> #include "itkGDCMImageIO.h" >> #include "itkGDCMSeriesFileNames.h" >> #include "itkNumericSeriesFileNames.h" >> >> #include "itkImageSeriesReader.h" >> #include "itkImageSeriesWriter.h" >> >> #include "itkResampleImageFilter.h" >> #include "itkShiftScaleImageFilter.h" >> >> #include "itkIdentityTransform.h" >> #include "itkLinearInterpolateImageFunction.h" >> >> #include >> >> #include "gdcm/src/gdcmFile.h" >> #include "gdcm/src/gdcmUtil.h" >> >> #include >> >> //added per attribute_values.cxx >> #include "itkImageFileReader.h" >> >> #include "itkShapeLabelObject.h" >> //#include "itkStatisticsLabelObject.h" >> >> #include "itkLabelMap.h" >> >> #include "itkBinaryImageToShapeLabelMapFilter.h" >> //#include "itkBinaryImageToStatisticsLabelMapFilter.h" >> >> //end of added code >> >> int main( int argc, char *argv[]) >> { >> ? if( argc < 7 ) >> ??? { >> ??? std::cerr << "Missing Parameters " << std::endl; >> ??? std::cerr << "Usage: " << argv[0]; >> ??? std::cerr << " inputImage? outputImage seedX seedY seedZ >> lowerThreshold upperThreshold" << std::endl; >> >> ??? return 1; >> ??? } >> >> ? typedef?? float?????????? InternalPixelType; >> >> ? const???? unsigned int??? Dimension = 3; >> >> ? typedef itk::Image< InternalPixelType, Dimension >? InternalImageType; >> >> ? typedef signed short OutputPixelType; >> >> ? typedef itk::Image< OutputPixelType, Dimension > OutputImageType; >> ? typedef itk::Image< float, Dimension > OutputImageType2; >> ? typedef itk::CastImageFilter< InternalImageType, OutputImageType > >> ??? CastingFilterType; >> ? CastingFilterType::Pointer caster = CastingFilterType::New(); >> >> ? const??? unsigned int??? ImageDimension = 3; >> ? typedef? signed short??? PixelType; >> >> ? typedef itk::Image< PixelType, ImageDimension >? FixedImageType; >> ? typedef itk::Image< float, ImageDimension >? FloatImageType; >> >> ? typedef? itk::ImageFileReader< FixedImageType > ReaderType; >> ? typedef? itk::ImageFileWriter WriterType; >> ? typedef? itk::ImageFileWriter WriterType2; >> >> ? ReaderType::Pointer reader = ReaderType::New(); >> ? WriterType::Pointer writer = WriterType::New(); >> ? WriterType2::Pointer writer2 = WriterType2::New(); >> >> ? typedef itk::GDCMImageIO?????????? ImageIOTypefixed; >> ? ImageIOTypefixed::Pointer gdcmImageIOfixed = ImageIOTypefixed::New(); >> ? reader->SetImageIO( gdcmImageIOfixed ); >> >> ? typedef itk::GDCMImageIO?????????? ImageIOTypefixed2; >> ? ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = ImageIOTypefixed2::New(); >> >> ? reader->SetFileName( argv[1] ); >> >> ? reader->Update(); >> >> ? typedef itk::CurvatureFlowImageFilter< InternalImageType, >> InternalImageType > >> ??? CurvatureFlowImageFilterType; >> >> ? CurvatureFlowImageFilterType::Pointer smoothing = >> ???????????????????????? CurvatureFlowImageFilterType::New(); >> >> ? typedef itk::ConnectedThresholdImageFilter< InternalImageType, >> ??????????????????????????????????? InternalImageType > >> ConnectedFilterType; >> >> ? ConnectedFilterType::Pointer connectedThreshold = >> ConnectedFilterType::New(); >> >> ? typedef signed short InputAPixelType; >> ? typedef float OutputBPixelType; >> >> ? typedef itk::Image< InputAPixelType, 3 > InputAImageType; >> ? typedef itk::Image< OutputBPixelType, 3 > OutputBImageType; >> >> ? typedef itk::CastImageFilter< InputAImageType, OutputBImageType > >> CastFilterType; >> >> ? CastFilterType::Pointer castFilter = CastFilterType::New(); >> >> >> ? castFilter->SetInput( reader->GetOutput() ); >> >> >> ? connectedThreshold->SetInput( castFilter->GetOutput() ); >> >> ? caster->SetInput( connectedThreshold->GetOutput() ); >> >> >> ? smoothing->SetNumberOfIterations( 20 ); //was 5 >> ? smoothing->SetTimeStep( 0.125 ); >> >> ? const InternalPixelType lowerThreshold = atof( argv[6] ); >> ? const InternalPixelType upperThreshold = atof( argv[7] ); >> >> ? connectedThreshold->SetLower(? lowerThreshold? ); >> ? connectedThreshold->SetUpper(? upperThreshold? ); >> >> ? connectedThreshold->SetReplaceValue( 255 ); >> >> ? InternalImageType::IndexType? index; >> >> ? index[0] = atoi( argv[3] ); >> ? index[1] = atoi( argv[4] ); >> >> ? //added >> ? index[2] = atoi( argv[5] ); >> >> ? std::cout << index << std::endl; >> >> ? // Software Guide : BeginCodeSnippet >> ? connectedThreshold->SetSeed( index ); >> >> ? //obtain a 5 x 5 bounding region of seeds >> ? int ii, jj, kk; >> >> ? ii = index[0]; >> ? jj = index[1]; >> ? kk = index[2]; >> >> ? for (int i = ii; i < ii + 5; i++) >> ??? for (int j = jj; j < jj + 5; j++) >> ????? for (int k = kk; k < kk + 5; k++) >> ??? { >> >> ????? index[0] = i; >> ????? index[1] = j; >> ????? index[2] = k; >> ????? connectedThreshold->AddSeed( index ); >> ??? } >> >> ? for (int i = ii; i > ii - 5; i--) >> ??? for (int j = jj; j > jj - 5; j--) >> ????? for (int k = kk; k > kk - 5; k--) >> ??? { >> >> ????? index[0] = i; >> ????? index[1] = j; >> ????? index[2] = k; >> ????? connectedThreshold->AddSeed( index ); >> ??? } >> >> ? connectedThreshold->Print(std::cout,17100); >> >> ? typedef itk::MetaDataDictionary DictionaryType; >> >> ? DictionaryType inputdict = reader->GetMetaDataDictionary(); >> >> ? writer->SetMetaDataDictionary( inputdict ); >> >> ? writer->SetFileName( argv[2] ); >> >> ? //added per attribute_values.cxx >> >> ? // define the object type. Here the ShapeLabelObject type >> ? // is chosen in order to read some attribute related to the shape >> ? // of the objects (by opposition to the content of the object, with >> ? // the StatisticsLabelObejct). >> ? typedef unsigned long LabelType; >> >> ? typedef itk::ShapeLabelObject< LabelType, 3 > LabelObjectType; >> >> ? typedef itk::LabelMap< LabelObjectType > LabelMapType; >> >> ? // convert the image in a collection of objects >> ? typedef itk::BinaryImageToLabelMapFilter< InternalImageType, >> LabelMapType > ConverterType; >> >> ? ConverterType::Pointer converter = ConverterType::New(); >> >> ? converter->SetInput( connectedThreshold->GetOutput() ); >> >> ? //converter->SetForegroundValue( atoi(argv[2]) ); >> ? //converter->SetForegroundValue( 255 ); >> >> ? // valuate the attributes with the dedicated filter: ShapeLabelMapFilter >> >> ? typedef itk::ShapeLabelMapFilter< LabelMapType > ShapeFilterType; >> ? ShapeFilterType::Pointer shape = ShapeFilterType::New(); >> ? shape->SetInput( converter->GetOutput() ); >> >> ? shape->Update(); >> >> >> ? // then we can read the attribute values we're interested in. The >> BinaryImageToShapeLabelMapFilter >> ? // produce consecutive labels, so we can use a for loop and >> GetLabelObject() method to retrieve >> ? // the label objects. If the labels are not consecutive, the >> GetNthLabelObject() method must be >> ? // use instead of GetLabelObject(), or an iterator on the label object >> container of the label map. >> ? LabelMapType::Pointer labelMap = shape->GetOutput(); >> >> ? std::cout << "Number of label objects = " << >> labelMap->GetNumberOfLabelObjects() << std::endl; >> >> >> ? for( unsigned int label=1; label<=labelMap->GetNumberOfLabelObjects(); >> label++ ) >> ??? { >> ??? // we don't need a SmartPointer of the label object here, because the >> reference is kept in >> ??? // in the label map. >> ??? const LabelObjectType * labelObject = labelMap->GetLabelObject( label >> ); >> ??? std::cout << label << "\t" << labelObject->GetPhysicalSize() << "\t" >> << labelObject->GetCentroid() << std::endl; >> ??? } >> >> ? writer->SetInput( caster->GetOutput() ); >> >> ? try >> ??? { >> ??? writer->Update(); >> ??? } >> ? catch( itk::ExceptionObject & excep ) >> ??? { >> ??? std::cerr << "Exception caught !" << std::endl; >> ??? std::cerr << excep << std::endl; >> ??? } >> >> ? std::cout << "output from reader->GetOutput()->GetDirection()" << >> std::endl; >> ? std::cout << reader->GetOutput()->GetDirection() << std::endl; >> >> ? std::cout << "output from castFilter->GetOutput()->GetDirection()" << >> std::endl; >> ? std::cout << castFilter->GetOutput()->GetDirection() << std::endl; >> >> ? std::cout << "output from >> connectedThreshold->GetOutput()->GetDirection()" << std::endl; >> ? std::cout << connectedThreshold->GetOutput()->GetDirection() << >> std::endl; >> >> ? std::cout << "output from caster->GetOutput()->GetDirection()" << >> std::endl; >> ? std::cout << caster->GetOutput()->GetDirection() << std::endl; >> >> ? return 0; >> } >> > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Fri Dec 11 11:38:33 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 11:38:33 -0500 Subject: [Insight-users] Convert vector field from vtkUnstructuredGrid to itk::Image with interpolation In-Reply-To: <1260442077.21404.0@dirk-pc> References: <1260442077.21404.0@dirk-pc> Message-ID: Hi Dirk, Two options: A) Use any of the KernelTranforms http://www.itk.org/Doxygen/html/classitk_1_1KernelTransform.html for example the http://www.itk.org/Doxygen/html/classitk_1_1ThinPlateSplineKernelTransform.html or B) Use the itkBSplineScatteredDataPointSetToImageFilter.h --- If you go for (A), you can set the Source Landmarks to the positions of the tails of the vectors, and put the Target landmarks to the positions of the heads of the vectors. Then you can simply use the TransformPoint() method, to evaluate the value of the Vector at every new point in space. Note that the transform will give you the position of the head of the vector, therefore, to get the actual vector you need to do: VectorType v = transform->TransformPoint( p ) - p; --- If you go for (B), please read the following paper in the Insight Journal: N-D C^k B-Spline Scattered Data Approximation Tustison N.J., Gee J.C. PICSL, University of Pennsylvania http://hdl.handle.net/1926/140 http://www.insight-journal.org/browse/publication/57 Regards, Luis ------------------------------------------------------------ On Thu, Dec 10, 2009 at 5:47 AM, Dirk Boye wrote: > Dear list, > > Let's say I have a list of vectors in an vtkUnstructuredGrid like > this: > > # vtk DataFile Version 3.0 > vtk output > ASCII > DATASET UNSTRUCTURED_GRID > POINTS 5 float > -2 2 0 2 2 0 0 0 0 > -2 -2 0 2 -2 0 > CELL_TYPES 0 > > POINT_DATA 5 > VECTORS vectors float > 1 -1 0 1 1 0 1 0 0 > 1 1 0 1 -1 0 > > > I'd like to create a continuous vector field 'image' of dimensions > 4x4x1 with a spacing of 1. > > How can I read the vectors into a itk::Image and do an interpolation > (BSpline for example) on the vectors? > Usually one resamples an image and interpolates the new pixels... but > with only some vectors given like above and given image dims/spacing > I have no clue. > > Attached image is a sketch of what I'd like to do :) > > Are there any nice classes to do that? > > Thanks, > Dirk > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From mort.motes at gmail.com Fri Dec 11 11:56:31 2009 From: mort.motes at gmail.com (motes motes) Date: Fri, 11 Dec 2009 17:56:31 +0100 Subject: [Insight-users] Metric values Message-ID: <54eca6a70912110856l7ca38811oa977cdb501961be2@mail.gmail.com> I run an image registration method on 3D dicom volumes using the: template < class TFixedImage, class TMovingImage > class AdvancedMeanSquaresImageToImageMetric : public AdvancedImageToImageMetric< TFixedImage, TMovingImage> { public: from the elastix library and a RegularGradientDescent optimizer (minimization). When I disable normilization I get values like: Iteration: 23 Value: 23119 Iteration: 24 Value: 23257.4 Iteration: 25 Value: 20195.5 Iteration: 26 Value: 22521.1 Iteration: 27 Value: 21014.4 Iteration: 28 Value: 25089.2 Iteration: 29 Value: 26273.7 Iteration: 30 Value: 26671 Iteration: 31 Value: 19430.8 Iteration: 32 Value: 27530 Iteration: 33 Value: 25823.7 Iteration: 34 Value: 26696.8 Iteration: 35 Value: 22746.9 Iteration: 36 Value: 18154 Iteration: 37 Value: 25628.6 Is it correct that the above values are the sum of differences in intensity values for all the pixels in the volume? So if the volumes contains intensities in the range [0; 255] and one image is black and the other is white the metric value would be: 255*numberOfPixelsInVolume. From mort.motes at gmail.com Fri Dec 11 12:08:16 2009 From: mort.motes at gmail.com (motes motes) Date: Fri, 11 Dec 2009 18:08:16 +0100 Subject: [Insight-users] Using c++ stl containers in the transform? In-Reply-To: References: <54eca6a70912100409t67f2a30w9535e7ce50ce3135@mail.gmail.com> <54eca6a70912100909k217b59f7g7ef6a66813e6110b@mail.gmail.com> Message-ID: <54eca6a70912110908h7e9d419bi126b5aeab2736a31@mail.gmail.com> I use std::map> myMap; In the transform I do: template void MyBSplineDeformableTransform ::TransformPoint( const InputPointType & point, OutputPointType & outputPoint, WeightsType & weights, ParameterIndexArrayType & indices, bool & inside ) const { int v = hash(point); // Simple add/subtract function to map a point into the std::map predefined keys. std::vector & myObjs = myMap[key]; std::vector::iterator it = myObjs.begin(); while (it!= myObjs.end()) { // do stuff it++; } The number of elements in myObjs range from 10-40. When I do nothing in the body of the while loop it still adds a large overhead of time consumption (compared to the original transform). When I remove the while loop it runs as fast as the original transform. On Fri, Dec 11, 2009 at 4:28 PM, Luis Ibanez wrote: > Hi Motes, > > Please see comments interleaved with your text below. > > ? ?Thanks > > ? ? ? ? ? ? Luis > > > ------------------------------------------- > On Thu, Dec 10, 2009 at 12:09 PM, motes motes wrote: >> On Thu, Dec 10, 2009 at 3:23 PM, Luis Ibanez wrote: >>> Hi Motes, >>> >>> Before we dive into the details of your code.... >>> >>> Are you compiling you application for "Release" ?? >> >> >> Yes >> >>> In order to do profiling comparisons, you must >>> start first by making sure that you are using the >>> compiler's optimization. >>> >>> >>> Using STL containers is as efficient as using >>> pointers, as long as you access the elements >>> of the container via STL iterators. >> >> I have not found any documentation that says that doing: >> >> std::vector container; >> // Add 100000 strings to container >> >> std::vector::iterator it = container.begin() >> while (it != container.end()) { >> ?std::string str = *it; >> ?// do something with str >> ?it++; >> } >> >> is faster than: >> >> int size = ?container.size(); >> for (int i=0; i< size; i++) { >> ?std::string str = container[i]; >> ?// do something with str >> } >> >> >> I have tried both implementation in my transform and I do not >> experince any difference in performance. >> > > > > Yes, that's exactly what I said in my previous email: > > That using STL iteratos is *as fast as* using pointers. > (as long as you compile for Release). > > > >> >>> Do the operations of mapping points involve >>> inserting new elements or removing exising >>> elements from the STL containers in your >>> Transform ?? >>> >> >> I only lookup existing elements and read the contents of those. I do >> not add or delete any elements. >> >> > > > What method are you using for "looking up" elements in the container ? > and ... what container are you using ? (std::vector ? std::map?). > > >> >> >> >>> >>> ? ?Please let us know, >>> >>> >>> ? ? ? ?Thanks >>> >>> >>> ? ? ? ? ? ? Luis >>> >>> >>> -------------------------------------------------- >>> On Thu, Dec 10, 2009 at 7:09 AM, motes motes wrote: >>>> I have created a transform (TransformPoint) that iterates a >>>> std::vector base on a lookup in a std::map. I can't get the same >>>> performance compared to running the ?BSplineDeformableTransform and I >>>> suspect that its beause I use the stl containers. Typically I only >>>> iterate 10-40 elements in the vector based on a single lookup in the >>>> map (lg n time). >>>> >>>> Does anyone have experiences with the pros and cons of using the stl >>>> containers in per pixel/voxel functions like the TransformPoint in the >>>> BSplineDeformableTransform? >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>> >> > From zallen at wheelinghospital.com Fri Dec 11 12:16:07 2009 From: zallen at wheelinghospital.com (URI) Date: Fri, 11 Dec 2009 09:16:07 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912110553x7086b85cub0301eed9db5ee44@mail.gmail.com> References: <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> <1260444515044-4144854.post@n2.nabble.com> <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> <1260509804319-4149580.post@n2.nabble.com> <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> <4db4735c0912110553x7086b85cub0301eed9db5ee44@mail.gmail.com> Message-ID: <1260551767075-4152470.post@n2.nabble.com> Yeah, I missed that part. I hit the "Generate" button and it runs for a bit, then I get this message: Linking C executable ../../bin/itksysEncodeExecutable.exe (this part is in red, the rest is in white) make[1]: execvp: /C/CMake_2_8/bin/cmake.exe: Invalid argument make[1]: *** [Utilities/kwsys/CMakeFiles/itksysEncodeExecutable.dir/all] Error 127 make: *** [all] Error 2 Bill Lorensen wrote: > > Maybe I forgot to tell you step 9? Did you press OK? > > 9) In cmake Press OK to generate selected build files and exit > > On Fri, Dec 11, 2009 at 8:37 AM, Bill Lorensen > wrote: >> OK, so there is no Makefile in this directory. When you ran cmake, did >> any error or warning windows pop up? >> >> On Fri, Dec 11, 2009 at 12:36 AM, URI >> wrote: >>> >>> Here's what I get: >>> >>> AllowContinuous.sh >>> BuildContinuous.sh >>> BuildContinuousWithCTest.sh >>> CMake >>> CMakeCache.txt >>> CMakeFiles >>> CMakeTmp >>> CPackConfig.cmake >>> CPackSourceConfig.cmake >>> CTestCustom.cmake >>> Code >>> DartConfiguration.tcl >>> Examples >>> ITKBuildSettings.cmake >>> ITKConfig.cmake >>> ITKLibraryDepends.cmake >>> PreventContinuous.sh >>> Testing >>> UseITK.cmake >>> Utilities >>> Wrapping >>> creonentry >>> itkConfigure.h >>> >>> >>> >>> >>> Bill Lorensen wrote: >>>> >>>> navigate to C:\msys\1.0\home\Insight-mingw >>>> type ls and send the output to me >>>> >>>> On Thu, Dec 10, 2009 at 11:03 PM, URI >>>> wrote: >>>>> >>>>> Let me explain what I've done so I'm sure we're talking about the same >>>>> thing: >>>>> >>>>> I ran Msys and typed "mkdir Insight-mingw " as per Steps 1 and 2. >>>>> ?This >>>>> created a new folder C:\msys\1.0\home\Insight-mingw >>>>> >>>>> In my CMake gui I set the "Where to build the binaries" to that same >>>>> folder. >>>>> >>>>> I did all the "Configure" stuff and all those files and folders appear >>>>> in >>>>> that Insight-mingw folder. >>>>> >>>>> Then I start the Msys shell, navigate to >>>>> C:\msys\1.0\home\Insight-mingw >>>>> and >>>>> type "make" and that's when I get the error. >>>>> >>>>> If I look in that Insight-mingw folder where I built the binaries >>>>> there >>>>> is a >>>>> CMakeCache.txt file, but it does not have a Project_BINARY_DIR >>>>> variable. >>>>> >>>>> Here is my CMakeCache.txt file: >>>>> >>>>> # This is the CMakeCache file. >>>>> # For build in directory: c:/msys/1.0/home/Insight-mingw >>>>> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >>>>> # You can edit this file to change values found and used by cmake. >>>>> # If you do not want to change any of the values, simply exit the >>>>> editor. >>>>> # If you do want to change a value, simply edit, save, and exit the >>>>> editor. >>>>> # The syntax for the file is as follows: >>>>> # KEY:TYPE=VALUE >>>>> # KEY is the name of a variable in the cache. >>>>> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >>>>> # VALUE is the current value for the KEY. >>>>> >>>>> ######################## >>>>> # EXTERNAL cache entries >>>>> ######################## >>>>> >>>>> //Name of build on the dashboard >>>>> BUILDNAME:STRING=Win32-make >>>>> >>>>> //Build Doxygen Documentation >>>>> BUILD_DOXYGEN:BOOL=OFF >>>>> >>>>> //Build the Examples directory. >>>>> BUILD_EXAMPLES:BOOL=ON >>>>> >>>>> //Toggle building shared libraries >>>>> BUILD_SHARED_LIBS:BOOL=OFF >>>>> >>>>> //Build the testing tree. >>>>> BUILD_TESTING:BOOL=ON >>>>> >>>>> //Path to a program. >>>>> BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND >>>>> >>>>> //Path to a program. >>>>> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >>>>> >>>>> //For backwards compatibility, what version of CMake commands and >>>>> // syntax should this version of CMake try to support. >>>>> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >>>>> >>>>> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >>>>> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >>>>> CMAKE_BUILD_TYPE:STRING= >>>>> >>>>> //Enable/Disable color output during build. >>>>> CMAKE_COLOR_MAKEFILE:BOOL=ON >>>>> >>>>> //CXX compiler. >>>>> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >>>>> >>>>> //Flags used by the compiler during all build types. >>>>> CMAKE_CXX_FLAGS:STRING= >>>>> >>>>> //Flags used by the compiler during debug builds. >>>>> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >>>>> >>>>> //Flags used by the compiler during release minsize builds. >>>>> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>>> >>>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>>> // files). >>>>> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>>> >>>>> //Flags used by the compiler during Release with Debug Info builds. >>>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>>> >>>>> //Libraries linked by defalut with all C++ applications. >>>>> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>>>> -lwinspool >>>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>>> >>>>> //C compiler. >>>>> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >>>>> >>>>> //Flags used by the compiler during all build types. >>>>> CMAKE_C_FLAGS:STRING= >>>>> >>>>> //Flags used by the compiler during debug builds. >>>>> CMAKE_C_FLAGS_DEBUG:STRING=-g >>>>> >>>>> //Flags used by the compiler during release minsize builds. >>>>> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>>> >>>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>>> // files). >>>>> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>>> >>>>> //Flags used by the compiler during Release with Debug Info builds. >>>>> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>>> >>>>> //Libraries linked by defalut with all C applications. >>>>> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>>>> -lwinspool >>>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>>> >>>>> //Flags used by the linker. >>>>> CMAKE_EXE_LINKER_FLAGS:STRING= >>>>> >>>>> //Flags used by the linker during debug builds. >>>>> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >>>>> >>>>> //Flags used by the linker during release minsize builds. >>>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >>>>> >>>>> //Flags used by the linker during release builds. >>>>> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >>>>> >>>>> //Flags used by the linker during Release with Debug Info builds. >>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>> >>>>> //Use HP pthreads. >>>>> CMAKE_HP_PTHREADS:BOOL=OFF >>>>> >>>>> //Install path prefix, prepended onto install directories. >>>>> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/ITK >>>>> >>>>> //Path to a program. >>>>> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >>>>> >>>>> //Path to a program. >>>>> CMAKE_MAKE_PROGRAM:FILEPATH=C:/msys/1.0/bin/make.exe >>>>> >>>>> //Flags used by the linker during the creation of modules. >>>>> CMAKE_MODULE_LINKER_FLAGS:STRING= >>>>> >>>>> //Flags used by the linker during debug builds. >>>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >>>>> >>>>> //Flags used by the linker during release minsize builds. >>>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >>>>> >>>>> //Flags used by the linker during release builds. >>>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >>>>> >>>>> //Flags used by the linker during Release with Debug Info builds. >>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>> >>>>> //Path to a program. >>>>> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >>>>> >>>>> //Path to a program. >>>>> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >>>>> >>>>> //Path to a program. >>>>> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >>>>> >>>>> //Value Computed by CMake >>>>> CMAKE_PROJECT_NAME:STATIC=ITK >>>>> >>>>> //Path to a program. >>>>> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >>>>> >>>>> //Flags used by the linker during the creation of dll's. >>>>> CMAKE_SHARED_LINKER_FLAGS:STRING= >>>>> >>>>> //Flags used by the linker during debug builds. >>>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >>>>> >>>>> //Flags used by the linker during release minsize builds. >>>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >>>>> >>>>> //Flags used by the linker during release builds. >>>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >>>>> >>>>> //Flags used by the linker during Release with Debug Info builds. >>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>> >>>>> //If set, runtime paths are not added when using shared libraries. >>>>> CMAKE_SKIP_RPATH:BOOL=OFF >>>>> >>>>> //Path to a program. >>>>> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >>>>> >>>>> //Thread library used. >>>>> CMAKE_THREAD_LIBS:STRING= >>>>> >>>>> //Use the pthreads library. >>>>> CMAKE_USE_PTHREADS:BOOL=OFF >>>>> >>>>> //If true, cmake will use relative paths in makefiles and projects. >>>>> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >>>>> >>>>> //Use sproc libs. >>>>> CMAKE_USE_SPROC:BOOL=OFF >>>>> >>>>> //Use the win32 thread library. >>>>> CMAKE_USE_WIN32_THREADS:BOOL=ON >>>>> >>>>> //If this value is on, makefiles will be generated without the >>>>> // .SILENT directive, and all commands will be echoed to the console >>>>> // during the make. ?This is useful for debugging only. With Visual >>>>> // Studio IDE projects all commands are done without /nologo. >>>>> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >>>>> >>>>> //X11 extra flags. >>>>> CMAKE_X_CFLAGS:STRING=-I >>>>> >>>>> //Libraries and options used in X11 programs. >>>>> CMAKE_X_LIBS:STRING= >>>>> >>>>> //Path to program used to compress files for transfer to the dart >>>>> // server >>>>> COMPRESSIONCOMMAND:FILEPATH=COMPRESSIONCOMMAND-NOTFOUND >>>>> >>>>> //Path to the coverage program that CTest uses for performing coverage >>>>> // inspection >>>>> COVERAGE_COMMAND:FILEPATH=C:/MinGW/bin/gcov.exe >>>>> >>>>> //Enable to build NSIS packages >>>>> CPACK_BINARY_NSIS:BOOL=ON >>>>> >>>>> //Enable to build ZIP packages >>>>> CPACK_BINARY_ZIP:BOOL=OFF >>>>> >>>>> //Enable to build ZIP source packages >>>>> CPACK_SOURCE_ZIP:BOOL=ON >>>>> >>>>> //Path to a program. >>>>> CVSCOMMAND:FILEPATH=CVSCOMMAND-NOTFOUND >>>>> >>>>> //Options passed to the cvs update command. >>>>> CVS_UPDATE_OPTIONS:STRING=-d -A -P >>>>> >>>>> //Limit of reported errors, -1 reports all. >>>>> DART_BUILD_ERROR_REPORT_LIMIT:BOOL=OFF >>>>> >>>>> //Limit of reported warnings, -1 reports all. >>>>> DART_BUILD_WARNING_REPORT_LIMIT:BOOL=OFF >>>>> >>>>> //If you have Dart installed, where is it located? >>>>> DART_ROOT:PATH=DART_ROOT-NOTFOUND >>>>> >>>>> //Maximum time allowed before CTest will kill the test. >>>>> DART_TESTING_TIMEOUT:STRING=1500 >>>>> >>>>> //Show the actual output of the build, or if off show a . for each >>>>> // 1024 bytes. >>>>> DART_VERBOSE_BUILD:BOOL=OFF >>>>> >>>>> //Should Dart server send email when build errors are found in >>>>> // Continuous builds? >>>>> DELIVER_CONTINUOUS_EMAIL:BOOL=OFF >>>>> >>>>> //Value Computed by CMake >>>>> FilteringExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Filtering >>>>> >>>>> //Value Computed by CMake >>>>> FilteringExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Filtering >>>>> >>>>> //Value Computed by CMake >>>>> GDCM_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/gdcm >>>>> >>>>> //Remove all legacy code completely. >>>>> GDCM_LEGACY_REMOVE:BOOL=OFF >>>>> >>>>> //Silence all legacy code messages. >>>>> GDCM_LEGACY_SILENT:BOOL=OFF >>>>> >>>>> //Value Computed by CMake >>>>> GDCM_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/gdcm >>>>> >>>>> //Path to gunzip executable >>>>> GUNZIPCOMMAND:FILEPATH=GUNZIPCOMMAND-NOTFOUND >>>>> >>>>> //Path to a program. >>>>> HGCOMMAND:FILEPATH=HGCOMMAND-NOTFOUND >>>>> >>>>> //Value Computed by CMake >>>>> IOExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/IO >>>>> >>>>> //Value Computed by CMake >>>>> IOExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/IO >>>>> >>>>> //Dependencies for the target >>>>> ITKAlgorithms_LIB_DEPENDS:STATIC=general;gdi32;general;ITKStatistics;general;ITKNumerics; >>>>> >>>>> //Dependencies for the target >>>>> ITKBasicFilters_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>>>> >>>>> //Dependencies for the target >>>>> ITKCommon_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_inst;general;itksys; >>>>> >>>>> //Dependencies for the target >>>>> ITKDICOMParser_LIB_DEPENDS:STATIC=general;gdi32; >>>>> >>>>> //Value Computed by CMake >>>>> ITKEXPAT_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/expat >>>>> >>>>> //Dependencies for the target >>>>> ITKEXPAT_LIB_DEPENDS:STATIC=general;gdi32; >>>>> >>>>> //Value Computed by CMake >>>>> ITKEXPAT_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/expat >>>>> >>>>> //Value Computed by CMake >>>>> ITKEXTHDRS_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkExtHdrs >>>>> >>>>> //Value Computed by CMake >>>>> ITKEXTHDRS_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkExtHdrs >>>>> >>>>> //Dependencies for the target >>>>> ITKFEM_LIB_DEPENDS:STATIC=general;gdi32;general;ITKBasicFilters;general;ITKIO; >>>>> >>>>> //Dependencies for the target >>>>> ITKIO_LIB_DEPENDS:STATIC=general;gdi32;general;ITKNrrdIO;general;itkgdcm;general;itkpng;general;itktiff;general;ITKSpatialObject;general;ITKMetaIO;general;ITKDICOMParser;general;ITKEXPAT;general;ITKniftiio; >>>>> >>>>> //Value Computed by CMake >>>>> ITKJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkjpeg >>>>> >>>>> //Value Computed by CMake >>>>> ITKJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkjpeg >>>>> >>>>> //Value Computed by CMake >>>>> ITKMetaIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/MetaIO >>>>> >>>>> //Dependencies for the target >>>>> ITKMetaIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itksys;general;comctl32;general;wsock32; >>>>> >>>>> //Value Computed by CMake >>>>> ITKMetaIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/MetaIO >>>>> >>>>> //Value Computed by CMake >>>>> ITKNrrdIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/NrrdIO >>>>> >>>>> //Dependencies for the target >>>>> ITKNrrdIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>> >>>>> //Value Computed by CMake >>>>> ITKNrrdIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/NrrdIO >>>>> >>>>> //Dependencies for the target >>>>> ITKNumerics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>>>> >>>>> //Value Computed by CMake >>>>> ITKOpenJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/openjpeg >>>>> >>>>> //Value Computed by CMake >>>>> ITKOpenJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/openjpeg >>>>> >>>>> //Value Computed by CMake >>>>> ITKPNG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkpng >>>>> >>>>> //Value Computed by CMake >>>>> ITKPNG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkpng >>>>> >>>>> //Dependencies for the target >>>>> ITKSpatialObject_LIB_DEPENDS:STATIC=general;gdi32;general;ITKMetaIO;general;ITKCommon; >>>>> >>>>> //Dependencies for the target >>>>> ITKStatistics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon;general;itkNetlibSlatec; >>>>> >>>>> //Value Computed by CMake >>>>> ITKTIFF_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itktiff >>>>> >>>>> //Value Computed by CMake >>>>> ITKTIFF_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itktiff >>>>> >>>>> //Value Computed by CMake >>>>> ITKTesting_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Testing >>>>> >>>>> //Value Computed by CMake >>>>> ITKTesting_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Testing >>>>> >>>>> //Value Computed by CMake >>>>> ITKZLIB_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkzlib >>>>> >>>>> //Value Computed by CMake >>>>> ITKZLIB_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkzlib >>>>> >>>>> //Value Computed by CMake >>>>> ITK_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw >>>>> >>>>> //Directory with data taken from >>>>> http://public.kitware.com/pub/itk/Data/BrainWeb/ >>>>> ITK_BRAINWEB_DATA_ROOT:PATH=ITK_BRAINWEB_DATA_ROOT-NOTFOUND >>>>> >>>>> //Provide here the size of your RAM Memory in GigaBytes >>>>> ITK_COMPUTER_MEMORY_SIZE:STRING=1 >>>>> >>>>> //Build cswig Java wrapper support >>>>> ITK_CSWIG_JAVA:BOOL=OFF >>>>> >>>>> //Build cswig Python wrapper support (requires CableSwig). >>>>> ITK_CSWIG_PYTHON:BOOL=OFF >>>>> >>>>> //Build cswig Tcl wrapper support (requires CableSwig). >>>>> ITK_CSWIG_TCL:BOOL=OFF >>>>> >>>>> //Path to a file. >>>>> ITK_DATA_ROOT:PATH=C:/ITK_3_16_0/Testing/Data >>>>> >>>>> //Try to explicitly build some of the core templates explictitly >>>>> // rather than over and over again. >>>>> ITK_EXPLICIT_INSTANTIATION:BOOL=OFF >>>>> >>>>> //Makes itk::Image behave like itk::OrientedImage >>>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE:BOOL=ON >>>>> >>>>> //Remove all legacy code completely. >>>>> ITK_LEGACY_REMOVE:BOOL=OFF >>>>> >>>>> //Silence all legacy code messages. >>>>> ITK_LEGACY_SILENT:BOOL=OFF >>>>> >>>>> //Directory with data taken from >>>>> http://public.kitware.com/pub/itk/Data/HealthyVolunteersMRIDatabase/ >>>>> ITK_MRI_UNC_DATABASE_DATA_ROOT:PATH=ITK_MRI_UNC_DATABASE_DATA_ROOT-NOTFOUND >>>>> >>>>> //Directory with data taken from >>>>> http://www.osirix-viewer.com/Downloads.html >>>>> ITK_OSIRIX_DATA_ROOT:PATH=ITK_OSIRIX_DATA_ROOT-NOTFOUND >>>>> >>>>> //Value Computed by CMake >>>>> ITK_SOURCE_DIR:STATIC=C:/ITK_3_16_0 >>>>> >>>>> //Turn on correct usage of centered-pixel coordinates. >>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON >>>>> >>>>> //Turn on concept checking to give helpful errors at compile time >>>>> // if a type cannot be used as a template parameter. >>>>> ITK_USE_CONCEPT_CHECKING:BOOL=ON >>>>> >>>>> //Turn on the experimental consolidated morphology. >>>>> ITK_USE_CONSOLIDATED_MORPHOLOGY:BOOL=OFF >>>>> >>>>> //Turn on the use of a sparse field level set surface interpolation >>>>> // method that has been deprecated since ITK 3.6. Turn this flag >>>>> // ON to exactly replicate the behavior of ITK<=3.4. >>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION:BOOL=OFF >>>>> >>>>> //Enable the use of KWStyle for checking coding style. >>>>> ITK_USE_KWSTYLE:BOOL=OFF >>>>> >>>>> //Use LIBXML2. >>>>> ITK_USE_LIBXML2:BOOL=OFF >>>>> >>>>> //Use MINC2 File Format >>>>> ITK_USE_MINC2:BOOL=OFF >>>>> >>>>> //Turn on the experimental version of accelerated registration >>>>> // methods. >>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=OFF >>>>> >>>>> //Turn on correct use of oriented images direction in gradient >>>>> // computation and image registration. >>>>> ITK_USE_ORIENTED_IMAGE_DIRECTION:BOOL=ON >>>>> >>>>> //Build algorithms that are covered with Patents. It is YOUR >>>>> responsibility >>>>> // to obtain a license from the patent holder in order to use these >>>>> // methods. >>>>> ITK_USE_PATENTED:BOOL=OFF >>>>> >>>>> //Turn on region validation in Iterator constructors. >>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS:BOOL=ON >>>>> >>>>> //Build algorithms that are candidates to be included in the Toolkit. >>>>> // This classes are not covered by the Backward Compatibility Policy, >>>>> // nor the Copyright Policy of ITK. >>>>> ITK_USE_REVIEW:BOOL=OFF >>>>> >>>>> //Use the experimental statistics framework. >>>>> ITK_USE_REVIEW_STATISTICS:BOOL=OFF >>>>> >>>>> //Turn on Strict concept checking to give more stringent errors >>>>> // at compile time if a type cannot be used as a template parameter. >>>>> ITK_USE_STRICT_CONCEPT_CHECKING:BOOL=OFF >>>>> >>>>> //Use an outside build of GDCM. >>>>> ITK_USE_SYSTEM_GDCM:BOOL=OFF >>>>> >>>>> //Use the system's libxml2 library. >>>>> ITK_USE_SYSTEM_LIBXML2:BOOL=OFF >>>>> >>>>> //Use the system's png library. >>>>> ITK_USE_SYSTEM_PNG:BOOL=OFF >>>>> >>>>> //Use the system's tiff library. >>>>> ITK_USE_SYSTEM_TIFF:BOOL=OFF >>>>> >>>>> //Use an outside build of VXL. >>>>> ITK_USE_SYSTEM_VXL:BOOL=OFF >>>>> >>>>> //Use the system's zlib library. >>>>> ITK_USE_SYSTEM_ZLIB:BOOL=OFF >>>>> >>>>> //Turn on the use of Template Meta-Programming techniques for >>>>> unrolling >>>>> // for-loops at compile time. >>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING:BOOL=ON >>>>> >>>>> //Turn on the experimental IO factories for reading and writing >>>>> // transforms. >>>>> ITK_USE_TRANSFORM_IO_FACTORIES:BOOL=OFF >>>>> >>>>> //Directory with data taken from >>>>> http://www.nlm.nih.gov/research/visible/getting_data.html >>>>> ITK_VISIBLEHUMAN_DATA_ROOT:PATH=ITK_VISIBLEHUMAN_DATA_ROOT-NOTFOUND >>>>> >>>>> //Dependencies for the target >>>>> ITKniftiio_LIB_DEPENDS:STATIC=general;gdi32;general;ITKznz; >>>>> >>>>> //Dependencies for the target >>>>> ITKznz_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>> >>>>> //Value Computed by CMake >>>>> ImageExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Image >>>>> >>>>> //Value Computed by CMake >>>>> ImageExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Image >>>>> >>>>> //Value Computed by CMake >>>>> ImageRegistration_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Registration >>>>> >>>>> //Value Computed by CMake >>>>> ImageRegistration_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Registration >>>>> >>>>> //Value Computed by CMake >>>>> ImageSegmentation_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Segmentation >>>>> >>>>> //Value Computed by CMake >>>>> ImageSegmentation_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Segmentation >>>>> >>>>> //Value Computed by CMake >>>>> IteratorExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Iterators >>>>> >>>>> //Value Computed by CMake >>>>> IteratorExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Iterators >>>>> >>>>> //Path to java command, used by the Dart server to create html. >>>>> JAVACOMMAND:FILEPATH=JAVACOMMAND-NOTFOUND >>>>> >>>>> //Command used to build entire project from the command line. >>>>> MAKECOMMAND:STRING=C:/msys/1.0/bin/make.exe -i >>>>> >>>>> //Path to the memory checking command, used for memory error >>>>> detection. >>>>> MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND >>>>> >>>>> //File that contains suppressions for the memory checker >>>>> MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= >>>>> >>>>> //Value Computed by CMake >>>>> MeshExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Mesh >>>>> >>>>> //Value Computed by CMake >>>>> MeshExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Mesh >>>>> >>>>> //Value Computed by CMake >>>>> NIFTI_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/nifti >>>>> >>>>> //Value Computed by CMake >>>>> NIFTI_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/nifti >>>>> >>>>> //Value Computed by CMake >>>>> NumericsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Numerics >>>>> >>>>> //Value Computed by CMake >>>>> NumericsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Numerics >>>>> >>>>> //Value Computed by CMake >>>>> PathExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Path >>>>> >>>>> //Value Computed by CMake >>>>> PathExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Path >>>>> >>>>> //Path to scp command, used by CTest for submitting results to >>>>> // a Dart server >>>>> SCPCOMMAND:FILEPATH=SCPCOMMAND-NOTFOUND >>>>> >>>>> //Name of the computer/site where compile is being run >>>>> SITE:STRING=ZAPPA >>>>> >>>>> //Path to the SLURM sbatch executable >>>>> SLURM_SBATCH_COMMAND:FILEPATH=SLURM_SBATCH_COMMAND-NOTFOUND >>>>> >>>>> //Path to the SLURM srun executable >>>>> SLURM_SRUN_COMMAND:FILEPATH=SLURM_SRUN_COMMAND-NOTFOUND >>>>> >>>>> //Path to a program. >>>>> SVNCOMMAND:FILEPATH=SVNCOMMAND-NOTFOUND >>>>> >>>>> //Value Computed by CMake >>>>> SpatialObjectsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/SpatialObjects >>>>> >>>>> //Value Computed by CMake >>>>> SpatialObjectsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/SpatialObjects >>>>> >>>>> //Value Computed by CMake >>>>> StatisticsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Statistics >>>>> >>>>> //Value Computed by CMake >>>>> StatisticsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Statistics >>>>> >>>>> //Path to a program. >>>>> TCL_TCLSH:FILEPATH=TCL_TCLSH-NOTFOUND >>>>> >>>>> //Use double precision FFTW if found >>>>> USE_FFTWD:BOOL=OFF >>>>> >>>>> //Use single precision FFTW if found >>>>> USE_FFTWF:BOOL=OFF >>>>> >>>>> //Use the SGI SCSL High Performance Computing math library >>>>> USE_SCSL:BOOL=OFF >>>>> >>>>> //Build external languages support >>>>> USE_WRAP_ITK:BOOL=OFF >>>>> >>>>> //Path to a file. >>>>> UUID_INCLUDE_DIR:PATH=UUID_INCLUDE_DIR-NOTFOUND >>>>> >>>>> //Path to a library. >>>>> UUID_LIBRARY:FILEPATH=UUID_LIBRARY-NOTFOUND >>>>> >>>>> //Whether vnl_vector/vnl_matrix accessor methods check index bounds. >>>>> VNL_CONFIG_CHECK_BOUNDS:BOOL=ON >>>>> >>>>> //Enable Streaming SIMD Extensions 2 optimisations (hardware >>>>> dependant). >>>>> // Currently broken. For use by VNL developers only. >>>>> VNL_CONFIG_ENABLE_SSE2:BOOL=OFF >>>>> >>>>> //Enable Streaming SIMD Extensions 2 implementation of rounding >>>>> // (hardware dependant). >>>>> VNL_CONFIG_ENABLE_SSE2_ROUNDING:BOOL=OFF >>>>> >>>>> //Whether backward-compatibility methods are provided by vnl. >>>>> VNL_CONFIG_LEGACY_METHODS:BOOL=OFF >>>>> >>>>> //Whether thread-safe vnl implementations are used. >>>>> VNL_CONFIG_THREAD_SAFE:BOOL=ON >>>>> >>>>> //v3p include files >>>>> VTHREEP_INCLUDE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>>>> >>>>> //v3p include files >>>>> VTHREEP_INSTALL_INCLUDE_DIR:STATIC=C:/Program Files >>>>> (x86)/ITK/include/vxl/v3p >>>>> >>>>> //Re-run the configuration tests? >>>>> VXL_UPDATE_CONFIGURATION:BOOL=OFF >>>>> >>>>> //Dependencies for the target >>>>> itkNetlibSlatec_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib; >>>>> >>>>> //Value Computed by CMake >>>>> itkdicomparser_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/DICOMParser >>>>> >>>>> //Value Computed by CMake >>>>> itkdicomparser_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/DICOMParser >>>>> >>>>> //Dependencies for the target >>>>> itkgdcm_LIB_DEPENDS:STATIC=general;gdi32;general;itkjpeg8;general;itkjpeg12;general;itkjpeg16;general;itkopenjpeg;general;wsock32;general;snmpapi;general;rpcrt4; >>>>> >>>>> //Dependencies for the target >>>>> itkjpeg12_LIB_DEPENDS:STATIC=general;gdi32; >>>>> >>>>> //Dependencies for the target >>>>> itkjpeg16_LIB_DEPENDS:STATIC=general;gdi32; >>>>> >>>>> //Dependencies for the target >>>>> itkjpeg8_LIB_DEPENDS:STATIC=general;gdi32; >>>>> >>>>> //Dependencies for the target >>>>> itkopenjpeg_LIB_DEPENDS:STATIC=general;gdi32; >>>>> >>>>> //Dependencies for the target >>>>> itkpng_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>> >>>>> //Value Computed by CMake >>>>> itksys_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/kwsys >>>>> >>>>> //Dependencies for the target >>>>> itksys_LIB_DEPENDS:STATIC=general;gdi32;general;ws2_32; >>>>> >>>>> //Value Computed by CMake >>>>> itksys_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/kwsys >>>>> >>>>> //Dependencies for the target >>>>> itktestlib_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>>>> >>>>> //Dependencies for the target >>>>> itktiff_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itkjpeg8; >>>>> >>>>> //Dependencies for the target >>>>> itkv3p_netlib_LIB_DEPENDS:STATIC=general;gdi32; >>>>> >>>>> //Dependencies for the target >>>>> itkvcl_LIB_DEPENDS:STATIC=general;gdi32; >>>>> >>>>> //Dependencies for the target >>>>> itkvnl_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>>>> >>>>> //Dependencies for the target >>>>> itkvnl_algo_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib;general;itkvnl; >>>>> >>>>> //Dependencies for the target >>>>> itkvnl_inst_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_algo; >>>>> >>>>> //Dependencies for the target >>>>> itkzlib_LIB_DEPENDS:STATIC=general;gdi32; >>>>> >>>>> //Value Computed by CMake >>>>> netlib_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p/netlib >>>>> >>>>> //Value Computed by CMake >>>>> netlib_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p/netlib >>>>> >>>>> //Value Computed by CMake >>>>> vcl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/vcl >>>>> >>>>> //Value Computed by CMake >>>>> vcl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/vcl >>>>> >>>>> //Value Computed by CMake >>>>> vthreep_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p >>>>> >>>>> //Value Computed by CMake >>>>> vthreep_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>>>> >>>>> //Value Computed by CMake >>>>> vxl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl >>>>> >>>>> //Value Computed by CMake >>>>> vxl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl >>>>> >>>>> //Value Computed by CMake >>>>> vxl_config_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/config/cmake/config >>>>> >>>>> //Value Computed by CMake >>>>> vxl_config_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/config/cmake/config >>>>> >>>>> //Value Computed by CMake >>>>> vxlcore_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/core >>>>> >>>>> //Value Computed by CMake >>>>> vxlcore_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/core >>>>> >>>>> >>>>> ######################## >>>>> # INTERNAL cache entries >>>>> ######################## >>>>> >>>>> //System handles bit-fields larger than 32 bits. >>>>> BIGBITFIELD:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> BIGBITFIELD_VALUE:INTERNAL=TRUE >>>>> //ADVANCED property for variable: BUILDNAME >>>>> BUILDNAME-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: BZRCOMMAND >>>>> BZRCOMMAND-ADVANCED:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> CMAKE_ANSI_FOR_SCOPE:INTERNAL=TRUE >>>>> //Have include iostream >>>>> CMAKE_ANSI_STREAM_HEADERS:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_AR >>>>> CMAKE_AR-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_BACKWARDS_COMPATIBILITY >>>>> CMAKE_BACKWARDS_COMPATIBILITY-ADVANCED:INTERNAL=0 >>>>> //ADVANCED property for variable: CMAKE_BUILD_TOOL >>>>> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >>>>> //What is the target build tool cmake is generating for. >>>>> CMAKE_BUILD_TOOL:INTERNAL=C:/msys/1.0/bin/make.exe >>>>> //This is the directory where this CMakeCache.txt was created >>>>> CMAKE_CACHEFILE_DIR:INTERNAL=c:/msys/1.0/home/Insight-mingw >>>>> //Major version of cmake used to create the current loaded cache >>>>> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >>>>> //Minor version of cmake used to create the current loaded cache >>>>> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >>>>> //Patch version of cmake used to create the current loaded cache >>>>> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >>>>> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >>>>> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >>>>> //Path to CMake executable. >>>>> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >>>>> //Path to cpack program executable. >>>>> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >>>>> //ADVANCED property for variable: CMAKE_CTEST_COMMAND >>>>> CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 >>>>> //Path to ctest program executable. >>>>> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >>>>> //ADVANCED property for variable: CMAKE_CXX_COMPILER >>>>> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >>>>> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS >>>>> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >>>>> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >>>>> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >>>>> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >>>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >>>>> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_C_COMPILER >>>>> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >>>>> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_C_FLAGS >>>>> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >>>>> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >>>>> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >>>>> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >>>>> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >>>>> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >>>>> //Path to cache edit program executable. >>>>> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >>>>> //Executable file format >>>>> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >>>>> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >>>>> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >>>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >>>>> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: >>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>> //Name of generator. >>>>> CMAKE_GENERATOR:INTERNAL=MSYS Makefiles >>>>> //Result of TRY_COMPILE >>>>> CMAKE_HAS_ANSI_STRING_STREAM:INTERNAL=TRUE >>>>> //Is X11 around. >>>>> CMAKE_HAS_X:INTERNAL= >>>>> //Have include limits.h >>>>> CMAKE_HAVE_LIMITS_H:INTERNAL=1 >>>>> //Have include pthread.h >>>>> CMAKE_HAVE_PTHREAD_H:INTERNAL= >>>>> //Have include stdint.h >>>>> CMAKE_HAVE_STDINT_H:INTERNAL=1 >>>>> //Have include CMAKE_HAVE_STDLIB_H >>>>> CMAKE_HAVE_STDLIB_H:INTERNAL=1 >>>>> //Have includes CMAKE_HAVE_SYS_PRCTL_H >>>>> CMAKE_HAVE_SYS_PRCTL_H:INTERNAL= >>>>> //Have include unistd.h >>>>> CMAKE_HAVE_UNISTD_H:INTERNAL=1 >>>>> //Start directory with the top level CMakeLists.txt file for this >>>>> // project >>>>> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0 >>>>> //ADVANCED property for variable: CMAKE_HP_PTHREADS >>>>> CMAKE_HP_PTHREADS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_LINKER >>>>> CMAKE_LINKER-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >>>>> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >>>>> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >>>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >>>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >>>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: >>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_NM >>>>> CMAKE_NM-ADVANCED:INTERNAL=1 >>>>> //Does the compiler support ansi for scope. >>>>> CMAKE_NO_ANSI_FOR_SCOPE:INTERNAL=0 >>>>> //ADVANCED property for variable: CMAKE_NO_ANSI_STREAM_HEADERS >>>>> CMAKE_NO_ANSI_STREAM_HEADERS-ADVANCED:INTERNAL=1 >>>>> //Does the compiler support headers like iostream. >>>>> CMAKE_NO_ANSI_STREAM_HEADERS:INTERNAL=0 >>>>> //Does the compiler support sstream >>>>> CMAKE_NO_ANSI_STRING_STREAM:INTERNAL=0 >>>>> //Does the compiler support std::. >>>>> CMAKE_NO_STD_NAMESPACE:INTERNAL=0 >>>>> //number of local generators >>>>> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=76 >>>>> //ADVANCED property for variable: CMAKE_OBJCOPY >>>>> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_OBJDUMP >>>>> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_RANLIB >>>>> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >>>>> //Path to CMake installation. >>>>> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >>>>> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >>>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >>>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >>>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: >>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>> //Result of CHECK_TYPE_SIZE >>>>> CMAKE_SIZEOF_CHAR:INTERNAL=1 >>>>> //Result of CHECK_TYPE_SIZE >>>>> CMAKE_SIZEOF_DOUBLE:INTERNAL=8 >>>>> //Result of CHECK_TYPE_SIZE >>>>> CMAKE_SIZEOF_FLOAT:INTERNAL=4 >>>>> //Result of CHECK_TYPE_SIZE >>>>> CMAKE_SIZEOF_INT:INTERNAL=4 >>>>> //Result of CHECK_TYPE_SIZE >>>>> CMAKE_SIZEOF_LONG:INTERNAL=4 >>>>> //Result of CHECK_TYPE_SIZE >>>>> CMAKE_SIZEOF_SHORT:INTERNAL=2 >>>>> //Result of CHECK_TYPE_SIZE >>>>> CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=2 >>>>> //Result of CHECK_TYPE_SIZE >>>>> CMAKE_SIZEOF_VOID_P:INTERNAL=4 >>>>> //ADVANCED property for variable: CMAKE_SKIP_RPATH >>>>> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> CMAKE_STD_NAMESPACE:INTERNAL=TRUE >>>>> //ADVANCED property for variable: CMAKE_STRIP >>>>> CMAKE_STRIP-ADVANCED:INTERNAL=1 >>>>> //Suppress Warnings that are meant for the author of the >>>>> CMakeLists.txt >>>>> // files. >>>>> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >>>>> //ADVANCED property for variable: CMAKE_THREAD_LIBS >>>>> CMAKE_THREAD_LIBS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_USE_PTHREADS >>>>> CMAKE_USE_PTHREADS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >>>>> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_USE_SPROC >>>>> CMAKE_USE_SPROC-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_USE_WIN32_THREADS >>>>> CMAKE_USE_WIN32_THREADS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >>>>> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >>>>> //Result of TEST_BIG_ENDIAN >>>>> CMAKE_WORDS_BIGENDIAN:INTERNAL=0 >>>>> //ADVANCED property for variable: CMAKE_X_CFLAGS >>>>> CMAKE_X_CFLAGS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CMAKE_X_LIBS >>>>> CMAKE_X_LIBS-ADVANCED:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> COMPILE_RESULT:INTERNAL=TRUE >>>>> //ADVANCED property for variable: COMPRESSIONCOMMAND >>>>> COMPRESSIONCOMMAND-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: COVERAGE_COMMAND >>>>> COVERAGE_COMMAND-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CPACK_BINARY_NSIS >>>>> CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CPACK_BINARY_ZIP >>>>> CPACK_BINARY_ZIP-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CPACK_SOURCE_ZIP >>>>> CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CVSCOMMAND >>>>> CVSCOMMAND-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: CVS_UPDATE_OPTIONS >>>>> CVS_UPDATE_OPTIONS-ADVANCED:INTERNAL=1 >>>>> //CXX compiler accepts flag -Wno-deprecated >>>>> CXX_HAS_DEPRECATED_FLAG:INTERNAL=TRUE >>>>> //ADVANCED property for variable: DART_BUILD_ERROR_REPORT_LIMIT >>>>> DART_BUILD_ERROR_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: DART_BUILD_WARNING_REPORT_LIMIT >>>>> DART_BUILD_WARNING_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: DART_ROOT >>>>> DART_ROOT-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: DART_TESTING_TIMEOUT >>>>> DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: DART_VERBOSE_BUILD >>>>> DART_VERBOSE_BUILD-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: DELIVER_CONTINUOUS_EMAIL >>>>> DELIVER_CONTINUOUS_EMAIL-ADVANCED:INTERNAL=1 >>>>> //Result of TRY_RUN >>>>> DUMMY:INTERNAL=0 >>>>> //ADVANCED property for variable: EXECUTABLE_OUTPUT_PATH >>>>> EXECUTABLE_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>>>> //Single output directory for building all executables. >>>>> EXECUTABLE_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>>>> //Details about finding Threads >>>>> FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE] >>>>> //Support for extension C __FUNCTION__ >>>>> GDCM_COMPILER_HAS_FUNCTION:INTERNAL=1 >>>>> //ADVANCED property for variable: GDCM_DATA_DIR >>>>> GDCM_DATA_DIR-ADVANCED:INTERNAL=1 >>>>> //Install location for data (relative to prefix). >>>>> GDCM_DATA_DIR:INTERNAL=/share/gdcm/ >>>>> //ADVANCED property for variable: GDCM_LEGACY_REMOVE >>>>> GDCM_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: GDCM_LEGACY_SILENT >>>>> GDCM_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>>>> //Result of TEST_BIG_ENDIAN >>>>> GDCM_WORDS_BIGENDIAN:INTERNAL=0 >>>>> //ADVANCED property for variable: GUNZIPCOMMAND >>>>> GUNZIPCOMMAND-ADVANCED:INTERNAL=1 >>>>> //Have include HAVE_ASSERT_H >>>>> HAVE_ASSERT_H:INTERNAL=1 >>>>> // >>>>> HAVE_BIGBITFIELD_VALUE:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_CMAKE_SIZEOF_CHAR:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_CMAKE_SIZEOF_DOUBLE:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_CMAKE_SIZEOF_FLOAT:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_CMAKE_SIZEOF_INT:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_CMAKE_SIZEOF_LONG:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_CMAKE_SIZEOF_SHORT:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_CMAKE_SIZEOF_VOID_P:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_CMAKE_WORDS_BIGENDIAN:INTERNAL=TRUE >>>>> //Have includes HAVE_DLFCN_H >>>>> HAVE_DLFCN_H:INTERNAL= >>>>> //Have include HAVE_FCNTL_H >>>>> HAVE_FCNTL_H:INTERNAL=1 >>>>> //Have function floor >>>>> HAVE_FLOOR:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> HAVE_GDCM_WORDS_BIGENDIAN:INTERNAL=TRUE >>>>> //Have function getopt >>>>> HAVE_GETOPT:INTERNAL=1 >>>>> //Have includes HAVE_IEEEFP_H >>>>> HAVE_IEEEFP_H:INTERNAL= >>>>> //Have include HAVE_INTTYPES_H >>>>> HAVE_INTTYPES_H:INTERNAL=1 >>>>> //Have function isascii >>>>> HAVE_ISASCII:INTERNAL=1 >>>>> // >>>>> HAVE_ITK_CPP_FUNCTION:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_ITK_SIZEOF_LONG_LONG:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_ITK_SIZEOF___INT64:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_KWSYS_SIZEOF_CHAR:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_KWSYS_SIZEOF_INT:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_KWSYS_SIZEOF_LONG:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_KWSYS_SIZEOF_LONG_LONG:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_KWSYS_SIZEOF_SHORT:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_KWSYS_SIZEOF___INT64:INTERNAL=TRUE >>>>> //Have library malloc >>>>> HAVE_LIBMALLOC:INTERNAL= >>>>> //Have include HAVE_LIMITS_H >>>>> HAVE_LIMITS_H:INTERNAL=1 >>>>> //Have include HAVE_MALLOC_H >>>>> HAVE_MALLOC_H:INTERNAL=1 >>>>> //Have function memmove >>>>> HAVE_MEMMOVE:INTERNAL=1 >>>>> //Have include HAVE_MEMORY_H >>>>> HAVE_MEMORY_H:INTERNAL=1 >>>>> //Have function memset >>>>> HAVE_MEMSET:INTERNAL=1 >>>>> //Have function mmap >>>>> HAVE_MMAP:INTERNAL= >>>>> //Have function pow >>>>> HAVE_POW:INTERNAL=1 >>>>> //Have library Psapi >>>>> HAVE_PSAPI:INTERNAL= >>>>> //Result of TRY_COMPILE >>>>> HAVE_QNANHIBIT_VALUE:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_SIZEOF_INT:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> HAVE_SIZEOF_LONG:INTERNAL=TRUE >>>>> //Have function sqrt >>>>> HAVE_SQRT:INTERNAL=1 >>>>> //Have include stddef.h >>>>> HAVE_STDDEF_H:INTERNAL=1 >>>>> //Have include stdint.h >>>>> HAVE_STDINT_H:INTERNAL=1 >>>>> //Have include HAVE_STDLIB_H >>>>> HAVE_STDLIB_H:INTERNAL=1 >>>>> //Have function strcasecmp >>>>> HAVE_STRCASECMP:INTERNAL=1 >>>>> //Have function strchr >>>>> HAVE_STRCHR:INTERNAL=1 >>>>> //Have include HAVE_STRINGS_H >>>>> HAVE_STRINGS_H:INTERNAL=1 >>>>> //Have include HAVE_STRING_H >>>>> HAVE_STRING_H:INTERNAL=1 >>>>> //Have function strrchr >>>>> HAVE_STRRCHR:INTERNAL=1 >>>>> //Have function strstr >>>>> HAVE_STRSTR:INTERNAL=1 >>>>> //Have function strtol >>>>> HAVE_STRTOL:INTERNAL=1 >>>>> //Have function areroul >>>>> HAVE_STRTOUL:INTERNAL= >>>>> //Have include HAVE_SYS_STAT_H >>>>> HAVE_SYS_STAT_H:INTERNAL=1 >>>>> //Have include HAVE_SYS_TIME_H >>>>> HAVE_SYS_TIME_H:INTERNAL=1 >>>>> //Have include sys/types.h >>>>> HAVE_SYS_TYPES_H:INTERNAL=1 >>>>> //Have include unistd.h >>>>> HAVE_UNISTD_H:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> HAVE_VXL_BIG_ENDIAN:INTERNAL=TRUE >>>>> //Have include HAVE_WINDOWS_H >>>>> HAVE_WINDOWS_H:INTERNAL=1 >>>>> //ADVANCED property for variable: HGCOMMAND >>>>> HGCOMMAND-ADVANCED:INTERNAL=1 >>>>> //ImageCompare path to be used by subprojects >>>>> IMAGE_COMPARE:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompare >>>>> //ImageCompare path to be used by subprojects >>>>> IMAGE_COMPARE_COMMAND:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompareCommand >>>>> //ImageCopy path to be used by subprojects >>>>> IMAGE_COPY:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCopy >>>>> //ADVANCED property for variable: ITK_BRAINWEB_DATA_ROOT >>>>> ITK_BRAINWEB_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_COMPUTER_MEMORY_SIZE >>>>> ITK_COMPUTER_MEMORY_SIZE-ADVANCED:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> ITK_CPP_FUNCTION:INTERNAL=TRUE >>>>> //ADVANCED property for variable: ITK_CSWIG_JAVA >>>>> ITK_CSWIG_JAVA-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_CSWIG_PYTHON >>>>> ITK_CSWIG_PYTHON-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_CSWIG_TCL >>>>> ITK_CSWIG_TCL-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_DATA_ROOT >>>>> ITK_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>> //ITK dir to be used by subprojects >>>>> ITK_DIR:INTERNAL=C:/msys/1.0/home/Insight-mingw >>>>> //ADVANCED property for variable: ITK_EXPLICIT_INSTANTIATION >>>>> ITK_EXPLICIT_INSTANTIATION-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE >>>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE-ADVANCED:INTERNAL=1 >>>>> ITK_INSTALL_PACKAGE_DIR:INTERNAL=/lib/InsightToolkit >>>>> //Whether istream supports long long >>>>> ITK_ISTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_LEGACY_REMOVE >>>>> ITK_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_LEGACY_SILENT >>>>> ITK_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_MRI_UNC_DATABASE_DATA_ROOT >>>>> ITK_MRI_UNC_DATABASE_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_OSIRIX_DATA_ROOT >>>>> ITK_OSIRIX_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>> //Whether ostream supports long long >>>>> ITK_OSTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>>>> //Result of CHECK_TYPE_SIZE >>>>> ITK_SIZEOF_LONG_LONG:INTERNAL=8 >>>>> //Result of CHECK_TYPE_SIZE >>>>> ITK_SIZEOF___INT64:INTERNAL=8 >>>>> //Result of TRY_COMPILE >>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_EMPTY_BRACKETS:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_NULL_STRING:INTERNAL=FALSE >>>>> //Result of TRY_COMPILE >>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_TEMPLATE_ARGUMENTS:INTERNAL=FALSE >>>>> //Result of TRY_COMPILE >>>>> ITK_SUPPORTS_TEMPLATE_PARTIAL_SPECIALIZATION:INTERNAL=TRUE >>>>> //itkTestDriver path to be used by subprojects >>>>> ITK_TEST_DRIVER:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/itkTestDriver >>>>> //Whether long and __int64 are the same type >>>>> ITK_TYPE_SAME_LONG_AND___INT64:INTERNAL=0 >>>>> //ADVANCED property for variable: >>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY >>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_CONCEPT_CHECKING >>>>> ITK_USE_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_CONSOLIDATED_MORPHOLOGY >>>>> ITK_USE_CONSOLIDATED_MORPHOLOGY-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: >>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION >>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_LIBXML2 >>>>> ITK_USE_LIBXML2-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_MINC2 >>>>> ITK_USE_MINC2-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: >>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS >>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_ORIENTED_IMAGE_DIRECTION >>>>> ITK_USE_ORIENTED_IMAGE_DIRECTION-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_PATENTED >>>>> ITK_USE_PATENTED-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: >>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS >>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_REVIEW >>>>> ITK_USE_REVIEW-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_REVIEW_STATISTICS >>>>> ITK_USE_REVIEW_STATISTICS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_STRICT_CONCEPT_CHECKING >>>>> ITK_USE_STRICT_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_GDCM >>>>> ITK_USE_SYSTEM_GDCM-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_LIBXML2 >>>>> ITK_USE_SYSTEM_LIBXML2-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_PNG >>>>> ITK_USE_SYSTEM_PNG-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_TIFF >>>>> ITK_USE_SYSTEM_TIFF-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_VXL >>>>> ITK_USE_SYSTEM_VXL-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_ZLIB >>>>> ITK_USE_SYSTEM_ZLIB-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: >>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING >>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_USE_TRANSFORM_IO_FACTORIES >>>>> ITK_USE_TRANSFORM_IO_FACTORIES-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: ITK_VISIBLEHUMAN_DATA_ROOT >>>>> ITK_VISIBLEHUMAN_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: JAVACOMMAND >>>>> JAVACOMMAND-ADVANCED:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> KWSYS_CAN_CONVERT_UI64_TO_DOUBLE_COMPILED:INTERNAL=FALSE >>>>> //Result of TRY_RUN >>>>> KWSYS_CHAR_IS_SIGNED:INTERNAL=0 >>>>> //Result of TRY_COMPILE >>>>> KWSYS_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_CXX_HAS_CSTDDEF_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_CXX_HAS_CSTDIO_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_CXX_HAS_FULL_SPECIALIZATION_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_CXX_HAS_MEMBER_TEMPLATES_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS_COMPILED:INTERNAL=FALSE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_CXX_SAME_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_CXX_SAME_LONG_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_IOS_HAVE_BINARY_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_IOS_HAVE_STD_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_IOS_USE_ANSI_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_IOS_USE_SSTREAM_COMPILED:INTERNAL=TRUE >>>>> //Checking for Large File Support failed to compile. >>>>> KWSYS_LFS_WORKS:INTERNAL=-1 >>>>> //Result of TRY_COMPILE >>>>> KWSYS_LFS_WORKS_COMPILED:INTERNAL=FALSE >>>>> //Result of CHECK_TYPE_SIZE >>>>> KWSYS_SIZEOF_CHAR:INTERNAL=1 >>>>> //Result of CHECK_TYPE_SIZE >>>>> KWSYS_SIZEOF_INT:INTERNAL=4 >>>>> //Result of CHECK_TYPE_SIZE >>>>> KWSYS_SIZEOF_LONG:INTERNAL=4 >>>>> //Result of CHECK_TYPE_SIZE >>>>> KWSYS_SIZEOF_LONG_LONG:INTERNAL=8 >>>>> //Result of CHECK_TYPE_SIZE >>>>> KWSYS_SIZEOF_SHORT:INTERNAL=2 >>>>> //Result of CHECK_TYPE_SIZE >>>>> KWSYS_SIZEOF___INT64:INTERNAL=8 >>>>> //Result of TRY_COMPILE >>>>> KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT_COMPILED:INTERNAL=FALSE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_STL_HAS_ALLOCATOR_OBJECTS_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_STL_HAS_ALLOCATOR_REBIND_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_STL_HAS_ALLOCATOR_TEMPLATE_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_STL_HAS_ITERATOR_TRAITS_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_STL_HAVE_STD_COMPILED:INTERNAL=TRUE >>>>> //Result of TRY_COMPILE >>>>> KWSYS_STL_STRING_HAVE_NEQ_CHAR_COMPILED:INTERNAL=TRUE >>>>> //ADVANCED property for variable: LIBRARY_OUTPUT_PATH >>>>> LIBRARY_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>>>> //Single output directory for building all libraries. >>>>> LIBRARY_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>>>> //ADVANCED property for variable: MAKECOMMAND >>>>> MAKECOMMAND-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: MEMORYCHECK_COMMAND >>>>> MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE >>>>> MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 >>>>> //The 22nd bit of 32-bit floating-point quiet NaN. >>>>> QNANHIBIT:INTERNAL=1 >>>>> //Result of TRY_RUN >>>>> QNANHIBIT_VALUE:INTERNAL=1 >>>>> //Result of TRY_RUN >>>>> RUN_RESULT:INTERNAL=1 >>>>> //ADVANCED property for variable: SCPCOMMAND >>>>> SCPCOMMAND-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: SITE >>>>> SITE-ADVANCED:INTERNAL=1 >>>>> //Result of CHECK_TYPE_SIZE >>>>> SIZEOF_INT:INTERNAL=4 >>>>> //Result of CHECK_TYPE_SIZE >>>>> SIZEOF_LONG:INTERNAL=4 >>>>> //ADVANCED property for variable: SLURM_SBATCH_COMMAND >>>>> SLURM_SBATCH_COMMAND-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: SLURM_SRUN_COMMAND >>>>> SLURM_SRUN_COMMAND-ADVANCED:INTERNAL=1 >>>>> //CXX compiler accepts flag -features=no%anachronisms >>>>> SUN_COMPILER:INTERNAL=FALSE >>>>> //ADVANCED property for variable: SVNCOMMAND >>>>> SVNCOMMAND-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: TCL_TCLSH >>>>> TCL_TCLSH-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: USE_FFTWD >>>>> USE_FFTWD-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: USE_FFTWF >>>>> USE_FFTWF-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: USE_SCSL >>>>> USE_SCSL-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: USE_WRAP_ITK >>>>> USE_WRAP_ITK-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: UUID_INCLUDE_DIR >>>>> UUID_INCLUDE_DIR-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: UUID_LIBRARY >>>>> UUID_LIBRARY-ADVANCED:INTERNAL=1 >>>>> //VXL test >>>>> VCL_ALLOWS_INLINE_INSTANTIATION:INTERNAL=1 >>>>> //VXL test >>>>> VCL_ALLOWS_NAMESPACE_STD:INTERNAL=1 >>>>> //VXL test >>>>> VCL_CANNOT_SPECIALIZE_CV:INTERNAL=1 >>>>> //VXL test >>>>> VCL_CAN_DO_COMPLETE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>>>> //VXL test >>>>> VCL_CAN_DO_IMPLICIT_TEMPLATES:INTERNAL=1 >>>>> //VXL test >>>>> VCL_CAN_DO_NON_TYPE_FUNCTION_TEMPLATE_PARAMETER:INTERNAL=1 >>>>> //VXL test >>>>> VCL_CAN_DO_PARTIAL_SPECIALIZATION:INTERNAL=1 >>>>> //VXL test >>>>> VCL_CAN_DO_STATIC_TEMPLATE_MEMBER:INTERNAL=1 >>>>> //VXL test >>>>> VCL_CAN_DO_TEMPLATE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>>>> //VXL test ?(successful run) >>>>> VCL_CHAR_IS_SIGNED:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> VCL_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>>>> //VXL test ?(successful run) >>>>> VCL_COMPLEX_POW_WORKS:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> VCL_COMPLEX_POW_WORKS_COMPILED:INTERNAL=TRUE >>>>> //Have include algorithm >>>>> VCL_CXX_HAS_HEADER_ALGORITHM:INTERNAL=1 >>>>> //Have include bitset >>>>> VCL_CXX_HAS_HEADER_BITSET:INTERNAL=1 >>>>> //Have include cassert >>>>> VCL_CXX_HAS_HEADER_CASSERT:INTERNAL=1 >>>>> //Have include cctype >>>>> VCL_CXX_HAS_HEADER_CCTYPE:INTERNAL=1 >>>>> //Have include cerrno >>>>> VCL_CXX_HAS_HEADER_CERRNO:INTERNAL=1 >>>>> //Have include cfloat >>>>> VCL_CXX_HAS_HEADER_CFLOAT:INTERNAL=1 >>>>> //Have include ciso646 >>>>> VCL_CXX_HAS_HEADER_CISO646:INTERNAL=1 >>>>> //Have include climits >>>>> VCL_CXX_HAS_HEADER_CLIMITS:INTERNAL=1 >>>>> //Have include clocale >>>>> VCL_CXX_HAS_HEADER_CLOCALE:INTERNAL=1 >>>>> //Have include cmath >>>>> VCL_CXX_HAS_HEADER_CMATH:INTERNAL=1 >>>>> //Have include complex >>>>> VCL_CXX_HAS_HEADER_COMPLEX:INTERNAL=1 >>>>> //Have include csetjmp >>>>> VCL_CXX_HAS_HEADER_CSETJMP:INTERNAL=1 >>>>> //Have include csignal >>>>> VCL_CXX_HAS_HEADER_CSIGNAL:INTERNAL=1 >>>>> //Have include cstdarg >>>>> VCL_CXX_HAS_HEADER_CSTDARG:INTERNAL=1 >>>>> //Have include cstddef >>>>> VCL_CXX_HAS_HEADER_CSTDDEF:INTERNAL=1 >>>>> //Have include cstdio >>>>> VCL_CXX_HAS_HEADER_CSTDIO:INTERNAL=1 >>>>> //Have include cstdlib >>>>> VCL_CXX_HAS_HEADER_CSTDLIB:INTERNAL=1 >>>>> //Have include cstring >>>>> VCL_CXX_HAS_HEADER_CSTRING:INTERNAL=1 >>>>> //Have include ctime >>>>> VCL_CXX_HAS_HEADER_CTIME:INTERNAL=1 >>>>> //Have include cwchar >>>>> VCL_CXX_HAS_HEADER_CWCHAR:INTERNAL=1 >>>>> //Have include cwctype >>>>> VCL_CXX_HAS_HEADER_CWCTYPE:INTERNAL=1 >>>>> //Have include deque >>>>> VCL_CXX_HAS_HEADER_DEQUE:INTERNAL=1 >>>>> //Have include exception >>>>> VCL_CXX_HAS_HEADER_EXCEPTION:INTERNAL=1 >>>>> //Have include fstream >>>>> VCL_CXX_HAS_HEADER_FSTREAM:INTERNAL=1 >>>>> //Have include functional >>>>> VCL_CXX_HAS_HEADER_FUNCTIONAL:INTERNAL=1 >>>>> //Have include iomanip >>>>> VCL_CXX_HAS_HEADER_IOMANIP:INTERNAL=1 >>>>> //Have include ios >>>>> VCL_CXX_HAS_HEADER_IOS:INTERNAL=1 >>>>> //Have include iosfwd >>>>> VCL_CXX_HAS_HEADER_IOSFWD:INTERNAL=1 >>>>> //Have include iostream >>>>> VCL_CXX_HAS_HEADER_IOSTREAM:INTERNAL=1 >>>>> //Have include iso646.h >>>>> VCL_CXX_HAS_HEADER_ISO646_H:INTERNAL=1 >>>>> //Have include istream >>>>> VCL_CXX_HAS_HEADER_ISTREAM:INTERNAL=1 >>>>> //Have include iterator >>>>> VCL_CXX_HAS_HEADER_ITERATOR:INTERNAL=1 >>>>> //Have include limits >>>>> VCL_CXX_HAS_HEADER_LIMITS:INTERNAL=1 >>>>> //Have include list >>>>> VCL_CXX_HAS_HEADER_LIST:INTERNAL=1 >>>>> //Have include locale >>>>> VCL_CXX_HAS_HEADER_LOCALE:INTERNAL=1 >>>>> //Have include map >>>>> VCL_CXX_HAS_HEADER_MAP:INTERNAL=1 >>>>> //Have include memory >>>>> VCL_CXX_HAS_HEADER_MEMORY:INTERNAL=1 >>>>> //Have include new >>>>> VCL_CXX_HAS_HEADER_NEW:INTERNAL=1 >>>>> //Have include numeric >>>>> VCL_CXX_HAS_HEADER_NUMERIC:INTERNAL=1 >>>>> //Have include ostream >>>>> VCL_CXX_HAS_HEADER_OSTREAM:INTERNAL=1 >>>>> //Have include queue >>>>> VCL_CXX_HAS_HEADER_QUEUE:INTERNAL=1 >>>>> //Have include set >>>>> VCL_CXX_HAS_HEADER_SET:INTERNAL=1 >>>>> //Have include sstream >>>>> VCL_CXX_HAS_HEADER_SSTREAM:INTERNAL=1 >>>>> //Have include stack >>>>> VCL_CXX_HAS_HEADER_STACK:INTERNAL=1 >>>>> //Have include stdexcept >>>>> VCL_CXX_HAS_HEADER_STDEXCEPT:INTERNAL=1 >>>>> //Have include streambuf >>>>> VCL_CXX_HAS_HEADER_STREAMBUF:INTERNAL=1 >>>>> //Have include string >>>>> VCL_CXX_HAS_HEADER_STRING:INTERNAL=1 >>>>> //Have include strstream >>>>> VCL_CXX_HAS_HEADER_STRSTREAM:INTERNAL=1 >>>>> //Have include typeinfo >>>>> VCL_CXX_HAS_HEADER_TYPEINFO:INTERNAL=1 >>>>> //Have include utility >>>>> VCL_CXX_HAS_HEADER_UTILITY:INTERNAL=1 >>>>> //Have include valarray >>>>> VCL_CXX_HAS_HEADER_VALARRAY:INTERNAL=1 >>>>> //Have include vector >>>>> VCL_CXX_HAS_HEADER_VECTOR:INTERNAL=1 >>>>> //VXL test >>>>> VCL_DEFAULT_VALUE:INTERNAL=1 >>>>> //VXL test >>>>> VCL_DEFINE_SPECIALIZATION:INTERNAL=1 >>>>> //VXL test >>>>> VCL_FOR_SCOPE_HACK:INTERNAL=1 >>>>> //VXL test >>>>> VCL_HAS_BOOL:INTERNAL=1 >>>>> //VXL test >>>>> VCL_HAS_DYNAMIC_CAST:INTERNAL=1 >>>>> //VXL test >>>>> VCL_HAS_EXCEPTIONS:INTERNAL=1 >>>>> //VXL test >>>>> VCL_HAS_EXPLICIT:INTERNAL=1 >>>>> //VXL test >>>>> VCL_HAS_EXPORT:INTERNAL=1 >>>>> //VXL test ?(successful run) >>>>> VCL_HAS_LFS:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> VCL_HAS_LFS_COMPILED:INTERNAL=TRUE >>>>> //VXL test >>>>> VCL_HAS_MEMBER_TEMPLATES:INTERNAL=1 >>>>> //VXL test >>>>> VCL_HAS_MUTABLE:INTERNAL=1 >>>>> //VXL test >>>>> VCL_HAS_NAMESPACES:INTERNAL=1 >>>>> //VXL test >>>>> VCL_HAS_RTTI:INTERNAL=1 >>>>> //VXL test ?(successful run) >>>>> VCL_HAS_SLICED_DESTRUCTOR_BUG:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> VCL_HAS_SLICED_DESTRUCTOR_BUG_COMPILED:INTERNAL=TRUE >>>>> //Test ?(failed to compile) >>>>> VCL_HAS_TEMPLATE_SYMBOLS:INTERNAL=0 >>>>> //Result of TRY_COMPILE >>>>> VCL_HAS_TEMPLATE_SYMBOLS_COMPILED:INTERNAL=FALSE >>>>> //VXL test >>>>> VCL_HAS_TYPENAME:INTERNAL=1 >>>>> //VXL test ?(successful run) >>>>> VCL_HAS_WORKING_STRINGSTREAM:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> VCL_HAS_WORKING_STRINGSTREAM_COMPILED:INTERNAL=TRUE >>>>> //VXL test >>>>> VCL_NEEDS_INLINE_INSTANTIATION:INTERNAL=1 >>>>> //Test >>>>> VCL_NEEDS_NAMESPACE_STD:INTERNAL=0 >>>>> //VXL test >>>>> VCL_NEED_FRIEND_FOR_TEMPLATE_OVERLOAD:INTERNAL=1 >>>>> //VXL test >>>>> VCL_NO_STATIC_DATA_MEMBERS:INTERNAL=1 >>>>> //Test >>>>> VCL_NULL_TMPL_ARGS:INTERNAL=0 >>>>> //VXL test ?(successful run) >>>>> VCL_NUMERIC_LIMITS_HAS_INFINITY:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> VCL_NUMERIC_LIMITS_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>>>> //Test >>>>> VCL_OVERLOAD_CAST:INTERNAL=0 >>>>> //VXL test ?(successful run) >>>>> VCL_PROCESSOR_HAS_INFINITY:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> VCL_PROCESSOR_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>>>> //VXL test >>>>> VCL_STATIC_CONST_INIT_FLOAT:INTERNAL=1 >>>>> //VXL test >>>>> VCL_STATIC_CONST_INIT_INT:INTERNAL=1 >>>>> //Test >>>>> VCL_STATIC_CONST_INIT_NO_DEFN:INTERNAL=0 >>>>> //VXL test >>>>> VCL_SUNPRO_CLASS_SCOPE_HACK:INTERNAL=1 >>>>> //VXL test >>>>> VCL_TEMPLATE_MATCHES_TOO_OFTEN:INTERNAL=1 >>>>> //Are we using an version of gcc < 3.0 >>>>> VNL_COMPILER_IS_GNUCXX_2XX:INTERNAL=0 >>>>> //ADVANCED property for variable: VNL_CONFIG_CHECK_BOUNDS >>>>> VNL_CONFIG_CHECK_BOUNDS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2 >>>>> VNL_CONFIG_ENABLE_SSE2-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2_ROUNDING >>>>> VNL_CONFIG_ENABLE_SSE2_ROUNDING-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: VNL_CONFIG_LEGACY_METHODS >>>>> VNL_CONFIG_LEGACY_METHODS-ADVANCED:INTERNAL=1 >>>>> //ADVANCED property for variable: VNL_CONFIG_THREAD_SAFE >>>>> VNL_CONFIG_THREAD_SAFE-ADVANCED:INTERNAL=1 >>>>> //Result of TEST_BIG_ENDIAN >>>>> VXL_BIG_ENDIAN:INTERNAL=0 >>>>> //VXL test result >>>>> VXL_BYTE:INTERNAL=char >>>>> //Serial number of last configuration >>>>> VXL_CONFIG_SERIAL_LAST:INTERNAL=2007-13-09-001 >>>>> //Have symbol finite >>>>> VXL_C_MATH_HAS_FINITE:INTERNAL=1 >>>>> //Have symbol finitef >>>>> VXL_C_MATH_HAS_FINITEF:INTERNAL= >>>>> //Have symbol finitel >>>>> VXL_C_MATH_HAS_FINITEL:INTERNAL= >>>>> //VXL test >>>>> VXL_C_MATH_HAS_LROUND:INTERNAL=1 >>>>> //Have symbol sqrtf >>>>> VXL_C_MATH_HAS_SQRTF:INTERNAL=1 >>>>> //Test >>>>> VXL_HAS_ALIGNED_MALLOC:INTERNAL=0 >>>>> //VXL test result >>>>> VXL_HAS_BYTE:INTERNAL=1 >>>>> //Test >>>>> VXL_HAS_DBGHELP_H:INTERNAL=0 >>>>> //Have include emmintrin.h >>>>> VXL_HAS_EMMINTRIN_H:INTERNAL=1 >>>>> //Have include ieeefp.h >>>>> VXL_HAS_IEEEFP_H:INTERNAL= >>>>> //VXL test result >>>>> VXL_HAS_IEEE_128:INTERNAL=0 >>>>> //VXL test result >>>>> VXL_HAS_IEEE_32:INTERNAL=1 >>>>> //VXL test result >>>>> VXL_HAS_IEEE_64:INTERNAL=1 >>>>> //VXL test result >>>>> VXL_HAS_IEEE_96:INTERNAL=1 >>>>> //VXL test result >>>>> VXL_HAS_INT_16:INTERNAL=1 >>>>> //VXL test result >>>>> VXL_HAS_INT_32:INTERNAL=1 >>>>> //VXL test result >>>>> VXL_HAS_INT_64:INTERNAL=1 >>>>> //VXL test result >>>>> VXL_HAS_INT_8:INTERNAL=1 >>>>> //VXL test >>>>> VXL_HAS_MINGW_ALIGNED_MALLOC:INTERNAL=1 >>>>> //Test >>>>> VXL_HAS_MM_MALLOC:INTERNAL=0 >>>>> //Test >>>>> VXL_HAS_POSIX_MEMALIGN:INTERNAL=0 >>>>> //Have include pthread.h >>>>> VXL_HAS_PTHREAD_H:INTERNAL= >>>>> //Have include semaphore.h >>>>> VXL_HAS_SEMAPHORE_H:INTERNAL= >>>>> //Test ?(failed to compile) >>>>> VXL_HAS_SSE2_HARDWARE_SUPPORT:INTERNAL=0 >>>>> //Result of TRY_COMPILE >>>>> VXL_HAS_SSE2_HARDWARE_SUPPORT_COMPILED:INTERNAL=FALSE >>>>> //Have symbol finite >>>>> VXL_IEEEFP_HAS_FINITE:INTERNAL= >>>>> //VXL test result >>>>> VXL_IEEE_128:INTERNAL=void >>>>> //VXL test result >>>>> VXL_IEEE_32:INTERNAL=float >>>>> //VXL test result >>>>> VXL_IEEE_64:INTERNAL=double >>>>> //VXL test result >>>>> VXL_IEEE_96:INTERNAL=long double >>>>> //VXL test result >>>>> VXL_INT_16:INTERNAL=short >>>>> //VXL test result >>>>> VXL_INT_32:INTERNAL=int >>>>> //VXL test result >>>>> VXL_INT_64:INTERNAL=long long >>>>> //VXL test result >>>>> VXL_INT_8:INTERNAL=char >>>>> //VXL test ?(successful run) >>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE:INTERNAL=1 >>>>> //Result of TRY_COMPILE >>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_COMPILED:INTERNAL=TRUE >>>>> //help string for how to enable SSE2 support >>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_HELP:INTERNAL=The current compiler >>>>> flags >>>>> do not allow the SSE2 instructions to be used. ;It looks like if you >>>>> add >>>>> the >>>>> flag '-msse2' you will be able to use the ;SSE2 instructions. If you >>>>> chose >>>>> to set VNL_CONFIG_ENABLE_SSE or ;VNL_CONFIG_ENABLE_SSE2_ROUNDING to >>>>> ON, >>>>> cmake will put this flag for you. ;You can also add this flag >>>>> yourself. >>>>> If >>>>> you still see this message, after ;the flag change, you may need to >>>>> set >>>>> VXL_UPDATE_CONFIGURATION to ON and ;rerun cmake. >>>>> //Have symbol drand48 >>>>> VXL_STDLIB_HAS_DRAND48:INTERNAL= >>>>> //Have symbol lrand48 >>>>> VXL_STDLIB_HAS_LRAND48:INTERNAL= >>>>> //VXL test >>>>> VXL_STDLIB_HAS_QSORT:INTERNAL=1 >>>>> //Have symbol srand48 >>>>> VXL_STDLIB_HAS_SRAND48:INTERNAL= >>>>> //Have function getpid >>>>> VXL_UNISTD_HAS_GETPID:INTERNAL=1 >>>>> //Have symbol intptr_t >>>>> VXL_UNISTD_HAS_INTPTR_T:INTERNAL=1 >>>>> //Have function lchown >>>>> VXL_UNISTD_HAS_LCHOWN:INTERNAL= >>>>> //Have function pread >>>>> VXL_UNISTD_HAS_PREAD:INTERNAL= >>>>> //Have function pwrite >>>>> VXL_UNISTD_HAS_PWRITE:INTERNAL= >>>>> //Have function tell >>>>> VXL_UNISTD_HAS_TELL:INTERNAL=1 >>>>> //Have function ualarm >>>>> VXL_UNISTD_HAS_UALARM:INTERNAL= >>>>> //Have symbol useconds_t >>>>> VXL_UNISTD_HAS_USECONDS_T:INTERNAL=1 >>>>> //Have function usleep >>>>> VXL_UNISTD_HAS_USLEEP:INTERNAL=1 >>>>> //VXL test >>>>> VXL_UNISTD_USLEEP_IS_VOID:INTERNAL=1 >>>>> //ADVANCED property for variable: VXL_UPDATE_CONFIGURATION >>>>> VXL_UPDATE_CONFIGURATION-ADVANCED:INTERNAL=1 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> Bill Lorensen wrote: >>>>>> >>>>>> You are in the wrong directory. Look in the directory that is >>>>>> described in the CMakeCache.txt variable Project_BINARY_DIR >>>>>> >>>>>> cd to that directory and type make >>>>>> >>>>>> >>>>>> On Thu, Dec 10, 2009 at 4:22 PM, URI >>>>>> wrote: >>>>>>> >>>>>>> I get the message: >>>>>>> >>>>>>> make: *** No targets specified and no makefile found. ?Stop. >>>>>>> >>>>>>> >>>>>>> >>>>>>> 10) Start an msys shell by running msys.bat >>>>>>> 11) cd to the locations you selected where to build the binaries. >>>>>>> 12) make >>>>>>> >>>>>>> -- >>>>>>> View this message in context: >>>>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4147921.html >>>>>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>>>>> _____________________________________ >>>>>>> Powered by www.kitware.com >>>>>>> >>>>>>> Visit other Kitware open-source projects at >>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>> >>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>> http://www.kitware.com/products/protraining.html >>>>>>> >>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>> >>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>> >>>>>> _____________________________________ >>>>>> Powered by www.kitware.com >>>>>> >>>>>> Visit other Kitware open-source projects at >>>>>> http://www.kitware.com/opensource/opensource.html >>>>>> >>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>> http://www.kitware.com/products/protraining.html >>>>>> >>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>> >>>>>> Follow this link to subscribe/unsubscribe: >>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>> >>>>>> >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149414.html >>>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.html >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149580.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4152470.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Fri Dec 11 12:23:50 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 11 Dec 2009 12:23:50 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260551767075-4152470.post@n2.nabble.com> References: <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> <1260509804319-4149580.post@n2.nabble.com> <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> <4db4735c0912110553x7086b85cub0301eed9db5ee44@mail.gmail.com> <1260551767075-4152470.post@n2.nabble.com> Message-ID: <4db4735c0912110923o497f1b48h27492a58e85f07cf@mail.gmail.com> I am afraid will have to start from scratch again. Since I can't see what buttons you are hitting I can't tell where you are going wrong. 1) remove the contents of the Insight-mingw. 2) Please do a cvs -nq update in the source directory. We want to make sure that there are no cmake generated files that exist there because of an accidental cmake run in the source tree. 3) Then run cmake as instructed before. On Fri, Dec 11, 2009 at 12:16 PM, URI wrote: > > Yeah, I missed that part. ?I hit the "Generate" button and it runs for a bit, > then I get this message: > > Linking C executable ../../bin/itksysEncodeExecutable.exe ?(this part is in > red, the rest is in white) > make[1]: execvp: /C/CMake_2_8/bin/cmake.exe: Invalid argument > make[1]: *** [Utilities/kwsys/CMakeFiles/itksysEncodeExecutable.dir/all] > Error 127 > make: *** [all] Error 2 > > > > > Bill Lorensen wrote: >> >> Maybe I forgot to tell you step 9? Did you press OK? >> >> 9) In cmake Press OK to generate selected build files and exit >> >> On Fri, Dec 11, 2009 at 8:37 AM, Bill Lorensen >> wrote: >>> OK, so there is no Makefile in this directory. When you ran cmake, did >>> any error or warning windows pop up? >>> >>> On Fri, Dec 11, 2009 at 12:36 AM, URI >>> wrote: >>>> >>>> Here's what I get: >>>> >>>> AllowContinuous.sh >>>> BuildContinuous.sh >>>> BuildContinuousWithCTest.sh >>>> CMake >>>> CMakeCache.txt >>>> CMakeFiles >>>> CMakeTmp >>>> CPackConfig.cmake >>>> CPackSourceConfig.cmake >>>> CTestCustom.cmake >>>> Code >>>> DartConfiguration.tcl >>>> Examples >>>> ITKBuildSettings.cmake >>>> ITKConfig.cmake >>>> ITKLibraryDepends.cmake >>>> PreventContinuous.sh >>>> Testing >>>> UseITK.cmake >>>> Utilities >>>> Wrapping >>>> creonentry >>>> itkConfigure.h >>>> >>>> >>>> >>>> >>>> Bill Lorensen wrote: >>>>> >>>>> navigate to C:\msys\1.0\home\Insight-mingw >>>>> type ls and send the output to me >>>>> >>>>> On Thu, Dec 10, 2009 at 11:03 PM, URI >>>>> wrote: >>>>>> >>>>>> Let me explain what I've done so I'm sure we're talking about the same >>>>>> thing: >>>>>> >>>>>> I ran Msys and typed "mkdir Insight-mingw " as per Steps 1 and 2. >>>>>> ?This >>>>>> created a new folder C:\msys\1.0\home\Insight-mingw >>>>>> >>>>>> In my CMake gui I set the "Where to build the binaries" to that same >>>>>> folder. >>>>>> >>>>>> I did all the "Configure" stuff and all those files and folders appear >>>>>> in >>>>>> that Insight-mingw folder. >>>>>> >>>>>> Then I start the Msys shell, navigate to >>>>>> C:\msys\1.0\home\Insight-mingw >>>>>> and >>>>>> type "make" and that's when I get the error. >>>>>> >>>>>> If I look in that Insight-mingw folder where I built the binaries >>>>>> there >>>>>> is a >>>>>> CMakeCache.txt file, but it does not have a Project_BINARY_DIR >>>>>> variable. >>>>>> >>>>>> Here is my CMakeCache.txt file: >>>>>> >>>>>> # This is the CMakeCache file. >>>>>> # For build in directory: c:/msys/1.0/home/Insight-mingw >>>>>> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >>>>>> # You can edit this file to change values found and used by cmake. >>>>>> # If you do not want to change any of the values, simply exit the >>>>>> editor. >>>>>> # If you do want to change a value, simply edit, save, and exit the >>>>>> editor. >>>>>> # The syntax for the file is as follows: >>>>>> # KEY:TYPE=VALUE >>>>>> # KEY is the name of a variable in the cache. >>>>>> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >>>>>> # VALUE is the current value for the KEY. >>>>>> >>>>>> ######################## >>>>>> # EXTERNAL cache entries >>>>>> ######################## >>>>>> >>>>>> //Name of build on the dashboard >>>>>> BUILDNAME:STRING=Win32-make >>>>>> >>>>>> //Build Doxygen Documentation >>>>>> BUILD_DOXYGEN:BOOL=OFF >>>>>> >>>>>> //Build the Examples directory. >>>>>> BUILD_EXAMPLES:BOOL=ON >>>>>> >>>>>> //Toggle building shared libraries >>>>>> BUILD_SHARED_LIBS:BOOL=OFF >>>>>> >>>>>> //Build the testing tree. >>>>>> BUILD_TESTING:BOOL=ON >>>>>> >>>>>> //Path to a program. >>>>>> BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND >>>>>> >>>>>> //Path to a program. >>>>>> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >>>>>> >>>>>> //For backwards compatibility, what version of CMake commands and >>>>>> // syntax should this version of CMake try to support. >>>>>> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >>>>>> >>>>>> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >>>>>> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >>>>>> CMAKE_BUILD_TYPE:STRING= >>>>>> >>>>>> //Enable/Disable color output during build. >>>>>> CMAKE_COLOR_MAKEFILE:BOOL=ON >>>>>> >>>>>> //CXX compiler. >>>>>> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >>>>>> >>>>>> //Flags used by the compiler during all build types. >>>>>> CMAKE_CXX_FLAGS:STRING= >>>>>> >>>>>> //Flags used by the compiler during debug builds. >>>>>> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >>>>>> >>>>>> //Flags used by the compiler during release minsize builds. >>>>>> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>>>> >>>>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>>>> // files). >>>>>> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>>>> >>>>>> //Flags used by the compiler during Release with Debug Info builds. >>>>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>>>> >>>>>> //Libraries linked by defalut with all C++ applications. >>>>>> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>>>>> -lwinspool >>>>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>>>> >>>>>> //C compiler. >>>>>> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >>>>>> >>>>>> //Flags used by the compiler during all build types. >>>>>> CMAKE_C_FLAGS:STRING= >>>>>> >>>>>> //Flags used by the compiler during debug builds. >>>>>> CMAKE_C_FLAGS_DEBUG:STRING=-g >>>>>> >>>>>> //Flags used by the compiler during release minsize builds. >>>>>> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>>>> >>>>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>>>> // files). >>>>>> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>>>> >>>>>> //Flags used by the compiler during Release with Debug Info builds. >>>>>> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>>>> >>>>>> //Libraries linked by defalut with all C applications. >>>>>> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>>>>> -lwinspool >>>>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>>>> >>>>>> //Flags used by the linker. >>>>>> CMAKE_EXE_LINKER_FLAGS:STRING= >>>>>> >>>>>> //Flags used by the linker during debug builds. >>>>>> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >>>>>> >>>>>> //Flags used by the linker during release minsize builds. >>>>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >>>>>> >>>>>> //Flags used by the linker during release builds. >>>>>> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >>>>>> >>>>>> //Flags used by the linker during Release with Debug Info builds. >>>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>>> >>>>>> //Use HP pthreads. >>>>>> CMAKE_HP_PTHREADS:BOOL=OFF >>>>>> >>>>>> //Install path prefix, prepended onto install directories. >>>>>> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/ITK >>>>>> >>>>>> //Path to a program. >>>>>> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >>>>>> >>>>>> //Path to a program. >>>>>> CMAKE_MAKE_PROGRAM:FILEPATH=C:/msys/1.0/bin/make.exe >>>>>> >>>>>> //Flags used by the linker during the creation of modules. >>>>>> CMAKE_MODULE_LINKER_FLAGS:STRING= >>>>>> >>>>>> //Flags used by the linker during debug builds. >>>>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >>>>>> >>>>>> //Flags used by the linker during release minsize builds. >>>>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >>>>>> >>>>>> //Flags used by the linker during release builds. >>>>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >>>>>> >>>>>> //Flags used by the linker during Release with Debug Info builds. >>>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>>> >>>>>> //Path to a program. >>>>>> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >>>>>> >>>>>> //Path to a program. >>>>>> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >>>>>> >>>>>> //Path to a program. >>>>>> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >>>>>> >>>>>> //Value Computed by CMake >>>>>> CMAKE_PROJECT_NAME:STATIC=ITK >>>>>> >>>>>> //Path to a program. >>>>>> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >>>>>> >>>>>> //Flags used by the linker during the creation of dll's. >>>>>> CMAKE_SHARED_LINKER_FLAGS:STRING= >>>>>> >>>>>> //Flags used by the linker during debug builds. >>>>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >>>>>> >>>>>> //Flags used by the linker during release minsize builds. >>>>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >>>>>> >>>>>> //Flags used by the linker during release builds. >>>>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >>>>>> >>>>>> //Flags used by the linker during Release with Debug Info builds. >>>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>>> >>>>>> //If set, runtime paths are not added when using shared libraries. >>>>>> CMAKE_SKIP_RPATH:BOOL=OFF >>>>>> >>>>>> //Path to a program. >>>>>> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >>>>>> >>>>>> //Thread library used. >>>>>> CMAKE_THREAD_LIBS:STRING= >>>>>> >>>>>> //Use the pthreads library. >>>>>> CMAKE_USE_PTHREADS:BOOL=OFF >>>>>> >>>>>> //If true, cmake will use relative paths in makefiles and projects. >>>>>> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >>>>>> >>>>>> //Use sproc libs. >>>>>> CMAKE_USE_SPROC:BOOL=OFF >>>>>> >>>>>> //Use the win32 thread library. >>>>>> CMAKE_USE_WIN32_THREADS:BOOL=ON >>>>>> >>>>>> //If this value is on, makefiles will be generated without the >>>>>> // .SILENT directive, and all commands will be echoed to the console >>>>>> // during the make. ?This is useful for debugging only. With Visual >>>>>> // Studio IDE projects all commands are done without /nologo. >>>>>> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >>>>>> >>>>>> //X11 extra flags. >>>>>> CMAKE_X_CFLAGS:STRING=-I >>>>>> >>>>>> //Libraries and options used in X11 programs. >>>>>> CMAKE_X_LIBS:STRING= >>>>>> >>>>>> //Path to program used to compress files for transfer to the dart >>>>>> // server >>>>>> COMPRESSIONCOMMAND:FILEPATH=COMPRESSIONCOMMAND-NOTFOUND >>>>>> >>>>>> //Path to the coverage program that CTest uses for performing coverage >>>>>> // inspection >>>>>> COVERAGE_COMMAND:FILEPATH=C:/MinGW/bin/gcov.exe >>>>>> >>>>>> //Enable to build NSIS packages >>>>>> CPACK_BINARY_NSIS:BOOL=ON >>>>>> >>>>>> //Enable to build ZIP packages >>>>>> CPACK_BINARY_ZIP:BOOL=OFF >>>>>> >>>>>> //Enable to build ZIP source packages >>>>>> CPACK_SOURCE_ZIP:BOOL=ON >>>>>> >>>>>> //Path to a program. >>>>>> CVSCOMMAND:FILEPATH=CVSCOMMAND-NOTFOUND >>>>>> >>>>>> //Options passed to the cvs update command. >>>>>> CVS_UPDATE_OPTIONS:STRING=-d -A -P >>>>>> >>>>>> //Limit of reported errors, -1 reports all. >>>>>> DART_BUILD_ERROR_REPORT_LIMIT:BOOL=OFF >>>>>> >>>>>> //Limit of reported warnings, -1 reports all. >>>>>> DART_BUILD_WARNING_REPORT_LIMIT:BOOL=OFF >>>>>> >>>>>> //If you have Dart installed, where is it located? >>>>>> DART_ROOT:PATH=DART_ROOT-NOTFOUND >>>>>> >>>>>> //Maximum time allowed before CTest will kill the test. >>>>>> DART_TESTING_TIMEOUT:STRING=1500 >>>>>> >>>>>> //Show the actual output of the build, or if off show a . for each >>>>>> // 1024 bytes. >>>>>> DART_VERBOSE_BUILD:BOOL=OFF >>>>>> >>>>>> //Should Dart server send email when build errors are found in >>>>>> // Continuous builds? >>>>>> DELIVER_CONTINUOUS_EMAIL:BOOL=OFF >>>>>> >>>>>> //Value Computed by CMake >>>>>> FilteringExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Filtering >>>>>> >>>>>> //Value Computed by CMake >>>>>> FilteringExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Filtering >>>>>> >>>>>> //Value Computed by CMake >>>>>> GDCM_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/gdcm >>>>>> >>>>>> //Remove all legacy code completely. >>>>>> GDCM_LEGACY_REMOVE:BOOL=OFF >>>>>> >>>>>> //Silence all legacy code messages. >>>>>> GDCM_LEGACY_SILENT:BOOL=OFF >>>>>> >>>>>> //Value Computed by CMake >>>>>> GDCM_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/gdcm >>>>>> >>>>>> //Path to gunzip executable >>>>>> GUNZIPCOMMAND:FILEPATH=GUNZIPCOMMAND-NOTFOUND >>>>>> >>>>>> //Path to a program. >>>>>> HGCOMMAND:FILEPATH=HGCOMMAND-NOTFOUND >>>>>> >>>>>> //Value Computed by CMake >>>>>> IOExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/IO >>>>>> >>>>>> //Value Computed by CMake >>>>>> IOExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/IO >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKAlgorithms_LIB_DEPENDS:STATIC=general;gdi32;general;ITKStatistics;general;ITKNumerics; >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKBasicFilters_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKCommon_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_inst;general;itksys; >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKDICOMParser_LIB_DEPENDS:STATIC=general;gdi32; >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKEXPAT_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/expat >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKEXPAT_LIB_DEPENDS:STATIC=general;gdi32; >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKEXPAT_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/expat >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKEXTHDRS_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkExtHdrs >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKEXTHDRS_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkExtHdrs >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKFEM_LIB_DEPENDS:STATIC=general;gdi32;general;ITKBasicFilters;general;ITKIO; >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKIO_LIB_DEPENDS:STATIC=general;gdi32;general;ITKNrrdIO;general;itkgdcm;general;itkpng;general;itktiff;general;ITKSpatialObject;general;ITKMetaIO;general;ITKDICOMParser;general;ITKEXPAT;general;ITKniftiio; >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkjpeg >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkjpeg >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKMetaIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/MetaIO >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKMetaIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itksys;general;comctl32;general;wsock32; >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKMetaIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/MetaIO >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKNrrdIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/NrrdIO >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKNrrdIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKNrrdIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/NrrdIO >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKNumerics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKOpenJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/openjpeg >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKOpenJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/openjpeg >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKPNG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkpng >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKPNG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkpng >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKSpatialObject_LIB_DEPENDS:STATIC=general;gdi32;general;ITKMetaIO;general;ITKCommon; >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKStatistics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon;general;itkNetlibSlatec; >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKTIFF_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itktiff >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKTIFF_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itktiff >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKTesting_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Testing >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKTesting_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Testing >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKZLIB_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkzlib >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITKZLIB_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkzlib >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITK_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw >>>>>> >>>>>> //Directory with data taken from >>>>>> http://public.kitware.com/pub/itk/Data/BrainWeb/ >>>>>> ITK_BRAINWEB_DATA_ROOT:PATH=ITK_BRAINWEB_DATA_ROOT-NOTFOUND >>>>>> >>>>>> //Provide here the size of your RAM Memory in GigaBytes >>>>>> ITK_COMPUTER_MEMORY_SIZE:STRING=1 >>>>>> >>>>>> //Build cswig Java wrapper support >>>>>> ITK_CSWIG_JAVA:BOOL=OFF >>>>>> >>>>>> //Build cswig Python wrapper support (requires CableSwig). >>>>>> ITK_CSWIG_PYTHON:BOOL=OFF >>>>>> >>>>>> //Build cswig Tcl wrapper support (requires CableSwig). >>>>>> ITK_CSWIG_TCL:BOOL=OFF >>>>>> >>>>>> //Path to a file. >>>>>> ITK_DATA_ROOT:PATH=C:/ITK_3_16_0/Testing/Data >>>>>> >>>>>> //Try to explicitly build some of the core templates explictitly >>>>>> // rather than over and over again. >>>>>> ITK_EXPLICIT_INSTANTIATION:BOOL=OFF >>>>>> >>>>>> //Makes itk::Image behave like itk::OrientedImage >>>>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE:BOOL=ON >>>>>> >>>>>> //Remove all legacy code completely. >>>>>> ITK_LEGACY_REMOVE:BOOL=OFF >>>>>> >>>>>> //Silence all legacy code messages. >>>>>> ITK_LEGACY_SILENT:BOOL=OFF >>>>>> >>>>>> //Directory with data taken from >>>>>> http://public.kitware.com/pub/itk/Data/HealthyVolunteersMRIDatabase/ >>>>>> ITK_MRI_UNC_DATABASE_DATA_ROOT:PATH=ITK_MRI_UNC_DATABASE_DATA_ROOT-NOTFOUND >>>>>> >>>>>> //Directory with data taken from >>>>>> http://www.osirix-viewer.com/Downloads.html >>>>>> ITK_OSIRIX_DATA_ROOT:PATH=ITK_OSIRIX_DATA_ROOT-NOTFOUND >>>>>> >>>>>> //Value Computed by CMake >>>>>> ITK_SOURCE_DIR:STATIC=C:/ITK_3_16_0 >>>>>> >>>>>> //Turn on correct usage of centered-pixel coordinates. >>>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON >>>>>> >>>>>> //Turn on concept checking to give helpful errors at compile time >>>>>> // if a type cannot be used as a template parameter. >>>>>> ITK_USE_CONCEPT_CHECKING:BOOL=ON >>>>>> >>>>>> //Turn on the experimental consolidated morphology. >>>>>> ITK_USE_CONSOLIDATED_MORPHOLOGY:BOOL=OFF >>>>>> >>>>>> //Turn on the use of a sparse field level set surface interpolation >>>>>> // method that has been deprecated since ITK 3.6. Turn this flag >>>>>> // ON to exactly replicate the behavior of ITK<=3.4. >>>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION:BOOL=OFF >>>>>> >>>>>> //Enable the use of KWStyle for checking coding style. >>>>>> ITK_USE_KWSTYLE:BOOL=OFF >>>>>> >>>>>> //Use LIBXML2. >>>>>> ITK_USE_LIBXML2:BOOL=OFF >>>>>> >>>>>> //Use MINC2 File Format >>>>>> ITK_USE_MINC2:BOOL=OFF >>>>>> >>>>>> //Turn on the experimental version of accelerated registration >>>>>> // methods. >>>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=OFF >>>>>> >>>>>> //Turn on correct use of oriented images direction in gradient >>>>>> // computation and image registration. >>>>>> ITK_USE_ORIENTED_IMAGE_DIRECTION:BOOL=ON >>>>>> >>>>>> //Build algorithms that are covered with Patents. It is YOUR >>>>>> responsibility >>>>>> // to obtain a license from the patent holder in order to use these >>>>>> // methods. >>>>>> ITK_USE_PATENTED:BOOL=OFF >>>>>> >>>>>> //Turn on region validation in Iterator constructors. >>>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS:BOOL=ON >>>>>> >>>>>> //Build algorithms that are candidates to be included in the Toolkit. >>>>>> // This classes are not covered by the Backward Compatibility Policy, >>>>>> // nor the Copyright Policy of ITK. >>>>>> ITK_USE_REVIEW:BOOL=OFF >>>>>> >>>>>> //Use the experimental statistics framework. >>>>>> ITK_USE_REVIEW_STATISTICS:BOOL=OFF >>>>>> >>>>>> //Turn on Strict concept checking to give more stringent errors >>>>>> // at compile time if a type cannot be used as a template parameter. >>>>>> ITK_USE_STRICT_CONCEPT_CHECKING:BOOL=OFF >>>>>> >>>>>> //Use an outside build of GDCM. >>>>>> ITK_USE_SYSTEM_GDCM:BOOL=OFF >>>>>> >>>>>> //Use the system's libxml2 library. >>>>>> ITK_USE_SYSTEM_LIBXML2:BOOL=OFF >>>>>> >>>>>> //Use the system's png library. >>>>>> ITK_USE_SYSTEM_PNG:BOOL=OFF >>>>>> >>>>>> //Use the system's tiff library. >>>>>> ITK_USE_SYSTEM_TIFF:BOOL=OFF >>>>>> >>>>>> //Use an outside build of VXL. >>>>>> ITK_USE_SYSTEM_VXL:BOOL=OFF >>>>>> >>>>>> //Use the system's zlib library. >>>>>> ITK_USE_SYSTEM_ZLIB:BOOL=OFF >>>>>> >>>>>> //Turn on the use of Template Meta-Programming techniques for >>>>>> unrolling >>>>>> // for-loops at compile time. >>>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING:BOOL=ON >>>>>> >>>>>> //Turn on the experimental IO factories for reading and writing >>>>>> // transforms. >>>>>> ITK_USE_TRANSFORM_IO_FACTORIES:BOOL=OFF >>>>>> >>>>>> //Directory with data taken from >>>>>> http://www.nlm.nih.gov/research/visible/getting_data.html >>>>>> ITK_VISIBLEHUMAN_DATA_ROOT:PATH=ITK_VISIBLEHUMAN_DATA_ROOT-NOTFOUND >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKniftiio_LIB_DEPENDS:STATIC=general;gdi32;general;ITKznz; >>>>>> >>>>>> //Dependencies for the target >>>>>> ITKznz_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>>> >>>>>> //Value Computed by CMake >>>>>> ImageExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Image >>>>>> >>>>>> //Value Computed by CMake >>>>>> ImageExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Image >>>>>> >>>>>> //Value Computed by CMake >>>>>> ImageRegistration_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Registration >>>>>> >>>>>> //Value Computed by CMake >>>>>> ImageRegistration_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Registration >>>>>> >>>>>> //Value Computed by CMake >>>>>> ImageSegmentation_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Segmentation >>>>>> >>>>>> //Value Computed by CMake >>>>>> ImageSegmentation_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Segmentation >>>>>> >>>>>> //Value Computed by CMake >>>>>> IteratorExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Iterators >>>>>> >>>>>> //Value Computed by CMake >>>>>> IteratorExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Iterators >>>>>> >>>>>> //Path to java command, used by the Dart server to create html. >>>>>> JAVACOMMAND:FILEPATH=JAVACOMMAND-NOTFOUND >>>>>> >>>>>> //Command used to build entire project from the command line. >>>>>> MAKECOMMAND:STRING=C:/msys/1.0/bin/make.exe -i >>>>>> >>>>>> //Path to the memory checking command, used for memory error >>>>>> detection. >>>>>> MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND >>>>>> >>>>>> //File that contains suppressions for the memory checker >>>>>> MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= >>>>>> >>>>>> //Value Computed by CMake >>>>>> MeshExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Mesh >>>>>> >>>>>> //Value Computed by CMake >>>>>> MeshExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Mesh >>>>>> >>>>>> //Value Computed by CMake >>>>>> NIFTI_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/nifti >>>>>> >>>>>> //Value Computed by CMake >>>>>> NIFTI_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/nifti >>>>>> >>>>>> //Value Computed by CMake >>>>>> NumericsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Numerics >>>>>> >>>>>> //Value Computed by CMake >>>>>> NumericsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Numerics >>>>>> >>>>>> //Value Computed by CMake >>>>>> PathExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Path >>>>>> >>>>>> //Value Computed by CMake >>>>>> PathExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Path >>>>>> >>>>>> //Path to scp command, used by CTest for submitting results to >>>>>> // a Dart server >>>>>> SCPCOMMAND:FILEPATH=SCPCOMMAND-NOTFOUND >>>>>> >>>>>> //Name of the computer/site where compile is being run >>>>>> SITE:STRING=ZAPPA >>>>>> >>>>>> //Path to the SLURM sbatch executable >>>>>> SLURM_SBATCH_COMMAND:FILEPATH=SLURM_SBATCH_COMMAND-NOTFOUND >>>>>> >>>>>> //Path to the SLURM srun executable >>>>>> SLURM_SRUN_COMMAND:FILEPATH=SLURM_SRUN_COMMAND-NOTFOUND >>>>>> >>>>>> //Path to a program. >>>>>> SVNCOMMAND:FILEPATH=SVNCOMMAND-NOTFOUND >>>>>> >>>>>> //Value Computed by CMake >>>>>> SpatialObjectsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/SpatialObjects >>>>>> >>>>>> //Value Computed by CMake >>>>>> SpatialObjectsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/SpatialObjects >>>>>> >>>>>> //Value Computed by CMake >>>>>> StatisticsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Statistics >>>>>> >>>>>> //Value Computed by CMake >>>>>> StatisticsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Statistics >>>>>> >>>>>> //Path to a program. >>>>>> TCL_TCLSH:FILEPATH=TCL_TCLSH-NOTFOUND >>>>>> >>>>>> //Use double precision FFTW if found >>>>>> USE_FFTWD:BOOL=OFF >>>>>> >>>>>> //Use single precision FFTW if found >>>>>> USE_FFTWF:BOOL=OFF >>>>>> >>>>>> //Use the SGI SCSL High Performance Computing math library >>>>>> USE_SCSL:BOOL=OFF >>>>>> >>>>>> //Build external languages support >>>>>> USE_WRAP_ITK:BOOL=OFF >>>>>> >>>>>> //Path to a file. >>>>>> UUID_INCLUDE_DIR:PATH=UUID_INCLUDE_DIR-NOTFOUND >>>>>> >>>>>> //Path to a library. >>>>>> UUID_LIBRARY:FILEPATH=UUID_LIBRARY-NOTFOUND >>>>>> >>>>>> //Whether vnl_vector/vnl_matrix accessor methods check index bounds. >>>>>> VNL_CONFIG_CHECK_BOUNDS:BOOL=ON >>>>>> >>>>>> //Enable Streaming SIMD Extensions 2 optimisations (hardware >>>>>> dependant). >>>>>> // Currently broken. For use by VNL developers only. >>>>>> VNL_CONFIG_ENABLE_SSE2:BOOL=OFF >>>>>> >>>>>> //Enable Streaming SIMD Extensions 2 implementation of rounding >>>>>> // (hardware dependant). >>>>>> VNL_CONFIG_ENABLE_SSE2_ROUNDING:BOOL=OFF >>>>>> >>>>>> //Whether backward-compatibility methods are provided by vnl. >>>>>> VNL_CONFIG_LEGACY_METHODS:BOOL=OFF >>>>>> >>>>>> //Whether thread-safe vnl implementations are used. >>>>>> VNL_CONFIG_THREAD_SAFE:BOOL=ON >>>>>> >>>>>> //v3p include files >>>>>> VTHREEP_INCLUDE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>>>>> >>>>>> //v3p include files >>>>>> VTHREEP_INSTALL_INCLUDE_DIR:STATIC=C:/Program Files >>>>>> (x86)/ITK/include/vxl/v3p >>>>>> >>>>>> //Re-run the configuration tests? >>>>>> VXL_UPDATE_CONFIGURATION:BOOL=OFF >>>>>> >>>>>> //Dependencies for the target >>>>>> itkNetlibSlatec_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib; >>>>>> >>>>>> //Value Computed by CMake >>>>>> itkdicomparser_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/DICOMParser >>>>>> >>>>>> //Value Computed by CMake >>>>>> itkdicomparser_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/DICOMParser >>>>>> >>>>>> //Dependencies for the target >>>>>> itkgdcm_LIB_DEPENDS:STATIC=general;gdi32;general;itkjpeg8;general;itkjpeg12;general;itkjpeg16;general;itkopenjpeg;general;wsock32;general;snmpapi;general;rpcrt4; >>>>>> >>>>>> //Dependencies for the target >>>>>> itkjpeg12_LIB_DEPENDS:STATIC=general;gdi32; >>>>>> >>>>>> //Dependencies for the target >>>>>> itkjpeg16_LIB_DEPENDS:STATIC=general;gdi32; >>>>>> >>>>>> //Dependencies for the target >>>>>> itkjpeg8_LIB_DEPENDS:STATIC=general;gdi32; >>>>>> >>>>>> //Dependencies for the target >>>>>> itkopenjpeg_LIB_DEPENDS:STATIC=general;gdi32; >>>>>> >>>>>> //Dependencies for the target >>>>>> itkpng_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>>> >>>>>> //Value Computed by CMake >>>>>> itksys_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/kwsys >>>>>> >>>>>> //Dependencies for the target >>>>>> itksys_LIB_DEPENDS:STATIC=general;gdi32;general;ws2_32; >>>>>> >>>>>> //Value Computed by CMake >>>>>> itksys_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/kwsys >>>>>> >>>>>> //Dependencies for the target >>>>>> itktestlib_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>>>>> >>>>>> //Dependencies for the target >>>>>> itktiff_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itkjpeg8; >>>>>> >>>>>> //Dependencies for the target >>>>>> itkv3p_netlib_LIB_DEPENDS:STATIC=general;gdi32; >>>>>> >>>>>> //Dependencies for the target >>>>>> itkvcl_LIB_DEPENDS:STATIC=general;gdi32; >>>>>> >>>>>> //Dependencies for the target >>>>>> itkvnl_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>>>>> >>>>>> //Dependencies for the target >>>>>> itkvnl_algo_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib;general;itkvnl; >>>>>> >>>>>> //Dependencies for the target >>>>>> itkvnl_inst_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_algo; >>>>>> >>>>>> //Dependencies for the target >>>>>> itkzlib_LIB_DEPENDS:STATIC=general;gdi32; >>>>>> >>>>>> //Value Computed by CMake >>>>>> netlib_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p/netlib >>>>>> >>>>>> //Value Computed by CMake >>>>>> netlib_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p/netlib >>>>>> >>>>>> //Value Computed by CMake >>>>>> vcl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/vcl >>>>>> >>>>>> //Value Computed by CMake >>>>>> vcl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/vcl >>>>>> >>>>>> //Value Computed by CMake >>>>>> vthreep_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p >>>>>> >>>>>> //Value Computed by CMake >>>>>> vthreep_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>>>>> >>>>>> //Value Computed by CMake >>>>>> vxl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl >>>>>> >>>>>> //Value Computed by CMake >>>>>> vxl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl >>>>>> >>>>>> //Value Computed by CMake >>>>>> vxl_config_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/config/cmake/config >>>>>> >>>>>> //Value Computed by CMake >>>>>> vxl_config_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/config/cmake/config >>>>>> >>>>>> //Value Computed by CMake >>>>>> vxlcore_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/core >>>>>> >>>>>> //Value Computed by CMake >>>>>> vxlcore_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/core >>>>>> >>>>>> >>>>>> ######################## >>>>>> # INTERNAL cache entries >>>>>> ######################## >>>>>> >>>>>> //System handles bit-fields larger than 32 bits. >>>>>> BIGBITFIELD:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> BIGBITFIELD_VALUE:INTERNAL=TRUE >>>>>> //ADVANCED property for variable: BUILDNAME >>>>>> BUILDNAME-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: BZRCOMMAND >>>>>> BZRCOMMAND-ADVANCED:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> CMAKE_ANSI_FOR_SCOPE:INTERNAL=TRUE >>>>>> //Have include iostream >>>>>> CMAKE_ANSI_STREAM_HEADERS:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_AR >>>>>> CMAKE_AR-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_BACKWARDS_COMPATIBILITY >>>>>> CMAKE_BACKWARDS_COMPATIBILITY-ADVANCED:INTERNAL=0 >>>>>> //ADVANCED property for variable: CMAKE_BUILD_TOOL >>>>>> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >>>>>> //What is the target build tool cmake is generating for. >>>>>> CMAKE_BUILD_TOOL:INTERNAL=C:/msys/1.0/bin/make.exe >>>>>> //This is the directory where this CMakeCache.txt was created >>>>>> CMAKE_CACHEFILE_DIR:INTERNAL=c:/msys/1.0/home/Insight-mingw >>>>>> //Major version of cmake used to create the current loaded cache >>>>>> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >>>>>> //Minor version of cmake used to create the current loaded cache >>>>>> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >>>>>> //Patch version of cmake used to create the current loaded cache >>>>>> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >>>>>> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >>>>>> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >>>>>> //Path to CMake executable. >>>>>> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >>>>>> //Path to cpack program executable. >>>>>> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >>>>>> //ADVANCED property for variable: CMAKE_CTEST_COMMAND >>>>>> CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 >>>>>> //Path to ctest program executable. >>>>>> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >>>>>> //ADVANCED property for variable: CMAKE_CXX_COMPILER >>>>>> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >>>>>> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS >>>>>> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >>>>>> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >>>>>> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >>>>>> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >>>>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >>>>>> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_C_COMPILER >>>>>> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >>>>>> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS >>>>>> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >>>>>> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >>>>>> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >>>>>> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >>>>>> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >>>>>> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >>>>>> //Path to cache edit program executable. >>>>>> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >>>>>> //Executable file format >>>>>> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >>>>>> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >>>>>> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >>>>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >>>>>> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: >>>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >>>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>> //Name of generator. >>>>>> CMAKE_GENERATOR:INTERNAL=MSYS Makefiles >>>>>> //Result of TRY_COMPILE >>>>>> CMAKE_HAS_ANSI_STRING_STREAM:INTERNAL=TRUE >>>>>> //Is X11 around. >>>>>> CMAKE_HAS_X:INTERNAL= >>>>>> //Have include limits.h >>>>>> CMAKE_HAVE_LIMITS_H:INTERNAL=1 >>>>>> //Have include pthread.h >>>>>> CMAKE_HAVE_PTHREAD_H:INTERNAL= >>>>>> //Have include stdint.h >>>>>> CMAKE_HAVE_STDINT_H:INTERNAL=1 >>>>>> //Have include CMAKE_HAVE_STDLIB_H >>>>>> CMAKE_HAVE_STDLIB_H:INTERNAL=1 >>>>>> //Have includes CMAKE_HAVE_SYS_PRCTL_H >>>>>> CMAKE_HAVE_SYS_PRCTL_H:INTERNAL= >>>>>> //Have include unistd.h >>>>>> CMAKE_HAVE_UNISTD_H:INTERNAL=1 >>>>>> //Start directory with the top level CMakeLists.txt file for this >>>>>> // project >>>>>> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0 >>>>>> //ADVANCED property for variable: CMAKE_HP_PTHREADS >>>>>> CMAKE_HP_PTHREADS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_LINKER >>>>>> CMAKE_LINKER-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >>>>>> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >>>>>> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >>>>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >>>>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >>>>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: >>>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >>>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_NM >>>>>> CMAKE_NM-ADVANCED:INTERNAL=1 >>>>>> //Does the compiler support ansi for scope. >>>>>> CMAKE_NO_ANSI_FOR_SCOPE:INTERNAL=0 >>>>>> //ADVANCED property for variable: CMAKE_NO_ANSI_STREAM_HEADERS >>>>>> CMAKE_NO_ANSI_STREAM_HEADERS-ADVANCED:INTERNAL=1 >>>>>> //Does the compiler support headers like iostream. >>>>>> CMAKE_NO_ANSI_STREAM_HEADERS:INTERNAL=0 >>>>>> //Does the compiler support sstream >>>>>> CMAKE_NO_ANSI_STRING_STREAM:INTERNAL=0 >>>>>> //Does the compiler support std::. >>>>>> CMAKE_NO_STD_NAMESPACE:INTERNAL=0 >>>>>> //number of local generators >>>>>> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=76 >>>>>> //ADVANCED property for variable: CMAKE_OBJCOPY >>>>>> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_OBJDUMP >>>>>> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_RANLIB >>>>>> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >>>>>> //Path to CMake installation. >>>>>> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >>>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >>>>>> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >>>>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >>>>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >>>>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: >>>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >>>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> CMAKE_SIZEOF_CHAR:INTERNAL=1 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> CMAKE_SIZEOF_DOUBLE:INTERNAL=8 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> CMAKE_SIZEOF_FLOAT:INTERNAL=4 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> CMAKE_SIZEOF_INT:INTERNAL=4 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> CMAKE_SIZEOF_LONG:INTERNAL=4 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> CMAKE_SIZEOF_SHORT:INTERNAL=2 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=2 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> CMAKE_SIZEOF_VOID_P:INTERNAL=4 >>>>>> //ADVANCED property for variable: CMAKE_SKIP_RPATH >>>>>> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> CMAKE_STD_NAMESPACE:INTERNAL=TRUE >>>>>> //ADVANCED property for variable: CMAKE_STRIP >>>>>> CMAKE_STRIP-ADVANCED:INTERNAL=1 >>>>>> //Suppress Warnings that are meant for the author of the >>>>>> CMakeLists.txt >>>>>> // files. >>>>>> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >>>>>> //ADVANCED property for variable: CMAKE_THREAD_LIBS >>>>>> CMAKE_THREAD_LIBS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_USE_PTHREADS >>>>>> CMAKE_USE_PTHREADS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >>>>>> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_USE_SPROC >>>>>> CMAKE_USE_SPROC-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_USE_WIN32_THREADS >>>>>> CMAKE_USE_WIN32_THREADS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >>>>>> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >>>>>> //Result of TEST_BIG_ENDIAN >>>>>> CMAKE_WORDS_BIGENDIAN:INTERNAL=0 >>>>>> //ADVANCED property for variable: CMAKE_X_CFLAGS >>>>>> CMAKE_X_CFLAGS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CMAKE_X_LIBS >>>>>> CMAKE_X_LIBS-ADVANCED:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> COMPILE_RESULT:INTERNAL=TRUE >>>>>> //ADVANCED property for variable: COMPRESSIONCOMMAND >>>>>> COMPRESSIONCOMMAND-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: COVERAGE_COMMAND >>>>>> COVERAGE_COMMAND-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CPACK_BINARY_NSIS >>>>>> CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CPACK_BINARY_ZIP >>>>>> CPACK_BINARY_ZIP-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CPACK_SOURCE_ZIP >>>>>> CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CVSCOMMAND >>>>>> CVSCOMMAND-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: CVS_UPDATE_OPTIONS >>>>>> CVS_UPDATE_OPTIONS-ADVANCED:INTERNAL=1 >>>>>> //CXX compiler accepts flag -Wno-deprecated >>>>>> CXX_HAS_DEPRECATED_FLAG:INTERNAL=TRUE >>>>>> //ADVANCED property for variable: DART_BUILD_ERROR_REPORT_LIMIT >>>>>> DART_BUILD_ERROR_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: DART_BUILD_WARNING_REPORT_LIMIT >>>>>> DART_BUILD_WARNING_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: DART_ROOT >>>>>> DART_ROOT-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: DART_TESTING_TIMEOUT >>>>>> DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: DART_VERBOSE_BUILD >>>>>> DART_VERBOSE_BUILD-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: DELIVER_CONTINUOUS_EMAIL >>>>>> DELIVER_CONTINUOUS_EMAIL-ADVANCED:INTERNAL=1 >>>>>> //Result of TRY_RUN >>>>>> DUMMY:INTERNAL=0 >>>>>> //ADVANCED property for variable: EXECUTABLE_OUTPUT_PATH >>>>>> EXECUTABLE_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>>>>> //Single output directory for building all executables. >>>>>> EXECUTABLE_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>>>>> //Details about finding Threads >>>>>> FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE] >>>>>> //Support for extension C __FUNCTION__ >>>>>> GDCM_COMPILER_HAS_FUNCTION:INTERNAL=1 >>>>>> //ADVANCED property for variable: GDCM_DATA_DIR >>>>>> GDCM_DATA_DIR-ADVANCED:INTERNAL=1 >>>>>> //Install location for data (relative to prefix). >>>>>> GDCM_DATA_DIR:INTERNAL=/share/gdcm/ >>>>>> //ADVANCED property for variable: GDCM_LEGACY_REMOVE >>>>>> GDCM_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: GDCM_LEGACY_SILENT >>>>>> GDCM_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>>>>> //Result of TEST_BIG_ENDIAN >>>>>> GDCM_WORDS_BIGENDIAN:INTERNAL=0 >>>>>> //ADVANCED property for variable: GUNZIPCOMMAND >>>>>> GUNZIPCOMMAND-ADVANCED:INTERNAL=1 >>>>>> //Have include HAVE_ASSERT_H >>>>>> HAVE_ASSERT_H:INTERNAL=1 >>>>>> // >>>>>> HAVE_BIGBITFIELD_VALUE:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_CMAKE_SIZEOF_CHAR:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_CMAKE_SIZEOF_DOUBLE:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_CMAKE_SIZEOF_FLOAT:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_CMAKE_SIZEOF_INT:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_CMAKE_SIZEOF_LONG:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_CMAKE_SIZEOF_SHORT:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_CMAKE_SIZEOF_VOID_P:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_CMAKE_WORDS_BIGENDIAN:INTERNAL=TRUE >>>>>> //Have includes HAVE_DLFCN_H >>>>>> HAVE_DLFCN_H:INTERNAL= >>>>>> //Have include HAVE_FCNTL_H >>>>>> HAVE_FCNTL_H:INTERNAL=1 >>>>>> //Have function floor >>>>>> HAVE_FLOOR:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_GDCM_WORDS_BIGENDIAN:INTERNAL=TRUE >>>>>> //Have function getopt >>>>>> HAVE_GETOPT:INTERNAL=1 >>>>>> //Have includes HAVE_IEEEFP_H >>>>>> HAVE_IEEEFP_H:INTERNAL= >>>>>> //Have include HAVE_INTTYPES_H >>>>>> HAVE_INTTYPES_H:INTERNAL=1 >>>>>> //Have function isascii >>>>>> HAVE_ISASCII:INTERNAL=1 >>>>>> // >>>>>> HAVE_ITK_CPP_FUNCTION:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_ITK_SIZEOF_LONG_LONG:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_ITK_SIZEOF___INT64:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_KWSYS_SIZEOF_CHAR:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_KWSYS_SIZEOF_INT:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_KWSYS_SIZEOF_LONG:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_KWSYS_SIZEOF_LONG_LONG:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_KWSYS_SIZEOF_SHORT:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_KWSYS_SIZEOF___INT64:INTERNAL=TRUE >>>>>> //Have library malloc >>>>>> HAVE_LIBMALLOC:INTERNAL= >>>>>> //Have include HAVE_LIMITS_H >>>>>> HAVE_LIMITS_H:INTERNAL=1 >>>>>> //Have include HAVE_MALLOC_H >>>>>> HAVE_MALLOC_H:INTERNAL=1 >>>>>> //Have function memmove >>>>>> HAVE_MEMMOVE:INTERNAL=1 >>>>>> //Have include HAVE_MEMORY_H >>>>>> HAVE_MEMORY_H:INTERNAL=1 >>>>>> //Have function memset >>>>>> HAVE_MEMSET:INTERNAL=1 >>>>>> //Have function mmap >>>>>> HAVE_MMAP:INTERNAL= >>>>>> //Have function pow >>>>>> HAVE_POW:INTERNAL=1 >>>>>> //Have library Psapi >>>>>> HAVE_PSAPI:INTERNAL= >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_QNANHIBIT_VALUE:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_SIZEOF_INT:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_SIZEOF_LONG:INTERNAL=TRUE >>>>>> //Have function sqrt >>>>>> HAVE_SQRT:INTERNAL=1 >>>>>> //Have include stddef.h >>>>>> HAVE_STDDEF_H:INTERNAL=1 >>>>>> //Have include stdint.h >>>>>> HAVE_STDINT_H:INTERNAL=1 >>>>>> //Have include HAVE_STDLIB_H >>>>>> HAVE_STDLIB_H:INTERNAL=1 >>>>>> //Have function strcasecmp >>>>>> HAVE_STRCASECMP:INTERNAL=1 >>>>>> //Have function strchr >>>>>> HAVE_STRCHR:INTERNAL=1 >>>>>> //Have include HAVE_STRINGS_H >>>>>> HAVE_STRINGS_H:INTERNAL=1 >>>>>> //Have include HAVE_STRING_H >>>>>> HAVE_STRING_H:INTERNAL=1 >>>>>> //Have function strrchr >>>>>> HAVE_STRRCHR:INTERNAL=1 >>>>>> //Have function strstr >>>>>> HAVE_STRSTR:INTERNAL=1 >>>>>> //Have function strtol >>>>>> HAVE_STRTOL:INTERNAL=1 >>>>>> //Have function areroul >>>>>> HAVE_STRTOUL:INTERNAL= >>>>>> //Have include HAVE_SYS_STAT_H >>>>>> HAVE_SYS_STAT_H:INTERNAL=1 >>>>>> //Have include HAVE_SYS_TIME_H >>>>>> HAVE_SYS_TIME_H:INTERNAL=1 >>>>>> //Have include sys/types.h >>>>>> HAVE_SYS_TYPES_H:INTERNAL=1 >>>>>> //Have include unistd.h >>>>>> HAVE_UNISTD_H:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> HAVE_VXL_BIG_ENDIAN:INTERNAL=TRUE >>>>>> //Have include HAVE_WINDOWS_H >>>>>> HAVE_WINDOWS_H:INTERNAL=1 >>>>>> //ADVANCED property for variable: HGCOMMAND >>>>>> HGCOMMAND-ADVANCED:INTERNAL=1 >>>>>> //ImageCompare path to be used by subprojects >>>>>> IMAGE_COMPARE:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompare >>>>>> //ImageCompare path to be used by subprojects >>>>>> IMAGE_COMPARE_COMMAND:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompareCommand >>>>>> //ImageCopy path to be used by subprojects >>>>>> IMAGE_COPY:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCopy >>>>>> //ADVANCED property for variable: ITK_BRAINWEB_DATA_ROOT >>>>>> ITK_BRAINWEB_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_COMPUTER_MEMORY_SIZE >>>>>> ITK_COMPUTER_MEMORY_SIZE-ADVANCED:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> ITK_CPP_FUNCTION:INTERNAL=TRUE >>>>>> //ADVANCED property for variable: ITK_CSWIG_JAVA >>>>>> ITK_CSWIG_JAVA-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_CSWIG_PYTHON >>>>>> ITK_CSWIG_PYTHON-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_CSWIG_TCL >>>>>> ITK_CSWIG_TCL-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_DATA_ROOT >>>>>> ITK_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>> //ITK dir to be used by subprojects >>>>>> ITK_DIR:INTERNAL=C:/msys/1.0/home/Insight-mingw >>>>>> //ADVANCED property for variable: ITK_EXPLICIT_INSTANTIATION >>>>>> ITK_EXPLICIT_INSTANTIATION-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE >>>>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE-ADVANCED:INTERNAL=1 >>>>>> ITK_INSTALL_PACKAGE_DIR:INTERNAL=/lib/InsightToolkit >>>>>> //Whether istream supports long long >>>>>> ITK_ISTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_LEGACY_REMOVE >>>>>> ITK_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_LEGACY_SILENT >>>>>> ITK_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_MRI_UNC_DATABASE_DATA_ROOT >>>>>> ITK_MRI_UNC_DATABASE_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_OSIRIX_DATA_ROOT >>>>>> ITK_OSIRIX_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>> //Whether ostream supports long long >>>>>> ITK_OSTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> ITK_SIZEOF_LONG_LONG:INTERNAL=8 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> ITK_SIZEOF___INT64:INTERNAL=8 >>>>>> //Result of TRY_COMPILE >>>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_EMPTY_BRACKETS:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_NULL_STRING:INTERNAL=FALSE >>>>>> //Result of TRY_COMPILE >>>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_TEMPLATE_ARGUMENTS:INTERNAL=FALSE >>>>>> //Result of TRY_COMPILE >>>>>> ITK_SUPPORTS_TEMPLATE_PARTIAL_SPECIALIZATION:INTERNAL=TRUE >>>>>> //itkTestDriver path to be used by subprojects >>>>>> ITK_TEST_DRIVER:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/itkTestDriver >>>>>> //Whether long and __int64 are the same type >>>>>> ITK_TYPE_SAME_LONG_AND___INT64:INTERNAL=0 >>>>>> //ADVANCED property for variable: >>>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY >>>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_CONCEPT_CHECKING >>>>>> ITK_USE_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_CONSOLIDATED_MORPHOLOGY >>>>>> ITK_USE_CONSOLIDATED_MORPHOLOGY-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: >>>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION >>>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_LIBXML2 >>>>>> ITK_USE_LIBXML2-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_MINC2 >>>>>> ITK_USE_MINC2-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: >>>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS >>>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_ORIENTED_IMAGE_DIRECTION >>>>>> ITK_USE_ORIENTED_IMAGE_DIRECTION-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_PATENTED >>>>>> ITK_USE_PATENTED-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: >>>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS >>>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_REVIEW >>>>>> ITK_USE_REVIEW-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_REVIEW_STATISTICS >>>>>> ITK_USE_REVIEW_STATISTICS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_STRICT_CONCEPT_CHECKING >>>>>> ITK_USE_STRICT_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_GDCM >>>>>> ITK_USE_SYSTEM_GDCM-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_LIBXML2 >>>>>> ITK_USE_SYSTEM_LIBXML2-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_PNG >>>>>> ITK_USE_SYSTEM_PNG-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_TIFF >>>>>> ITK_USE_SYSTEM_TIFF-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_VXL >>>>>> ITK_USE_SYSTEM_VXL-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_ZLIB >>>>>> ITK_USE_SYSTEM_ZLIB-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: >>>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING >>>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_USE_TRANSFORM_IO_FACTORIES >>>>>> ITK_USE_TRANSFORM_IO_FACTORIES-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: ITK_VISIBLEHUMAN_DATA_ROOT >>>>>> ITK_VISIBLEHUMAN_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: JAVACOMMAND >>>>>> JAVACOMMAND-ADVANCED:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_CAN_CONVERT_UI64_TO_DOUBLE_COMPILED:INTERNAL=FALSE >>>>>> //Result of TRY_RUN >>>>>> KWSYS_CHAR_IS_SIGNED:INTERNAL=0 >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_CXX_HAS_CSTDDEF_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_CXX_HAS_CSTDIO_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_CXX_HAS_FULL_SPECIALIZATION_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_CXX_HAS_MEMBER_TEMPLATES_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS_COMPILED:INTERNAL=FALSE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_CXX_SAME_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_CXX_SAME_LONG_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_IOS_HAVE_BINARY_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_IOS_HAVE_STD_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_IOS_USE_ANSI_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_IOS_USE_SSTREAM_COMPILED:INTERNAL=TRUE >>>>>> //Checking for Large File Support failed to compile. >>>>>> KWSYS_LFS_WORKS:INTERNAL=-1 >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_LFS_WORKS_COMPILED:INTERNAL=FALSE >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> KWSYS_SIZEOF_CHAR:INTERNAL=1 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> KWSYS_SIZEOF_INT:INTERNAL=4 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> KWSYS_SIZEOF_LONG:INTERNAL=4 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> KWSYS_SIZEOF_LONG_LONG:INTERNAL=8 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> KWSYS_SIZEOF_SHORT:INTERNAL=2 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> KWSYS_SIZEOF___INT64:INTERNAL=8 >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT_COMPILED:INTERNAL=FALSE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_STL_HAS_ALLOCATOR_OBJECTS_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_STL_HAS_ALLOCATOR_REBIND_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_STL_HAS_ALLOCATOR_TEMPLATE_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_STL_HAS_ITERATOR_TRAITS_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_STL_HAVE_STD_COMPILED:INTERNAL=TRUE >>>>>> //Result of TRY_COMPILE >>>>>> KWSYS_STL_STRING_HAVE_NEQ_CHAR_COMPILED:INTERNAL=TRUE >>>>>> //ADVANCED property for variable: LIBRARY_OUTPUT_PATH >>>>>> LIBRARY_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>>>>> //Single output directory for building all libraries. >>>>>> LIBRARY_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>>>>> //ADVANCED property for variable: MAKECOMMAND >>>>>> MAKECOMMAND-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: MEMORYCHECK_COMMAND >>>>>> MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE >>>>>> MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 >>>>>> //The 22nd bit of 32-bit floating-point quiet NaN. >>>>>> QNANHIBIT:INTERNAL=1 >>>>>> //Result of TRY_RUN >>>>>> QNANHIBIT_VALUE:INTERNAL=1 >>>>>> //Result of TRY_RUN >>>>>> RUN_RESULT:INTERNAL=1 >>>>>> //ADVANCED property for variable: SCPCOMMAND >>>>>> SCPCOMMAND-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: SITE >>>>>> SITE-ADVANCED:INTERNAL=1 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> SIZEOF_INT:INTERNAL=4 >>>>>> //Result of CHECK_TYPE_SIZE >>>>>> SIZEOF_LONG:INTERNAL=4 >>>>>> //ADVANCED property for variable: SLURM_SBATCH_COMMAND >>>>>> SLURM_SBATCH_COMMAND-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: SLURM_SRUN_COMMAND >>>>>> SLURM_SRUN_COMMAND-ADVANCED:INTERNAL=1 >>>>>> //CXX compiler accepts flag -features=no%anachronisms >>>>>> SUN_COMPILER:INTERNAL=FALSE >>>>>> //ADVANCED property for variable: SVNCOMMAND >>>>>> SVNCOMMAND-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: TCL_TCLSH >>>>>> TCL_TCLSH-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: USE_FFTWD >>>>>> USE_FFTWD-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: USE_FFTWF >>>>>> USE_FFTWF-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: USE_SCSL >>>>>> USE_SCSL-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: USE_WRAP_ITK >>>>>> USE_WRAP_ITK-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: UUID_INCLUDE_DIR >>>>>> UUID_INCLUDE_DIR-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: UUID_LIBRARY >>>>>> UUID_LIBRARY-ADVANCED:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_ALLOWS_INLINE_INSTANTIATION:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_ALLOWS_NAMESPACE_STD:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_CANNOT_SPECIALIZE_CV:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_CAN_DO_COMPLETE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_CAN_DO_IMPLICIT_TEMPLATES:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_CAN_DO_NON_TYPE_FUNCTION_TEMPLATE_PARAMETER:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_CAN_DO_PARTIAL_SPECIALIZATION:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_CAN_DO_STATIC_TEMPLATE_MEMBER:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_CAN_DO_TEMPLATE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>>>>> //VXL test ?(successful run) >>>>>> VCL_CHAR_IS_SIGNED:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> VCL_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>>>>> //VXL test ?(successful run) >>>>>> VCL_COMPLEX_POW_WORKS:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> VCL_COMPLEX_POW_WORKS_COMPILED:INTERNAL=TRUE >>>>>> //Have include algorithm >>>>>> VCL_CXX_HAS_HEADER_ALGORITHM:INTERNAL=1 >>>>>> //Have include bitset >>>>>> VCL_CXX_HAS_HEADER_BITSET:INTERNAL=1 >>>>>> //Have include cassert >>>>>> VCL_CXX_HAS_HEADER_CASSERT:INTERNAL=1 >>>>>> //Have include cctype >>>>>> VCL_CXX_HAS_HEADER_CCTYPE:INTERNAL=1 >>>>>> //Have include cerrno >>>>>> VCL_CXX_HAS_HEADER_CERRNO:INTERNAL=1 >>>>>> //Have include cfloat >>>>>> VCL_CXX_HAS_HEADER_CFLOAT:INTERNAL=1 >>>>>> //Have include ciso646 >>>>>> VCL_CXX_HAS_HEADER_CISO646:INTERNAL=1 >>>>>> //Have include climits >>>>>> VCL_CXX_HAS_HEADER_CLIMITS:INTERNAL=1 >>>>>> //Have include clocale >>>>>> VCL_CXX_HAS_HEADER_CLOCALE:INTERNAL=1 >>>>>> //Have include cmath >>>>>> VCL_CXX_HAS_HEADER_CMATH:INTERNAL=1 >>>>>> //Have include complex >>>>>> VCL_CXX_HAS_HEADER_COMPLEX:INTERNAL=1 >>>>>> //Have include csetjmp >>>>>> VCL_CXX_HAS_HEADER_CSETJMP:INTERNAL=1 >>>>>> //Have include csignal >>>>>> VCL_CXX_HAS_HEADER_CSIGNAL:INTERNAL=1 >>>>>> //Have include cstdarg >>>>>> VCL_CXX_HAS_HEADER_CSTDARG:INTERNAL=1 >>>>>> //Have include cstddef >>>>>> VCL_CXX_HAS_HEADER_CSTDDEF:INTERNAL=1 >>>>>> //Have include cstdio >>>>>> VCL_CXX_HAS_HEADER_CSTDIO:INTERNAL=1 >>>>>> //Have include cstdlib >>>>>> VCL_CXX_HAS_HEADER_CSTDLIB:INTERNAL=1 >>>>>> //Have include cstring >>>>>> VCL_CXX_HAS_HEADER_CSTRING:INTERNAL=1 >>>>>> //Have include ctime >>>>>> VCL_CXX_HAS_HEADER_CTIME:INTERNAL=1 >>>>>> //Have include cwchar >>>>>> VCL_CXX_HAS_HEADER_CWCHAR:INTERNAL=1 >>>>>> //Have include cwctype >>>>>> VCL_CXX_HAS_HEADER_CWCTYPE:INTERNAL=1 >>>>>> //Have include deque >>>>>> VCL_CXX_HAS_HEADER_DEQUE:INTERNAL=1 >>>>>> //Have include exception >>>>>> VCL_CXX_HAS_HEADER_EXCEPTION:INTERNAL=1 >>>>>> //Have include fstream >>>>>> VCL_CXX_HAS_HEADER_FSTREAM:INTERNAL=1 >>>>>> //Have include functional >>>>>> VCL_CXX_HAS_HEADER_FUNCTIONAL:INTERNAL=1 >>>>>> //Have include iomanip >>>>>> VCL_CXX_HAS_HEADER_IOMANIP:INTERNAL=1 >>>>>> //Have include ios >>>>>> VCL_CXX_HAS_HEADER_IOS:INTERNAL=1 >>>>>> //Have include iosfwd >>>>>> VCL_CXX_HAS_HEADER_IOSFWD:INTERNAL=1 >>>>>> //Have include iostream >>>>>> VCL_CXX_HAS_HEADER_IOSTREAM:INTERNAL=1 >>>>>> //Have include iso646.h >>>>>> VCL_CXX_HAS_HEADER_ISO646_H:INTERNAL=1 >>>>>> //Have include istream >>>>>> VCL_CXX_HAS_HEADER_ISTREAM:INTERNAL=1 >>>>>> //Have include iterator >>>>>> VCL_CXX_HAS_HEADER_ITERATOR:INTERNAL=1 >>>>>> //Have include limits >>>>>> VCL_CXX_HAS_HEADER_LIMITS:INTERNAL=1 >>>>>> //Have include list >>>>>> VCL_CXX_HAS_HEADER_LIST:INTERNAL=1 >>>>>> //Have include locale >>>>>> VCL_CXX_HAS_HEADER_LOCALE:INTERNAL=1 >>>>>> //Have include map >>>>>> VCL_CXX_HAS_HEADER_MAP:INTERNAL=1 >>>>>> //Have include memory >>>>>> VCL_CXX_HAS_HEADER_MEMORY:INTERNAL=1 >>>>>> //Have include new >>>>>> VCL_CXX_HAS_HEADER_NEW:INTERNAL=1 >>>>>> //Have include numeric >>>>>> VCL_CXX_HAS_HEADER_NUMERIC:INTERNAL=1 >>>>>> //Have include ostream >>>>>> VCL_CXX_HAS_HEADER_OSTREAM:INTERNAL=1 >>>>>> //Have include queue >>>>>> VCL_CXX_HAS_HEADER_QUEUE:INTERNAL=1 >>>>>> //Have include set >>>>>> VCL_CXX_HAS_HEADER_SET:INTERNAL=1 >>>>>> //Have include sstream >>>>>> VCL_CXX_HAS_HEADER_SSTREAM:INTERNAL=1 >>>>>> //Have include stack >>>>>> VCL_CXX_HAS_HEADER_STACK:INTERNAL=1 >>>>>> //Have include stdexcept >>>>>> VCL_CXX_HAS_HEADER_STDEXCEPT:INTERNAL=1 >>>>>> //Have include streambuf >>>>>> VCL_CXX_HAS_HEADER_STREAMBUF:INTERNAL=1 >>>>>> //Have include string >>>>>> VCL_CXX_HAS_HEADER_STRING:INTERNAL=1 >>>>>> //Have include strstream >>>>>> VCL_CXX_HAS_HEADER_STRSTREAM:INTERNAL=1 >>>>>> //Have include typeinfo >>>>>> VCL_CXX_HAS_HEADER_TYPEINFO:INTERNAL=1 >>>>>> //Have include utility >>>>>> VCL_CXX_HAS_HEADER_UTILITY:INTERNAL=1 >>>>>> //Have include valarray >>>>>> VCL_CXX_HAS_HEADER_VALARRAY:INTERNAL=1 >>>>>> //Have include vector >>>>>> VCL_CXX_HAS_HEADER_VECTOR:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_DEFAULT_VALUE:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_DEFINE_SPECIALIZATION:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_FOR_SCOPE_HACK:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_HAS_BOOL:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_HAS_DYNAMIC_CAST:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_HAS_EXCEPTIONS:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_HAS_EXPLICIT:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_HAS_EXPORT:INTERNAL=1 >>>>>> //VXL test ?(successful run) >>>>>> VCL_HAS_LFS:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> VCL_HAS_LFS_COMPILED:INTERNAL=TRUE >>>>>> //VXL test >>>>>> VCL_HAS_MEMBER_TEMPLATES:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_HAS_MUTABLE:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_HAS_NAMESPACES:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_HAS_RTTI:INTERNAL=1 >>>>>> //VXL test ?(successful run) >>>>>> VCL_HAS_SLICED_DESTRUCTOR_BUG:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> VCL_HAS_SLICED_DESTRUCTOR_BUG_COMPILED:INTERNAL=TRUE >>>>>> //Test ?(failed to compile) >>>>>> VCL_HAS_TEMPLATE_SYMBOLS:INTERNAL=0 >>>>>> //Result of TRY_COMPILE >>>>>> VCL_HAS_TEMPLATE_SYMBOLS_COMPILED:INTERNAL=FALSE >>>>>> //VXL test >>>>>> VCL_HAS_TYPENAME:INTERNAL=1 >>>>>> //VXL test ?(successful run) >>>>>> VCL_HAS_WORKING_STRINGSTREAM:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> VCL_HAS_WORKING_STRINGSTREAM_COMPILED:INTERNAL=TRUE >>>>>> //VXL test >>>>>> VCL_NEEDS_INLINE_INSTANTIATION:INTERNAL=1 >>>>>> //Test >>>>>> VCL_NEEDS_NAMESPACE_STD:INTERNAL=0 >>>>>> //VXL test >>>>>> VCL_NEED_FRIEND_FOR_TEMPLATE_OVERLOAD:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_NO_STATIC_DATA_MEMBERS:INTERNAL=1 >>>>>> //Test >>>>>> VCL_NULL_TMPL_ARGS:INTERNAL=0 >>>>>> //VXL test ?(successful run) >>>>>> VCL_NUMERIC_LIMITS_HAS_INFINITY:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> VCL_NUMERIC_LIMITS_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>>>>> //Test >>>>>> VCL_OVERLOAD_CAST:INTERNAL=0 >>>>>> //VXL test ?(successful run) >>>>>> VCL_PROCESSOR_HAS_INFINITY:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> VCL_PROCESSOR_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>>>>> //VXL test >>>>>> VCL_STATIC_CONST_INIT_FLOAT:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_STATIC_CONST_INIT_INT:INTERNAL=1 >>>>>> //Test >>>>>> VCL_STATIC_CONST_INIT_NO_DEFN:INTERNAL=0 >>>>>> //VXL test >>>>>> VCL_SUNPRO_CLASS_SCOPE_HACK:INTERNAL=1 >>>>>> //VXL test >>>>>> VCL_TEMPLATE_MATCHES_TOO_OFTEN:INTERNAL=1 >>>>>> //Are we using an version of gcc < 3.0 >>>>>> VNL_COMPILER_IS_GNUCXX_2XX:INTERNAL=0 >>>>>> //ADVANCED property for variable: VNL_CONFIG_CHECK_BOUNDS >>>>>> VNL_CONFIG_CHECK_BOUNDS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2 >>>>>> VNL_CONFIG_ENABLE_SSE2-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2_ROUNDING >>>>>> VNL_CONFIG_ENABLE_SSE2_ROUNDING-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: VNL_CONFIG_LEGACY_METHODS >>>>>> VNL_CONFIG_LEGACY_METHODS-ADVANCED:INTERNAL=1 >>>>>> //ADVANCED property for variable: VNL_CONFIG_THREAD_SAFE >>>>>> VNL_CONFIG_THREAD_SAFE-ADVANCED:INTERNAL=1 >>>>>> //Result of TEST_BIG_ENDIAN >>>>>> VXL_BIG_ENDIAN:INTERNAL=0 >>>>>> //VXL test result >>>>>> VXL_BYTE:INTERNAL=char >>>>>> //Serial number of last configuration >>>>>> VXL_CONFIG_SERIAL_LAST:INTERNAL=2007-13-09-001 >>>>>> //Have symbol finite >>>>>> VXL_C_MATH_HAS_FINITE:INTERNAL=1 >>>>>> //Have symbol finitef >>>>>> VXL_C_MATH_HAS_FINITEF:INTERNAL= >>>>>> //Have symbol finitel >>>>>> VXL_C_MATH_HAS_FINITEL:INTERNAL= >>>>>> //VXL test >>>>>> VXL_C_MATH_HAS_LROUND:INTERNAL=1 >>>>>> //Have symbol sqrtf >>>>>> VXL_C_MATH_HAS_SQRTF:INTERNAL=1 >>>>>> //Test >>>>>> VXL_HAS_ALIGNED_MALLOC:INTERNAL=0 >>>>>> //VXL test result >>>>>> VXL_HAS_BYTE:INTERNAL=1 >>>>>> //Test >>>>>> VXL_HAS_DBGHELP_H:INTERNAL=0 >>>>>> //Have include emmintrin.h >>>>>> VXL_HAS_EMMINTRIN_H:INTERNAL=1 >>>>>> //Have include ieeefp.h >>>>>> VXL_HAS_IEEEFP_H:INTERNAL= >>>>>> //VXL test result >>>>>> VXL_HAS_IEEE_128:INTERNAL=0 >>>>>> //VXL test result >>>>>> VXL_HAS_IEEE_32:INTERNAL=1 >>>>>> //VXL test result >>>>>> VXL_HAS_IEEE_64:INTERNAL=1 >>>>>> //VXL test result >>>>>> VXL_HAS_IEEE_96:INTERNAL=1 >>>>>> //VXL test result >>>>>> VXL_HAS_INT_16:INTERNAL=1 >>>>>> //VXL test result >>>>>> VXL_HAS_INT_32:INTERNAL=1 >>>>>> //VXL test result >>>>>> VXL_HAS_INT_64:INTERNAL=1 >>>>>> //VXL test result >>>>>> VXL_HAS_INT_8:INTERNAL=1 >>>>>> //VXL test >>>>>> VXL_HAS_MINGW_ALIGNED_MALLOC:INTERNAL=1 >>>>>> //Test >>>>>> VXL_HAS_MM_MALLOC:INTERNAL=0 >>>>>> //Test >>>>>> VXL_HAS_POSIX_MEMALIGN:INTERNAL=0 >>>>>> //Have include pthread.h >>>>>> VXL_HAS_PTHREAD_H:INTERNAL= >>>>>> //Have include semaphore.h >>>>>> VXL_HAS_SEMAPHORE_H:INTERNAL= >>>>>> //Test ?(failed to compile) >>>>>> VXL_HAS_SSE2_HARDWARE_SUPPORT:INTERNAL=0 >>>>>> //Result of TRY_COMPILE >>>>>> VXL_HAS_SSE2_HARDWARE_SUPPORT_COMPILED:INTERNAL=FALSE >>>>>> //Have symbol finite >>>>>> VXL_IEEEFP_HAS_FINITE:INTERNAL= >>>>>> //VXL test result >>>>>> VXL_IEEE_128:INTERNAL=void >>>>>> //VXL test result >>>>>> VXL_IEEE_32:INTERNAL=float >>>>>> //VXL test result >>>>>> VXL_IEEE_64:INTERNAL=double >>>>>> //VXL test result >>>>>> VXL_IEEE_96:INTERNAL=long double >>>>>> //VXL test result >>>>>> VXL_INT_16:INTERNAL=short >>>>>> //VXL test result >>>>>> VXL_INT_32:INTERNAL=int >>>>>> //VXL test result >>>>>> VXL_INT_64:INTERNAL=long long >>>>>> //VXL test result >>>>>> VXL_INT_8:INTERNAL=char >>>>>> //VXL test ?(successful run) >>>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE:INTERNAL=1 >>>>>> //Result of TRY_COMPILE >>>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_COMPILED:INTERNAL=TRUE >>>>>> //help string for how to enable SSE2 support >>>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_HELP:INTERNAL=The current compiler >>>>>> flags >>>>>> do not allow the SSE2 instructions to be used. ;It looks like if you >>>>>> add >>>>>> the >>>>>> flag '-msse2' you will be able to use the ;SSE2 instructions. If you >>>>>> chose >>>>>> to set VNL_CONFIG_ENABLE_SSE or ;VNL_CONFIG_ENABLE_SSE2_ROUNDING to >>>>>> ON, >>>>>> cmake will put this flag for you. ;You can also add this flag >>>>>> yourself. >>>>>> If >>>>>> you still see this message, after ;the flag change, you may need to >>>>>> set >>>>>> VXL_UPDATE_CONFIGURATION to ON and ;rerun cmake. >>>>>> //Have symbol drand48 >>>>>> VXL_STDLIB_HAS_DRAND48:INTERNAL= >>>>>> //Have symbol lrand48 >>>>>> VXL_STDLIB_HAS_LRAND48:INTERNAL= >>>>>> //VXL test >>>>>> VXL_STDLIB_HAS_QSORT:INTERNAL=1 >>>>>> //Have symbol srand48 >>>>>> VXL_STDLIB_HAS_SRAND48:INTERNAL= >>>>>> //Have function getpid >>>>>> VXL_UNISTD_HAS_GETPID:INTERNAL=1 >>>>>> //Have symbol intptr_t >>>>>> VXL_UNISTD_HAS_INTPTR_T:INTERNAL=1 >>>>>> //Have function lchown >>>>>> VXL_UNISTD_HAS_LCHOWN:INTERNAL= >>>>>> //Have function pread >>>>>> VXL_UNISTD_HAS_PREAD:INTERNAL= >>>>>> //Have function pwrite >>>>>> VXL_UNISTD_HAS_PWRITE:INTERNAL= >>>>>> //Have function tell >>>>>> VXL_UNISTD_HAS_TELL:INTERNAL=1 >>>>>> //Have function ualarm >>>>>> VXL_UNISTD_HAS_UALARM:INTERNAL= >>>>>> //Have symbol useconds_t >>>>>> VXL_UNISTD_HAS_USECONDS_T:INTERNAL=1 >>>>>> //Have function usleep >>>>>> VXL_UNISTD_HAS_USLEEP:INTERNAL=1 >>>>>> //VXL test >>>>>> VXL_UNISTD_USLEEP_IS_VOID:INTERNAL=1 >>>>>> //ADVANCED property for variable: VXL_UPDATE_CONFIGURATION >>>>>> VXL_UPDATE_CONFIGURATION-ADVANCED:INTERNAL=1 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Bill Lorensen wrote: >>>>>>> >>>>>>> You are in the wrong directory. Look in the directory that is >>>>>>> described in the CMakeCache.txt variable Project_BINARY_DIR >>>>>>> >>>>>>> cd to that directory and type make >>>>>>> >>>>>>> >>>>>>> On Thu, Dec 10, 2009 at 4:22 PM, URI >>>>>>> wrote: >>>>>>>> >>>>>>>> I get the message: >>>>>>>> >>>>>>>> make: *** No targets specified and no makefile found. ?Stop. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 10) Start an msys shell by running msys.bat >>>>>>>> 11) cd to the locations you selected where to build the binaries. >>>>>>>> 12) make >>>>>>>> >>>>>>>> -- >>>>>>>> View this message in context: >>>>>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4147921.html >>>>>>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>>>>>> _____________________________________ >>>>>>>> Powered by www.kitware.com >>>>>>>> >>>>>>>> Visit other Kitware open-source projects at >>>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>>> >>>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>>> http://www.kitware.com/products/protraining.html >>>>>>>> >>>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>>> >>>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>>> >>>>>>> _____________________________________ >>>>>>> Powered by www.kitware.com >>>>>>> >>>>>>> Visit other Kitware open-source projects at >>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>> >>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>> http://www.kitware.com/products/protraining.html >>>>>>> >>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>> >>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> View this message in context: >>>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149414.html >>>>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>>>> _____________________________________ >>>>>> Powered by www.kitware.com >>>>>> >>>>>> Visit other Kitware open-source projects at >>>>>> http://www.kitware.com/opensource/opensource.html >>>>>> >>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>> http://www.kitware.com/products/protraining.html >>>>>> >>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>> >>>>>> Follow this link to subscribe/unsubscribe: >>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>> >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.html >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149580.html >>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4152470.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From adzyubak at gmail.com Fri Dec 11 12:33:28 2009 From: adzyubak at gmail.com (Oleksandr Dzyubak) Date: Fri, 11 Dec 2009 11:33:28 -0600 Subject: [Insight-users] Hessian format for SymmetricEigenAnalysisImageFilter Message-ID: <4B228268.1020308@gmail.com> Dear users, After I built the individual Hessian components, in what order should I fill them up to further feed into the SymmetricEigenAnalysisImageFilter? At the moment I am using the order below. H[0] = Dxx H[1] = Dxy H[2] = Dxz H[3] = Dyy H[4] = Dyz H[5] = Dzz Is this correct order? Thanks, Alex From john.drozd at gmail.com Fri Dec 11 14:05:50 2009 From: john.drozd at gmail.com (John Drozd) Date: Fri, 11 Dec 2009 14:05:50 -0500 Subject: [Insight-users] combining output from segmentation with label map attributes using Gaetan Lehmann's paper: "Label object representation and manipulation with ITK" In-Reply-To: References: Message-ID: Hi, Sorry for repeating my message but I had to clip my message to a shorter length because it originally bounced from the insight-users mailing list. Thanks, john On Fri, Dec 11, 2009 at 1:58 PM, John Drozd wrote: > Hello Luis, Richard and Bonjour Gaetan, > > Thank you all for helping me. My code works now giving me the correct > output: > > [jdrozd at trumpetConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter]$ > ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm 103 > 142 95 17100 17300 > labelMap->GetNumberOfLabelObjects() = 1 > 1 23901.3 [294.881, 123.841, -97.2387] > > Below is my code to complete the communication thread (and thanks again): > > > /* > to run type: > ./ConnectedThresholdImageFilter correctedsubject5.dcm outsubject5.dcm 103 > 142 95 17100 17300 > */ > > #if defined(_MSC_VER) > #pragma warning ( disable : 4786 ) > #endif > > #ifdef __BORLANDC__ > #define ITK_LEAN_AND_MEAN > #endif > > > #include "itkConnectedThresholdImageFilter.h" > > #include "itkImage.h" > #include "itkCastImageFilter.h" > > #include "itkCurvatureFlowImageFilter.h" > > #include "itkImageFileReader.h" > #include "itkImageFileWriter.h" > > #include "itkGDCMImageIO.h" > > #include "itkVersion.h" > > #include "itkOrientedImage.h" > #include "itkMinimumMaximumImageFilter.h" > > #include "itkGDCMImageIO.h" > #include "itkGDCMSeriesFileNames.h" > #include "itkNumericSeriesFileNames.h" > > #include "itkImageSeriesReader.h" > #include "itkImageSeriesWriter.h" > > #include "itkResampleImageFilter.h" > #include "itkShiftScaleImageFilter.h" > > #include "itkIdentityTransform.h" > #include "itkLinearInterpolateImageFunction.h" > > #include > > #include "gdcm/src/gdcmFile.h" > #include "gdcm/src/gdcmUtil.h" > > #include > > //added per attribute_values.cxx > #include "itkImageFileReader.h" > > #include "itkShapeLabelObject.h" > > #include "itkLabelMap.h" > > #include "itkBinaryImageToShapeLabelMapFilter.h" > //end of added code > > //added per label.cxx > #include "itkLabelObject.h" > #include "itkLabelMap.h" > #include "itkBinaryImageToLabelMapFilter.h" > #include "itkLabelMapToLabelImageFilter.h" > //end of added code > > #include "itkSimpleFilterWatcher.h" > > > int main( int argc, char *argv[]) > { > if( argc < 7 ) > { > std::cerr << "Missing Parameters " << std::endl; > std::cerr << "Usage: " << argv[0]; > std::cerr << " inputImage outputImage seedX seedY seedZ lowerThreshold > upperThreshold" << std::endl; > > return 1; > } > > typedef unsigned char BinaryPixelType; > > > const unsigned int Dimension = 3; > > typedef itk::Image< BinaryPixelType, Dimension > BinaryImageType; > > > typedef signed short InputPixelType; > > typedef itk::Image< InputPixelType, Dimension > InputImageType; > typedef unsigned char LabelType; > const unsigned int dim = 3; > typedef itk::ShapeLabelObject< LabelType, dim > LabelObjectType; > > typedef itk::LabelMap< LabelObjectType > LabelMapType; > typedef itk::BinaryImageToShapeLabelMapFilter< BinaryImageType, > LabelMapType> ConverterType; > > > ConverterType::Pointer converter = ConverterType::New(); > > typedef itk::ImageFileReader< InputImageType > ReaderType; > typedef itk::ImageFileWriter< BinaryImageType > WriterType; > > > ReaderType::Pointer reader = ReaderType::New(); > WriterType::Pointer writer = WriterType::New(); > > typedef itk::GDCMImageIO ImageIOTypefixed; > ImageIOTypefixed::Pointer gdcmImageIOfixed = ImageIOTypefixed::New(); > reader->SetImageIO( gdcmImageIOfixed ); > > typedef itk::GDCMImageIO ImageIOTypefixed2; > ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = ImageIOTypefixed2::New(); > > reader->SetFileName( argv[1] ); > > reader->Update(); > > typedef itk::ConnectedThresholdImageFilter< InputImageType, > BinaryImageType > ConnectedFilterType; > > > ConnectedFilterType::Pointer connectedThreshold = > ConnectedFilterType::New(); > > connectedThreshold->SetInput( reader->GetOutput() ); > > const InputPixelType lowerThreshold = atof( argv[6] ); > const InputPixelType upperThreshold = atof( argv[7] ); > > > connectedThreshold->SetLower( lowerThreshold ); > connectedThreshold->SetUpper( upperThreshold ); > > connectedThreshold->SetReplaceValue( 255 ); > > BinaryImageType::IndexType index; > > > index[0] = atoi( argv[3] ); > index[1] = atoi( argv[4] ); > > //added > index[2] = atoi( argv[5] ); > > // Software Guide : BeginCodeSnippet > connectedThreshold->SetSeed( index ); > > //obtain a 5 x 5 bounding region of seeds > int ii, jj, kk; > > ii = index[0]; > jj = index[1]; > kk = index[2]; > > for (int i = ii; i < ii + 5; i++) > for (int j = jj; j < jj + 5; j++) > for (int k = kk; k < kk + 5; k++) > { > > index[0] = i; > index[1] = j; > index[2] = k; > connectedThreshold->AddSeed( index ); > } > > for (int i = ii; i > ii - 5; i--) > for (int j = jj; j > jj - 5; j--) > for (int k = kk; k > kk - 5; k--) > { > > index[0] = i; > index[1] = j; > index[2] = k; > connectedThreshold->AddSeed( index ); > } > > typedef itk::MetaDataDictionary DictionaryType; > > DictionaryType inputdict = reader->GetMetaDataDictionary(); > > writer->SetMetaDataDictionary( inputdict ); > > writer->SetFileName( argv[2] ); > > connectedThreshold->Update(); > > converter->SetInput( connectedThreshold->GetOutput() ); > > converter->SetFullyConnected( true ); > > converter->SetInputForegroundValue( 255 ); > > converter->SetOutputBackgroundValue( 0 ); > > converter->Update(); > > LabelMapType::Pointer labelMap = converter->GetOutput(); > > std::cout << "labelMap->GetNumberOfLabelObjects() = " << > labelMap->GetNumberOfLabelObjects() << std::endl; > > > for( unsigned int label=1; label<=labelMap->GetNumberOfLabelObjects(); > label++ ) > { > // we don't need a SmartPointer of the label object here, because the > reference is kept in > // in the label map. > const LabelObjectType * labelObject = labelMap->GetLabelObject( label > ); > std::cout << label << "\t" << labelObject->GetPhysicalSize() << "\t" << > labelObject->GetCentroid() << std::endl; > } > > typedef itk::LabelMapToLabelImageFilter< LabelMapType, BinaryImageType > > L2IType; > > > L2IType::Pointer l2i = L2IType::New(); > > l2i->SetInput( converter->GetOutput() ); > > writer->SetInput( l2i->GetOutput() ); > > > try > { > writer->Update(); > } > catch( itk::ExceptionObject & excep ) > { > std::cerr << "Exception caught !" << std::endl; > std::cerr << excep << std::endl; > } > > return 0; > > } > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mort.motes at gmail.com Fri Dec 11 15:22:28 2009 From: mort.motes at gmail.com (motes motes) Date: Fri, 11 Dec 2009 21:22:28 +0100 Subject: [Insight-users] Complexity of the metric? Message-ID: <54eca6a70912111222i49abc07bs1cccd23838e3a076@mail.gmail.com> As I understand the metric is the most expensive part of the image registration process. I assume that this follows from the fact that it is linear in the number of voxels, meaning that if a volume has m*n*p dimensions the number of computations of the metric is m*n*p. When m=n=p is it then correct to say that the complexity of the metric is O(n^3) ? From bill.lorensen at gmail.com Fri Dec 11 15:44:47 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 11 Dec 2009 15:44:47 -0500 Subject: [Insight-users] Complexity of the metric? In-Reply-To: <54eca6a70912111222i49abc07bs1cccd23838e3a076@mail.gmail.com> References: <54eca6a70912111222i49abc07bs1cccd23838e3a076@mail.gmail.com> Message-ID: <4db4735c0912111244m78e9a43mc2ab752e882cf2f8@mail.gmail.com> Depends on the metric. Some statistical metrics sample a fixed number of samples. Look at the mutual information metrics. On Fri, Dec 11, 2009 at 3:22 PM, motes motes wrote: > As I understand the metric is the most expensive part of the image > registration process. I assume that this follows from the fact that it > is linear in the number of voxels, meaning that if a volume has m*n*p > dimensions the number of computations of the metric is m*n*p. When > m=n=p is it then correct to say that the complexity of the metric is > O(n^3) ? > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From mort.motes at gmail.com Fri Dec 11 15:48:59 2009 From: mort.motes at gmail.com (motes motes) Date: Fri, 11 Dec 2009 21:48:59 +0100 Subject: [Insight-users] Complexity of the metric? In-Reply-To: <4db4735c0912111244m78e9a43mc2ab752e882cf2f8@mail.gmail.com> References: <54eca6a70912111222i49abc07bs1cccd23838e3a076@mail.gmail.com> <4db4735c0912111244m78e9a43mc2ab752e882cf2f8@mail.gmail.com> Message-ID: <54eca6a70912111248l7c3e7964l42a7c501cacad762@mail.gmail.com> The question was related to the MeanSquaresImageToImageMetric, which as I understand always will be linear in the total number of voxels. On Fri, Dec 11, 2009 at 9:44 PM, Bill Lorensen wrote: > Depends on the metric. Some statistical metrics sample a fixed number > of samples. Look at the mutual information metrics. > > On Fri, Dec 11, 2009 at 3:22 PM, motes motes wrote: >> As I understand the metric is the most expensive part of the image >> registration process. I assume that this follows from the fact that it >> is linear in the number of voxels, meaning that if a volume has m*n*p >> dimensions the number of computations of the metric is m*n*p. When >> m=n=p is it then correct to say that the complexity of the metric is >> O(n^3) ? >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > From blowekamp at mail.nih.gov Fri Dec 11 16:04:21 2009 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Fri, 11 Dec 2009 16:04:21 -0500 Subject: [Insight-users] ITK 4.0 Solicitation Posted Message-ID: <90E0C491-33DB-44AF-8C2F-B6DCB361154F@mail.nih.gov> Hello, The ITK 4.0 Solicitation has been posted to FedBizOpps: https://www.fbo.gov/index?s=opportunity&mode=form&id=edfe3d14e14fbd8bf7ee6527c793eb9a&tab=core&_cview=0 ======================================================== Bradley Lowekamp Lockheed Martin Contractor for Office of High Performance Computing and Communications National Library of Medicine blowekamp at mail.nih.gov -------------- next part -------------- An HTML attachment was scrubbed... URL: From luis.ibanez at kitware.com Fri Dec 11 16:23:25 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 16:23:25 -0500 Subject: [Insight-users] OPEN ACCESS: Request for Comments for Improving Public Access to Results of Federally Funded Research Message-ID: If you care about making the results of publicly funded research to be available for everybody.... Then Here is your opportunity to do something about it: The Office of Science & Technology Policy (OSTP) (executive office of the President) is requestion opinions on whether the NIH Public Access policy should be EXTENDED TO OTHER FEDERAL AGENCIES. Please do comment at the OSTP site (you'll need to register first). http://blog.ostp.gov/wp-login.php?action=register ------------------------------------------------- OSTP to Launch Public Forum to Discuss Options for Improving Public Access to Results of Federally Funded Research http://blog.ostp.gov/2009/12/09/ostp-to-launch-public-forum-on-how-best-to-make-federally-funded-research-available-for-free/ On Thursday, Dec. 10, OSTP will launch a public consultation on Public Access Policy. The Administration is seeking public input on access to publicly-funded research results, such as those that appear in academic and scholarly journal articles. Currently, the National Institutes of Health require that research funded by its grants be made available to the public online at no charge within 12 months of publication. The Administration is seeking views as to whether this policy should be extended to other science agencies and, if so, how it should be implemented. The Office of Science and Technology Policy in the Executive Office of the President and the White House Open Government Initiative is launching a ?Public Access Policy Forum? to invite public participation in thinking through what the Federal government?s policy should be with regard to public access to published federally-funded research results. To that end, OSTP will conduct an interactive, online discussion beginning Thursday, December 10. We will focus on three major areas of interest: * Implementation (Dec. 10 to 20): Which Federal agencies are good candidates to adopt Public Access policies? What variables (field of science, proportion of research funded by public or private entities, etc.) should affect how public access is implemented at various agencies, including the maximum length of time between publication and public release? * Features and Technology (Dec. 21 to Dec 31): In what format should the data be submitted in order to make it easy to search and retrieve information, and to make it easy for others to link to it? Are there existing digital standards for archiving and interoperability to maximize public benefit? How are these anticipated to change. * Management (Jan. 1 to Jan. 7): What are the best mechanisms to ensure compliance? What would be the best metrics of success? What are the best examples of usability in the private sector (both domestic and international)? Should those who access papers be given the opportunity to comment or provide feedback? Each of these topics will form the basis of a blog posting that will appear at www.whitehouse.gov/open and will be open for comment on the OSTP blog. We want your input! For full details, see the Federal Register notice. http://www.ostp.gov/galleries/default-file/RFI%20Final%20for%20FR.pdf From adzyubak at gmail.com Fri Dec 11 16:37:44 2009 From: adzyubak at gmail.com (Oleksandr Dzyubak) Date: Fri, 11 Dec 2009 15:37:44 -0600 Subject: [Insight-users] Image index limits Message-ID: <5d7d0bca0912111337tde53c5q6df99c46837d07fd@mail.gmail.com> Dear users, I tried to process the 1340x1300x720 pixel image and after the slice #104 I am getting all zeros. I checked the original image and it's good. It's full of info. So I first decided to split that file using the itkRegionOfInterestImageFilter class. What I found is that all the chunks after the slice #104 are zeros thus it's not the image processing filter that causes the problem. Here is my question. Is there any limitation on an image index range? Or in other words, what is the largest pixel volume that ITK still can handle? Thanks, Alex PS. I am using 64 bit Debian Linux. 16 CPUs and 128 GB. -------------- next part -------------- An HTML attachment was scrubbed... URL: From luis.ibanez at kitware.com Fri Dec 11 17:23:26 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 17:23:26 -0500 Subject: [Insight-users] combining output from segmentation with label map attributes using Gaetan Lehmann's paper: "Label object representation and manipulation with ITK" In-Reply-To: References: Message-ID: Hi John, Thanks for the clarification. We have looked at this warning in the past, and there is no easy way of solving it in a portable manner. In ITK we are currently disabling the warning. We do this by adding the flag: -Wno-deprecated in lines 506-509 of the top level CMakeLists.txt file: itkCHECK_CXX_ACCEPTS_FLAGS("-Wno-deprecated" CXX_HAS_DEPRECATED_FLAG) IF(CXX_HAS_DEPRECATED_FLAG) SET(ITK_REQUIRED_CXX_FLAGS "${ITK_REQUIRED_CXX_FLAGS} -Wno-deprecated") ENDIF(CXX_HAS_DEPRECATED_FLAG) You may consider doing the same thing in your project. Regards, Luis ----- PS. Please keep the discussions in the mailing list. ------------------------------------------------ On Fri, Dec 11, 2009 at 11:34 AM, John Drozd wrote: > Hi Luis, > > I probably used the word antiquated incorrectly.? What I mean is that when I > compile my code, I get this warning: (line 65 is #include > "itkRelabelComponentImageFilter.h") and the compiler tells me that: > > [jdrozd at trumpet > ConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter]$ > make?????????????????????????????????????????????????????????????? Scanning > dependencies of target ConnectedThresholdImageFilter > [100%] Building CXX object > CMakeFiles/ConnectedThresholdImageFilter.dir/ConnectedThresholdImageFilter.o > In file included from > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/hash_map:64, > ???????????????? from > /trumpet/downloads/3DSlicerDec22009/Slicer3-lib/Insight/Code/Common/itk_hash_map.h:69, > ???????????????? from > /trumpet/downloads/3DSlicerDec22009/Slicer3-lib/Insight/Code/BasicFilters/itkRelabelComponentImageFilter.txx:25, > ???????????????? from > /trumpet/downloads/3DSlicerDec22009/Slicer3-lib/Insight/Code/BasicFilters/itkRelabelComponentImageFilter.h:298, > ???????????????? from > /trumpet/downloads/ConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter_Plugin/ConnectedThresholdImageFilter_and_BinaryImageToStatisticsLabelMapFilter/ConnectedThresholdImageFilter.cxx:65: > /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/backward/backward_warning.h:33:2: > warning: #warning This file includes at least one deprecated or antiquated > header which may be removed without further notice at a future date. Please > use a non-deprecated interface with equivalent functionality instead. For a > listing of replacement headers and interfaces, consult the file > backward_warning.h. To disable this warning use -Wno-deprecated. > Linking CXX executable ConnectedThresholdImageFilter > [100%] Built target ConnectedThresholdImageFilter > > Thanks, > john > From zallen at wheelinghospital.com Fri Dec 11 17:54:05 2009 From: zallen at wheelinghospital.com (URI) Date: Fri, 11 Dec 2009 14:54:05 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912110923o497f1b48h27492a58e85f07cf@mail.gmail.com> References: <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> <1260509804319-4149580.post@n2.nabble.com> <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> <4db4735c0912110553x7086b85cub0301eed9db5ee44@mail.gmail.com> <1260551767075-4152470.post@n2.nabble.com> <4db4735c0912110923o497f1b48h27492a58e85f07cf@mail.gmail.com> Message-ID: <1260572045681-4154240.post@n2.nabble.com> In step 2 when you say "source directory" I believe you are referring to the ITK directory, the directory that I enter in CMake where it says "Where is the source code?". If this is correct, I don't seem to be able to get there with Msys. It seems that Msys can only go as high as the C:\msys\1.0\home directory. If I try a "cd\" from this directory it doesn't get my anywhere, I'm still stuck in the home directory. I think I will try just uninstalling and reinstalling everything, who knows what I may have messed up in all my fiddling about. I'll do that and start from scratch and post the results. Just out of curiosity though I'd still like to know how I'm supposed to navigate around with Msys instead of just being stuck in the home directory tree. Bill Lorensen wrote: > > I am afraid will have to start from scratch again. Since I can't see > what buttons you are hitting I can't tell where you are going wrong. > > 1) remove the contents of the Insight-mingw. > 2) Please do a cvs -nq update in the source directory. We want to make > sure that there are no cmake generated files that exist there because > of an accidental cmake run in the source tree. > 3) Then run cmake as instructed before. > > On Fri, Dec 11, 2009 at 12:16 PM, URI wrote: >> >> Yeah, I missed that part. ?I hit the "Generate" button and it runs for a >> bit, >> then I get this message: >> >> Linking C executable ../../bin/itksysEncodeExecutable.exe ?(this part is >> in >> red, the rest is in white) >> make[1]: execvp: /C/CMake_2_8/bin/cmake.exe: Invalid argument >> make[1]: *** [Utilities/kwsys/CMakeFiles/itksysEncodeExecutable.dir/all] >> Error 127 >> make: *** [all] Error 2 >> >> >> >> >> Bill Lorensen wrote: >>> >>> Maybe I forgot to tell you step 9? Did you press OK? >>> >>> 9) In cmake Press OK to generate selected build files and exit >>> >>> On Fri, Dec 11, 2009 at 8:37 AM, Bill Lorensen >>> wrote: >>>> OK, so there is no Makefile in this directory. When you ran cmake, did >>>> any error or warning windows pop up? >>>> >>>> On Fri, Dec 11, 2009 at 12:36 AM, URI >>>> wrote: >>>>> >>>>> Here's what I get: >>>>> >>>>> AllowContinuous.sh >>>>> BuildContinuous.sh >>>>> BuildContinuousWithCTest.sh >>>>> CMake >>>>> CMakeCache.txt >>>>> CMakeFiles >>>>> CMakeTmp >>>>> CPackConfig.cmake >>>>> CPackSourceConfig.cmake >>>>> CTestCustom.cmake >>>>> Code >>>>> DartConfiguration.tcl >>>>> Examples >>>>> ITKBuildSettings.cmake >>>>> ITKConfig.cmake >>>>> ITKLibraryDepends.cmake >>>>> PreventContinuous.sh >>>>> Testing >>>>> UseITK.cmake >>>>> Utilities >>>>> Wrapping >>>>> creonentry >>>>> itkConfigure.h >>>>> >>>>> >>>>> >>>>> >>>>> Bill Lorensen wrote: >>>>>> >>>>>> navigate to C:\msys\1.0\home\Insight-mingw >>>>>> type ls and send the output to me >>>>>> >>>>>> On Thu, Dec 10, 2009 at 11:03 PM, URI >>>>>> wrote: >>>>>>> >>>>>>> Let me explain what I've done so I'm sure we're talking about the >>>>>>> same >>>>>>> thing: >>>>>>> >>>>>>> I ran Msys and typed "mkdir Insight-mingw " as per Steps 1 and 2. >>>>>>> ?This >>>>>>> created a new folder C:\msys\1.0\home\Insight-mingw >>>>>>> >>>>>>> In my CMake gui I set the "Where to build the binaries" to that same >>>>>>> folder. >>>>>>> >>>>>>> I did all the "Configure" stuff and all those files and folders >>>>>>> appear >>>>>>> in >>>>>>> that Insight-mingw folder. >>>>>>> >>>>>>> Then I start the Msys shell, navigate to >>>>>>> C:\msys\1.0\home\Insight-mingw >>>>>>> and >>>>>>> type "make" and that's when I get the error. >>>>>>> >>>>>>> If I look in that Insight-mingw folder where I built the binaries >>>>>>> there >>>>>>> is a >>>>>>> CMakeCache.txt file, but it does not have a Project_BINARY_DIR >>>>>>> variable. >>>>>>> >>>>>>> Here is my CMakeCache.txt file: >>>>>>> >>>>>>> # This is the CMakeCache file. >>>>>>> # For build in directory: c:/msys/1.0/home/Insight-mingw >>>>>>> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >>>>>>> # You can edit this file to change values found and used by cmake. >>>>>>> # If you do not want to change any of the values, simply exit the >>>>>>> editor. >>>>>>> # If you do want to change a value, simply edit, save, and exit the >>>>>>> editor. >>>>>>> # The syntax for the file is as follows: >>>>>>> # KEY:TYPE=VALUE >>>>>>> # KEY is the name of a variable in the cache. >>>>>>> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >>>>>>> # VALUE is the current value for the KEY. >>>>>>> >>>>>>> ######################## >>>>>>> # EXTERNAL cache entries >>>>>>> ######################## >>>>>>> >>>>>>> //Name of build on the dashboard >>>>>>> BUILDNAME:STRING=Win32-make >>>>>>> >>>>>>> //Build Doxygen Documentation >>>>>>> BUILD_DOXYGEN:BOOL=OFF >>>>>>> >>>>>>> //Build the Examples directory. >>>>>>> BUILD_EXAMPLES:BOOL=ON >>>>>>> >>>>>>> //Toggle building shared libraries >>>>>>> BUILD_SHARED_LIBS:BOOL=OFF >>>>>>> >>>>>>> //Build the testing tree. >>>>>>> BUILD_TESTING:BOOL=ON >>>>>>> >>>>>>> //Path to a program. >>>>>>> BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >>>>>>> >>>>>>> //For backwards compatibility, what version of CMake commands and >>>>>>> // syntax should this version of CMake try to support. >>>>>>> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >>>>>>> >>>>>>> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >>>>>>> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >>>>>>> CMAKE_BUILD_TYPE:STRING= >>>>>>> >>>>>>> //Enable/Disable color output during build. >>>>>>> CMAKE_COLOR_MAKEFILE:BOOL=ON >>>>>>> >>>>>>> //CXX compiler. >>>>>>> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >>>>>>> >>>>>>> //Flags used by the compiler during all build types. >>>>>>> CMAKE_CXX_FLAGS:STRING= >>>>>>> >>>>>>> //Flags used by the compiler during debug builds. >>>>>>> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >>>>>>> >>>>>>> //Flags used by the compiler during release minsize builds. >>>>>>> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>>>>> >>>>>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>>>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>>>>> // files). >>>>>>> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>>>>> >>>>>>> //Flags used by the compiler during Release with Debug Info builds. >>>>>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>>>>> >>>>>>> //Libraries linked by defalut with all C++ applications. >>>>>>> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>>>>>> -lwinspool >>>>>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>>>>> >>>>>>> //C compiler. >>>>>>> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >>>>>>> >>>>>>> //Flags used by the compiler during all build types. >>>>>>> CMAKE_C_FLAGS:STRING= >>>>>>> >>>>>>> //Flags used by the compiler during debug builds. >>>>>>> CMAKE_C_FLAGS_DEBUG:STRING=-g >>>>>>> >>>>>>> //Flags used by the compiler during release minsize builds. >>>>>>> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>>>>> >>>>>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>>>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>>>>> // files). >>>>>>> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>>>>> >>>>>>> //Flags used by the compiler during Release with Debug Info builds. >>>>>>> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>>>>> >>>>>>> //Libraries linked by defalut with all C applications. >>>>>>> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>>>>>> -lwinspool >>>>>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>>>>> >>>>>>> //Flags used by the linker. >>>>>>> CMAKE_EXE_LINKER_FLAGS:STRING= >>>>>>> >>>>>>> //Flags used by the linker during debug builds. >>>>>>> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release minsize builds. >>>>>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release builds. >>>>>>> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >>>>>>> >>>>>>> //Flags used by the linker during Release with Debug Info builds. >>>>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>>>> >>>>>>> //Use HP pthreads. >>>>>>> CMAKE_HP_PTHREADS:BOOL=OFF >>>>>>> >>>>>>> //Install path prefix, prepended onto install directories. >>>>>>> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/ITK >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_MAKE_PROGRAM:FILEPATH=C:/msys/1.0/bin/make.exe >>>>>>> >>>>>>> //Flags used by the linker during the creation of modules. >>>>>>> CMAKE_MODULE_LINKER_FLAGS:STRING= >>>>>>> >>>>>>> //Flags used by the linker during debug builds. >>>>>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release minsize builds. >>>>>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release builds. >>>>>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >>>>>>> >>>>>>> //Flags used by the linker during Release with Debug Info builds. >>>>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> CMAKE_PROJECT_NAME:STATIC=ITK >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >>>>>>> >>>>>>> //Flags used by the linker during the creation of dll's. >>>>>>> CMAKE_SHARED_LINKER_FLAGS:STRING= >>>>>>> >>>>>>> //Flags used by the linker during debug builds. >>>>>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release minsize builds. >>>>>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release builds. >>>>>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >>>>>>> >>>>>>> //Flags used by the linker during Release with Debug Info builds. >>>>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>>>> >>>>>>> //If set, runtime paths are not added when using shared libraries. >>>>>>> CMAKE_SKIP_RPATH:BOOL=OFF >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >>>>>>> >>>>>>> //Thread library used. >>>>>>> CMAKE_THREAD_LIBS:STRING= >>>>>>> >>>>>>> //Use the pthreads library. >>>>>>> CMAKE_USE_PTHREADS:BOOL=OFF >>>>>>> >>>>>>> //If true, cmake will use relative paths in makefiles and projects. >>>>>>> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >>>>>>> >>>>>>> //Use sproc libs. >>>>>>> CMAKE_USE_SPROC:BOOL=OFF >>>>>>> >>>>>>> //Use the win32 thread library. >>>>>>> CMAKE_USE_WIN32_THREADS:BOOL=ON >>>>>>> >>>>>>> //If this value is on, makefiles will be generated without the >>>>>>> // .SILENT directive, and all commands will be echoed to the console >>>>>>> // during the make. ?This is useful for debugging only. With Visual >>>>>>> // Studio IDE projects all commands are done without /nologo. >>>>>>> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >>>>>>> >>>>>>> //X11 extra flags. >>>>>>> CMAKE_X_CFLAGS:STRING=-I >>>>>>> >>>>>>> //Libraries and options used in X11 programs. >>>>>>> CMAKE_X_LIBS:STRING= >>>>>>> >>>>>>> //Path to program used to compress files for transfer to the dart >>>>>>> // server >>>>>>> COMPRESSIONCOMMAND:FILEPATH=COMPRESSIONCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Path to the coverage program that CTest uses for performing >>>>>>> coverage >>>>>>> // inspection >>>>>>> COVERAGE_COMMAND:FILEPATH=C:/MinGW/bin/gcov.exe >>>>>>> >>>>>>> //Enable to build NSIS packages >>>>>>> CPACK_BINARY_NSIS:BOOL=ON >>>>>>> >>>>>>> //Enable to build ZIP packages >>>>>>> CPACK_BINARY_ZIP:BOOL=OFF >>>>>>> >>>>>>> //Enable to build ZIP source packages >>>>>>> CPACK_SOURCE_ZIP:BOOL=ON >>>>>>> >>>>>>> //Path to a program. >>>>>>> CVSCOMMAND:FILEPATH=CVSCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Options passed to the cvs update command. >>>>>>> CVS_UPDATE_OPTIONS:STRING=-d -A -P >>>>>>> >>>>>>> //Limit of reported errors, -1 reports all. >>>>>>> DART_BUILD_ERROR_REPORT_LIMIT:BOOL=OFF >>>>>>> >>>>>>> //Limit of reported warnings, -1 reports all. >>>>>>> DART_BUILD_WARNING_REPORT_LIMIT:BOOL=OFF >>>>>>> >>>>>>> //If you have Dart installed, where is it located? >>>>>>> DART_ROOT:PATH=DART_ROOT-NOTFOUND >>>>>>> >>>>>>> //Maximum time allowed before CTest will kill the test. >>>>>>> DART_TESTING_TIMEOUT:STRING=1500 >>>>>>> >>>>>>> //Show the actual output of the build, or if off show a . for each >>>>>>> // 1024 bytes. >>>>>>> DART_VERBOSE_BUILD:BOOL=OFF >>>>>>> >>>>>>> //Should Dart server send email when build errors are found in >>>>>>> // Continuous builds? >>>>>>> DELIVER_CONTINUOUS_EMAIL:BOOL=OFF >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> FilteringExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Filtering >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> FilteringExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Filtering >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> GDCM_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/gdcm >>>>>>> >>>>>>> //Remove all legacy code completely. >>>>>>> GDCM_LEGACY_REMOVE:BOOL=OFF >>>>>>> >>>>>>> //Silence all legacy code messages. >>>>>>> GDCM_LEGACY_SILENT:BOOL=OFF >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> GDCM_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/gdcm >>>>>>> >>>>>>> //Path to gunzip executable >>>>>>> GUNZIPCOMMAND:FILEPATH=GUNZIPCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Path to a program. >>>>>>> HGCOMMAND:FILEPATH=HGCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> IOExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/IO >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> IOExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/IO >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKAlgorithms_LIB_DEPENDS:STATIC=general;gdi32;general;ITKStatistics;general;ITKNumerics; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKBasicFilters_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKCommon_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_inst;general;itksys; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKDICOMParser_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKEXPAT_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/expat >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKEXPAT_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKEXPAT_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/expat >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKEXTHDRS_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkExtHdrs >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKEXTHDRS_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkExtHdrs >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKFEM_LIB_DEPENDS:STATIC=general;gdi32;general;ITKBasicFilters;general;ITKIO; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKIO_LIB_DEPENDS:STATIC=general;gdi32;general;ITKNrrdIO;general;itkgdcm;general;itkpng;general;itktiff;general;ITKSpatialObject;general;ITKMetaIO;general;ITKDICOMParser;general;ITKEXPAT;general;ITKniftiio; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkjpeg >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkjpeg >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKMetaIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/MetaIO >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKMetaIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itksys;general;comctl32;general;wsock32; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKMetaIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/MetaIO >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKNrrdIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/NrrdIO >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKNrrdIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKNrrdIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/NrrdIO >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKNumerics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKOpenJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/openjpeg >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKOpenJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/openjpeg >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKPNG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkpng >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKPNG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkpng >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKSpatialObject_LIB_DEPENDS:STATIC=general;gdi32;general;ITKMetaIO;general;ITKCommon; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKStatistics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon;general;itkNetlibSlatec; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKTIFF_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itktiff >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKTIFF_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itktiff >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKTesting_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Testing >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKTesting_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Testing >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKZLIB_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkzlib >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKZLIB_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkzlib >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITK_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw >>>>>>> >>>>>>> //Directory with data taken from >>>>>>> http://public.kitware.com/pub/itk/Data/BrainWeb/ >>>>>>> ITK_BRAINWEB_DATA_ROOT:PATH=ITK_BRAINWEB_DATA_ROOT-NOTFOUND >>>>>>> >>>>>>> //Provide here the size of your RAM Memory in GigaBytes >>>>>>> ITK_COMPUTER_MEMORY_SIZE:STRING=1 >>>>>>> >>>>>>> //Build cswig Java wrapper support >>>>>>> ITK_CSWIG_JAVA:BOOL=OFF >>>>>>> >>>>>>> //Build cswig Python wrapper support (requires CableSwig). >>>>>>> ITK_CSWIG_PYTHON:BOOL=OFF >>>>>>> >>>>>>> //Build cswig Tcl wrapper support (requires CableSwig). >>>>>>> ITK_CSWIG_TCL:BOOL=OFF >>>>>>> >>>>>>> //Path to a file. >>>>>>> ITK_DATA_ROOT:PATH=C:/ITK_3_16_0/Testing/Data >>>>>>> >>>>>>> //Try to explicitly build some of the core templates explictitly >>>>>>> // rather than over and over again. >>>>>>> ITK_EXPLICIT_INSTANTIATION:BOOL=OFF >>>>>>> >>>>>>> //Makes itk::Image behave like itk::OrientedImage >>>>>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE:BOOL=ON >>>>>>> >>>>>>> //Remove all legacy code completely. >>>>>>> ITK_LEGACY_REMOVE:BOOL=OFF >>>>>>> >>>>>>> //Silence all legacy code messages. >>>>>>> ITK_LEGACY_SILENT:BOOL=OFF >>>>>>> >>>>>>> //Directory with data taken from >>>>>>> http://public.kitware.com/pub/itk/Data/HealthyVolunteersMRIDatabase/ >>>>>>> ITK_MRI_UNC_DATABASE_DATA_ROOT:PATH=ITK_MRI_UNC_DATABASE_DATA_ROOT-NOTFOUND >>>>>>> >>>>>>> //Directory with data taken from >>>>>>> http://www.osirix-viewer.com/Downloads.html >>>>>>> ITK_OSIRIX_DATA_ROOT:PATH=ITK_OSIRIX_DATA_ROOT-NOTFOUND >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITK_SOURCE_DIR:STATIC=C:/ITK_3_16_0 >>>>>>> >>>>>>> //Turn on correct usage of centered-pixel coordinates. >>>>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON >>>>>>> >>>>>>> //Turn on concept checking to give helpful errors at compile time >>>>>>> // if a type cannot be used as a template parameter. >>>>>>> ITK_USE_CONCEPT_CHECKING:BOOL=ON >>>>>>> >>>>>>> //Turn on the experimental consolidated morphology. >>>>>>> ITK_USE_CONSOLIDATED_MORPHOLOGY:BOOL=OFF >>>>>>> >>>>>>> //Turn on the use of a sparse field level set surface interpolation >>>>>>> // method that has been deprecated since ITK 3.6. Turn this flag >>>>>>> // ON to exactly replicate the behavior of ITK<=3.4. >>>>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION:BOOL=OFF >>>>>>> >>>>>>> //Enable the use of KWStyle for checking coding style. >>>>>>> ITK_USE_KWSTYLE:BOOL=OFF >>>>>>> >>>>>>> //Use LIBXML2. >>>>>>> ITK_USE_LIBXML2:BOOL=OFF >>>>>>> >>>>>>> //Use MINC2 File Format >>>>>>> ITK_USE_MINC2:BOOL=OFF >>>>>>> >>>>>>> //Turn on the experimental version of accelerated registration >>>>>>> // methods. >>>>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=OFF >>>>>>> >>>>>>> //Turn on correct use of oriented images direction in gradient >>>>>>> // computation and image registration. >>>>>>> ITK_USE_ORIENTED_IMAGE_DIRECTION:BOOL=ON >>>>>>> >>>>>>> //Build algorithms that are covered with Patents. It is YOUR >>>>>>> responsibility >>>>>>> // to obtain a license from the patent holder in order to use these >>>>>>> // methods. >>>>>>> ITK_USE_PATENTED:BOOL=OFF >>>>>>> >>>>>>> //Turn on region validation in Iterator constructors. >>>>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS:BOOL=ON >>>>>>> >>>>>>> //Build algorithms that are candidates to be included in the >>>>>>> Toolkit. >>>>>>> // This classes are not covered by the Backward Compatibility >>>>>>> Policy, >>>>>>> // nor the Copyright Policy of ITK. >>>>>>> ITK_USE_REVIEW:BOOL=OFF >>>>>>> >>>>>>> //Use the experimental statistics framework. >>>>>>> ITK_USE_REVIEW_STATISTICS:BOOL=OFF >>>>>>> >>>>>>> //Turn on Strict concept checking to give more stringent errors >>>>>>> // at compile time if a type cannot be used as a template parameter. >>>>>>> ITK_USE_STRICT_CONCEPT_CHECKING:BOOL=OFF >>>>>>> >>>>>>> //Use an outside build of GDCM. >>>>>>> ITK_USE_SYSTEM_GDCM:BOOL=OFF >>>>>>> >>>>>>> //Use the system's libxml2 library. >>>>>>> ITK_USE_SYSTEM_LIBXML2:BOOL=OFF >>>>>>> >>>>>>> //Use the system's png library. >>>>>>> ITK_USE_SYSTEM_PNG:BOOL=OFF >>>>>>> >>>>>>> //Use the system's tiff library. >>>>>>> ITK_USE_SYSTEM_TIFF:BOOL=OFF >>>>>>> >>>>>>> //Use an outside build of VXL. >>>>>>> ITK_USE_SYSTEM_VXL:BOOL=OFF >>>>>>> >>>>>>> //Use the system's zlib library. >>>>>>> ITK_USE_SYSTEM_ZLIB:BOOL=OFF >>>>>>> >>>>>>> //Turn on the use of Template Meta-Programming techniques for >>>>>>> unrolling >>>>>>> // for-loops at compile time. >>>>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING:BOOL=ON >>>>>>> >>>>>>> //Turn on the experimental IO factories for reading and writing >>>>>>> // transforms. >>>>>>> ITK_USE_TRANSFORM_IO_FACTORIES:BOOL=OFF >>>>>>> >>>>>>> //Directory with data taken from >>>>>>> http://www.nlm.nih.gov/research/visible/getting_data.html >>>>>>> ITK_VISIBLEHUMAN_DATA_ROOT:PATH=ITK_VISIBLEHUMAN_DATA_ROOT-NOTFOUND >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKniftiio_LIB_DEPENDS:STATIC=general;gdi32;general;ITKznz; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKznz_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Image >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Image >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageRegistration_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Registration >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageRegistration_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Registration >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageSegmentation_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Segmentation >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageSegmentation_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Segmentation >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> IteratorExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Iterators >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> IteratorExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Iterators >>>>>>> >>>>>>> //Path to java command, used by the Dart server to create html. >>>>>>> JAVACOMMAND:FILEPATH=JAVACOMMAND-NOTFOUND >>>>>>> >>>>>>> //Command used to build entire project from the command line. >>>>>>> MAKECOMMAND:STRING=C:/msys/1.0/bin/make.exe -i >>>>>>> >>>>>>> //Path to the memory checking command, used for memory error >>>>>>> detection. >>>>>>> MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND >>>>>>> >>>>>>> //File that contains suppressions for the memory checker >>>>>>> MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> MeshExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Mesh >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> MeshExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Mesh >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> NIFTI_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/nifti >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> NIFTI_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/nifti >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> NumericsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Numerics >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> NumericsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Numerics >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> PathExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Path >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> PathExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Path >>>>>>> >>>>>>> //Path to scp command, used by CTest for submitting results to >>>>>>> // a Dart server >>>>>>> SCPCOMMAND:FILEPATH=SCPCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Name of the computer/site where compile is being run >>>>>>> SITE:STRING=ZAPPA >>>>>>> >>>>>>> //Path to the SLURM sbatch executable >>>>>>> SLURM_SBATCH_COMMAND:FILEPATH=SLURM_SBATCH_COMMAND-NOTFOUND >>>>>>> >>>>>>> //Path to the SLURM srun executable >>>>>>> SLURM_SRUN_COMMAND:FILEPATH=SLURM_SRUN_COMMAND-NOTFOUND >>>>>>> >>>>>>> //Path to a program. >>>>>>> SVNCOMMAND:FILEPATH=SVNCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> SpatialObjectsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/SpatialObjects >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> SpatialObjectsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/SpatialObjects >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> StatisticsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Statistics >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> StatisticsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Statistics >>>>>>> >>>>>>> //Path to a program. >>>>>>> TCL_TCLSH:FILEPATH=TCL_TCLSH-NOTFOUND >>>>>>> >>>>>>> //Use double precision FFTW if found >>>>>>> USE_FFTWD:BOOL=OFF >>>>>>> >>>>>>> //Use single precision FFTW if found >>>>>>> USE_FFTWF:BOOL=OFF >>>>>>> >>>>>>> //Use the SGI SCSL High Performance Computing math library >>>>>>> USE_SCSL:BOOL=OFF >>>>>>> >>>>>>> //Build external languages support >>>>>>> USE_WRAP_ITK:BOOL=OFF >>>>>>> >>>>>>> //Path to a file. >>>>>>> UUID_INCLUDE_DIR:PATH=UUID_INCLUDE_DIR-NOTFOUND >>>>>>> >>>>>>> //Path to a library. >>>>>>> UUID_LIBRARY:FILEPATH=UUID_LIBRARY-NOTFOUND >>>>>>> >>>>>>> //Whether vnl_vector/vnl_matrix accessor methods check index bounds. >>>>>>> VNL_CONFIG_CHECK_BOUNDS:BOOL=ON >>>>>>> >>>>>>> //Enable Streaming SIMD Extensions 2 optimisations (hardware >>>>>>> dependant). >>>>>>> // Currently broken. For use by VNL developers only. >>>>>>> VNL_CONFIG_ENABLE_SSE2:BOOL=OFF >>>>>>> >>>>>>> //Enable Streaming SIMD Extensions 2 implementation of rounding >>>>>>> // (hardware dependant). >>>>>>> VNL_CONFIG_ENABLE_SSE2_ROUNDING:BOOL=OFF >>>>>>> >>>>>>> //Whether backward-compatibility methods are provided by vnl. >>>>>>> VNL_CONFIG_LEGACY_METHODS:BOOL=OFF >>>>>>> >>>>>>> //Whether thread-safe vnl implementations are used. >>>>>>> VNL_CONFIG_THREAD_SAFE:BOOL=ON >>>>>>> >>>>>>> //v3p include files >>>>>>> VTHREEP_INCLUDE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>>>>>> >>>>>>> //v3p include files >>>>>>> VTHREEP_INSTALL_INCLUDE_DIR:STATIC=C:/Program Files >>>>>>> (x86)/ITK/include/vxl/v3p >>>>>>> >>>>>>> //Re-run the configuration tests? >>>>>>> VXL_UPDATE_CONFIGURATION:BOOL=OFF >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkNetlibSlatec_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> itkdicomparser_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/DICOMParser >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> itkdicomparser_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/DICOMParser >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkgdcm_LIB_DEPENDS:STATIC=general;gdi32;general;itkjpeg8;general;itkjpeg12;general;itkjpeg16;general;itkopenjpeg;general;wsock32;general;snmpapi;general;rpcrt4; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkjpeg12_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkjpeg16_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkjpeg8_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkopenjpeg_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkpng_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> itksys_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/kwsys >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itksys_LIB_DEPENDS:STATIC=general;gdi32;general;ws2_32; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> itksys_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/kwsys >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itktestlib_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itktiff_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itkjpeg8; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkv3p_netlib_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkvcl_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkvnl_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkvnl_algo_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib;general;itkvnl; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkvnl_inst_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_algo; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkzlib_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> netlib_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p/netlib >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> netlib_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p/netlib >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vcl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/vcl >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vcl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/vcl >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vthreep_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vthreep_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxl_config_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/config/cmake/config >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxl_config_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/config/cmake/config >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxlcore_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/core >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxlcore_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/core >>>>>>> >>>>>>> >>>>>>> ######################## >>>>>>> # INTERNAL cache entries >>>>>>> ######################## >>>>>>> >>>>>>> //System handles bit-fields larger than 32 bits. >>>>>>> BIGBITFIELD:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> BIGBITFIELD_VALUE:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: BUILDNAME >>>>>>> BUILDNAME-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: BZRCOMMAND >>>>>>> BZRCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> CMAKE_ANSI_FOR_SCOPE:INTERNAL=TRUE >>>>>>> //Have include iostream >>>>>>> CMAKE_ANSI_STREAM_HEADERS:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_AR >>>>>>> CMAKE_AR-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_BACKWARDS_COMPATIBILITY >>>>>>> CMAKE_BACKWARDS_COMPATIBILITY-ADVANCED:INTERNAL=0 >>>>>>> //ADVANCED property for variable: CMAKE_BUILD_TOOL >>>>>>> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >>>>>>> //What is the target build tool cmake is generating for. >>>>>>> CMAKE_BUILD_TOOL:INTERNAL=C:/msys/1.0/bin/make.exe >>>>>>> //This is the directory where this CMakeCache.txt was created >>>>>>> CMAKE_CACHEFILE_DIR:INTERNAL=c:/msys/1.0/home/Insight-mingw >>>>>>> //Major version of cmake used to create the current loaded cache >>>>>>> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >>>>>>> //Minor version of cmake used to create the current loaded cache >>>>>>> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >>>>>>> //Patch version of cmake used to create the current loaded cache >>>>>>> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >>>>>>> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >>>>>>> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >>>>>>> //Path to CMake executable. >>>>>>> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >>>>>>> //Path to cpack program executable. >>>>>>> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >>>>>>> //ADVANCED property for variable: CMAKE_CTEST_COMMAND >>>>>>> CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 >>>>>>> //Path to ctest program executable. >>>>>>> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >>>>>>> //ADVANCED property for variable: CMAKE_CXX_COMPILER >>>>>>> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >>>>>>> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS >>>>>>> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >>>>>>> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >>>>>>> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >>>>>>> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >>>>>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >>>>>>> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_COMPILER >>>>>>> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >>>>>>> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS >>>>>>> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >>>>>>> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >>>>>>> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >>>>>>> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >>>>>>> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >>>>>>> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >>>>>>> //Path to cache edit program executable. >>>>>>> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >>>>>>> //Executable file format >>>>>>> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >>>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >>>>>>> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >>>>>>> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >>>>>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >>>>>>> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >>>>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>>> //Name of generator. >>>>>>> CMAKE_GENERATOR:INTERNAL=MSYS Makefiles >>>>>>> //Result of TRY_COMPILE >>>>>>> CMAKE_HAS_ANSI_STRING_STREAM:INTERNAL=TRUE >>>>>>> //Is X11 around. >>>>>>> CMAKE_HAS_X:INTERNAL= >>>>>>> //Have include limits.h >>>>>>> CMAKE_HAVE_LIMITS_H:INTERNAL=1 >>>>>>> //Have include pthread.h >>>>>>> CMAKE_HAVE_PTHREAD_H:INTERNAL= >>>>>>> //Have include stdint.h >>>>>>> CMAKE_HAVE_STDINT_H:INTERNAL=1 >>>>>>> //Have include CMAKE_HAVE_STDLIB_H >>>>>>> CMAKE_HAVE_STDLIB_H:INTERNAL=1 >>>>>>> //Have includes CMAKE_HAVE_SYS_PRCTL_H >>>>>>> CMAKE_HAVE_SYS_PRCTL_H:INTERNAL= >>>>>>> //Have include unistd.h >>>>>>> CMAKE_HAVE_UNISTD_H:INTERNAL=1 >>>>>>> //Start directory with the top level CMakeLists.txt file for this >>>>>>> // project >>>>>>> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0 >>>>>>> //ADVANCED property for variable: CMAKE_HP_PTHREADS >>>>>>> CMAKE_HP_PTHREADS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_LINKER >>>>>>> CMAKE_LINKER-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >>>>>>> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >>>>>>> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >>>>>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >>>>>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >>>>>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >>>>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_NM >>>>>>> CMAKE_NM-ADVANCED:INTERNAL=1 >>>>>>> //Does the compiler support ansi for scope. >>>>>>> CMAKE_NO_ANSI_FOR_SCOPE:INTERNAL=0 >>>>>>> //ADVANCED property for variable: CMAKE_NO_ANSI_STREAM_HEADERS >>>>>>> CMAKE_NO_ANSI_STREAM_HEADERS-ADVANCED:INTERNAL=1 >>>>>>> //Does the compiler support headers like iostream. >>>>>>> CMAKE_NO_ANSI_STREAM_HEADERS:INTERNAL=0 >>>>>>> //Does the compiler support sstream >>>>>>> CMAKE_NO_ANSI_STRING_STREAM:INTERNAL=0 >>>>>>> //Does the compiler support std::. >>>>>>> CMAKE_NO_STD_NAMESPACE:INTERNAL=0 >>>>>>> //number of local generators >>>>>>> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=76 >>>>>>> //ADVANCED property for variable: CMAKE_OBJCOPY >>>>>>> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_OBJDUMP >>>>>>> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_RANLIB >>>>>>> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >>>>>>> //Path to CMake installation. >>>>>>> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >>>>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >>>>>>> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >>>>>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >>>>>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >>>>>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >>>>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_CHAR:INTERNAL=1 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_DOUBLE:INTERNAL=8 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_FLOAT:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_INT:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_LONG:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_SHORT:INTERNAL=2 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=2 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_VOID_P:INTERNAL=4 >>>>>>> //ADVANCED property for variable: CMAKE_SKIP_RPATH >>>>>>> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> CMAKE_STD_NAMESPACE:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: CMAKE_STRIP >>>>>>> CMAKE_STRIP-ADVANCED:INTERNAL=1 >>>>>>> //Suppress Warnings that are meant for the author of the >>>>>>> CMakeLists.txt >>>>>>> // files. >>>>>>> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >>>>>>> //ADVANCED property for variable: CMAKE_THREAD_LIBS >>>>>>> CMAKE_THREAD_LIBS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_USE_PTHREADS >>>>>>> CMAKE_USE_PTHREADS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >>>>>>> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_USE_SPROC >>>>>>> CMAKE_USE_SPROC-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_USE_WIN32_THREADS >>>>>>> CMAKE_USE_WIN32_THREADS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >>>>>>> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >>>>>>> //Result of TEST_BIG_ENDIAN >>>>>>> CMAKE_WORDS_BIGENDIAN:INTERNAL=0 >>>>>>> //ADVANCED property for variable: CMAKE_X_CFLAGS >>>>>>> CMAKE_X_CFLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_X_LIBS >>>>>>> CMAKE_X_LIBS-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> COMPILE_RESULT:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: COMPRESSIONCOMMAND >>>>>>> COMPRESSIONCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: COVERAGE_COMMAND >>>>>>> COVERAGE_COMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CPACK_BINARY_NSIS >>>>>>> CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CPACK_BINARY_ZIP >>>>>>> CPACK_BINARY_ZIP-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CPACK_SOURCE_ZIP >>>>>>> CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CVSCOMMAND >>>>>>> CVSCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CVS_UPDATE_OPTIONS >>>>>>> CVS_UPDATE_OPTIONS-ADVANCED:INTERNAL=1 >>>>>>> //CXX compiler accepts flag -Wno-deprecated >>>>>>> CXX_HAS_DEPRECATED_FLAG:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: DART_BUILD_ERROR_REPORT_LIMIT >>>>>>> DART_BUILD_ERROR_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: DART_BUILD_WARNING_REPORT_LIMIT >>>>>>> DART_BUILD_WARNING_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: DART_ROOT >>>>>>> DART_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: DART_TESTING_TIMEOUT >>>>>>> DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: DART_VERBOSE_BUILD >>>>>>> DART_VERBOSE_BUILD-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: DELIVER_CONTINUOUS_EMAIL >>>>>>> DELIVER_CONTINUOUS_EMAIL-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_RUN >>>>>>> DUMMY:INTERNAL=0 >>>>>>> //ADVANCED property for variable: EXECUTABLE_OUTPUT_PATH >>>>>>> EXECUTABLE_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>>>>>> //Single output directory for building all executables. >>>>>>> EXECUTABLE_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>>>>>> //Details about finding Threads >>>>>>> FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE] >>>>>>> //Support for extension C __FUNCTION__ >>>>>>> GDCM_COMPILER_HAS_FUNCTION:INTERNAL=1 >>>>>>> //ADVANCED property for variable: GDCM_DATA_DIR >>>>>>> GDCM_DATA_DIR-ADVANCED:INTERNAL=1 >>>>>>> //Install location for data (relative to prefix). >>>>>>> GDCM_DATA_DIR:INTERNAL=/share/gdcm/ >>>>>>> //ADVANCED property for variable: GDCM_LEGACY_REMOVE >>>>>>> GDCM_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: GDCM_LEGACY_SILENT >>>>>>> GDCM_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>>>>>> //Result of TEST_BIG_ENDIAN >>>>>>> GDCM_WORDS_BIGENDIAN:INTERNAL=0 >>>>>>> //ADVANCED property for variable: GUNZIPCOMMAND >>>>>>> GUNZIPCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //Have include HAVE_ASSERT_H >>>>>>> HAVE_ASSERT_H:INTERNAL=1 >>>>>>> // >>>>>>> HAVE_BIGBITFIELD_VALUE:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_CHAR:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_DOUBLE:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_FLOAT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_INT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_LONG:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_SHORT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_VOID_P:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_WORDS_BIGENDIAN:INTERNAL=TRUE >>>>>>> //Have includes HAVE_DLFCN_H >>>>>>> HAVE_DLFCN_H:INTERNAL= >>>>>>> //Have include HAVE_FCNTL_H >>>>>>> HAVE_FCNTL_H:INTERNAL=1 >>>>>>> //Have function floor >>>>>>> HAVE_FLOOR:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_GDCM_WORDS_BIGENDIAN:INTERNAL=TRUE >>>>>>> //Have function getopt >>>>>>> HAVE_GETOPT:INTERNAL=1 >>>>>>> //Have includes HAVE_IEEEFP_H >>>>>>> HAVE_IEEEFP_H:INTERNAL= >>>>>>> //Have include HAVE_INTTYPES_H >>>>>>> HAVE_INTTYPES_H:INTERNAL=1 >>>>>>> //Have function isascii >>>>>>> HAVE_ISASCII:INTERNAL=1 >>>>>>> // >>>>>>> HAVE_ITK_CPP_FUNCTION:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_ITK_SIZEOF_LONG_LONG:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_ITK_SIZEOF___INT64:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF_CHAR:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF_INT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF_LONG:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF_LONG_LONG:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF_SHORT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF___INT64:INTERNAL=TRUE >>>>>>> //Have library malloc >>>>>>> HAVE_LIBMALLOC:INTERNAL= >>>>>>> //Have include HAVE_LIMITS_H >>>>>>> HAVE_LIMITS_H:INTERNAL=1 >>>>>>> //Have include HAVE_MALLOC_H >>>>>>> HAVE_MALLOC_H:INTERNAL=1 >>>>>>> //Have function memmove >>>>>>> HAVE_MEMMOVE:INTERNAL=1 >>>>>>> //Have include HAVE_MEMORY_H >>>>>>> HAVE_MEMORY_H:INTERNAL=1 >>>>>>> //Have function memset >>>>>>> HAVE_MEMSET:INTERNAL=1 >>>>>>> //Have function mmap >>>>>>> HAVE_MMAP:INTERNAL= >>>>>>> //Have function pow >>>>>>> HAVE_POW:INTERNAL=1 >>>>>>> //Have library Psapi >>>>>>> HAVE_PSAPI:INTERNAL= >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_QNANHIBIT_VALUE:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_SIZEOF_INT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_SIZEOF_LONG:INTERNAL=TRUE >>>>>>> //Have function sqrt >>>>>>> HAVE_SQRT:INTERNAL=1 >>>>>>> //Have include stddef.h >>>>>>> HAVE_STDDEF_H:INTERNAL=1 >>>>>>> //Have include stdint.h >>>>>>> HAVE_STDINT_H:INTERNAL=1 >>>>>>> //Have include HAVE_STDLIB_H >>>>>>> HAVE_STDLIB_H:INTERNAL=1 >>>>>>> //Have function strcasecmp >>>>>>> HAVE_STRCASECMP:INTERNAL=1 >>>>>>> //Have function strchr >>>>>>> HAVE_STRCHR:INTERNAL=1 >>>>>>> //Have include HAVE_STRINGS_H >>>>>>> HAVE_STRINGS_H:INTERNAL=1 >>>>>>> //Have include HAVE_STRING_H >>>>>>> HAVE_STRING_H:INTERNAL=1 >>>>>>> //Have function strrchr >>>>>>> HAVE_STRRCHR:INTERNAL=1 >>>>>>> //Have function strstr >>>>>>> HAVE_STRSTR:INTERNAL=1 >>>>>>> //Have function strtol >>>>>>> HAVE_STRTOL:INTERNAL=1 >>>>>>> //Have function areroul >>>>>>> HAVE_STRTOUL:INTERNAL= >>>>>>> //Have include HAVE_SYS_STAT_H >>>>>>> HAVE_SYS_STAT_H:INTERNAL=1 >>>>>>> //Have include HAVE_SYS_TIME_H >>>>>>> HAVE_SYS_TIME_H:INTERNAL=1 >>>>>>> //Have include sys/types.h >>>>>>> HAVE_SYS_TYPES_H:INTERNAL=1 >>>>>>> //Have include unistd.h >>>>>>> HAVE_UNISTD_H:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_VXL_BIG_ENDIAN:INTERNAL=TRUE >>>>>>> //Have include HAVE_WINDOWS_H >>>>>>> HAVE_WINDOWS_H:INTERNAL=1 >>>>>>> //ADVANCED property for variable: HGCOMMAND >>>>>>> HGCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ImageCompare path to be used by subprojects >>>>>>> IMAGE_COMPARE:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompare >>>>>>> //ImageCompare path to be used by subprojects >>>>>>> IMAGE_COMPARE_COMMAND:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompareCommand >>>>>>> //ImageCopy path to be used by subprojects >>>>>>> IMAGE_COPY:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCopy >>>>>>> //ADVANCED property for variable: ITK_BRAINWEB_DATA_ROOT >>>>>>> ITK_BRAINWEB_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_COMPUTER_MEMORY_SIZE >>>>>>> ITK_COMPUTER_MEMORY_SIZE-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> ITK_CPP_FUNCTION:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: ITK_CSWIG_JAVA >>>>>>> ITK_CSWIG_JAVA-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_CSWIG_PYTHON >>>>>>> ITK_CSWIG_PYTHON-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_CSWIG_TCL >>>>>>> ITK_CSWIG_TCL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_DATA_ROOT >>>>>>> ITK_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //ITK dir to be used by subprojects >>>>>>> ITK_DIR:INTERNAL=C:/msys/1.0/home/Insight-mingw >>>>>>> //ADVANCED property for variable: ITK_EXPLICIT_INSTANTIATION >>>>>>> ITK_EXPLICIT_INSTANTIATION-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE >>>>>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE-ADVANCED:INTERNAL=1 >>>>>>> ITK_INSTALL_PACKAGE_DIR:INTERNAL=/lib/InsightToolkit >>>>>>> //Whether istream supports long long >>>>>>> ITK_ISTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_LEGACY_REMOVE >>>>>>> ITK_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_LEGACY_SILENT >>>>>>> ITK_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_MRI_UNC_DATABASE_DATA_ROOT >>>>>>> ITK_MRI_UNC_DATABASE_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_OSIRIX_DATA_ROOT >>>>>>> ITK_OSIRIX_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //Whether ostream supports long long >>>>>>> ITK_OSTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> ITK_SIZEOF_LONG_LONG:INTERNAL=8 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> ITK_SIZEOF___INT64:INTERNAL=8 >>>>>>> //Result of TRY_COMPILE >>>>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_EMPTY_BRACKETS:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_NULL_STRING:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_TEMPLATE_ARGUMENTS:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> ITK_SUPPORTS_TEMPLATE_PARTIAL_SPECIALIZATION:INTERNAL=TRUE >>>>>>> //itkTestDriver path to be used by subprojects >>>>>>> ITK_TEST_DRIVER:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/itkTestDriver >>>>>>> //Whether long and __int64 are the same type >>>>>>> ITK_TYPE_SAME_LONG_AND___INT64:INTERNAL=0 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY >>>>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_CONCEPT_CHECKING >>>>>>> ITK_USE_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_CONSOLIDATED_MORPHOLOGY >>>>>>> ITK_USE_CONSOLIDATED_MORPHOLOGY-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION >>>>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_LIBXML2 >>>>>>> ITK_USE_LIBXML2-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_MINC2 >>>>>>> ITK_USE_MINC2-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS >>>>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_ORIENTED_IMAGE_DIRECTION >>>>>>> ITK_USE_ORIENTED_IMAGE_DIRECTION-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_PATENTED >>>>>>> ITK_USE_PATENTED-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS >>>>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_REVIEW >>>>>>> ITK_USE_REVIEW-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_REVIEW_STATISTICS >>>>>>> ITK_USE_REVIEW_STATISTICS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_STRICT_CONCEPT_CHECKING >>>>>>> ITK_USE_STRICT_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_GDCM >>>>>>> ITK_USE_SYSTEM_GDCM-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_LIBXML2 >>>>>>> ITK_USE_SYSTEM_LIBXML2-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_PNG >>>>>>> ITK_USE_SYSTEM_PNG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_TIFF >>>>>>> ITK_USE_SYSTEM_TIFF-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_VXL >>>>>>> ITK_USE_SYSTEM_VXL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_ZLIB >>>>>>> ITK_USE_SYSTEM_ZLIB-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING >>>>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_TRANSFORM_IO_FACTORIES >>>>>>> ITK_USE_TRANSFORM_IO_FACTORIES-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_VISIBLEHUMAN_DATA_ROOT >>>>>>> ITK_VISIBLEHUMAN_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: JAVACOMMAND >>>>>>> JAVACOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CAN_CONVERT_UI64_TO_DOUBLE_COMPILED:INTERNAL=FALSE >>>>>>> //Result of TRY_RUN >>>>>>> KWSYS_CHAR_IS_SIGNED:INTERNAL=0 >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_CSTDDEF_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_CSTDIO_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_FULL_SPECIALIZATION_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_MEMBER_TEMPLATES_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS_COMPILED:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_SAME_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_SAME_LONG_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_IOS_HAVE_BINARY_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_IOS_HAVE_STD_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_IOS_USE_ANSI_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_IOS_USE_SSTREAM_COMPILED:INTERNAL=TRUE >>>>>>> //Checking for Large File Support failed to compile. >>>>>>> KWSYS_LFS_WORKS:INTERNAL=-1 >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_LFS_WORKS_COMPILED:INTERNAL=FALSE >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF_CHAR:INTERNAL=1 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF_INT:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF_LONG:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF_LONG_LONG:INTERNAL=8 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF_SHORT:INTERNAL=2 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF___INT64:INTERNAL=8 >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT_COMPILED:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAS_ALLOCATOR_OBJECTS_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAS_ALLOCATOR_REBIND_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAS_ALLOCATOR_TEMPLATE_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAS_ITERATOR_TRAITS_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAVE_STD_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_STRING_HAVE_NEQ_CHAR_COMPILED:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: LIBRARY_OUTPUT_PATH >>>>>>> LIBRARY_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>>>>>> //Single output directory for building all libraries. >>>>>>> LIBRARY_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>>>>>> //ADVANCED property for variable: MAKECOMMAND >>>>>>> MAKECOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: MEMORYCHECK_COMMAND >>>>>>> MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE >>>>>>> MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 >>>>>>> //The 22nd bit of 32-bit floating-point quiet NaN. >>>>>>> QNANHIBIT:INTERNAL=1 >>>>>>> //Result of TRY_RUN >>>>>>> QNANHIBIT_VALUE:INTERNAL=1 >>>>>>> //Result of TRY_RUN >>>>>>> RUN_RESULT:INTERNAL=1 >>>>>>> //ADVANCED property for variable: SCPCOMMAND >>>>>>> SCPCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: SITE >>>>>>> SITE-ADVANCED:INTERNAL=1 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> SIZEOF_INT:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> SIZEOF_LONG:INTERNAL=4 >>>>>>> //ADVANCED property for variable: SLURM_SBATCH_COMMAND >>>>>>> SLURM_SBATCH_COMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: SLURM_SRUN_COMMAND >>>>>>> SLURM_SRUN_COMMAND-ADVANCED:INTERNAL=1 >>>>>>> //CXX compiler accepts flag -features=no%anachronisms >>>>>>> SUN_COMPILER:INTERNAL=FALSE >>>>>>> //ADVANCED property for variable: SVNCOMMAND >>>>>>> SVNCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: TCL_TCLSH >>>>>>> TCL_TCLSH-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: USE_FFTWD >>>>>>> USE_FFTWD-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: USE_FFTWF >>>>>>> USE_FFTWF-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: USE_SCSL >>>>>>> USE_SCSL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: USE_WRAP_ITK >>>>>>> USE_WRAP_ITK-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: UUID_INCLUDE_DIR >>>>>>> UUID_INCLUDE_DIR-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: UUID_LIBRARY >>>>>>> UUID_LIBRARY-ADVANCED:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_ALLOWS_INLINE_INSTANTIATION:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_ALLOWS_NAMESPACE_STD:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CANNOT_SPECIALIZE_CV:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_COMPLETE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_IMPLICIT_TEMPLATES:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_NON_TYPE_FUNCTION_TEMPLATE_PARAMETER:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_PARTIAL_SPECIALIZATION:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_STATIC_TEMPLATE_MEMBER:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_TEMPLATE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_CHAR_IS_SIGNED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_COMPLEX_POW_WORKS:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_COMPLEX_POW_WORKS_COMPILED:INTERNAL=TRUE >>>>>>> //Have include algorithm >>>>>>> VCL_CXX_HAS_HEADER_ALGORITHM:INTERNAL=1 >>>>>>> //Have include bitset >>>>>>> VCL_CXX_HAS_HEADER_BITSET:INTERNAL=1 >>>>>>> //Have include cassert >>>>>>> VCL_CXX_HAS_HEADER_CASSERT:INTERNAL=1 >>>>>>> //Have include cctype >>>>>>> VCL_CXX_HAS_HEADER_CCTYPE:INTERNAL=1 >>>>>>> //Have include cerrno >>>>>>> VCL_CXX_HAS_HEADER_CERRNO:INTERNAL=1 >>>>>>> //Have include cfloat >>>>>>> VCL_CXX_HAS_HEADER_CFLOAT:INTERNAL=1 >>>>>>> //Have include ciso646 >>>>>>> VCL_CXX_HAS_HEADER_CISO646:INTERNAL=1 >>>>>>> //Have include climits >>>>>>> VCL_CXX_HAS_HEADER_CLIMITS:INTERNAL=1 >>>>>>> //Have include clocale >>>>>>> VCL_CXX_HAS_HEADER_CLOCALE:INTERNAL=1 >>>>>>> //Have include cmath >>>>>>> VCL_CXX_HAS_HEADER_CMATH:INTERNAL=1 >>>>>>> //Have include complex >>>>>>> VCL_CXX_HAS_HEADER_COMPLEX:INTERNAL=1 >>>>>>> //Have include csetjmp >>>>>>> VCL_CXX_HAS_HEADER_CSETJMP:INTERNAL=1 >>>>>>> //Have include csignal >>>>>>> VCL_CXX_HAS_HEADER_CSIGNAL:INTERNAL=1 >>>>>>> //Have include cstdarg >>>>>>> VCL_CXX_HAS_HEADER_CSTDARG:INTERNAL=1 >>>>>>> //Have include cstddef >>>>>>> VCL_CXX_HAS_HEADER_CSTDDEF:INTERNAL=1 >>>>>>> //Have include cstdio >>>>>>> VCL_CXX_HAS_HEADER_CSTDIO:INTERNAL=1 >>>>>>> //Have include cstdlib >>>>>>> VCL_CXX_HAS_HEADER_CSTDLIB:INTERNAL=1 >>>>>>> //Have include cstring >>>>>>> VCL_CXX_HAS_HEADER_CSTRING:INTERNAL=1 >>>>>>> //Have include ctime >>>>>>> VCL_CXX_HAS_HEADER_CTIME:INTERNAL=1 >>>>>>> //Have include cwchar >>>>>>> VCL_CXX_HAS_HEADER_CWCHAR:INTERNAL=1 >>>>>>> //Have include cwctype >>>>>>> VCL_CXX_HAS_HEADER_CWCTYPE:INTERNAL=1 >>>>>>> //Have include deque >>>>>>> VCL_CXX_HAS_HEADER_DEQUE:INTERNAL=1 >>>>>>> //Have include exception >>>>>>> VCL_CXX_HAS_HEADER_EXCEPTION:INTERNAL=1 >>>>>>> //Have include fstream >>>>>>> VCL_CXX_HAS_HEADER_FSTREAM:INTERNAL=1 >>>>>>> //Have include functional >>>>>>> VCL_CXX_HAS_HEADER_FUNCTIONAL:INTERNAL=1 >>>>>>> //Have include iomanip >>>>>>> VCL_CXX_HAS_HEADER_IOMANIP:INTERNAL=1 >>>>>>> //Have include ios >>>>>>> VCL_CXX_HAS_HEADER_IOS:INTERNAL=1 >>>>>>> //Have include iosfwd >>>>>>> VCL_CXX_HAS_HEADER_IOSFWD:INTERNAL=1 >>>>>>> //Have include iostream >>>>>>> VCL_CXX_HAS_HEADER_IOSTREAM:INTERNAL=1 >>>>>>> //Have include iso646.h >>>>>>> VCL_CXX_HAS_HEADER_ISO646_H:INTERNAL=1 >>>>>>> //Have include istream >>>>>>> VCL_CXX_HAS_HEADER_ISTREAM:INTERNAL=1 >>>>>>> //Have include iterator >>>>>>> VCL_CXX_HAS_HEADER_ITERATOR:INTERNAL=1 >>>>>>> //Have include limits >>>>>>> VCL_CXX_HAS_HEADER_LIMITS:INTERNAL=1 >>>>>>> //Have include list >>>>>>> VCL_CXX_HAS_HEADER_LIST:INTERNAL=1 >>>>>>> //Have include locale >>>>>>> VCL_CXX_HAS_HEADER_LOCALE:INTERNAL=1 >>>>>>> //Have include map >>>>>>> VCL_CXX_HAS_HEADER_MAP:INTERNAL=1 >>>>>>> //Have include memory >>>>>>> VCL_CXX_HAS_HEADER_MEMORY:INTERNAL=1 >>>>>>> //Have include new >>>>>>> VCL_CXX_HAS_HEADER_NEW:INTERNAL=1 >>>>>>> //Have include numeric >>>>>>> VCL_CXX_HAS_HEADER_NUMERIC:INTERNAL=1 >>>>>>> //Have include ostream >>>>>>> VCL_CXX_HAS_HEADER_OSTREAM:INTERNAL=1 >>>>>>> //Have include queue >>>>>>> VCL_CXX_HAS_HEADER_QUEUE:INTERNAL=1 >>>>>>> //Have include set >>>>>>> VCL_CXX_HAS_HEADER_SET:INTERNAL=1 >>>>>>> //Have include sstream >>>>>>> VCL_CXX_HAS_HEADER_SSTREAM:INTERNAL=1 >>>>>>> //Have include stack >>>>>>> VCL_CXX_HAS_HEADER_STACK:INTERNAL=1 >>>>>>> //Have include stdexcept >>>>>>> VCL_CXX_HAS_HEADER_STDEXCEPT:INTERNAL=1 >>>>>>> //Have include streambuf >>>>>>> VCL_CXX_HAS_HEADER_STREAMBUF:INTERNAL=1 >>>>>>> //Have include string >>>>>>> VCL_CXX_HAS_HEADER_STRING:INTERNAL=1 >>>>>>> //Have include strstream >>>>>>> VCL_CXX_HAS_HEADER_STRSTREAM:INTERNAL=1 >>>>>>> //Have include typeinfo >>>>>>> VCL_CXX_HAS_HEADER_TYPEINFO:INTERNAL=1 >>>>>>> //Have include utility >>>>>>> VCL_CXX_HAS_HEADER_UTILITY:INTERNAL=1 >>>>>>> //Have include valarray >>>>>>> VCL_CXX_HAS_HEADER_VALARRAY:INTERNAL=1 >>>>>>> //Have include vector >>>>>>> VCL_CXX_HAS_HEADER_VECTOR:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_DEFAULT_VALUE:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_DEFINE_SPECIALIZATION:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_FOR_SCOPE_HACK:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_BOOL:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_DYNAMIC_CAST:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_EXCEPTIONS:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_EXPLICIT:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_EXPORT:INTERNAL=1 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_HAS_LFS:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_HAS_LFS_COMPILED:INTERNAL=TRUE >>>>>>> //VXL test >>>>>>> VCL_HAS_MEMBER_TEMPLATES:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_MUTABLE:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_NAMESPACES:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_RTTI:INTERNAL=1 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_HAS_SLICED_DESTRUCTOR_BUG:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_HAS_SLICED_DESTRUCTOR_BUG_COMPILED:INTERNAL=TRUE >>>>>>> //Test ?(failed to compile) >>>>>>> VCL_HAS_TEMPLATE_SYMBOLS:INTERNAL=0 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_HAS_TEMPLATE_SYMBOLS_COMPILED:INTERNAL=FALSE >>>>>>> //VXL test >>>>>>> VCL_HAS_TYPENAME:INTERNAL=1 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_HAS_WORKING_STRINGSTREAM:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_HAS_WORKING_STRINGSTREAM_COMPILED:INTERNAL=TRUE >>>>>>> //VXL test >>>>>>> VCL_NEEDS_INLINE_INSTANTIATION:INTERNAL=1 >>>>>>> //Test >>>>>>> VCL_NEEDS_NAMESPACE_STD:INTERNAL=0 >>>>>>> //VXL test >>>>>>> VCL_NEED_FRIEND_FOR_TEMPLATE_OVERLOAD:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_NO_STATIC_DATA_MEMBERS:INTERNAL=1 >>>>>>> //Test >>>>>>> VCL_NULL_TMPL_ARGS:INTERNAL=0 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_NUMERIC_LIMITS_HAS_INFINITY:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_NUMERIC_LIMITS_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>>>>>> //Test >>>>>>> VCL_OVERLOAD_CAST:INTERNAL=0 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_PROCESSOR_HAS_INFINITY:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_PROCESSOR_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>>>>>> //VXL test >>>>>>> VCL_STATIC_CONST_INIT_FLOAT:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_STATIC_CONST_INIT_INT:INTERNAL=1 >>>>>>> //Test >>>>>>> VCL_STATIC_CONST_INIT_NO_DEFN:INTERNAL=0 >>>>>>> //VXL test >>>>>>> VCL_SUNPRO_CLASS_SCOPE_HACK:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_TEMPLATE_MATCHES_TOO_OFTEN:INTERNAL=1 >>>>>>> //Are we using an version of gcc < 3.0 >>>>>>> VNL_COMPILER_IS_GNUCXX_2XX:INTERNAL=0 >>>>>>> //ADVANCED property for variable: VNL_CONFIG_CHECK_BOUNDS >>>>>>> VNL_CONFIG_CHECK_BOUNDS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2 >>>>>>> VNL_CONFIG_ENABLE_SSE2-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2_ROUNDING >>>>>>> VNL_CONFIG_ENABLE_SSE2_ROUNDING-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: VNL_CONFIG_LEGACY_METHODS >>>>>>> VNL_CONFIG_LEGACY_METHODS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: VNL_CONFIG_THREAD_SAFE >>>>>>> VNL_CONFIG_THREAD_SAFE-ADVANCED:INTERNAL=1 >>>>>>> //Result of TEST_BIG_ENDIAN >>>>>>> VXL_BIG_ENDIAN:INTERNAL=0 >>>>>>> //VXL test result >>>>>>> VXL_BYTE:INTERNAL=char >>>>>>> //Serial number of last configuration >>>>>>> VXL_CONFIG_SERIAL_LAST:INTERNAL=2007-13-09-001 >>>>>>> //Have symbol finite >>>>>>> VXL_C_MATH_HAS_FINITE:INTERNAL=1 >>>>>>> //Have symbol finitef >>>>>>> VXL_C_MATH_HAS_FINITEF:INTERNAL= >>>>>>> //Have symbol finitel >>>>>>> VXL_C_MATH_HAS_FINITEL:INTERNAL= >>>>>>> //VXL test >>>>>>> VXL_C_MATH_HAS_LROUND:INTERNAL=1 >>>>>>> //Have symbol sqrtf >>>>>>> VXL_C_MATH_HAS_SQRTF:INTERNAL=1 >>>>>>> //Test >>>>>>> VXL_HAS_ALIGNED_MALLOC:INTERNAL=0 >>>>>>> //VXL test result >>>>>>> VXL_HAS_BYTE:INTERNAL=1 >>>>>>> //Test >>>>>>> VXL_HAS_DBGHELP_H:INTERNAL=0 >>>>>>> //Have include emmintrin.h >>>>>>> VXL_HAS_EMMINTRIN_H:INTERNAL=1 >>>>>>> //Have include ieeefp.h >>>>>>> VXL_HAS_IEEEFP_H:INTERNAL= >>>>>>> //VXL test result >>>>>>> VXL_HAS_IEEE_128:INTERNAL=0 >>>>>>> //VXL test result >>>>>>> VXL_HAS_IEEE_32:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_IEEE_64:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_IEEE_96:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_INT_16:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_INT_32:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_INT_64:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_INT_8:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VXL_HAS_MINGW_ALIGNED_MALLOC:INTERNAL=1 >>>>>>> //Test >>>>>>> VXL_HAS_MM_MALLOC:INTERNAL=0 >>>>>>> //Test >>>>>>> VXL_HAS_POSIX_MEMALIGN:INTERNAL=0 >>>>>>> //Have include pthread.h >>>>>>> VXL_HAS_PTHREAD_H:INTERNAL= >>>>>>> //Have include semaphore.h >>>>>>> VXL_HAS_SEMAPHORE_H:INTERNAL= >>>>>>> //Test ?(failed to compile) >>>>>>> VXL_HAS_SSE2_HARDWARE_SUPPORT:INTERNAL=0 >>>>>>> //Result of TRY_COMPILE >>>>>>> VXL_HAS_SSE2_HARDWARE_SUPPORT_COMPILED:INTERNAL=FALSE >>>>>>> //Have symbol finite >>>>>>> VXL_IEEEFP_HAS_FINITE:INTERNAL= >>>>>>> //VXL test result >>>>>>> VXL_IEEE_128:INTERNAL=void >>>>>>> //VXL test result >>>>>>> VXL_IEEE_32:INTERNAL=float >>>>>>> //VXL test result >>>>>>> VXL_IEEE_64:INTERNAL=double >>>>>>> //VXL test result >>>>>>> VXL_IEEE_96:INTERNAL=long double >>>>>>> //VXL test result >>>>>>> VXL_INT_16:INTERNAL=short >>>>>>> //VXL test result >>>>>>> VXL_INT_32:INTERNAL=int >>>>>>> //VXL test result >>>>>>> VXL_INT_64:INTERNAL=long long >>>>>>> //VXL test result >>>>>>> VXL_INT_8:INTERNAL=char >>>>>>> //VXL test ?(successful run) >>>>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_COMPILED:INTERNAL=TRUE >>>>>>> //help string for how to enable SSE2 support >>>>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_HELP:INTERNAL=The current >>>>>>> compiler >>>>>>> flags >>>>>>> do not allow the SSE2 instructions to be used. ;It looks like if you >>>>>>> add >>>>>>> the >>>>>>> flag '-msse2' you will be able to use the ;SSE2 instructions. If you >>>>>>> chose >>>>>>> to set VNL_CONFIG_ENABLE_SSE or ;VNL_CONFIG_ENABLE_SSE2_ROUNDING to >>>>>>> ON, >>>>>>> cmake will put this flag for you. ;You can also add this flag >>>>>>> yourself. >>>>>>> If >>>>>>> you still see this message, after ;the flag change, you may need to >>>>>>> set >>>>>>> VXL_UPDATE_CONFIGURATION to ON and ;rerun cmake. >>>>>>> //Have symbol drand48 >>>>>>> VXL_STDLIB_HAS_DRAND48:INTERNAL= >>>>>>> //Have symbol lrand48 >>>>>>> VXL_STDLIB_HAS_LRAND48:INTERNAL= >>>>>>> //VXL test >>>>>>> VXL_STDLIB_HAS_QSORT:INTERNAL=1 >>>>>>> //Have symbol srand48 >>>>>>> VXL_STDLIB_HAS_SRAND48:INTERNAL= >>>>>>> //Have function getpid >>>>>>> VXL_UNISTD_HAS_GETPID:INTERNAL=1 >>>>>>> //Have symbol intptr_t >>>>>>> VXL_UNISTD_HAS_INTPTR_T:INTERNAL=1 >>>>>>> //Have function lchown >>>>>>> VXL_UNISTD_HAS_LCHOWN:INTERNAL= >>>>>>> //Have function pread >>>>>>> VXL_UNISTD_HAS_PREAD:INTERNAL= >>>>>>> //Have function pwrite >>>>>>> VXL_UNISTD_HAS_PWRITE:INTERNAL= >>>>>>> //Have function tell >>>>>>> VXL_UNISTD_HAS_TELL:INTERNAL=1 >>>>>>> //Have function ualarm >>>>>>> VXL_UNISTD_HAS_UALARM:INTERNAL= >>>>>>> //Have symbol useconds_t >>>>>>> VXL_UNISTD_HAS_USECONDS_T:INTERNAL=1 >>>>>>> //Have function usleep >>>>>>> VXL_UNISTD_HAS_USLEEP:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VXL_UNISTD_USLEEP_IS_VOID:INTERNAL=1 >>>>>>> //ADVANCED property for variable: VXL_UPDATE_CONFIGURATION >>>>>>> VXL_UPDATE_CONFIGURATION-ADVANCED:INTERNAL=1 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Bill Lorensen wrote: >>>>>>>> >>>>>>>> You are in the wrong directory. Look in the directory that is >>>>>>>> described in the CMakeCache.txt variable Project_BINARY_DIR >>>>>>>> >>>>>>>> cd to that directory and type make >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Dec 10, 2009 at 4:22 PM, URI >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> I get the message: >>>>>>>>> >>>>>>>>> make: *** No targets specified and no makefile found. ?Stop. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 10) Start an msys shell by running msys.bat >>>>>>>>> 11) cd to the locations you selected where to build the binaries. >>>>>>>>> 12) make >>>>>>>>> >>>>>>>>> -- >>>>>>>>> View this message in context: >>>>>>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4147921.html >>>>>>>>> Sent from the ITK Insight Users mailing list archive at >>>>>>>>> Nabble.com. >>>>>>>>> _____________________________________ >>>>>>>>> Powered by www.kitware.com >>>>>>>>> >>>>>>>>> Visit other Kitware open-source projects at >>>>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>>>> >>>>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>>>> http://www.kitware.com/products/protraining.html >>>>>>>>> >>>>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>>>> >>>>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>>>> >>>>>>>> _____________________________________ >>>>>>>> Powered by www.kitware.com >>>>>>>> >>>>>>>> Visit other Kitware open-source projects at >>>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>>> >>>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>>> http://www.kitware.com/products/protraining.html >>>>>>>> >>>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>>> >>>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> View this message in context: >>>>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149414.html >>>>>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>>>>> _____________________________________ >>>>>>> Powered by www.kitware.com >>>>>>> >>>>>>> Visit other Kitware open-source projects at >>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>> >>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>> http://www.kitware.com/products/protraining.html >>>>>>> >>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>> >>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>> >>>>>> _____________________________________ >>>>>> Powered by www.kitware.com >>>>>> >>>>>> Visit other Kitware open-source projects at >>>>>> http://www.kitware.com/opensource/opensource.html >>>>>> >>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>> http://www.kitware.com/products/protraining.html >>>>>> >>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>> >>>>>> Follow this link to subscribe/unsubscribe: >>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>> >>>>>> >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149580.html >>>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.html >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>> >>>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >>> >> >> -- >> View this message in context: >> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4152470.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4154240.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From luis.ibanez at kitware.com Fri Dec 11 18:19:39 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 18:19:39 -0500 Subject: [Insight-users] MultiThreader error in SheppLoganFilter? In-Reply-To: References: Message-ID: Hi Ming, Thanks for posting your code. The error is that you are not calling the method that sets the VRadius value. That's why you get the error message: "Member variable VRadius not properly initialized." You simply need to add: filter->SetVRadius( 1 ); before you make the call to Update(); ... Of course, you may want to try values of "VRadius" different from 1. BTW: doing "using namespace std;" is a really bad practice. Opening a namespace defeats the purpose of having namespaces at all. Please get used to typing: std::string std::cout std::cerr std::endl and so on.... Also, please note that the implementation of templated classes shouldn't be put in .cpp files. We usually put this in .txx files. Please find attached the three files fixed along with a CMakeLists.txt file. BTW: your code was missing several essential lines of code, such as includes for ImageFileReader, ImageFileWriter and the ShepLogan filter itself. We strongly encourage you to share this filter with the ITK community by submitting it to the Insight Journal :-) http://www.insight-journal.org/ Regards, Luis ------------------------------- On Tue, Dec 8, 2009 at 6:19 PM, Ming Chao wrote: > Hi, > I got a code of SheppLoganFilter and used it to filter a raw sinogram image > (I am not sure if this is a correct use though). However, I got the > following error: > writing image image/test2.png caused a problem. > itk::ExceptionObject (0122FEC4) > Location: "void __thiscall itk::MultiThreader::SingleMethodExecute(void)" > File: \ITK\InsightToolkit-3.8.0\Code\Common\itkMultiThreader.cxx > Line: 429 > Description: itk::ERROR: MultiThreader(01870068): Exception occurred during > Sing > leMethodExecute > c:\my rsch work\image reconstruction\code\SheppLoganFilter.cpp:27: > itk::ERROR: SheppLoganFilter(0177DD28): Member variable VRadius not properly > ini > tialized. > > The codes I used are attached in the following. Any > comments/suggestions/help would be greatly appreciated. > > The main function: > #include "itkImage.h" > using namespace std; > int main(int argc, char* argv[]) > { > string filename("image/test.png"); > string filename2("image/test2.png"); > typedef unsigned char uchar; > typedef uchar PixelType; > const int Dimension = 2; > typedef itk::Image< PixelType, 2 > ImageType; > > //reading image from disk > typedef itk::ImageFileReader< ImageType > ReaderType; > ReaderType::Pointer reader = ReaderType::New(); > reader->SetFileName(filename); > reader->Update(); > ImageType::Pointer input_image = ImageType::New(); > input_image = reader->GetOutput(); > typedef SheppLoganFilter ?FilterType; > FilterType::Pointer filter = FilterType::New(); > ?? ? ? ?filter->SetInput(input_image); > typedef itk::ImageFileWriter< ImageType > WriterType; > WriterType::Pointer writer = WriterType::New(); > writer->SetInput(filter->GetOutput()); > writer->SetFileName(filename2); > try { > writer->Update(); > } > catch( itk::ExceptionObject exp ) > { > cerr << "writing image " << filename2 << " caused a problem." << endl; > cerr << exp << endl; > return 1; > } > } > The SheppLoganFilter.h: > > #ifndef __SheppLoganFilter_h > #define __SheppLoganFilter_h > #include > > //ITK includes > #include "itkImageToImageFilter.h" > #include "itkImageRegionIterator.h" > #include "itkConstNeighborhoodIterator.h" > #include "itkOffset.h" > /*! > ?* \class SheppLoganFilter > ?* \brief Applies a shepp logan filter to an image and returns the filtered > image. > ?*/ > template < typename TInputImage, ?typename TOutputImage > > class SheppLoganFilter : public itk::ImageToImageFilter< TInputImage, > TOutputImage > > { > public: > /*! Standard class typedefs. */ > typedef SheppLoganFilter Self; > typedef itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass; > typedef itk::SmartPointer< Self > Pointer; > typedef itk::SmartPointer< const Self > ConstPointer; > /*! Method for creation through object factory */ > itkNewMacro(Self); > /*! Run-time type information (and related methods) */ > itkTypeMacro(SheppLoganFilter, ImageToImageFilter); > //Convenience typedefs > typedef TInputImage ImageType; > typedef TOutputImage OImageType; > typedef typename ImageType::RegionType RegionType; > typedef itk::ConstNeighborhoodIterator< ImageType > > NeighborhoodIteratorType; > typedef itk::ImageRegionIterator< OImageType> IteratorType; > typedef typename ImageType::ConstPointer ImageConstPointer; > typedef typename OImageType::Pointer ImagePointer; > /*! Extract dimension from input and output image. */ > itkStaticConstMacro(ImageDimension, unsigned int, > TInputImage::ImageDimension); > itkSetMacro(VRadius, int); > itkGetConstReferenceMacro(VRadius, int); > protected: > SheppLoganFilter(); > virtual ~SheppLoganFilter() {} > /*! Standard "PrintSelf" method */ > void PrintSelf(std::ostream& os, itk::Indent indent) const; > /*! > * SheppLoganFilter can be implemented as a > * multithreaded filter. Therefore, this implementation provides > * a ThreadedGenerateData() routine which is called for each > * processing thread. The output image data is allocated > * automatically by the superclass prior to calling > * ThreadedGenerateData(). ?ThreadedGenerateData can only > * write to the portion of the output image specified by the > * parameter "outputRegionForThread". > * > * \sa ImageToImageFilter::ThreadedGenerateData(), > * ? ? ImageToImageFilter::GenerateData() > */ > void ThreadedGenerateData(const RegionType& regionForThread, > > ?int threadId ); > private: > SheppLoganFilter(const Self&) {}; //purposely not implemented > void operator=(const Self&); //purposely not implemented > /*! vertical radius of shepp logan filter ?*/ > int m_VRadius; > }; > > #ifndef ITK_MANUAL_INSTANTIATION > #include "SheppLoganFilter.cpp" > #endif > #endif > And the SheppLoganFilter.cpp: > #ifndef _SheppLoganFilter_txx > #define _SheppLoganFilter_txx > #include "SheppLoganFilter.h" > #ifndef PI > #define PI 3.141592653 > #endif > template < typename TInputImage, typename TOutputImage > > SheppLoganFilter< TInputImage, TOutputImage >::SheppLoganFilter() > { > m_VRadius = 0; > } > template < typename TInputImage, typename TOutputImage > > void SheppLoganFilter< TInputImage, TOutputImage > > ::ThreadedGenerateData(const RegionType& > ? regionForThread, int threadId ) > { > if(m_VRadius <= 0) > itkExceptionMacro(<< "Member variable VRadius not properly initialized."); > //pointers to output and input image > ImageConstPointer inputImage ?= this->GetInput(); > ImagePointer outputImage = this->GetOutput(); > RegionType inputRegion = inputImage->GetLargestPossibleRegion(); > RegionType outputRegion = outputImage->GetLargestPossibleRegion(); > IteratorType out(outputImage, outputRegion); > NeighborhoodIteratorType::RadiusType radius; > radius.Fill(0); > radius[1] = m_VRadius; > int vDim = m_VRadius*2+1; > NeighborhoodIteratorType it(radius, inputImage, inputRegion); > //pointer to Shepp-Logan filter weights > float *sl = new float[vDim]; > //vector with the OffsetTypes for the neighborhood iterator > std::vector< NeighborhoodIteratorType::OffsetType > offset; > int actIndex; > for(int i = -m_VRadius; i <= m_VRadius; ++i) > { > actIndex = i + m_VRadius; > *(sl+actIndex) = -2.0/(PI*PI*(4*i*i-1)); > NeighborhoodIteratorType::OffsetType tmpO = {{0,i}}; > offset.push_back(tmpO); > } > std::vector< int > tmpImg; > for (it.GoToBegin(), out.GoToBegin(); !it.IsAtEnd(); ++it, ++out) > { > float sum = 0; > for(int i = 0; i < m_VRadius*2+1; ++i) > { > sum += *(sl+i) * it.GetPixel(offset[i]); > } > tmpImg.push_back(sum); > } > int i = 0; > for (it.GoToBegin(), out.GoToBegin(); !it.IsAtEnd(); ++it, ++out) > { > out.Set(tmpImg[i++]); > } > } > > template < typename TInputImage, typename TOutputImage> > void SheppLoganFilter< TInputImage, TOutputImage >::PrintSelf(std::ostream& > os, itk::Indent indent) const > { > Superclass::PrintSelf(os,indent); > os << "VRadius = " << m_VRadius << std::endl; > } > > #endif > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -------------- next part -------------- A non-text attachment was scrubbed... Name: Source.tgz Type: application/x-gzip Size: 2553 bytes Desc: not available URL: From luis.ibanez at kitware.com Fri Dec 11 19:50:30 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 19:50:30 -0500 Subject: [Insight-users] Image index limits In-Reply-To: <5d7d0bca0912111337tde53c5q6df99c46837d07fd@mail.gmail.com> References: <5d7d0bca0912111337tde53c5q6df99c46837d07fd@mail.gmail.com> Message-ID: Hi Oleksandr, The components of the itk::Index are of type "long", while the components of the itk::Size are of type "unsigned long". Therefore, On Linux 64 bits, you can manage images up to the size of your memory. With your small machine of 16 CPUs and only 128 Gb of RAM you should do fine. ... and yes, I'm saying that with envy :-) On Windows 64 bits, on the other hand we are working on fixing a problem with the integer representation used in Windows. Back to your report on Linux: In the directory Insight/Testing/Code/IO we have a test for large memory that will attempt to create, write and read back and image of large size (above 2 Gb). Let's try running it in your computer. Please do the following: 1) go to the binary directory where you built ITK and do make edit_cache 2) Turn BUILD_TESTING ON 3) Go to the Advanced mode, search for ITK_COMPUTER_MEMORY_SIZE and set it to 128 (yes, the units are in Gb). 4) Do, "c" for configure 5) Do, "g" to generate 6) make -j32 (that shouldn't take long) :-) 7) Run the LargeImage test with the command: ctest -R LargeImageWrite -V and see if they pass. 8) Now you can take it further, by looking at the command that is used to run the tests, The last numeric argument is the number of pixels along each dimension, of the image that is created by the test. You could force this number until the total size of this 2D image is comparable to your 3D image. For example, by 70,000 the image will be of size 1,2 Gb. Please let us know what you find after running these tests. Thanks Luis -------------------------------------------------------------- On Fri, Dec 11, 2009 at 4:37 PM, Oleksandr Dzyubak wrote: > > Dear users, > > I tried to process the 1340x1300x720 pixel image and after the slice #104 I > am getting all zeros. > I checked the original image and it's good. It's full of info. > So I first decided to split that file using the > itkRegionOfInterestImageFilter class. > What I found is that all the chunks after the slice #104 are zeros > thus it's not the image processing filter that causes the problem. > > Here is my question. > Is there any limitation on an image index range? > Or in other words, what is the largest pixel volume that ITK still can > handle? > > Thanks, > > Alex > > PS. > I am using 64 bit Debian Linux. > 16 CPUs and 128 GB. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Fri Dec 11 20:39:22 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 20:39:22 -0500 Subject: [Insight-users] Hessian format for SymmetricEigenAnalysisImageFilter In-Reply-To: <4B228268.1020308@gmail.com> References: <4B228268.1020308@gmail.com> Message-ID: Hi Alex, The order for the Hessian follows the same pattern of the class Insight/Code/Common/ itkSymmetricSecondRankTensor.h The elements store only the upper right triangle of the actual matrix. For example, in 3D you get the following pattern 0 1 2 3 4 5 All that to say: Yes, the order that you are using is correct: Dxx Dxy Dxz Dyy Dyz Dzz BTW: You may want to use (or at least look) the filter: Insight/Code/BasicFilters/ itkHessianRecursiveGaussianImageFilter.h Regards, Luis --------------------------------------------------------------- On Fri, Dec 11, 2009 at 12:33 PM, Oleksandr Dzyubak wrote: > > Dear users, > > After I built the individual Hessian components, > in what order should I fill them up to further feed > into the SymmetricEigenAnalysisImageFilter? > > At the moment I am using the order below. > > H[0] = Dxx > H[1] = Dxy > H[2] = Dxz > H[3] = Dyy > H[4] = Dyz > H[5] = Dzz > > Is this correct order? > > Thanks, > > Alex > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Fri Dec 11 20:46:55 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 11 Dec 2009 20:46:55 -0500 Subject: [Insight-users] Interpolation Volume In-Reply-To: <26712924.post@talk.nabble.com> References: <26614974.post@talk.nabble.com> <26685129.post@talk.nabble.com> <26700914.post@talk.nabble.com> <26712924.post@talk.nabble.com> Message-ID: Hi Gupt, You mentioned that you *resized* the PNG slices. Did you resized them to be all of the *exact same* size ? The series reader requires that all the slices have the exact same number of pixels... Please try calling try { reader->Update(); } catch( itk::ExceptionObject & err ) { std::cerr << "ExceptionObject caught !" << std::endl; std::cerr << err << std::endl; return EXIT_FAILURE; } before you call Update() in the writer. and see if you get any error. We need to discriminate between errors from the process of reading the series and errors from the process of writing the image out. Please let us know what you find, Thanks Luis -------------------------------------------------------------------------- On Wed, Dec 9, 2009 at 11:14 AM, Gupt wrote: > > Hello Luis, > > I'm using the ImageSeriesReadWrite example from ITK User guide. I'm reading > a set of 2d png images and writing to a 3d file. Irene280052.png to > Irene280061.png - grayscale images of size 131 X141. With the program below, > at the command prompt I call the program with parameters >>ImageReadWrite 52 > 61 out1.mhd. > > Program: > > #include "itkImage.h" > #include "itkImageSeriesReader.h" > #include "itkImageFileWriter.h" > #include "itkNumericSeriesFileNames.h" > #include "itkPNGImageIO.h" > > int main( int argc, char ** argv ) > { > ?// Verify the number of parameters in the command line > ?if( argc < 4 ) > ? ?{ > ? ?std::cerr << "Usage: " << std::endl; > ? ?std::cerr << argv[0] << " firstSliceValue lastSliceValue > outputImageFile " << std::endl; > ? ?return EXIT_FAILURE; > ? ?} > > ?typedef unsigned char ? ? ? ? ? ? ? ? ? ? ? PixelType; > ?const unsigned int Dimension = 3; > > ?typedef itk::Image< PixelType, Dimension > ?ImageType; > ?typedef itk::ImageSeriesReader< ImageType > ?ReaderType; > ?typedef itk::ImageFileWriter< ? ImageType > ?WriterType; > > ?ReaderType::Pointer reader = ReaderType::New(); > ?WriterType::Pointer writer = WriterType::New(); > > ?const unsigned int first = atoi( argv[1] ); > ?const unsigned int last ?= atoi( argv[2] ); > > ?const char * outputFilename = argv[3]; > > ?typedef itk::NumericSeriesFileNames ? ?NameGeneratorType; > > ?NameGeneratorType::Pointer nameGenerator = NameGeneratorType::New(); > > ?nameGenerator->SetSeriesFormat( "Irene2800%02d.png" ); > > ?nameGenerator->SetStartIndex( first ); > ?nameGenerator->SetEndIndex( last ); > ?nameGenerator->SetIncrementIndex( 1 ); > > ?reader->SetImageIO( itk::PNGImageIO::New() ); > ?reader->SetFileNames( nameGenerator->GetFileNames() ?); > > ?writer->SetFileName( outputFilename ); > ?writer->SetInput( reader->GetOutput() ); > ?try > ? ?{ > ? ?writer->UpdateLargestPossibleRegion(); > ? ? ? ?writer->Update(); > ? ?} > ?catch( itk::ExceptionObject & err ) > ? ?{ > ? ?std::cerr << "ExceptionObject caught !" << std::endl; > ? ?std::cerr << err << std::endl; > ? ?return EXIT_FAILURE; > ? ?} > ?return EXIT_SUCCESS; > } > > > The images are the slices of the heart which I converted from DICOM to png > and did some image processing operations - improving resolution, resizing. > Is the problem related to the images I'm using? > > Thanks. > > Regards, > Gupt > > > > > Luis Ibanez wrote: >> >> Hi Gupt, >> >> We are talking about two different problems here. >> >> In your previous email, we dealt with a Reading problem >> that happens when a reader is reused for loading images >> of different sizes. >> >> That seems to have been fixed with the use of method >> >> ? ? ? ? ? ?reader->UpdateLargestPossibleRegion(). >> >> ... >> >> Now, we seem to be dealing with a problem in the output >> of your program. >> >> Please tell us what happens in the middle (between the >> reader and the writer). >> >> Are you simply reading a series of 2D images, and then >> writing them out right away ?? >> >> >> If your program is a single file (source code), and if it is not >> too long (less than 30Kb), it will be very helpful if you can >> post your source code to the mailing list. >> >> >> ? ? Thanks >> >> >> ? ? ? ? ? Luis >> >> >> ------------------------------ >> On Tue, Dec 8, 2009 at 4:17 PM, Gupt wrote: >>> >>> Hello Luis, >>> >>> Using UpdateLargestPossibleRegion() didn't give me the error for one set >>> of >>> slices but the mhd (raw and hdr) file created had errors. When I try to >>> open >>> the volume using MRIcro, I get the error - >>> >>> Unknown image format, and file size smaller than described in 'Header >>> Information' panel. >>> >>> I also tried using ITK SNAP but am unable to open the file. >>> >>> When I re-run the program for a different set of slices, I get the error >>> described in my last post - "Largest possible region ?does not fully >>> contain >>> requested paste IO regionPaste IO region:..." >>> >>> Thank you for your help. >>> >>> Regards, >>> Gupt >>> >>> Luis Ibanez wrote: >>>> >>>> Hi Gupt, >>>> >>>> This error is usually produced when you attempt to "reuse" a >>>> reader to load two images of different size, one after another. >>>> >>>> For example: >>>> >>>> ? ? reader->SetFileName("myImage1.mhd"); >>>> ? ? reader->Update(); >>>> >>>> ? ? reader->SetFileName("myImage2.mhd"); >>>> ? ? reader->Update(); >>>> >>>> >>>> The simple solution is to call "UpdateLargestPossibleRegion()" >>>> instead of calling the typical "Update()" method. >>>> >>>> So your code your look more like: >>>> >>>> >>>> ? ? reader->SetFileName("myImage1.mhd"); >>>> ? ? reader->UpdateLargestPossibleRegion(); >>>> >>>> ? ? reader->SetFileName("myImage2.mhd"); >>>> ? ? reader->UpdateLargestPossibleRegion(); >>>> >>>> >>>> Please let us know if that helps, >>>> >>>> >>>> ? ? ?Thanks >>>> >>>> >>>> ? ? ? ? ? Luis >>>> >>>> >>>> -------------------------------------------------------------------------------------------------------- >>>> On Mon, Dec 7, 2009 at 5:11 PM, Gupt wrote: >>>>> >>>>> Hello, >>>>> >>>>> I'm working with ImageSeriesReadWrite.cxx example from ITK user guide. >>>>> I'm >>>>> trying to build the 3d volume from a set of 2d mri images - >>>>> file280054.jpg >>>>> to file280062.jpg. But I'm receiving the following error: >>>>> >>>>> ExceptionObject Caught! >>>>> >>>>> itk:ExceptionObject <0134F560> >>>>> itk::Location: "void __thiscall itk::ImageFileWriter>>>> itk::Image>>>> char,3> >::Write(void)" >>>>> File: c:\itk\insight_toolkit\code\io\itkImageFileWriter.txx >>>>> Line: 271 >>>>> Description: itk::ERROR: ImageFileWriter(01934508): Largest possible >>>>> region >>>>> does not fully contain requested paste IO regionPaste IO region: >>>>> ImageIORegion (0134F998) >>>>> ?Dimension: 3 >>>>> ?Index: 0 0 0 >>>>> ?Size: 0 0 0 >>>>> Largest possible region: ImageRegion (0134FA4C) >>>>> ?Dimension: 3 >>>>> ?Index: [0, 0, 0] >>>>> ?Size: [0, 0, 0] >>>>> >>>>> Thanks for your help. >>>>> >>>>> Gupt >>>>> >>>>> >>>>> >>>>> >>>>> Luis Ibanez wrote: >>>>>> >>>>>> Hi Gupt, >>>>>> >>>>>> We no longer make any difference between a sequence of 2D slices >>>>>> and a 3D volume... unless.... they are not aligned, or... the spacing >>>>>> in >>>>>> the inter-slice direction is more than 5 times the intra-slice >>>>>> spacing. >>>>>> >>>>>> >>>>>> If you have segmentations for all the 2D slices, you can simply load >>>>>> them >>>>>> all into a single 3D image using an ImageSeriesReader, and then you >>>>>> can process it as a 3D volume. ?More specifically, you can proceed to >>>>>> compute its volume by using the LabelStatisticsImageFilter. >>>>>> >>>>>> >>>>>> ? ? ?Regards, >>>>>> >>>>>> >>>>>> ? ? ? ? ? ?Luis >>>>>> >>>>>> >>>>>> -------------------------------- >>>>>> On Mon, Dec 7, 2009 at 12:10 PM, Aditya Gupta >>>>>> wrote: >>>>>>> Hello Luis, >>>>>>> >>>>>>> Thanks for the reply. In continuation to my previous question... So >>>>>>> using >>>>>>> the stack of 2d MRI slices, I've a certain segmentation on each of >>>>>>> the >>>>>>> slices and using the segmented output I've built a surface model and >>>>>>> now >>>>>>> I've incorporated the intensities of the slices in the surface model. >>>>>>> Now, >>>>>>> I'm interested to find the volume of the segmented region. So, using >>>>>>> the >>>>>>> segmented outputs from the various slices, I want to reconstruct a >>>>>>> volume, >>>>>>> compute and finally visualize the volume. Can you give me a start on >>>>>>> how >>>>>>> I >>>>>>> can proceed? Is it possible to build a 3d volume (not surface model) >>>>>>> from >>>>>>> a >>>>>>> stack of 2d slices (only one axial view not 3 views)? Are there any >>>>>>> standard >>>>>>> algorithms being used for construction of 3d volumes from 2d slices? >>>>>>> >>>>>>> Appreciate your help in this matter. >>>>>>> >>>>>>> Regards, >>>>>>> Gupt >>>>>>> >>>>>>> On Wed, Dec 2, 2009 at 7:07 PM, Luis Ibanez >>>>>>> wrote: >>>>>>>> >>>>>>>> Hi ?Gupt, >>>>>>>> >>>>>>>> >>>>>>>> Yes, just do the following: >>>>>>>> >>>>>>>> >>>>>>>> A) Load the 2D slices into a single 3D image using the >>>>>>>> ? ? itk::ImageSeriesReader, >>>>>>>> >>>>>>>> >>>>>>>> B) Connect the image an ImageInterpolator >>>>>>>> ? ? The typical choice is the itkLinearImageInterpolateFunction >>>>>>>> class, >>>>>>>> ? ? (but you can also use NearestNeighbors, BSpline and >>>>>>>> ? ? ?WindowedSinc, it is a trade-off between computation time and >>>>>>>> ? ? ?interpolation precision) >>>>>>>> >>>>>>>> >>>>>>>> C) Take all the points from your surface model and for every >>>>>>>> ? ? point call the method: >>>>>>>> >>>>>>>> ? ? ? PixelType ?pixelValue = ? ?Interpolator->Evaluate( point ) >>>>>>>> >>>>>>>> ? ?and then assign that pixel value to the corresponding point >>>>>>>> ? ?in the surface model. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ?Please let us know if you run into any problem. >>>>>>>> >>>>>>>> >>>>>>>> ? ? ? Thanks >>>>>>>> >>>>>>>> >>>>>>>> ? ? ? ? ?Luis >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------------------ >>>>>>>> On Wed, Dec 2, 2009 at 2:35 PM, Gupt wrote: >>>>>>>> > >>>>>>>> > I've a stack of 2d cardiac mri images in single view. I've written >>>>>>>> the >>>>>>>> > code >>>>>>>> > to do a surface reconstruction of the left ventricle wall of the >>>>>>>> heart >>>>>>>> > (looks like a hollow cylinder). Is there a method/ function to >>>>>>>> > incorporate >>>>>>>> > the intensity information (in the 2d slices) in to the model, like >>>>>>>> some >>>>>>>> > kind >>>>>>>> > of interpolation to obtain intensity between the slices? Thanks >>>>>>>> for >>>>>>>> the >>>>>>>> > help. >>>>>>>> > -- >>>>>>>> > View this message in context: >>>>>>>> > >>>>>>>> http://old.nabble.com/Interpolation-Volume-tp26614974p26614974.html >>>>>>>> > Sent from the ITK - Users mailing list archive at Nabble.com. >>>>>>>> > >>>>>>>> > _____________________________________ >>>>>>>> > Powered by www.kitware.com >>>>>>>> > >>>>>>>> > Visit other Kitware open-source projects at >>>>>>>> > http://www.kitware.com/opensource/opensource.html >>>>>>>> > >>>>>>>> > Kitware offers ITK Training Courses, for more information visit: >>>>>>>> > http://www.kitware.com/products/protraining.html >>>>>>>> > >>>>>>>> > Please keep messages on-topic and check the ITK FAQ at: >>>>>>>> > http://www.itk.org/Wiki/ITK_FAQ >>>>>>>> > >>>>>>>> > Follow this link to subscribe/unsubscribe: >>>>>>>> > http://www.itk.org/mailman/listinfo/insight-users >>>>>>>> > >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Regards, >>>>>>> Aditya Gupta, Ph.D. >>>>>>> Post Doc Researcher >>>>>>> UCF Computer Vision Lab >>>>>>> Orlando, FL >>>>>>> O: (407) 882 0130 >>>>>>> M: (407) 451 7735 >>>>>>> >>>>>> _____________________________________ >>>>>> Powered by www.kitware.com >>>>>> >>>>>> Visit other Kitware open-source projects at >>>>>> http://www.kitware.com/opensource/opensource.html >>>>>> >>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>> http://www.kitware.com/products/protraining.html >>>>>> >>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>> >>>>>> Follow this link to subscribe/unsubscribe: >>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>> >>>>>> >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://old.nabble.com/Interpolation-Volume-tp26614974p26685129.html >>>>> Sent from the ITK - Users mailing list archive at Nabble.com. >>>>> >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.html >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://old.nabble.com/Interpolation-Volume-tp26614974p26700914.html >>> Sent from the ITK - Users mailing list archive at Nabble.com. >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://old.nabble.com/Interpolation-Volume-tp26614974p26712924.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Sat Dec 12 08:12:23 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sat, 12 Dec 2009 08:12:23 -0500 Subject: [Insight-users] US Patent Office: Asking For Ideas To Enhance Patent Quality Message-ID: The US Patent Office (USPTO) is requesting suggestions on how to improve patent quality. If you are not yet aware of the low level of quality of the patents awarded this year, please look at: http://www.nytimes.com/imagepages/2009/12/13/magazine/13endpaper.html?ref=magazine For Example: * 7,597,727 Method for starting a Fire !!!! * 7,607,960 Clapping tool for cheering * 7,494,681 Food Products Comprising Fat and Salt * 7,579,036 Method for Making partly popped popcorn * D600,187 Wheel ...!!! * 7,485,330 Foodstuff containing a moisty, meaty filling * 7,487,606 Functional Shoe and this is without venturing on the shameful area of Software Patents... .... So, 2009 will go down in history as the year in which humans finally figured out how to make Fire and build a Wheel: http://www.google.com/patents/about?id=NgHJAAAAEBAJ&dq=7597727 http://www.google.com/patents/about?id=zbnIAAAAEBAJ&dq=D600187 ... and the year when the US Patent Office awarded to a single individual the exclusive Monopoly on: * Using * Making * Selling * Offering for sale, and * Importing such useful "inventions" for the next 20 years. !! The requirements for "Non-Obviousness" and "Novelty" have totally fade from the practices of the US Patent office, under the complacent oversight of the Court of Appeals of the Federal Circuit (CAFC). Given the sad state of the Patent office, *ANY* suggestion will be an improvement, so, please don't be shy, and report your suggestion by following the instructions in the PDF document below: == Request for Comments on Enhancement in the Quality of Patents (PDF), http://www.uspto.gov/patents/law/notices/74fr65093.pdf DEPARTMENT OF COMMERCE Patent and Trademark Office [Docket No.: PTO?P?2009?0054] Request for Comments on Enhancement in the Quality of Patents AGENCY: United States Patent and Trademark Office, Commerce. ACTION: Request for comments. SUMMARY: The United States Patent and Trademark Office (USPTO) has in place procedures for measuring the quality of patent examination, including the decision to grant a patent based on an application and of other Office actions issued during the examination of the application. From dan.muel at gmail.com Sun Dec 13 02:44:48 2009 From: dan.muel at gmail.com (Dan Mueller) Date: Sun, 13 Dec 2009 08:44:48 +0100 Subject: [Insight-users] ImageFunction Evaluate constness Message-ID: <2b8d077d0912122344h2c01be5cu62e7f0bae1d1681f@mail.gmail.com> Hi Insight community, I am writing an ImageFunction for which the value depends on the image point AND previous calls to the function. To implement this I have added a member variable (a double) to my subclassed image function. I want to set this member variable within: virtual TOutput Evaluate( const PointType& point ) const I guess you can see my issue: Evaluate is marked const, so calls such as this->m_MemberVariable = 123.456; do not compile. I get the following error with Visual Studio 2005: error C2166: l-value specifies const object Of course I can get around this using const_cast on the this pointer: MyImageFunction* function = const_cast*>( this ); function->m_MemberVariable = 123.456; Some questions: Am I abusing ImageFunction? Does use of const_cast on the this pointer invoke the wrath of the const-correctness police? Is there a better way? I guess I could create my own NonConstSingleThreadedImageFunction, but then I'd bring the code-reuse police knocking... Any suggestions appreciated. Regards, Dan From luis.ibanez at kitware.com Sun Dec 13 06:39:53 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 13 Dec 2009 06:39:53 -0500 Subject: [Insight-users] OPEN ACCESS: OSTP: NIH Public Access Policy for Other Federal Agencies Message-ID: http://news.slashdot.org/firehose.pl?op=view&type=story&sid=09/12/12/0457241 "Currently, the National Institutes of Health require that research funded by its grants be made available to the public online at no charge within 12 months of publication. Now the Office of Science and Technology Policy in the Executive Office of the President is launching a 'Public Access Policy Forum' to determine whether this policy should be extended to other science agencies and, if so, how it should be implemented. 'The NIH model has a variety of features that can be evaluated, and there are other ways to offer the public enhanced access to peer-reviewed scholarly publications,' OSTP says in the request for information. 'The best models may [be] influenced by agency mission, the culture and rate of scientific development of the discipline, funding to develop archival capabilities, and research funding mechanisms.' The OSTP will conduct an interactive, online discussion that will focus on three major questions: Should this policy be extended to other science agencies and, if so, how it should be implemented? In what format should the data be submitted in order to make it easy to search and retrieve information? What are the best mechanisms to ensure compliance? 'It's very encouraging to see the Obama Administration focus on ensuring public access to the results of taxpayer-funded research [reg. required] as a key way to maximize our collective investment in science,' says Heather Joseph, executive director of the Scholarly Publishing and Academic Resources Coalition." Discussion at: http://news.slashdot.org/comments.pl?sid=09/12/12/0457241 As a professor myself, I hope that the unintended consequence will be that we move away from the restrictive, expensive, academic journal publishers like Elsevier and toward an open model of academic publication where your recognition and peer review come from broad, open, dissemination. I, for one, would like to see a peer review system where articles are posted on-line and evaluations (i.e. referee reports) are also posted in an open, strongly authenticated, way. I don't know about you, but one thing that really annoys me is to receive a referee report on a paper where it is obvious that the referee hasn't even read past the introduction. I believe that forcing the evaluations to be open, and strongly-authenticated (so that everyone knows exactly who is writing it) would improve the quality and credibility of research. I suspect that some people would claim that if referee reports aren't anonymous, then they won't be honest. But, a referee report should not be about opinions, it should be a straight forward analysis of the results reported in the paper. If it's really science, then it should be completely objective, thus opinion and personality should have nothing to do with it. Hence, there should be no need for anonymity. When I grade my students' papers, it certainly isn't anonymous, but it doesn't need to be because I am giving them objective feedback (e.g. "this is wrong because you said cos(x+h) = cos(x) + cos(h) which is not true."). Using an open system would allow articles to receive recognition and ranking based upon the open discussion of their merits. Individuals doing the ranking could also receive recognition for the quality of their work, which is important because it can sometimes take weeks of work to thoroughly understand a new result. That work should receive more acknowledgment in the academic system than it currently does. (I suspect it's the current lack of acknowledgment for refereeing which makes many people into lazy referees. After all, why bother putting much effort into that referee report when it won't count toward promotion. You are better off spending that time writing your own papers.) Finally, using an open system gives the public greater credibility in the system. When people want to know why paper A is considered correct and paper B isn't, the analysis and discussion will be available, too. You can post your opinion to the Office of Science & Technology Policy (OSTP) at: http://blog.ostp.gov/2009/12/10/policy-forum-on-public-access-to-federally-funded-research-implementation/ From luis.ibanez at kitware.com Sun Dec 13 07:04:45 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 13 Dec 2009 07:04:45 -0500 Subject: [Insight-users] ImageFunction Evaluate constness In-Reply-To: <2b8d077d0912122344h2c01be5cu62e7f0bae1d1681f@mail.gmail.com> References: <2b8d077d0912122344h2c01be5cu62e7f0bae1d1681f@mail.gmail.com> Message-ID: Hi Dan, Interesting dilemma... The short answer is: Yes, You are abusing the Functor. :-) Given that the functor is, by design, intended to perform pixel-wise stateless operations. However, your algorithmic needs are certainly legitimate, and therefore we should find a way of making easy to implement your algorithm. One option that comes to mind is the design used in the pairs of LevelSet Function+Filter. In particular the use of a data structure that is own by the filter and it is passed to the Function as "working space". I believe that in that context the motivation is mostly to deal with multiple threads, nonetheless, the solution may be applicable to your problem. You could implement a functor that at initialization time receives a pointer to that data structure (own by the Filter), and then, during the Evaluate() method that structure will be modified. This however, requires to mark that structure as "mutable", and therefore, one would think that we could have just made your double variable to be "mutable" in the first place. Using "mutable" here, however, is another design conflict, since "mutable" should only be used for values that perform caching, and not for values that represent "state". In your case, it looks like you are really managing a "state" with this internal number. It is good that you mention the implications for threading as well, since, hosting state in the Functor will make it non-thread-safe. Could you help us understand the algorithm ? That is, please describe the algorithm that you want to implement, instead of describing the problem that you have found in one of the potential mechanisms of implementing such algorithm. It is quite likely that we may have another trick in store that could be used for that algorithm. ...and... if we don't find anything, then we should design something that have a lot of potential for reuse, as you pointed out. Thanks Luis ---------------------------------------------------------------- On Sun, Dec 13, 2009 at 2:44 AM, Dan Mueller wrote: > Hi Insight community, > > I am writing an ImageFunction for which the value depends on the image > point AND previous calls to the function. > > To implement this I have added a member variable (a double) to my > subclassed image function. I want to set this member variable within: > ? ?virtual TOutput Evaluate( const PointType& point ) const > > I guess you can see my issue: Evaluate is marked const, so calls such as > ? ?this->m_MemberVariable = 123.456; > do not compile. I get the following error with Visual Studio 2005: > ? ?error C2166: l-value specifies const object > > Of course I can get around this using const_cast on the this pointer: > ? ?MyImageFunction* function = > ? ? ?const_cast*>( this ); > ? ?function->m_MemberVariable = 123.456; > > Some questions: > Am I abusing ImageFunction? > Does use of const_cast on the this pointer invoke the wrath of the > const-correctness police? > Is there a better way? > > I guess I could create my own NonConstSingleThreadedImageFunction, but > then I'd bring the code-reuse police knocking... > > Any suggestions appreciated. > > Regards, Dan > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From body at nabla.org Sun Dec 13 06:55:10 2009 From: body at nabla.org (Dirk Boye) Date: Sun, 13 Dec 2009 12:55:10 +0100 Subject: [Insight-users] Convert vector field from vtkUnstructuredGrid to itk::Image with interpolation In-Reply-To: References: <1260442077.21404.0@dirk-pc> Message-ID: <0827d55164e1c14afae37cc56692c5ef-EhVcX1tJRQBcRwsfDBw3AF9BdAJSS1xcXV9NADBSWV5aVFEWXlZ1H1dVWDBeQ0MCWFpcQ1lV-webmailer2@server04.webmailer.hosteurope.de> Hi Luiz, Thank you very much! I used itk::DeformationFieldSource That did it quite well! Cheers, Dirk > Hi Dirk, > > Two options: > > A) Use any of the KernelTranforms > http://www.itk.org/Doxygen/html/classitk_1_1KernelTransform.html > for example the > http://www.itk.org/Doxygen/html/classitk_1_1ThinPlateSplineKernelTransform.html > > > or > > B) Use the itkBSplineScatteredDataPointSetToImageFilter.h > > > --- > > If you go for (A), you can set the Source Landmarks to the > positions of the tails of the vectors, and put the Target landmarks > to the positions of the heads of the vectors. > > Then you can simply use the TransformPoint() method, to > evaluate the value of the Vector at every new point in space. > Note that the transform will give you the position of the head > of the vector, therefore, to get the actual vector you need to > do: > > VectorType v = transform->TransformPoint( p ) - p; > > --- > > If you go for (B), please read the following paper in the > Insight Journal: > > N-D C^k B-Spline Scattered Data Approximation > Tustison N.J., Gee J.C. > PICSL, University of Pennsylvania > > http://hdl.handle.net/1926/140 > http://www.insight-journal.org/browse/publication/57 > > > > Regards, > > > Luis > > > > ------------------------------------------------------------ > On Thu, Dec 10, 2009 at 5:47 AM, Dirk Boye wrote: >> Dear list, >> >> Let's say I have a list of vectors in an vtkUnstructuredGrid like >> this: >> >> # vtk DataFile Version 3.0 >> vtk output >> ASCII >> DATASET UNSTRUCTURED_GRID >> POINTS 5 float >> -2 2 0 2 2 0 0 0 0 >> -2 -2 0 2 -2 0 >> CELL_TYPES 0 >> >> POINT_DATA 5 >> VECTORS vectors float >> 1 -1 0 1 1 0 1 0 0 >> 1 1 0 1 -1 0 >> >> >> I'd like to create a continuous vector field 'image' of dimensions >> 4x4x1 with a spacing of 1. >> >> How can I read the vectors into a itk::Image and do an interpolation >> (BSpline for example) on the vectors? >> Usually one resamples an image and interpolates the new pixels... but >> with only some vectors given like above and given image dims/spacing >> I have no clue. >> >> Attached image is a sketch of what I'd like to do :) >> >> Are there any nice classes to do that? >> >> Thanks, >> Dirk >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > From luis.ibanez at kitware.com Sun Dec 13 07:09:31 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 13 Dec 2009 07:09:31 -0500 Subject: [Insight-users] Convert vector field from vtkUnstructuredGrid to itk::Image with interpolation In-Reply-To: <0827d55164e1c14afae37cc56692c5ef-EhVcX1tJRQBcRwsfDBw3AF9BdAJSS1xcXV9NADBSWV5aVFEWXlZ1H1dVWDBeQ0MCWFpcQ1lV-webmailer2@server04.webmailer.hosteurope.de> References: <1260442077.21404.0@dirk-pc> <0827d55164e1c14afae37cc56692c5ef-EhVcX1tJRQBcRwsfDBw3AF9BdAJSS1xcXV9NADBSWV5aVFEWXlZ1H1dVWDBeQ0MCWFpcQ1lV-webmailer2@server04.webmailer.hosteurope.de> Message-ID: Hi Dirk, Thanks for letting us know. You are right, I missed to mention the itk::DeformationFieldSource class and its examples of use in: Insight/Examples/Registration/ DeformationFieldInitialization.cxx Insight/Examples/Registration/ LandmarkWarping2.cxx Thanks for sharing the solution that you found. Luis ---------------------------------------------------------------------------- On Sun, Dec 13, 2009 at 6:55 AM, Dirk Boye wrote: > Hi Luiz, > > Thank you very much! I used itk::DeformationFieldSource > That did it quite well! > > Cheers, > Dirk > >> Hi Dirk, >> >> Two options: >> >> ? ? ?A) Use any of the KernelTranforms >> http://www.itk.org/Doxygen/html/classitk_1_1KernelTransform.html >> ? ? ? ? ?for example the >> http://www.itk.org/Doxygen/html/classitk_1_1ThinPlateSplineKernelTransform.html >> >> >> or >> >> ? ? B) Use the itkBSplineScatteredDataPointSetToImageFilter.h >> >> >> --- >> >> If you go for (A), you can set the Source Landmarks to the >> positions of the tails of the vectors, and put the Target landmarks >> to the positions of the heads of the vectors. >> >> Then you can simply use the TransformPoint() method, to >> evaluate the value of the Vector at every new point in space. >> Note that the transform will give you the position of the head >> of the vector, therefore, to get the actual vector you need to >> do: >> >> ? ? VectorType v = ?transform->TransformPoint( p ) ?- ?p; >> >> --- >> >> If you go for (B), please read the following paper in the >> Insight Journal: >> >> N-D C^k B-Spline Scattered Data Approximation >> Tustison N.J., Gee J.C. >> PICSL, University of Pennsylvania >> >> http://hdl.handle.net/1926/140 >> http://www.insight-journal.org/browse/publication/57 >> >> >> >> Regards, >> >> >> ? ? ? ?Luis >> >> >> >> ------------------------------------------------------------ >> On Thu, Dec 10, 2009 at 5:47 AM, Dirk Boye wrote: >>> Dear list, >>> >>> Let's say I have a list of vectors in an vtkUnstructuredGrid like >>> this: >>> >>> # vtk DataFile Version 3.0 >>> vtk output >>> ASCII >>> DATASET UNSTRUCTURED_GRID >>> POINTS 5 float >>> -2 2 0 2 2 0 0 0 0 >>> -2 -2 0 2 -2 0 >>> CELL_TYPES 0 >>> >>> POINT_DATA 5 >>> VECTORS vectors float >>> 1 -1 0 1 1 0 1 0 0 >>> 1 1 0 1 -1 0 >>> >>> >>> I'd like to create a continuous vector field 'image' of dimensions >>> 4x4x1 with a spacing of 1. >>> >>> How can I read the vectors into a itk::Image and do an interpolation >>> (BSpline for example) on the vectors? >>> Usually one resamples an image and interpolates the new pixels... but >>> with only some vectors given like above and given image dims/spacing >>> I have no clue. >>> >>> Attached image is a sketch of what I'd like to do :) >>> >>> Are there any nice classes to do that? >>> >>> Thanks, >>> Dirk >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >>> >> >> > > From luis.ibanez at kitware.com Sun Dec 13 07:15:39 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 13 Dec 2009 07:15:39 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912110923o497f1b48h27492a58e85f07cf@mail.gmail.com> References: <4db4735c0912092051j11e5494g2a67e58f0a482adf@mail.gmail.com> <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> <1260509804319-4149580.post@n2.nabble.com> <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> <4db4735c0912110553x7086b85cub0301eed9db5ee44@mail.gmail.com> <1260551767075-4152470.post@n2.nabble.com> <4db4735c0912110923o497f1b48h27492a58e85f07cf@mail.gmail.com> Message-ID: Bill, URI, If I may suggest: This seems to be a task for a Yuuguu session. (www.yuuguu.com). Yuuguu makes possible to share screens and it will make possible to see what URI is doing as he tries to configure. We have found Yuuguu to be quite an effective tool for pair-programming, when working remotely. We have also used it in a couple of ITK Tcons. It can be used past Firewalls, and it integrates with Skype. It runs in Windows, Mac and Linux. and... despite the fact that it is not Open Source, it is still a good application. My 2 cents, Luis ------------------------------------------------------------------------- On Fri, Dec 11, 2009 at 12:23 PM, Bill Lorensen wrote: > I am afraid will have to start from scratch again. Since I can't see > what buttons you are hitting I can't tell where you are going wrong. > ----------------------------------------------------------------------------------------------- From subarna29 at gmail.com Sun Dec 13 11:26:58 2009 From: subarna29 at gmail.com (Subarna Ghosh) Date: Sun, 13 Dec 2009 11:26:58 -0500 Subject: [Insight-users] DTI nrrd processing. Message-ID: <64fe815c0912130826g1835ca71rb1ba7ef16f054ff0@mail.gmail.com> Hi all, I am trying to work with DTI images, and need to read in some tensor nrrd files that I generated through MRIstudio from my original DWI images. Basically it gave me files in nrrd format , one each for Dxx, Dyy etc. It will be great if someone could direct me to the method of reading in such a format. I tried using itkNrrdVectorImageReadTest.cxx, and also itkNrrdDiffusionTensor3DImageReadTest.cxx, but they throw exceptions in reader->update(). I will appreciate any help in this direction. Thanks and regards, Subarna Ghosh. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mort.motes at gmail.com Sun Dec 13 18:20:27 2009 From: mort.motes at gmail.com (motes motes) Date: Mon, 14 Dec 2009 00:20:27 +0100 Subject: [Insight-users] Pros and cons of the MeanSquaresImageToImageMetric ? Message-ID: <54eca6a70912131520r42d03382g7ce250af2e004227@mail.gmail.com> The MeanSquaresImageToImageMetric also know as the SSD (sum of squared differences) is often a good similarity measure between images. I have read in various articles that is not recommended for images with large intensity differences but they don't explain why. Are there any documentation anywhere that explains the reason for this? From stef.dietrich.imap at googlemail.com Mon Dec 14 06:58:51 2009 From: stef.dietrich.imap at googlemail.com (Stefan Dietrich) Date: Mon, 14 Dec 2009 12:58:51 +0100 Subject: [Insight-users] MaximumImageFilter with Inputimage index Message-ID: Hi together, I'm using itk with Python and currently I'm stuck in a part o my algorithm which has to compare say up to 30 3d images and fin the corresponding maximum in each voxel. My idea was now to start from the first image and com pare this with the second one. Using itk.MaximumImageFilter I can produce an output image with the maximum values of each image. But now I also want to keep an additional image with the image-number where the maximum grayvalue occured. Is such a method implemented in the MaximumImageFilter?. Thanks Stefan -------------- next part -------------- An HTML attachment was scrubbed... URL: From bruno.arbter at isv.uni-stuttgart.de Mon Dec 14 07:47:10 2009 From: bruno.arbter at isv.uni-stuttgart.de (Bruno Arbter) Date: Mon, 14 Dec 2009 13:47:10 +0100 Subject: [Insight-users] priors in itkBayesianClassifierImageFilter Message-ID: <000101ca7cbb$8d60a450$a821ecf0$@arbter@isv.uni-stuttgart.de> I want to use itkBayesianClassifierImageFilter with priors but I cannot find any function to set the priors (e.g. SetPriors) in the class itkBayesianClassifierImageFilter. How is the correct way to set priors? Bruno From karthik.krishnan at kitware.com Mon Dec 14 08:14:02 2009 From: karthik.krishnan at kitware.com (Karthik Krishnan) Date: Mon, 14 Dec 2009 08:14:02 -0500 Subject: [Insight-users] priors in itkBayesianClassifierImageFilter In-Reply-To: <1075827801198072689@unknownmsgid> References: <1075827801198072689@unknownmsgid> Message-ID: <9ddb27260912140514o7c5dc9d8h46acc83be481c8fe@mail.gmail.com> Take a look at Examples/Statistics/BayesianClassifier.cxx: and at Examples/Statistics/BayesianClassifierInitializer.cxx: This class does have a method to set the priors. The prior image expected (optionally as the second input) is a N component VectorImage, where N is the number of classes. If the prior image is not specified, a uniform distribution is taken, (ie no priors.). The API to do this is simply.... filter->SetInput( 1, priorVectorImage ); This is documented clearly in the doxygen. Thanks -- karthik On Mon, Dec 14, 2009 at 7:47 AM, Bruno Arbter wrote: > I want to use itkBayesianClassifierImageFilter with priors but I cannot find > any function to set the priors (e.g. SetPriors) in the class > itkBayesianClassifierImageFilter. How is the correct way to set priors? > > Bruno > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > -- _________________________________ Karthik Krishnan R&D Engineer, Kitware Inc. Ph: +1 5188814919, +91 9538477060 From mingchao2005 at gmail.com Mon Dec 14 09:30:04 2009 From: mingchao2005 at gmail.com (Ming Chao) Date: Mon, 14 Dec 2009 08:30:04 -0600 Subject: [Insight-users] MultiThreader error in SheppLoganFilter? In-Reply-To: References: Message-ID: Hi Louis, Thanks very much for spotting the failure point. I realized that it was due to the missing VRadius. I appreciate your comments on the coding improvement. I got the original code from online. I would be very happy to share it with the insight community if I were the original author. Here is the link to the code just in case you want to contact them: http://www.perlproductions.at/index.php?choice=referenz&lang=en&id=15 Thanks, Ming On Fri, Dec 11, 2009 at 5:19 PM, Luis Ibanez wrote: > Hi Ming, > > Thanks for posting your code. > > > The error is that you are not calling > the method that sets the VRadius value. > > > That's why you get the error message: > > > "Member variable VRadius > not properly initialized." > > > You simply need to add: > > filter->SetVRadius( 1 ); > > before you make the call to Update(); > > ... > > Of course, > you may want to try values of "VRadius" > different from 1. > > > BTW: doing > > "using namespace std;" > > is a really bad practice. > > Opening a namespace defeats the purpose > of having namespaces at all. > > > Please get used to typing: > > std::string > std::cout > std::cerr > std::endl > > and so on.... > > > > Also, please note that the implementation of > templated classes shouldn't be put in .cpp files. > We usually put this in .txx files. > > Please find attached the three files fixed > along with a CMakeLists.txt file. > > > BTW: your code was missing several > essential lines of code, such as includes > for ImageFileReader, ImageFileWriter and > the ShepLogan filter itself. > > > We strongly encourage you to share this > filter with the ITK community by submitting > it to the Insight Journal :-) > > http://www.insight-journal.org/ > > > > Regards, > > Luis > > > ------------------------------- > On Tue, Dec 8, 2009 at 6:19 PM, Ming Chao wrote: > > Hi, > > I got a code of SheppLoganFilter and used it to filter a raw sinogram > image > > (I am not sure if this is a correct use though). However, I got the > > following error: > > writing image image/test2.png caused a problem. > > itk::ExceptionObject (0122FEC4) > > Location: "void __thiscall itk::MultiThreader::SingleMethodExecute(void)" > > File: \ITK\InsightToolkit-3.8.0\Code\Common\itkMultiThreader.cxx > > Line: 429 > > Description: itk::ERROR: MultiThreader(01870068): Exception occurred > during > > Sing > > leMethodExecute > > c:\my rsch work\image reconstruction\code\SheppLoganFilter.cpp:27: > > itk::ERROR: SheppLoganFilter(0177DD28): Member variable VRadius not > properly > > ini > > tialized. > > > > The codes I used are attached in the following. Any > > comments/suggestions/help would be greatly appreciated. > > > > The main function: > > #include "itkImage.h" > > using namespace std; > > int main(int argc, char* argv[]) > > { > > string filename("image/test.png"); > > string filename2("image/test2.png"); > > typedef unsigned char uchar; > > typedef uchar PixelType; > > const int Dimension = 2; > > typedef itk::Image< PixelType, 2 > ImageType; > > > > //reading image from disk > > typedef itk::ImageFileReader< ImageType > ReaderType; > > ReaderType::Pointer reader = ReaderType::New(); > > reader->SetFileName(filename); > > reader->Update(); > > ImageType::Pointer input_image = ImageType::New(); > > input_image = reader->GetOutput(); > > typedef SheppLoganFilter FilterType; > > FilterType::Pointer filter = FilterType::New(); > > filter->SetInput(input_image); > > typedef itk::ImageFileWriter< ImageType > WriterType; > > WriterType::Pointer writer = WriterType::New(); > > writer->SetInput(filter->GetOutput()); > > writer->SetFileName(filename2); > > try { > > writer->Update(); > > } > > catch( itk::ExceptionObject exp ) > > { > > cerr << "writing image " << filename2 << " caused a problem." << endl; > > cerr << exp << endl; > > return 1; > > } > > } > > The SheppLoganFilter.h: > > > > #ifndef __SheppLoganFilter_h > > #define __SheppLoganFilter_h > > #include > > > > //ITK includes > > #include "itkImageToImageFilter.h" > > #include "itkImageRegionIterator.h" > > #include "itkConstNeighborhoodIterator.h" > > #include "itkOffset.h" > > /*! > > * \class SheppLoganFilter > > * \brief Applies a shepp logan filter to an image and returns the > filtered > > image. > > */ > > template < typename TInputImage, typename TOutputImage > > > class SheppLoganFilter : public itk::ImageToImageFilter< TInputImage, > > TOutputImage > > > { > > public: > > /*! Standard class typedefs. */ > > typedef SheppLoganFilter Self; > > typedef itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass; > > typedef itk::SmartPointer< Self > Pointer; > > typedef itk::SmartPointer< const Self > ConstPointer; > > /*! Method for creation through object factory */ > > itkNewMacro(Self); > > /*! Run-time type information (and related methods) */ > > itkTypeMacro(SheppLoganFilter, ImageToImageFilter); > > //Convenience typedefs > > typedef TInputImage ImageType; > > typedef TOutputImage OImageType; > > typedef typename ImageType::RegionType RegionType; > > typedef itk::ConstNeighborhoodIterator< ImageType > > > NeighborhoodIteratorType; > > typedef itk::ImageRegionIterator< OImageType> IteratorType; > > typedef typename ImageType::ConstPointer ImageConstPointer; > > typedef typename OImageType::Pointer ImagePointer; > > /*! Extract dimension from input and output image. */ > > itkStaticConstMacro(ImageDimension, unsigned int, > > TInputImage::ImageDimension); > > itkSetMacro(VRadius, int); > > itkGetConstReferenceMacro(VRadius, int); > > protected: > > SheppLoganFilter(); > > virtual ~SheppLoganFilter() {} > > /*! Standard "PrintSelf" method */ > > void PrintSelf(std::ostream& os, itk::Indent indent) const; > > /*! > > * SheppLoganFilter can be implemented as a > > * multithreaded filter. Therefore, this implementation provides > > * a ThreadedGenerateData() routine which is called for each > > * processing thread. The output image data is allocated > > * automatically by the superclass prior to calling > > * ThreadedGenerateData(). ThreadedGenerateData can only > > * write to the portion of the output image specified by the > > * parameter "outputRegionForThread". > > * > > * \sa ImageToImageFilter::ThreadedGenerateData(), > > * ImageToImageFilter::GenerateData() > > */ > > void ThreadedGenerateData(const RegionType& regionForThread, > > > > int threadId ); > > private: > > SheppLoganFilter(const Self&) {}; //purposely not implemented > > void operator=(const Self&); //purposely not implemented > > /*! vertical radius of shepp logan filter */ > > int m_VRadius; > > }; > > > > #ifndef ITK_MANUAL_INSTANTIATION > > #include "SheppLoganFilter.cpp" > > #endif > > #endif > > And the SheppLoganFilter.cpp: > > #ifndef _SheppLoganFilter_txx > > #define _SheppLoganFilter_txx > > #include "SheppLoganFilter.h" > > #ifndef PI > > #define PI 3.141592653 > > #endif > > template < typename TInputImage, typename TOutputImage > > > SheppLoganFilter< TInputImage, TOutputImage >::SheppLoganFilter() > > { > > m_VRadius = 0; > > } > > template < typename TInputImage, typename TOutputImage > > > void SheppLoganFilter< TInputImage, TOutputImage > > > ::ThreadedGenerateData(const RegionType& > > regionForThread, int threadId ) > > { > > if(m_VRadius <= 0) > > itkExceptionMacro(<< "Member variable VRadius not properly > initialized."); > > //pointers to output and input image > > ImageConstPointer inputImage = this->GetInput(); > > ImagePointer outputImage = this->GetOutput(); > > RegionType inputRegion = inputImage->GetLargestPossibleRegion(); > > RegionType outputRegion = outputImage->GetLargestPossibleRegion(); > > IteratorType out(outputImage, outputRegion); > > NeighborhoodIteratorType::RadiusType radius; > > radius.Fill(0); > > radius[1] = m_VRadius; > > int vDim = m_VRadius*2+1; > > NeighborhoodIteratorType it(radius, inputImage, inputRegion); > > //pointer to Shepp-Logan filter weights > > float *sl = new float[vDim]; > > //vector with the OffsetTypes for the neighborhood iterator > > std::vector< NeighborhoodIteratorType::OffsetType > offset; > > int actIndex; > > for(int i = -m_VRadius; i <= m_VRadius; ++i) > > { > > actIndex = i + m_VRadius; > > *(sl+actIndex) = -2.0/(PI*PI*(4*i*i-1)); > > NeighborhoodIteratorType::OffsetType tmpO = {{0,i}}; > > offset.push_back(tmpO); > > } > > std::vector< int > tmpImg; > > for (it.GoToBegin(), out.GoToBegin(); !it.IsAtEnd(); ++it, ++out) > > { > > float sum = 0; > > for(int i = 0; i < m_VRadius*2+1; ++i) > > { > > sum += *(sl+i) * it.GetPixel(offset[i]); > > } > > tmpImg.push_back(sum); > > } > > int i = 0; > > for (it.GoToBegin(), out.GoToBegin(); !it.IsAtEnd(); ++it, ++out) > > { > > out.Set(tmpImg[i++]); > > } > > } > > > > template < typename TInputImage, typename TOutputImage> > > void SheppLoganFilter< TInputImage, TOutputImage > >::PrintSelf(std::ostream& > > os, itk::Indent indent) const > > { > > Superclass::PrintSelf(os,indent); > > os << "VRadius = " << m_VRadius << std::endl; > > } > > > > #endif > > > > > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From luis.ibanez at kitware.com Mon Dec 14 12:13:34 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 14 Dec 2009 12:13:34 -0500 Subject: [Insight-users] How to get a progess from an iterator? In-Reply-To: <20091209165210.GA2104@drago> References: <20091204111233.GA2886@drago> <20091206220814.GA2746@drago> <20091208200928.GA2313@drago> <20091209165210.GA2104@drago> Message-ID: Hi Lynx, About your first question: The compiler can figure out uninitialized variable in the heap. but can't check for initialized elements of arrays since this is a run-time behavior. for that purpose, you need to use Valgrind. About your second question: If the shape of your neighborhood is consistent across dimensions, it is usually possible to initialize the elements by using a for-loops. What is the pattern shape of the neighborhood that you want to use ? Thanks Luis ---------------------------------------------------------------------- On Wed, Dec 9, 2009 at 11:52 AM, wrote: > On 09/12/09 09:51:12, Luis Ibanez wrote: >> Hi Lynx, >> >> Some compilers will warn you about uninitialized objects. >> >> In GCC you could use the flag : ? -Wuninitialized >> >> that is one of the options turned on with : ?-Wall >> >> http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html >> >> Note that you have to use it in combination with -O. > > > Thanks again Luis for Your answer. I'm sorry I forgot to paste the code (it's from the users guide). If I compile > > > ? ?const unsigned int Dimension = 3; > > ? ?typedef itk::Image ?ImageType; > ? ?typedef itk::Image ?OImageType; > > > ? ?typedef itk::ConstShapedNeighborhoodIterator ShapedNeighborhoodIteratorType; > > ? ?typedef itk::ImageRegionIterator IteratorType; > ? ?typedef itk::ImageRegionIterator OIteratorType; > ? ?OIteratorType out; > ? ?. > ? ?. > ? ?. > ? ?for ( fit=faceList.begin(); fit != faceList.end(); ++fit){ > > ? ? ? ?ShapedNeighborhoodIteratorType it( radius, reader->GetOutput(), *fit ); > ? ? ? ?it.OverrideBoundaryCondition(&BC); // assign the boundary condition > ? ? ? ?out = OIteratorType( output, *fit ); > > ? ? ? ?// Creates a circular structuring element by activating all the pixels less > ? ? ? ?// than radius distance from the center of the neighborhood. > ? ? ? ?ShapedNeighborhoodIteratorType::OffsetType off; > > ? ? ? ? ? ?for (float y = -rad; y <= rad; y++){ > ? ? ? ? ? ? ? ?for (float x = -rad; x <= rad; x++){ > ? ? ? ? ? ? ? ? ? ?float dis = vcl_sqrt( x*x + y*y); > ? ? ? ? ? ? ? ? ? ?if (dis <= rad){ > ? ? ? ? ? ? ? ? ? ? ? ?off[0] = static_cast(x); > ? ? ? ? ? ? ? ? ? ? ? ?off[1] = static_cast(y); > ? ? ? ? ? ? ? ? ? ? ? ?it.ActivateOffset(off); //if segfaults comment this! Why??? > ? ? ? ? ? ? ? ? ? ? ? ?} > ? ? ? ? ? ? ? ? ? ?} > > > > this with: > > [100%] Building CXX object CMakeFiles/mean_masked02.dir/mean_masked02.cxx.o > /usr/local/bin/c++ ? ?-O -Wall -I/usr/local/include/InsightToolkit/Numerics/Statistics/ ?-ftemplate-depth-50 -Wall -Wno-deprecated -I/usr/local/include -I/usr/local/include/InsightToolkit/Review/Statistics -I/usr/local/include/InsightToolkit/Review -I/usr/local/include/InsightToolkit/Patented -I/usr/local/include/InsightToolkit/gdcm/src -I/usr/local/include/InsightToolkit/gdcm -I/usr/local/include/InsightToolkit/Utilities/vxl/core -I/usr/local/include/InsightToolkit/Utilities/vxl/vcl -I/usr/local/include/InsightToolkit/Utilities/vxl/v3p/netlib -I/usr/local/include/InsightToolkit/Utilities -I/usr/local/include/InsightToolkit/Utilities/itkExtHdrs -I/usr/local/include/InsightToolkit/Utilities/nifti/znzlib -I/usr/local/include/InsightToolkit/Utilities/nifti/niftilib -I/usr/local/include/InsightToolkit/Utilities/expat -I/usr/local/include/InsightToolkit/Utilities/DICOMParser -I/usr/local/include/InsightToolkit/Utilities/NrrdIO -I/usr/local/include/InsightToolkit/Utilities/MetaIO - > ?I/usr/local/include/InsightToolkit/SpatialObject -I/usr/local/include/InsightToolkit/Numerics/NeuralNetworks -I/usr/local/include/InsightToolkit/Numerics/FEM -I/usr/local/include/InsightToolkit/IO -I/usr/local/include/InsightToolkit/Numerics -I/usr/local/include/InsightToolkit/Common -I/usr/local/include/InsightToolkit/BasicFilters -I/usr/local/include/InsightToolkit/Algorithms -I/usr/local/include/InsightToolkit -I/net/home/ftd/localusr/lib/InsightToolkit ? -o CMakeFiles/mean_masked02.dir/mean_masked02.cxx.o -c /home/lynx/itk/simple/mean_masked02.cxx > Linking CXX executable mean_masked02 > /usr/local/bin/cmake -E cmake_link_script CMakeFiles/mean_masked02.dir/link.txt --verbose=1 > /usr/local/bin/c++ ? -O -Wall -I/usr/local/include/InsightToolkit/Numerics/Statistics/ ?-ftemplate-depth-50 -Wall -Wno-deprecated ? ?CMakeFiles/mean_masked02.dir/mean_masked02.cxx.o ?-o mean_masked02 -rdynamic -L/usr/local/lib/InsightToolkit -lITKAlgorithms -lITKIO -lITKStatistics -litkNetlibSlatec -lITKNumerics /usr/local/lib/libfftw3.a -lITKNrrdIO -litkgdcm -litkjpeg8 -litkjpeg12 -litkjpeg16 -litkopenjpeg /usr/local/lib/libuuid.so /usr/local/lib/libpng.so /usr/local/lib/libtiff.so -lITKSpatialObject -lITKCommon -litkvnl_inst -litkvnl_algo -litkv3p_netlib -litkvnl -litkvcl -lm -lpthread -lITKMetaIO -litksys -ldl -lITKDICOMParser -lITKEXPAT -lITKniftiio -lITKznz -lz -lm -Wl,-rpath,/usr/local/lib/InsightToolkit:/usr/local/lib > > > I ?don't ?get ?any error at compile time but the program segfaults because the > third dimension was not initialized. If I change it to this: > > ? ? ? ?for (float z = -rad; z <= rad; z++){ > ? ? ? ? ? ?for (float y = -rad; y <= rad; y++){ > ? ? ? ? ? ? ? ?for (float x = -rad; x <= rad; x++){ > ? ? ? ? ? ? ? ? ? ?float dis = vcl_sqrt( x*x + y*y + z*z); > ? ? ? ? ? ? ? ? ? ?if (dis <= rad){ > ? ? ? ? ? ? ? ? ? ? ? ?off[0] = static_cast(x); > ? ? ? ? ? ? ? ? ? ? ? ?off[1] = static_cast(y); > ? ? ? ? ? ? ? ? ? ? ? ?off[2] = static_cast(z); > ? ? ? ? ? ? ? ? ? ? ? ?it.ActivateOffset(off); //if segfaults ?comment ?this! > Why??? > ? ? ? ? ? ? ? ? ? ? ? ?//because 3 dim (z, off[2]) was missing!!!!!!! > ? ? ? ? ? ? ? ? ? ? ? ?} > ? ? ? ? ? ? ? ? ? ?} > ? ? ? ? ? ? ? ?} > ? ? ? ? ? ?} > > all is fine. > >> About your second question: >> >> Could you please post a more precise example of >> what you would like to do for initializing a >> ShapedNeighborhoodIterator ?in 2D and/or 3D ? ? > > I mean the above initialization of the active neighbours. For 2D there must be > only two for-loops for 3D input it needs three loops. I don't know how I could > create a template function of this for the use as in: > >> > int main( int argc, char *argv[] ){ >> > >> > ? ?if ( argc < 8 ){ >> > ? ? ? ?std::cerr << "Missing parameters. " << std::endl; >> > ? ? ? ?std::cerr << "Usage: " << std::endl; >> > ? ? ? ?std::cerr << argv[0] >> ?> ? ? ? ? ? ? ? ? ? ? ? ? << "ImageDimension inputImageFile outputImageFile > element_radius foreground background maskground" >> > ? ? ? ? ? ? ? ? ?<< std::endl; >> > ? ? ? ?return -1; >> > ? ? ? ?} >> > >> > ? ?unsigned int dim; >> > >> > ? ?dim= atoi(argv[1]); >> > ? ?argv++; //shift(); >> > ? ?argc--; >> > >> > ? ?switch(dim) >> > ? ? ? ?{ >> > ? ? ? ?case 2: >> > ? ? ? ? ? ?masked_mean_filter<2>( argc, argv ); >> > ? ? ? ? ? ?break; >> > ? ? ? ?case 3: >> > ? ? ? ? ? ?masked_mean_filter<3>( argc, argv ); >> > ? ? ? ? ? ?break; >> > ? ? ? ?default: >> > ? ? ? ? ? ?std::cerr << "Unsupported dimension" << std::endl; >> > ? ? ? ? ? ?exit( EXIT_FAILURE ); >> > ? ? ? ?} >> > ? ?} >> > > > > Is there any way to do so? > > Many thanks, > Lynx > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From adzyubak at gmail.com Mon Dec 14 13:20:46 2009 From: adzyubak at gmail.com (Oleksandr Dzyubak) Date: Mon, 14 Dec 2009 12:20:46 -0600 Subject: [Insight-users] Image index limits In-Reply-To: References: <5d7d0bca0912111337tde53c5q6df99c46837d07fd@mail.gmail.com> Message-ID: <5d7d0bca0912141020s181befc9ob819cca30f5563d4@mail.gmail.com> Hi Luis, I followed the procedure 1) through 8) that you suggested. All four tests have successfully passed and the results are below. According to the results, the parameter 70,000L provides the image size "Trying to allocate an image of size 9346 Mb " which is what I actually need. From carotenone at gmail.com Mon Dec 14 14:06:06 2009 From: carotenone at gmail.com (Enri Sperotto) Date: Mon, 14 Dec 2009 20:06:06 +0100 Subject: [Insight-users] RBFNetwork Message-ID: Hi, I'm a Italian student of Verona University and I'm graduating in Information Technology. For my thesis I have to write a program that use RBFNetwork class of ITK so I would like to ask you if there is any code template to understand how to create, training and use network. Could any help me? Thanks in advance p.s. sorry for my english :-P -- Enri Sperotto -- Enri S. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jp.ineb.dsi at gmail.com Mon Dec 14 14:36:26 2009 From: jp.ineb.dsi at gmail.com (Jesus Piairo) Date: Mon, 14 Dec 2009 19:36:26 +0000 Subject: [Insight-users] function arguments Message-ID: <30f968670912141136l60c62a61s898d154f4c6b9f2f@mail.gmail.com> Hello!! I?m trying to reorganize my code using functions but i?m having problems with the arguments for the functions. I have 2 functions: *main function* and *filtroGauss* ** In main function a read an image from a file; In filtroGaus function i want to aply an gaussian filter, the argument should be the image that was read in main function. How can I do this correctly?? Thkns in advance! Regards. JP -------------- next part -------------- An HTML attachment was scrubbed... URL: From insight.mailinglist.francois at budin.fr Mon Dec 14 17:15:40 2009 From: insight.mailinglist.francois at budin.fr (Francois Budin) Date: Mon, 14 Dec 2009 17:15:40 -0500 Subject: [Insight-users] Problem reading itkTransform files Message-ID: Hi everybody, I am trying to read itkTransform files using the itk::TransformFileReader class and I cannot succeed to make it work properly. The code I wrote for debugging purposes is: itk::TransformFileReader::Pointer transformFile ; transformFile=itk::TransformFileReader::New() ; transformFile->SetFileName( fileName.c_str() ) ; transformFile->Update() ; for( itk::TransformFileReader::TransformListType::const_iterator it = transformFile->GetTransformList()->begin() ; it != transformFile->GetTransformList()->end() ; ++it ) { std::cout<< "message"<GetTransformList()->pop_back() ; transformFile->GetTransformList()->size() ; My first problem was that calling the function size() to get the size of the std::list ended up being an infinite loop. I monitored the value of "m_TransformList" in itk::TransformFileReader and everything seems to work fine. But when I get the pointer on this variable, it does not work properly. Calling the function pop_front() works, but calling pop_back() makes my program crash. I tried to add a loop manually to compute the size of the std::list but it is also an infinite loop. Has anybody ever had these problems or does somebody see what is wrong in my code? Sincerely, Francois -------------- next part -------------- An HTML attachment was scrubbed... URL: From liangxi1986317 at hotmail.com Mon Dec 14 18:18:13 2009 From: liangxi1986317 at hotmail.com (Xi LIANG) Date: Tue, 15 Dec 2009 07:18:13 +0800 Subject: [Insight-users] Read in Analyze or Convert Analyze format to mhd image Message-ID: Dear all, Im struggling for reading in Analyze image (.hdr .img) files for days, and still cannot read in images properly. Is there a easy way to read in the image? Or I should convert Analyze image to mhd image by some software? Is there any software to do this? Regards, -------------------------------- Xi Liang ?? -------------------------------- _________________________________________________________________ Windows Live: Keep your friends up to date with what you do online. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_1:092010 -------------- next part -------------- An HTML attachment was scrubbed... URL: From adzyubak at gmail.com Mon Dec 14 19:30:35 2009 From: adzyubak at gmail.com (Oleksandr Dzyubak) Date: Mon, 14 Dec 2009 18:30:35 -0600 Subject: [Insight-users] Hessian format for SymmetricEigenAnalysisImageFilter In-Reply-To: References: <4B228268.1020308@gmail.com> Message-ID: <5d7d0bca0912141630y57dc9ec4lbeb6a26795e1c1bd@mail.gmail.com> Hi Luis, Looks like I am terribly missing something here... OK. For my testings I built objects with Gaussian profiles. These are simple: Gaussian lines with various sigmas extruded into Z-direction thus I got "Gaussian planes". Objects: 3D Gaussian planes with Sigma=1,2,3,4,5,10 and intensities I=100. Now I use RecursiveGaussians and HessianRecursiveGaussian from the ITK stock library and calculate the second order derivative across the Gaussian profiles: Hxx -- Hessian x-components, Gxx - Gaussian second order derivative, and GxGx - Gaussian second order derivative taken sequentially as Gx(Gx) using Gaussian first order derivative. Of course, all that was done with "NormalizeAcrossScale" ON and OFF. Afterwards the maximum of absolute values were measured. The results I summarized in the table below. Sigma ITK_Hxx_OFF ITK_Gxx_OFF ITK_Hxx_ON ITK_Gxx_ON ITK_GxGx_OFF ITK_GxGx_ON 1 35.77 35.77 35.77 35.77 19.47 19.47 2 8.92 8.92 71.33 71.33 4.87 19.47 3 3.96 3.96 106.95 106.95 2.16 19.47 4 2.23 2.23 142.56 142.56 1.22 19.47 5 1.43 1.43 178.18 178.18 0.78 19.47 10 0.36 0.36 356.29 356.29 0.19 19.47 As you can see from the table, Hxx is always equal to Gxx for both "NormalizeAcrossScale" ON and OFF. Ok. No surprises here. So far so good. Should not be the values Scale indipendent though? Well, now lets take the second order derivative sequentially using Gx(Gx). Now there is a dramatic difference here. a) GxGx values do not match Gxx and Hxx anymore. b) "ITK_GxGx_ON" version apparently demonstrates Scale Space invariance as it should be. Luis, I would highly appreciate any comments on that. Best regards, Alex On Fri, Dec 11, 2009 at 7:39 PM, Luis Ibanez wrote: > Hi Alex, > > > The order for the Hessian follows the same > pattern of the class > > Insight/Code/Common/ > itkSymmetricSecondRankTensor.h > > The elements store only the upper right triangle > of the actual matrix. > > For example, in 3D you get > the following pattern > > 0 1 2 > 3 4 > 5 > > All that to say: > > Yes, > the order that you are using is correct: > > Dxx Dxy Dxz > Dyy Dyz > Dzz > > > BTW: > You may want to use (or at least look) the filter: > > Insight/Code/BasicFilters/ > itkHessianRecursiveGaussianImageFilter.h > > > > Regards, > > > Luis > > > --------------------------------------------------------------- > On Fri, Dec 11, 2009 at 12:33 PM, Oleksandr Dzyubak > wrote: > > > > Dear users, > > > > After I built the individual Hessian components, > > in what order should I fill them up to further feed > > into the SymmetricEigenAnalysisImageFilter? > > > > At the moment I am using the order below. > > > > H[0] = Dxx > > H[1] = Dxy > > H[2] = Dxz > > H[3] = Dyy > > H[4] = Dyz > > H[5] = Dzz > > > > Is this correct order? > > > > Thanks, > > > > Alex > > > > > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan.muel at gmail.com Mon Dec 14 23:27:10 2009 From: dan.muel at gmail.com (Dan Mueller) Date: Tue, 15 Dec 2009 05:27:10 +0100 Subject: [Insight-users] ImageFunction Evaluate constness In-Reply-To: References: <2b8d077d0912122344h2c01be5cu62e7f0bae1d1681f@mail.gmail.com> Message-ID: <2b8d077d0912142027h6673bc94o143c4e4841b872f1@mail.gmail.com> Hi Luis, Thanks for your quick response, even it wasn't exactly the answer I wanted. I wanted someone to tell me I was justified in abusing the ImageFunction...oh well! :P > Could you help us understand the algorithm ? Obviously the overall context of my problem is somewhat complicated, hence the omission from my original email. I'll try to explain as best I can. Essentially I am implementing something similar (the outcome is the same, but the method to get there is quite different) to "propagation freezing for thin structures" described on pp. 158-162 of Thomas Deschamps' PhD thesis: http://math.lbl.gov/~deschamp/ The basic premise is as follows: (1) fast marching is prone to "leakage," (2) for vascular/thin structures the leakage typically occurs in regions far away from the "active" area of the propagating front, (3) restricting the movement of the front in these regions will prevent unwanted leakage. With this in mind I am constructing an image function which takes as input the current fast marching arrival function. The geodesic distance is computed for the current point, and compared to the maximum distance previously computed. If the maximum distance minus the current distance is larger than some threshold (ie. the current point is far away from the active propagation), the image function should return small values, and vice versa. Using the ImageFunction class to compute the current geodesic distance is no problem. However, the issue is comparing the current distance to the maximum distance previously computed, which obviously has to be stored somewhere. The maximum distance is the "state" which I want to store as a member of the ImageFunction. This image function will be employed in a context which requires it to be invoked in a "standalone" manner ie. it is not possible to pass in and out the previous maximum geodesic distance. Because the function will be invoked within a fast marching context, the operation is inherently single-threaded. While I am still in the "testing out some ideas" phase, in my experience if I don't do something right the first time, I never seem to get around to fixing it... Thanks for any advice. Regards, Dan 2009/12/13 Luis Ibanez : > Hi Dan, > > ? ? ? ? ? ? ?Interesting dilemma... > > The short answer is: ? ? Yes, > > You are abusing the Functor. ? ?:-) > > > Given that the functor is, by design, intended > to perform pixel-wise stateless operations. > > > However, > your algorithmic needs are certainly legitimate, > and therefore we should find a way of making > easy to implement your algorithm. > > > One option that comes to mind is the design > used in the pairs of LevelSet Function+Filter. > > In particular the use of a data structure that > is own by the filter and it is passed to the > Function as "working space". I believe that in > that context the motivation is mostly to deal > with multiple threads, nonetheless, the solution > may be applicable to your problem. > > You could implement a functor that at initialization > time receives a pointer to that data structure (own > by the Filter), and then, during the Evaluate() method > that structure will be modified. > > This however, requires to mark that structure as > "mutable", and therefore, one would think that > we could have just made your double variable > to be "mutable" in the first place. > > Using "mutable" here, however, is another design > conflict, since "mutable" should only be used for > values that perform caching, and not for values that > represent "state". ?In your case, it looks like you are > really managing a "state" with this internal number. > > It is good that you mention the implications for > threading as well, since, hosting state in the Functor > will make it non-thread-safe. > > Could you help us understand the algorithm ? > > That is, please describe the algorithm that you > want to implement, instead of describing the > problem that you have found in one of the > potential mechanisms of implementing such > algorithm. > > It is quite likely that we may have another trick > in store that could be used for that algorithm. > > ...and... > if we don't find anything, then we should > design something that have a lot of potential > for reuse, as you pointed out. > > > ? ?Thanks > > > ? ? ? ? ?Luis > > ---------------------------------------------------------------- > On Sun, Dec 13, 2009 at 2:44 AM, Dan Mueller wrote: >> Hi Insight community, >> >> I am writing an ImageFunction for which the value depends on the image >> point AND previous calls to the function. >> >> To implement this I have added a member variable (a double) to my >> subclassed image function. I want to set this member variable within: >> ? ?virtual TOutput Evaluate( const PointType& point ) const >> >> I guess you can see my issue: Evaluate is marked const, so calls such as >> ? ?this->m_MemberVariable = 123.456; >> do not compile. I get the following error with Visual Studio 2005: >> ? ?error C2166: l-value specifies const object >> >> Of course I can get around this using const_cast on the this pointer: >> ? ?MyImageFunction* function = >> ? ? ?const_cast*>( this ); >> ? ?function->m_MemberVariable = 123.456; >> >> Some questions: >> Am I abusing ImageFunction? >> Does use of const_cast on the this pointer invoke the wrath of the >> const-correctness police? >> Is there a better way? >> >> I guess I could create my own NonConstSingleThreadedImageFunction, but >> then I'd bring the code-reuse police knocking... >> >> Any suggestions appreciated. >> >> Regards, Dan From kumar.sravan09 at gmail.com Mon Dec 14 23:58:42 2009 From: kumar.sravan09 at gmail.com (sravan kumar) Date: Tue, 15 Dec 2009 10:28:42 +0530 Subject: [Insight-users] Hello all, Message-ID: hello all, I am new to this ITK kit. I am a M.Tech student currently doing my project in the area of image processing. I am working on Magnification techniques on images. I want to use this kit for my project work. I am facing few problems in configuring the kit.I have fedora 10 on my system with CMake installed correctly. I had gone through the software guide provided by the kit.Here are my questions: 1. The guide says to create source and binary directory for CMake. I did not where to create them.Please tell me where to create them. 2. Can i use this tool kit for embedded systems? I have an embedded system with ARM 9 processor, with linux kernel 2.6.20 on it. If some one had used it please let me know. thank you all -- Y.Sravan Kumar II M.Tech(CS), Sri Sathya Sai University, PRASHANTINILAYAM - 515134 From drescherjm at gmail.com Tue Dec 15 00:35:51 2009 From: drescherjm at gmail.com (John Drescher) Date: Tue, 15 Dec 2009 00:35:51 -0500 Subject: [Insight-users] Hello all, In-Reply-To: References: Message-ID: <387ee2020912142135s7c2cbedfne256cc53b9ee3f57@mail.gmail.com> On Mon, Dec 14, 2009 at 11:58 PM, sravan kumar wrote: > hello all, > > I am new to this ITK kit. I am a M.Tech student currently doing my > project in the area of image processing. I am working on Magnification > techniques on images. I want to use this kit for my project work. > > I am facing few problems in configuring the kit.I have fedora 10 on my > system with CMake installed correctly. I had gone through the software > guide provided by the kit.Here are my questions: > > 1. The guide says to create source and binary directory for CMake. I > did not where to create them.Please tell me where to create them. > This is your choice. Where do you put your code projects? > > 2. Can i use this tool kit for embedded systems? I have an embedded > system with ARM 9 processor, with linux kernel 2.6.20 on it. If some > one had used it please let me know. > I would say most likely the answer is yes if you have the toolchain and headers for compiling installed. John From Gerald.Lodron at joanneum.at Tue Dec 15 04:42:41 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Tue, 15 Dec 2009 10:42:41 +0100 Subject: [Insight-users] Origin in shrink image filter wrong? Message-ID: Hi I try to downsample a DICOM image with shrink image filter and i come to no sollution. The problem is that the origin of the result is wrong: When i load the same DICOM 3D image with the same code and downsample one of them by factor two the images should be aligned, am i right? So when i use the checkerboard the only difference should be the ressolution, am i right? But the images are not aligned so what went wrong? I am really at the end of my vodoo. I use ITK 3.16.0 with following settings on: ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY ITK_USE_CONSOLATED_MORPHOLOGY ITK_USE_OPTIMIZED_REGISTRATION_METHODS ITK_USE_ORIENTED_IMAGE_DIRECTION ITK_USE_PATENTED ITK_USE_REGION_VALIDATION_IN_ITERATORS ITK_USE_REVIEW ITK_USE_SYSTEM_GDCM (i installed and use gdcm 2.0.14) ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING The rest is off. Here my pseudocode vtkImageData image1; //3D image of short vtkImageData image2; //the same //Image1 is exactly the same as image 2, i use vtkCheckerboard to compare them and they are the same //first i convert both to ITK Itk::VTKImageToImageFilter<...>::Pointer connector1 = ...::New(); Itk::VTKImageToImageFilter<...>::Pointer connector2 = ...::New(); Connector1->SetInput(...) ... Itk::OrientedImage<...>::pointer image1ITK; Itk::OrientedImage<...>::pointer image2ITK; //now i use shrink image filter to downsample one of them itk::ShrinkImageFilter<>::Pointer filter = itk::ShrinkImageFilter<>::New(); filter->SetInput(image2ITK); filter->SetShrinkFactor(2); Itk::OrientedImage<...>::pointer image2ITKSmall = filter->getOutput(); //and back to vtk Itk::ImageToVTKImageFilter::Pointer c1 = ...::New(); Itk::ImageToVTKImageFilter::Pointer c2 = ...::New(); C1->setInput(image1ITK); //C2->setInput(image2ITK); //with that the images are aligned C2->setInput(image2ITKSmall); //with that not aligned //back to vtk and visualize with checkerboard vtkImageCheckerboard* Checkerboard= vtkImageCheckerboard::New(); Checkerboard->SetInput(0, C1->getOutput()); Checkerboard->SetInput(1, C2->getOutput()); Checkerboard->SetNumberOfDivisions(2, 2, 2); //visualize Checkerboard->getOutput() ... From michael.mentink at st-hughs.ox.ac.uk Tue Dec 15 04:53:17 2009 From: michael.mentink at st-hughs.ox.ac.uk (michiel mentink) Date: Tue, 15 Dec 2009 09:53:17 +0000 Subject: [Insight-users] importing/saving 3D meshes in ITK? Message-ID: <5488ad6a0912150153y360a84dete36f24bb911e053c@mail.gmail.com> Dear All, I'd like to open a surface mesh file in ITK, specifically an STL file (I don't mean standard library). Are there any examples to look at? The ITK software guide talks about meshes and such, but nowhere it is clear what filetype is (to be) used nor is there an example where a surface mesh is written. Kind regards, Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: From Gerald.Lodron at joanneum.at Tue Dec 15 04:58:00 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Tue, 15 Dec 2009 10:58:00 +0100 Subject: [Insight-users] WG: Origin in shrink image filter wrong? Message-ID: Maybe that helps: vtkImageData image1; //Spacing: (8.5 8.5 4), Origin (-275 -275 -1285), Dimensions(64,64,64), Increments(0,0,0), Extent(0,63,0,63,0,63), Bounds(-275,266,-275,266,-1285,-1033) vtkImageData image2; // the same ... Blabla ... vtkImageData shrinkedImage; //Spacing: (17 17 8), Origin (-270 -270 -1283), Dimensions(32,32,32), Increments(0,0,0), Extent(0,31,0,31,0,31), Bounds(-270,262,-270,262,-1283,-1035) -----Urspr?ngliche Nachricht----- Von: insight-users-bounces at itk.org [mailto:insight-users-bounces at itk.org] Im Auftrag von Lodron, Gerald Gesendet: Dienstag, 15. Dezember 2009 10:43 An: insight-users at itk.org Betreff: [Insight-users] Origin in shrink image filter wrong? Hi I try to downsample a DICOM image with shrink image filter and i come to no sollution. The problem is that the origin of the result is wrong: When i load the same DICOM 3D image with the same code and downsample one of them by factor two the images should be aligned, am i right? So when i use the checkerboard the only difference should be the ressolution, am i right? But the images are not aligned so what went wrong? I am really at the end of my vodoo. I use ITK 3.16.0 with following settings on: ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY ITK_USE_CONSOLATED_MORPHOLOGY ITK_USE_OPTIMIZED_REGISTRATION_METHODS ITK_USE_ORIENTED_IMAGE_DIRECTION ITK_USE_PATENTED ITK_USE_REGION_VALIDATION_IN_ITERATORS ITK_USE_REVIEW ITK_USE_SYSTEM_GDCM (i installed and use gdcm 2.0.14) ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING The rest is off. Here my pseudocode vtkImageData image1; //3D image of short vtkImageData image2; //the same //Image1 is exactly the same as image 2, i use vtkCheckerboard to compare them and they are the same //first i convert both to ITK Itk::VTKImageToImageFilter<...>::Pointer connector1 = ...::New(); Itk::VTKImageToImageFilter<...>::Pointer connector2 = ...::New(); Connector1->SetInput(...) ... Itk::OrientedImage<...>::pointer image1ITK; Itk::OrientedImage<...>::pointer image2ITK; //now i use shrink image filter to downsample one of them itk::ShrinkImageFilter<>::Pointer filter = itk::ShrinkImageFilter<>::New(); filter->SetInput(image2ITK); filter->SetShrinkFactor(2); Itk::OrientedImage<...>::pointer image2ITKSmall = filter->getOutput(); //and back to vtk Itk::ImageToVTKImageFilter::Pointer c1 = ...::New(); Itk::ImageToVTKImageFilter::Pointer c2 = ...::New(); C1->setInput(image1ITK); //C2->setInput(image2ITK); //with that the images are aligned C2->setInput(image2ITKSmall); //with that not aligned //back to vtk and visualize with checkerboard vtkImageCheckerboard* Checkerboard= vtkImageCheckerboard::New(); Checkerboard->SetInput(0, C1->getOutput()); SetInput(1, Checkerboard->C2->getOutput()); SetNumberOfDivisions(2, 2, 2); //visualize Checkerboard->getOutput() ... _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.html Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-users From bruno.arbter at isv.uni-stuttgart.de Tue Dec 15 05:10:52 2009 From: bruno.arbter at isv.uni-stuttgart.de (Bruno Arbter) Date: Tue, 15 Dec 2009 11:10:52 +0100 Subject: [Insight-users] priors in itkBayesianClassifierImageFilter In-Reply-To: <9ddb27260912140514o7c5dc9d8h46acc83be481c8fe@mail.gmail.com> References: <1075827801198072689@unknownmsgid> <9ddb27260912140514o7c5dc9d8h46acc83be481c8fe@mail.gmail.com> Message-ID: <003301ca7d6e$e1d92760$a58b7620$@arbter@isv.uni-stuttgart.de> Okay, priors can be set via SetInput - but the flag m_UserProvidedPriors in itkBayesianClassifierImageFilter remains false, and therefore the priors are not used without changing the constructor. Is there an example that really uses priors? Thanks Bruno > -----Urspr?ngliche Nachricht----- > Von: Karthik Krishnan [mailto:karthik.krishnan at kitware.com] > Gesendet: Montag, 14. Dezember 2009 14:14 > An: Bruno Arbter > Cc: insight-users at itk.org > Betreff: Re: [Insight-users] priors in itkBayesianClassifierImageFilter > > Take a look at Examples/Statistics/BayesianClassifier.cxx: and at > Examples/Statistics/BayesianClassifierInitializer.cxx: > > This class does have a method to set the priors. The prior image > expected (optionally as the second input) is a N component > VectorImage, where N is the number of classes. If the prior image is > not specified, a uniform distribution is taken, (ie no priors.). > > The API to do this is simply.... > > filter->SetInput( 1, priorVectorImage ); > > This is documented clearly in the doxygen. > > Thanks > -- > karthik > > On Mon, Dec 14, 2009 at 7:47 AM, Bruno Arbter > wrote: > > I want to use itkBayesianClassifierImageFilter with priors but I > cannot find > > any function to set the priors (e.g. SetPriors) in the class > > itkBayesianClassifierImageFilter. How is the correct way to set > priors? > > > > Bruno > > > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > > > -- > _________________________________ > Karthik Krishnan > R&D Engineer, > Kitware Inc. > Ph: +1 5188814919, +91 9538477060 From karthik.krishnan at kitware.com Tue Dec 15 05:31:42 2009 From: karthik.krishnan at kitware.com (Karthik Krishnan) Date: Tue, 15 Dec 2009 05:31:42 -0500 Subject: [Insight-users] priors in itkBayesianClassifierImageFilter In-Reply-To: <-6773536655479176608@unknownmsgid> References: <1075827801198072689@unknownmsgid> <9ddb27260912140514o7c5dc9d8h46acc83be481c8fe@mail.gmail.com> <-6773536655479176608@unknownmsgid> Message-ID: <9ddb27260912150231i6f137c2el8bd2699d3dcb6f01@mail.gmail.com> Thanks for catching this... Fix committed : /cvsroot/Insight/Insight/Code/Algorithms/itkBayesianClassifierImageFilter.h,v <-- itkBayesianClassifierImageFilter.h new revision: 1.16; previous revision: 1.15 /cvsroot/Insight/Insight/Code/Algorithms/itkBayesianClassifierImageFilter.txx,v <-- itkBayesianClassifierImageFilter.txx new revision: 1.10; previous revision: 1.9 Update and please let us know.. On Tue, Dec 15, 2009 at 5:10 AM, Bruno Arbter wrote: > Okay, priors can be set via SetInput - but the flag m_UserProvidedPriors in > itkBayesianClassifierImageFilter remains false, and therefore the priors are > not used without changing the constructor. > > Is there an example that really uses priors? > > Thanks > Bruno > >> -----Urspr?ngliche Nachricht----- >> Von: Karthik Krishnan [mailto:karthik.krishnan at kitware.com] >> Gesendet: Montag, 14. Dezember 2009 14:14 >> An: Bruno Arbter >> Cc: insight-users at itk.org >> Betreff: Re: [Insight-users] priors in itkBayesianClassifierImageFilter >> >> Take a look at Examples/Statistics/BayesianClassifier.cxx: and at >> Examples/Statistics/BayesianClassifierInitializer.cxx: >> >> This class does have a method to set the priors. The prior image >> expected (optionally as the second input) is a N component >> VectorImage, where N is the number of classes. If the prior image is >> not specified, a uniform distribution is taken, (ie no priors.). >> >> The API to do this is simply.... >> >> ? ?filter->SetInput( 1, priorVectorImage ); >> >> This is documented clearly in the doxygen. >> >> Thanks >> -- >> karthik >> >> On Mon, Dec 14, 2009 at 7:47 AM, Bruno Arbter >> wrote: >> > I want to use itkBayesianClassifierImageFilter with priors but I >> cannot find >> > any function to set the priors (e.g. SetPriors) in the class >> > itkBayesianClassifierImageFilter. How is the correct way to set >> priors? >> > >> > Bruno >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> >> >> >> -- >> _________________________________ >> Karthik Krishnan >> R&D Engineer, >> Kitware Inc. >> Ph: +1 5188814919, +91 9538477060 > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > -- _________________________________ Karthik Krishnan R&D Engineer, Kitware Inc. Ph: +1 5188814919, +91 9538477060 From mrceresa at gmail.com Tue Dec 15 06:05:49 2009 From: mrceresa at gmail.com (Mario Ceresa) Date: Tue, 15 Dec 2009 12:05:49 +0100 Subject: [Insight-users] function arguments In-Reply-To: <30f968670912141136l60c62a61s898d154f4c6b9f2f@mail.gmail.com> References: <30f968670912141136l60c62a61s898d154f4c6b9f2f@mail.gmail.com> Message-ID: <93dce8f90912150305n5dd7d8barf5288c785525200f@mail.gmail.com> Hello Jesus, If you always want to use a given image type (such as itk::Image< float, 3 > ) then you can pass the image as a pointer. You'll find an example attached. On the other hand, if you want to encapsulate your code into something you can apply to various image types, then you want to create a filter and use template programming. You can look at the developer section of http://www.itk.org/ItkSoftwareGuide.pdf to learn how. Hope this helps, Mario 2009/12/14 Jesus Piairo : > Hello!! > > I?m trying to reorganize my code using functions?but i?m having problems > with the arguments for the functions. > > I have 2 functions: ?main function and filtroGauss > > In main function a read an image from a file; > > In filtroGaus function?i want to aply an gaussian filter, the argument > should be the image that was read in main function. > > How can I do this correctly?? > > Thkns in advance! > > Regards. > > JP > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -------------- next part -------------- cmake_minimum_required(VERSION 2.6) PROJECT(test) FIND_PACKAGE(ITK) IF(ITK_FOUND) INCLUDE(${ITK_USE_FILE}) ELSE(ITK_FOUND) MESSAGE(FATAL_ERROR "ITK not found. Please set ITK_DIR.") ENDIF(ITK_FOUND) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) ADD_EXECUTABLE(test test.cxx) TARGET_LINK_LIBRARIES(test ITKCommon ITKIO) -------------- next part -------------- #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkDiscreteGaussianImageFilter.h" typedef float PixelType; typedef itk::Image< PixelType, 3 > ImageType; ImageType::Pointer filtroGauss(ImageType::Pointer, double , unsigned int); int main (int argc, char **argv ) { typedef itk::ImageFileReader < ImageType > ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName( argv[1] ); try { reader->Update(); } catch( itk::ExceptionObject & err ) { std::cerr << "ExceptionObject caught!" << std::endl; std::cerr << err << std::endl; return 1; } ImageType::Pointer pImg = reader->GetOutput(); const double gaussianVariance = atof( argv[3] ); const unsigned int maxKernelWidth = atoi( argv[4] ); // Pass a pointer to the image ImageType::Pointer pGauss = filtroGauss(pImg, gaussianVariance, maxKernelWidth); // Write the result typedef itk::ImageFileWriter < ImageType > WriterType; WriterType::Pointer writer = WriterType::New(); writer->SetInput( pGauss ); writer->SetFileName( argv[2] ); try { writer->Update(); } catch( itk::ExceptionObject & err ) { std::cerr << "ExceptionObject caught!" << std::endl; std::cerr << err << std::endl; return 1; } } ImageType::Pointer filtroGauss(ImageType::Pointer pInputImage, double gaussianVariance, unsigned int maxKernelWidth) { // Do something typedef itk::DiscreteGaussianImageFilter< ImageType, ImageType > FilterType; FilterType::Pointer filter = FilterType::New(); filter->SetInput( pInputImage ); filter->SetVariance( gaussianVariance ); filter->SetMaximumKernelWidth( maxKernelWidth ); filter->Update(); // return result return filter->GetOutput(); } From bruno.arbter at isv.uni-stuttgart.de Tue Dec 15 07:44:41 2009 From: bruno.arbter at isv.uni-stuttgart.de (Bruno Arbter) Date: Tue, 15 Dec 2009 13:44:41 +0100 Subject: [Insight-users] priors in itkBayesianClassifierImageFilter In-Reply-To: <9ddb27260912150231i6f137c2el8bd2699d3dcb6f01@mail.gmail.com> References: <1075827801198072689@unknownmsgid> <9ddb27260912140514o7c5dc9d8h46acc83be481c8fe@mail.gmail.com> <-6773536655479176608@unknownmsgid> <9ddb27260912150231i6f137c2el8bd2699d3dcb6f01@mail.gmail.com> Message-ID: <003d01ca7d84$5f12c0a0$1d3841e0$@arbter@isv.uni-stuttgart.de> Works fine up to the calculation of the posteriors with priors (line 205 in itkBayesianClassifierImageFilter.txx). I'm not very familiar with iterators up to now, but the posteriors cannot be accessed in this way (posteriors[i]=). Perhaps the variable needs some kind of memory allocation, doesn't it? > -----Urspr?ngliche Nachricht----- > Von: Karthik Krishnan [mailto:karthik.krishnan at kitware.com] > Gesendet: Dienstag, 15. Dezember 2009 11:32 > An: Bruno Arbter > Cc: insight-users at itk.org > Betreff: Re: [Insight-users] priors in itkBayesianClassifierImageFilter > > Thanks for catching this... > > Fix committed : > > /cvsroot/Insight/Insight/Code/Algorithms/itkBayesianClassifierImageFilt > er.h,v > <-- itkBayesianClassifierImageFilter.h > new revision: 1.16; previous revision: 1.15 > /cvsroot/Insight/Insight/Code/Algorithms/itkBayesianClassifierImageFilt > er.txx,v > <-- itkBayesianClassifierImageFilter.txx > new revision: 1.10; previous revision: 1.9 > > Update and please let us know.. > > On Tue, Dec 15, 2009 at 5:10 AM, Bruno Arbter > wrote: > > Okay, priors can be set via SetInput - but the flag > m_UserProvidedPriors in > > itkBayesianClassifierImageFilter remains false, and therefore the > priors are > > not used without changing the constructor. > > > > Is there an example that really uses priors? > > > > Thanks > > Bruno > > > >> -----Urspr?ngliche Nachricht----- > >> Von: Karthik Krishnan [mailto:karthik.krishnan at kitware.com] > >> Gesendet: Montag, 14. Dezember 2009 14:14 > >> An: Bruno Arbter > >> Cc: insight-users at itk.org > >> Betreff: Re: [Insight-users] priors in > itkBayesianClassifierImageFilter > >> > >> Take a look at Examples/Statistics/BayesianClassifier.cxx: and at > >> Examples/Statistics/BayesianClassifierInitializer.cxx: > >> > >> This class does have a method to set the priors. The prior image > >> expected (optionally as the second input) is a N component > >> VectorImage, where N is the number of classes. If the prior image is > >> not specified, a uniform distribution is taken, (ie no priors.). > >> > >> The API to do this is simply.... > >> > >> ? ?filter->SetInput( 1, priorVectorImage ); > >> > >> This is documented clearly in the doxygen. > >> > >> Thanks > >> -- > >> karthik > >> > >> On Mon, Dec 14, 2009 at 7:47 AM, Bruno Arbter > >> wrote: > >> > I want to use itkBayesianClassifierImageFilter with priors but I > >> cannot find > >> > any function to set the priors (e.g. SetPriors) in the class > >> > itkBayesianClassifierImageFilter. How is the correct way to set > >> priors? > >> > > >> > Bruno > >> > > >> > _____________________________________ > >> > Powered by www.kitware.com > >> > > >> > Visit other Kitware open-source projects at > >> > http://www.kitware.com/opensource/opensource.html > >> > > >> > Kitware offers ITK Training Courses, for more information visit: > >> > http://www.kitware.com/products/protraining.html > >> > > >> > Please keep messages on-topic and check the ITK FAQ at: > >> > http://www.itk.org/Wiki/ITK_FAQ > >> > > >> > Follow this link to subscribe/unsubscribe: > >> > http://www.itk.org/mailman/listinfo/insight-users > >> > > >> > >> > >> > >> -- > >> _________________________________ > >> Karthik Krishnan > >> R&D Engineer, > >> Kitware Inc. > >> Ph: +1 5188814919, +91 9538477060 > > > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > > > -- > _________________________________ > Karthik Krishnan > R&D Engineer, > Kitware Inc. > Ph: +1 5188814919, +91 9538477060 From mrceresa at gmail.com Tue Dec 15 08:11:05 2009 From: mrceresa at gmail.com (Mario Ceresa) Date: Tue, 15 Dec 2009 14:11:05 +0100 Subject: [Insight-users] function arguments In-Reply-To: <30f968670912150408u358abffbx10f3bfc08eecf546@mail.gmail.com> References: <30f968670912141136l60c62a61s898d154f4c6b9f2f@mail.gmail.com> <93dce8f90912150305n5dd7d8barf5288c785525200f@mail.gmail.com> <30f968670912150408u358abffbx10f3bfc08eecf546@mail.gmail.com> Message-ID: <93dce8f90912150511m6ee746fbud425ba37b9f53c2@mail.gmail.com> Hello Jesus, please don't send me private mail. Reply to the entire list instead so that other people with the same problem may follow the discussion. Probably your best bet is to rely on SmartPointers as they are used everywhere in ITK and provides automatic memory management. But I can be wrong! And maybe someone else in the list has a better idea :) Mario 2009/12/15 Jesus Piairo : > Hello Mario!! > > Thank you very much for your help!!? I?m testing right now the code. > > I have another question: instead of pointers it?s possible to use > references??? > > Regards!! > > JP > > On Tue, Dec 15, 2009 at 11:05 AM, Mario Ceresa wrote: >> >> Hello Jesus, >> If you always want to use a given image type (such as ?itk::Image< >> float, 3 > ) then you can pass the image as a pointer. You'll find an >> example attached. >> >> On the other hand, if you want to encapsulate your code into something >> you can apply to various image types, then you want to create a filter >> and use template programming. You can look at the developer section of >> >> http://www.itk.org/ItkSoftwareGuide.pdf >> >> to learn how. >> >> Hope this helps, >> >> Mario >> >> 2009/12/14 Jesus Piairo : >> > Hello!! >> > >> > I?m trying to reorganize my code using functions?but i?m having problems >> > with the arguments for the functions. >> > >> > I have 2 functions: ?main function and filtroGauss >> > >> > In main function a read an image from a file; >> > >> > In filtroGaus function?i want to aply an gaussian filter, the argument >> > should be the image that was read in main function. >> > >> > How can I do this correctly?? >> > >> > Thkns in advance! >> > >> > Regards. >> > >> > JP >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> > > > From bill.lorensen at gmail.com Tue Dec 15 08:50:42 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 15 Dec 2009 08:50:42 -0500 Subject: [Insight-users] WG: Origin in shrink image filter wrong? In-Reply-To: References: Message-ID: <4db4735c0912150550n2151c650td0513e0a7838cb5f@mail.gmail.com> I believe that the two inputs to checkerboard must have the same number of pixels in i, j, and k. I am surprised it did not crash. On Tue, Dec 15, 2009 at 4:58 AM, Lodron, Gerald wrote: > > Maybe that helps: > > vtkImageData ? ?image1; //Spacing: (8.5 8.5 4), Origin (-275 -275 -1285), Dimensions(64,64,64), Increments(0,0,0), Extent(0,63,0,63,0,63), Bounds(-275,266,-275,266,-1285,-1033) > > vtkImageData ? ?image2; // the same > ... > Blabla > ... > vtkImageData ? shrinkedImage; //Spacing: (17 17 8), Origin (-270 -270 -1283), Dimensions(32,32,32), Increments(0,0,0), Extent(0,31,0,31,0,31), Bounds(-270,262,-270,262,-1283,-1035) > > -----Urspr?ngliche Nachricht----- > Von: insight-users-bounces at itk.org [mailto:insight-users-bounces at itk.org] Im Auftrag von Lodron, Gerald > Gesendet: Dienstag, 15. Dezember 2009 10:43 > An: insight-users at itk.org > Betreff: [Insight-users] Origin in shrink image filter wrong? > > Hi > > I try to downsample a DICOM image with shrink image filter and i come to no sollution. The problem is that the origin of the result is wrong: > > When i load the same DICOM 3D image with the same code and downsample one of them by factor two the images should be aligned, am i right? So when i use the checkerboard the only difference should be the ressolution, am i right? But the images are not aligned so what went wrong? I am really at the end of my vodoo. > > I use ITK 3.16.0 with following settings on: > ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE > ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY > ITK_USE_CONSOLATED_MORPHOLOGY > ITK_USE_OPTIMIZED_REGISTRATION_METHODS > ITK_USE_ORIENTED_IMAGE_DIRECTION > ITK_USE_PATENTED > ITK_USE_REGION_VALIDATION_IN_ITERATORS > ITK_USE_REVIEW > ITK_USE_SYSTEM_GDCM ? ? (i installed and use gdcm 2.0.14) > ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING > > The rest is off. > > Here my pseudocode > > vtkImageData ? ?image1; //3D image of short > vtkImageData ? ?image2; //the same > > //Image1 is exactly the same as image 2, i use vtkCheckerboard to compare them and they are the same > > //first i convert both to ITK > Itk::VTKImageToImageFilter<...>::Pointer connector1 = ...::New(); Itk::VTKImageToImageFilter<...>::Pointer connector2 = ...::New(); > > Connector1->SetInput(...) > ... > Itk::OrientedImage<...>::pointer image1ITK; Itk::OrientedImage<...>::pointer image2ITK; > > //now i use shrink image filter to downsample one of them > > itk::ShrinkImageFilter<>::Pointer filter = itk::ShrinkImageFilter<>::New(); > filter->SetInput(image2ITK); > filter->SetShrinkFactor(2); > > > Itk::OrientedImage<...>::pointer image2ITKSmall = filter->getOutput(); > > > //and back to vtk > Itk::ImageToVTKImageFilter::Pointer c1 = ...::New(); Itk::ImageToVTKImageFilter::Pointer c2 = ...::New(); > > C1->setInput(image1ITK); > //C2->setInput(image2ITK); ? ? ? ? ? ? ?//with that the images are aligned > C2->setInput(image2ITKSmall); ? ? ? ? ? //with that not aligned > > //back to vtk and visualize with checkerboard > > vtkImageCheckerboard* ? Checkerboard= vtkImageCheckerboard::New(); > > Checkerboard->SetInput(0, C1->getOutput()); SetInput(1, > Checkerboard->C2->getOutput()); SetNumberOfDivisions(2, 2, 2); > > //visualize Checkerboard->getOutput() > ... > > > > > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From bilgic at cs.rpi.edu Tue Dec 15 08:59:26 2009 From: bilgic at cs.rpi.edu (C.Cagatay Bilgin) Date: Tue, 15 Dec 2009 08:59:26 -0500 Subject: [Insight-users] importing/saving 3D meshes in ITK? In-Reply-To: <5488ad6a0912150153y360a84dete36f24bb911e053c@mail.gmail.com> References: <5488ad6a0912150153y360a84dete36f24bb911e053c@mail.gmail.com> Message-ID: <4477CEFE-3487-4A7B-834A-DAD786E2571B@cs.rpi.edu> Hi Michael, You can read and write STL files by using vtkSTLReader and vtkSTLWriter classes. Then you can use the VTK to ITK pipelines to move back and forth. Have a look at https://mri.radiology.uiowa.edu/mediawiki/index.php/Compiling_Your_First_VTK_Program for a reader and writer example Regards, Cagatay Bilgin On Dec 15, 2009, at 4:53 AM, michiel mentink wrote: > > Dear All, > > I'd like to open a surface mesh file in ITK, specifically an STL > file (I don't mean standard library). > > Are there any examples to look at? The ITK software guide talks > about meshes and such, > but nowhere it is clear what filetype is (to be) used nor is there > an example where a surface mesh > is written. > > Kind regards, > > Michael > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users From Gerald.Lodron at joanneum.at Tue Dec 15 08:59:58 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Tue, 15 Dec 2009 14:59:58 +0100 Subject: [Insight-users] WG: Origin in shrink image filter wrong? In-Reply-To: <4db4735c0912150550n2151c650td0513e0a7838cb5f@mail.gmail.com> References: <4db4735c0912150550n2151c650td0513e0a7838cb5f@mail.gmail.com> Message-ID: No, the only restriction i found is that the smaller image must came first :-) Here the exact code snippet: double l1 = vtkImage1->GetLength(); double l2 = vtkImage2->GetLength(); if(l1SetInput(0, vtkImage1); m_Checkerboard->SetInput(1, vtkImage2); } else { m_Checkerboard->SetInput(0, vtkImage2); m_Checkerboard->SetInput(1, vtkImage1); } Best regards -----Urspr?ngliche Nachricht----- Von: Bill Lorensen [mailto:bill.lorensen at gmail.com] Gesendet: Dienstag, 15. Dezember 2009 14:51 An: Lodron, Gerald Cc: insight-users at itk.org Betreff: Re: [Insight-users] WG: Origin in shrink image filter wrong? I believe that the two inputs to checkerboard must have the same number of pixels in i, j, and k. I am surprised it did not crash. On Tue, Dec 15, 2009 at 4:58 AM, Lodron, Gerald wrote: > > Maybe that helps: > > vtkImageData ? ?image1; //Spacing: (8.5 8.5 4), Origin (-275 -275 > -1285), Dimensions(64,64,64), Increments(0,0,0), > Extent(0,63,0,63,0,63), Bounds(-275,266,-275,266,-1285,-1033) > > vtkImageData ? ?image2; // the same > ... > Blabla > ... > vtkImageData ? shrinkedImage; //Spacing: (17 17 8), Origin (-270 -270 > -1283), Dimensions(32,32,32), Increments(0,0,0), > Extent(0,31,0,31,0,31), Bounds(-270,262,-270,262,-1283,-1035) > > -----Urspr?ngliche Nachricht----- > Von: insight-users-bounces at itk.org > [mailto:insight-users-bounces at itk.org] Im Auftrag von Lodron, Gerald > Gesendet: Dienstag, 15. Dezember 2009 10:43 > An: insight-users at itk.org > Betreff: [Insight-users] Origin in shrink image filter wrong? > > Hi > > I try to downsample a DICOM image with shrink image filter and i come to no sollution. The problem is that the origin of the result is wrong: > > When i load the same DICOM 3D image with the same code and downsample one of them by factor two the images should be aligned, am i right? So when i use the checkerboard the only difference should be the ressolution, am i right? But the images are not aligned so what went wrong? I am really at the end of my vodoo. > > I use ITK 3.16.0 with following settings on: > ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE > ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY > ITK_USE_CONSOLATED_MORPHOLOGY > ITK_USE_OPTIMIZED_REGISTRATION_METHODS > ITK_USE_ORIENTED_IMAGE_DIRECTION > ITK_USE_PATENTED > ITK_USE_REGION_VALIDATION_IN_ITERATORS > ITK_USE_REVIEW > ITK_USE_SYSTEM_GDCM ? ? (i installed and use gdcm 2.0.14) > ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING > > The rest is off. > > Here my pseudocode > > vtkImageData ? ?image1; //3D image of short vtkImageData ? ?image2; > //the same > > //Image1 is exactly the same as image 2, i use vtkCheckerboard to > compare them and they are the same > > //first i convert both to ITK > Itk::VTKImageToImageFilter<...>::Pointer connector1 = ...::New(); > Itk::VTKImageToImageFilter<...>::Pointer connector2 = ...::New(); > > Connector1->SetInput(...) > ... > Itk::OrientedImage<...>::pointer image1ITK; > Itk::OrientedImage<...>::pointer image2ITK; > > //now i use shrink image filter to downsample one of them > > itk::ShrinkImageFilter<>::Pointer filter = > itk::ShrinkImageFilter<>::New(); > filter->SetInput(image2ITK); > filter->SetShrinkFactor(2); > > > Itk::OrientedImage<...>::pointer image2ITKSmall = filter->getOutput(); > > > //and back to vtk > Itk::ImageToVTKImageFilter::Pointer c1 = ...::New(); > Itk::ImageToVTKImageFilter::Pointer c2 = ...::New(); > > C1->setInput(image1ITK); > //C2->setInput(image2ITK); ? ? ? ? ? ? ?//with that the images are > aligned > C2->setInput(image2ITKSmall); ? ? ? ? ? //with that not aligned > > //back to vtk and visualize with checkerboard > > vtkImageCheckerboard* ? Checkerboard= vtkImageCheckerboard::New(); > > Checkerboard->SetInput(0, C1->getOutput()); SetInput(1, > Checkerboard->C2->getOutput()); SetNumberOfDivisions(2, 2, 2); > > //visualize Checkerboard->getOutput() > ... > > > > > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From poojachatterjee12 at gmail.com Tue Dec 15 13:11:04 2009 From: poojachatterjee12 at gmail.com (Pooja Chatterjee) Date: Tue, 15 Dec 2009 13:11:04 -0500 Subject: [Insight-users] Getting image intensity of DICOM image Message-ID: Hi, I went to the applications of the ITK website but could not find a function that fetches the intensity matrix of a DICOM image. Does anybody know how to do that? Thanks Pooja -------------- next part -------------- An HTML attachment was scrubbed... URL: From lynx.abraxas at freenet.de Tue Dec 15 15:40:46 2009 From: lynx.abraxas at freenet.de (lynx.abraxas at freenet.de) Date: Tue, 15 Dec 2009 21:40:46 +0100 Subject: [Insight-users] combining output from segmentation with label map attributes using Gaetan Lehmann's paper: "Label object representation and manipulation with ITK" In-Reply-To: References: Message-ID: <20091215204046.GA2209@drago> On 11/12/09 11:30:08, Luis Ibanez wrote: > itkLabelGeometryImageFilter.h > > that is described in the Insight Journal paper: > > "A Label Geometry Image Filter for Multiple Object Measurement" > by Padfield D., Miller J. from GE Global Research > http://www.insight-journal.org/browse/publication/301 > http://hdl.handle.net/1926/1493 I'm getting confiused. How do itkLabelGeometryImageFilter.h and itkBinaryImageToShapeLabelMapFilter.h (from http://www.insight-journal.org/browse/publication/176) differ (except for the additionaly analized quantities)? It looks like Ga?tan's publication was earlier but it seems to include itkLabelGeometryImageFilter.h, is that correct? Regards Lynx From lynx.abraxas at freenet.de Tue Dec 15 15:44:59 2009 From: lynx.abraxas at freenet.de (lynx.abraxas at freenet.de) Date: Tue, 15 Dec 2009 21:44:59 +0100 Subject: [Insight-users] How to get a progess from an iterator? In-Reply-To: References: <20091204111233.GA2886@drago> <20091206220814.GA2746@drago> <20091208200928.GA2313@drago> <20091209165210.GA2104@drago> Message-ID: <20091215204459.GB2209@drago> On 14/12/09 12:13:34, Luis Ibanez wrote: > Hi Lynx, > > About your first question: > > The compiler can figure out uninitialized variable in the heap. > but can't check for initialized elements of arrays since this is > a run-time behavior. > > for that purpose, you need to use Valgrind. > OK. I'll have a look at valgirnd if it can save me from loosing so much time on debuging again... > About your second question: > > If the shape of your neighborhood is consistent across > dimensions, it is usually possible to initialize the elements > by using a for-loops. > > What is the pattern shape of the neighborhood that you > want to use ? I just want a (ND) ball neighborhood as in the example. Many thanks for all the help. Lynx From lynx.abraxas at freenet.de Tue Dec 15 16:02:52 2009 From: lynx.abraxas at freenet.de (lynx.abraxas at freenet.de) Date: Tue, 15 Dec 2009 22:02:52 +0100 Subject: [Insight-users] Example on how to parallelize a simple neighborhood filter In-Reply-To: <20091208204728.GB2313@drago> References: <20091208204728.GB2313@drago> Message-ID: <20091215210252.GA2424@drago> Hello again! Since my last post below I got a bit further. Since I skip the neighborhood evaluation where voxels of the mask are I don't think the parallelization by subregion (as mentioned in the users guide) is a good choise for my problem. So I've put my voxel operation in the iteration into a separate function. I'm now wondering: - Should I use pthreads or just a simple fork/child process to distribute each voxel analysis on a separate core (of a 8 core machine)? - Would I have to make a full copy of each iterator since they get increased during the execution of other threads? - Is there a much better way to go than mine? Thanks for any help or hints on this. Lynx -------------- next part -------------- //calculate the mean of a masked binary image within a neighborhood //optimized to only look at the neighborhood if the centre pixel is not from the mask //mean_masked parallelized #include "itkImage.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkNeighborhoodAlgorithm.h" #include #include "itkConstantBoundaryCondition.h" #include "itkConstShapedNeighborhoodIterator.h" #include "itkImageRegionIterator.h" const unsigned int Dimension = 3; typedef unsigned char IPixelType; //typedef float OPixelType; //code needs to be modified for float!!! typedef unsigned char OPixelType; //easier to use const IPixelType foreground_value, background_value, maskground_value; //*ground_value does not change during iteration -> global vars. int operate_on_voxel(it, out, np){//*ground_value does not change during iteration -> global vars. unsigned int sum_f, sum_b, tot; IPixelType value; ShapedNeighborhoodIteratorType::ConstIterator ci; if (it.GetCenterPixel() == maskground_value){ out.Set(0); return(0); } sum_f= 0; sum_b= 0; for (ci = it.Begin(); ci != it.End(); ci++){ value= ci.Get(); if (value == foreground_value) sum_f++; else if (value == background_value) //else if is quicker than a pure if!!! sum_b++; } tot= sum_f + sum_b; if (tot) //out.Set(static_cast( static_cast(sum_f) / tot * std::numeric_limits::max())); //include scaling out.Set(static_cast( sum_f * std::numeric_limits::max() / tot)); //quicker? else out.Set(0); return(1); } int main( int argc, char ** argv ) { if ( argc < 7 ){ std::cerr << "Missing parameters. " << std::endl; std::cerr << "Usage: " << std::endl; std::cerr << argv[0] << " inputImageFile outputImageFile element_radius foreground background maskground" << std::endl; return -1; } foreground_value = atoi(argv[4]); background_value = atoi(argv[5]); maskground_value = atoi(argv[6]); //maskground is just needed for const boundary cond. typedef itk::Image ImageType; typedef itk::Image OImageType; itk::ConstantBoundaryCondition BC; //BoundaryConditionType BoundaryCondition= BoundaryConditionType::New(); BC.SetConstant(maskground_value); //typedef itk::ConstShapedNeighborhoodIterator ShapedNeighborhoodIteratorType; typedef itk::ConstShapedNeighborhoodIterator ShapedNeighborhoodIteratorType; typedef itk::ImageRegionIterator IteratorType; typedef itk::ImageRegionIterator OIteratorType; OIteratorType out; typedef itk::ImageFileReader< ImageType > ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName( argv[1] ); try { reader->Update(); } catch ( itk::ExceptionObject &err){ std::cout << "ExceptionObject caught !" << std::endl; std::cout << err << std::endl; return -1; } OImageType::Pointer output = OImageType::New(); output->SetRegions(reader->GetOutput()->GetRequestedRegion()); output->Allocate(); unsigned int element_radius = ::atoi( argv[3] ); ShapedNeighborhoodIteratorType::RadiusType radius; radius.Fill(element_radius); typedef itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator FaceCalculatorType; FaceCalculatorType faceCalculator; FaceCalculatorType::FaceListType faceList; FaceCalculatorType::FaceListType::iterator fit; faceList = faceCalculator( reader->GetOutput(), output->GetRequestedRegion(), radius ); const float rad = static_cast(element_radius); unsigned int nop, count, ll; //for progress info count= 0; nop = reader->GetOutput()->GetRequestedRegion().GetNumberOfPixels(); ll = nop / 10000; std::cout << "Total number of voxels: " << nop << std::endl << std::flush; //split up the input region into border regions and a (big) none border region for ( fit=faceList.begin(); fit != faceList.end(); ++fit){ ShapedNeighborhoodIteratorType it( radius, reader->GetOutput(), *fit );//iterate over each subregion it.OverrideBoundaryCondition(&BC); // assign the boundary condition out = OIteratorType( output, *fit ); // Creates a circular structuring element by activating all the pixels less // than radius distance from the center of the neighborhood. ShapedNeighborhoodIteratorType::OffsetType off; for (float z = -rad; z <= rad; z++){ for (float y = -rad; y <= rad; y++){ for (float x = -rad; x <= rad; x++){ float dis = vcl_sqrt( x*x + y*y + z*z); if (dis <= rad){ off[0] = static_cast(x); off[1] = static_cast(y); off[2] = static_cast(z); it.ActivateOffset(off); //if segfaults comment this! Why??? //because 3 dim (z, off[2]) was missing!!!!!!! } } } } ////now do the actual voxel iteration it.GoToBegin(); out.GoToBegin(); np= 0; //reset number of processes while(!it.IsAtEnd()){ count++; if (np < max_p){ np++; operate_on_voxel(it, out, np);//does it need a full copy of it and out since the pointers change during execution of thread?!? ++it; ++out; } else wait(); //waiting sensible? //print out some progess info if ( count % ll == 0 ){ fprintf(stderr, "\rFilter progress: %6.2f%%", 100.0 * count / nop); std::cerr.flush(); } } } } typedef itk::ImageFileWriter WriterType; WriterType::Pointer writer = WriterType::New(); writer->SetFileName( argv[2] ); writer->SetInput( output ); try { writer->Update(); } catch ( itk::ExceptionObject &err) { std::cout << "ExceptionObject caught !" << std::endl; std::cout << err << std::endl; return -1; } return 0; } From insight.mailinglist.francois at budin.fr Tue Dec 15 16:03:07 2009 From: insight.mailinglist.francois at budin.fr (Francois Budin) Date: Tue, 15 Dec 2009 16:03:07 -0500 Subject: [Insight-users] Problem reading itkTransform files In-Reply-To: References: Message-ID: Problem solved, it was a conflict between ITK and generateCLP. On Mon, Dec 14, 2009 at 17:15, Francois Budin < insight.mailinglist.francois at budin.fr> wrote: > Hi everybody, > > I am trying to read itkTransform files using the itk::TransformFileReader > class and I cannot succeed to make it work properly. The code I wrote for > debugging purposes is: > > itk::TransformFileReader::Pointer transformFile ; > transformFile=itk::TransformFileReader::New() ; > transformFile->SetFileName( fileName.c_str() ) ; > transformFile->Update() ; > for( itk::TransformFileReader::TransformListType::const_iterator it = > transformFile->GetTransformList()->begin() ; > it != transformFile->GetTransformList()->end() ; ++it ) > { > std::cout<< "message"< } > // transformFile->GetTransformList()->pop_back() ; > transformFile->GetTransformList()->size() ; > > My first problem was that calling the function size() to get the size of > the std::list ended up being an infinite loop. I monitored the value of > "m_TransformList" in itk::TransformFileReader and everything seems to work > fine. But when I get the pointer on this variable, it does not work > properly. Calling the function pop_front() works, but calling pop_back() > makes my program crash. I tried to add a loop manually to compute the size > of the std::list but it is also an infinite loop. > Has anybody ever had these problems or does somebody see what is wrong in > my code? > Sincerely, > > Francois > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fkim at utk.edu Tue Dec 15 16:14:34 2009 From: fkim at utk.edu (Felix Kim) Date: Tue, 15 Dec 2009 16:14:34 -0500 Subject: [Insight-users] Windows compiler Message-ID: <4B27FC3A.9030706@utk.edu> Hi, I'm sorry if this question was asked and answered before. I'm using a Windows XP machine, and I was wondering what is a recommended compiler to use. I was trying to install ITK using visual studio, but the process freezes before the completion. Is there any free compiler that I can use in windows machine? Thanks, Felix Kim From drescherjm at gmail.com Tue Dec 15 18:12:07 2009 From: drescherjm at gmail.com (John Drescher) Date: Tue, 15 Dec 2009 18:12:07 -0500 Subject: [Insight-users] Windows compiler In-Reply-To: <4B27FC3A.9030706@utk.edu> References: <4B27FC3A.9030706@utk.edu> Message-ID: <387ee2020912151512s702d30b6w2b71fc9066b56bb@mail.gmail.com> > I'm sorry if this question was asked and answered before. I'm using a > Windows XP machine, and I was wondering what is a recommended compiler to > use. I was trying to install ITK using visual studio, but the process > freezes before the completion. Is there any free compiler that I can use in > windows machine? > I have had no problems compiling ITK with Visual Studio 2003 or Visual Studio 2005 in 32 or 64 bit mode. Also I know some users on this list use the free Visual Studio 2008 Express version. John From subarna29 at gmail.com Wed Dec 16 00:55:40 2009 From: subarna29 at gmail.com (Subarna Ghosh) Date: Wed, 16 Dec 2009 00:55:40 -0500 Subject: [Insight-users] Windows compiler In-Reply-To: <387ee2020912151512s702d30b6w2b71fc9066b56bb@mail.gmail.com> References: <4B27FC3A.9030706@utk.edu> <387ee2020912151512s702d30b6w2b71fc9066b56bb@mail.gmail.com> Message-ID: <64fe815c0912152155g25f4c175je59b8a4150443d83@mail.gmail.com> Hi John, I compiled ITK using VC++ 2008 Express Edition without any issues. Thanks and regards, Subarna Ghosh. On Tue, Dec 15, 2009 at 6:12 PM, John Drescher wrote: > > I'm sorry if this question was asked and answered before. I'm using a > > Windows XP machine, and I was wondering what is a recommended compiler to > > use. I was trying to install ITK using visual studio, but the process > > freezes before the completion. Is there any free compiler that I can use > in > > windows machine? > > > > I have had no problems compiling ITK with Visual Studio 2003 or Visual > Studio 2005 in 32 or 64 bit mode. > > Also I know some users on this list use the free Visual Studio 2008 > Express version. > > John > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julien.michel at c-s.fr Wed Dec 16 03:22:16 2009 From: julien.michel at c-s.fr (Julien Michel) Date: Wed, 16 Dec 2009 09:22:16 +0100 Subject: [Insight-users] WrapITK, Java, Windows and exception Message-ID: <4B2898B8.9030308@c-s.fr> Dear ITK, These four does not seem to be friend. On my linux system, when using a java/WrapITK program and providing it with a wrong filename, I got a very informative message corresponding to the unhandled exception, which allows me to understand that the input filename is bad. On Windows whenever an unhandled exception is thrown, Java crashes with the following message : # # An unexpected error has been detected by Java Runtime Environment: # # Internal Error (0xe06d7363), pid=2244, tid=3556 # # Java VM: Java HotSpot(TM) Client VM (1.6.0-b105 mixed mode, sharing) # Problematic frame: # C [kernel32.dll+0x1eb33] # # An error report file with more information is saved as hs_err_pid2244.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # I searched for a while, beeing a non-specialist in JNI/Java, before understanding that it was due to the very same exception that on linux. Any clue on how to enhance exception handling of WrapITK on the windows side ? Julien -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Julien MICHEL - Ing?nieur d'?tudes - Traitement d'images CS Syst?mes d'Information - Division ESPACE D?partement Information G?ographique & Image T?l?phone : +33 561 17 64 27 Email : julien.michel at c-s.fr ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From Gerald.Lodron at joanneum.at Wed Dec 16 03:53:05 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Wed, 16 Dec 2009 09:53:05 +0100 Subject: [Insight-users] Automated cropping of an image based on image segmentation Message-ID: Hello, I have two 3D CT images which i want to register. I want first segment the human from the rest because I think the environment (patient table etc) will/can disturb the registration. The segmentation already works perfect, I use a simple connected threshold filter in combination with an image closing which results in an image of zeros and ones. Now I have two questions: - I think it would be a great idea (performance reasons) to automatically crop the image depending on that segmentation result but i have no idea how to do this efficiently, any ideas? - In the imageToImageMetric I found the functions: SetFixedImageMask and SetMovingImageMask They needs a type called Spatial Objects so I think i had to use the itk::ImageSpatialObject class to convert my itk Image into such a spatial object type. Here is my question: Is it advisable to make a cropping and this image mask stuff or will the image mask stuff make everything internal to compute the result fast? Best regards From ferlomi at hotmail.com Wed Dec 16 03:57:52 2009 From: ferlomi at hotmail.com (=?iso-8859-1?B?RmVybmFuZG8gTPNwZXogTWly?=) Date: Wed, 16 Dec 2009 09:57:52 +0100 Subject: [Insight-users] Bytes per pixel Message-ID: What is the parameter in a itk image to know the number of bytes in a pixel? Thanks ... _________________________________________________________________ -------------- next part -------------- An HTML attachment was scrubbed... URL: From csnataraj at gmail.com Wed Dec 16 13:08:22 2009 From: csnataraj at gmail.com (Natarajan CS) Date: Wed, 16 Dec 2009 12:08:22 -0600 Subject: [Insight-users] Reading in Netcdf data Message-ID: Hello all, i am new to this list and ITK, so apologies if this question has been answered already in some form. Reading the docs it seems like ITK does not have a built-in reader for netcdf volume data, so is it better to convert the data to a format which itk can read or is it better to parse the data stream as an array to ITK (read in the data in standard format and send itk the array instead of using ITK readers)? Thanks in advance, C.S.N -------------- next part -------------- An HTML attachment was scrubbed... URL: From itkvtk123 at gmx.net Wed Dec 16 15:10:05 2009 From: itkvtk123 at gmx.net (itkvtk123 at gmx.net) Date: Wed, 16 Dec 2009 21:10:05 +0100 Subject: [Insight-users] C2440 when reinterpret_cast-ing from base to specific class Message-ID: <20091216201005.192320@gmx.net> Hello itk users! Today I encountered a very simple problem but I could not find out what I'm doing wrong. I want to convert a base class object to the specific class, but it does not seem to work. I'm getting "error C2440: 'reinterpret_cast' : cannot convert from 'itk::SingleValuedNonLinearOptimizer::Pointer' to 'itk::RegularStepGradientDescentOptimizer::Pointer" Minimal Code: /////////////////////////////////////////////////////////////////////////////////////////// #include "itkSingleValuedNonLinearOptimizer.h" #include "itkRegularStepGradientDescentOptimizer.h" int main() { typedef itk::SingleValuedNonLinearOptimizer OptimizerType; typedef itk::RegularStepGradientDescentOptimizer GradientDescentType; OptimizerType::Pointer optimizer = GradientDescentType::New(); reinterpret_cast(optimizer)->SetRelaxationFactor(0.5); return 0; } /////////////////////////////////////////////////////////////////////////////////////////// Since RegularStepGradientDescentOptimizer is a child class from SingleValuedNonLinearOptimizer, I do not understand why this conversion does not work. Any help appreciated! -- Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 - sicherer, schneller und einfacher! http://portal.gmx.net/de/go/atbrowser From mike.jackson at bluequartz.net Wed Dec 16 15:27:58 2009 From: mike.jackson at bluequartz.net (Michael Jackson) Date: Wed, 16 Dec 2009 15:27:58 -0500 Subject: [Insight-users] C2440 when reinterpret_cast-ing from base to specific class In-Reply-To: <20091216201005.192320@gmx.net> References: <20091216201005.192320@gmx.net> Message-ID: My guess is that the compiler doesn't like trying to cast a "smart pointer" from one thing to another. You probably really want to cast the optimizer.GetPointer() > reinterpret_cast(optimizer.GetPointer())- > >SetRelaxationFactor(0.5); > itk::SingleValuedNonLinearOptimizer::Pointer is NOT a normal pointer. HTH _________________________________________________________ Mike Jackson mike.jackson at bluequartz.net BlueQuartz Software www.bluequartz.net Principal Software Engineer Dayton, Ohio On Dec 16, 2009, at 3:10 PM, itkvtk123 at gmx.net wrote: > Hello itk users! > > Today I encountered a very simple problem but I could not find out > what I'm doing wrong. > I want to convert a base class object to the specific class, but it > does not seem to work. > > I'm getting > "error C2440: 'reinterpret_cast' : cannot convert from > 'itk::SingleValuedNonLinearOptimizer::Pointer' to > 'itk::RegularStepGradientDescentOptimizer::Pointer" > > > Minimal Code: > > /////////////////////////////////////////////////////////////////////////////////////////// > > #include "itkSingleValuedNonLinearOptimizer.h" > #include "itkRegularStepGradientDescentOptimizer.h" > > int main() > { > typedef itk::SingleValuedNonLinearOptimizer OptimizerType; > typedef itk::RegularStepGradientDescentOptimizer GradientDescentType; > > OptimizerType::Pointer optimizer = GradientDescentType::New(); > > reinterpret_cast(optimizer)- > >SetRelaxationFactor(0.5); > > return 0; > } > > /////////////////////////////////////////////////////////////////////////////////////////// > > > Since RegularStepGradientDescentOptimizer is a child class from > SingleValuedNonLinearOptimizer, I do not understand why this > conversion does not work. > > Any help appreciated! > -- > Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla > Firefox 3.5 - > sicherer, schneller und einfacher! http://portal.gmx.net/de/go/atbrowser > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users From karthik.krishnan at kitware.com Wed Dec 16 15:58:45 2009 From: karthik.krishnan at kitware.com (Karthik Krishnan) Date: Wed, 16 Dec 2009 15:58:45 -0500 Subject: [Insight-users] priors in itkBayesianClassifierImageFilter In-Reply-To: <9083243016844486163@unknownmsgid> References: <1075827801198072689@unknownmsgid> <9ddb27260912140514o7c5dc9d8h46acc83be481c8fe@mail.gmail.com> <-6773536655479176608@unknownmsgid> <9ddb27260912150231i6f137c2el8bd2699d3dcb6f01@mail.gmail.com> <9083243016844486163@unknownmsgid> Message-ID: <9ddb27260912161258j692301cla1b8d9ec170da98e@mail.gmail.com> sorry.. been busy.. Indeed you are right.. Please update again... /cvsroot/Insight/Insight/Code/Algorithms/itkBayesianClassifierImageFilter.txx,v <-- itkBayesianClassifierImageFilter.txx new revision: 1.11; previous revision: 1.10 I'll try and check in a test this weekend that exercises specifying a prior vector image. (As Luis would say, If is not tested, it is broken, and indeed it was :) ) On Tue, Dec 15, 2009 at 7:44 AM, Bruno Arbter wrote: > Works fine up to the calculation of the posteriors with priors (line 205 in > itkBayesianClassifierImageFilter.txx). I'm not very familiar with iterators > up to now, but the posteriors cannot be accessed in this way > (posteriors[i]=). Perhaps the variable needs some kind of memory allocation, > doesn't it? > >> -----Urspr?ngliche Nachricht----- >> Von: Karthik Krishnan [mailto:karthik.krishnan at kitware.com] >> Gesendet: Dienstag, 15. Dezember 2009 11:32 >> An: Bruno Arbter >> Cc: insight-users at itk.org >> Betreff: Re: [Insight-users] priors in itkBayesianClassifierImageFilter >> >> Thanks for catching this... >> >> Fix committed : >> >> /cvsroot/Insight/Insight/Code/Algorithms/itkBayesianClassifierImageFilt >> er.h,v >> ?<-- ?itkBayesianClassifierImageFilter.h >> new revision: 1.16; previous revision: 1.15 >> /cvsroot/Insight/Insight/Code/Algorithms/itkBayesianClassifierImageFilt >> er.txx,v >> ?<-- ?itkBayesianClassifierImageFilter.txx >> new revision: 1.10; previous revision: 1.9 >> >> Update and please let us know.. >> >> On Tue, Dec 15, 2009 at 5:10 AM, Bruno Arbter >> wrote: >> > Okay, priors can be set via SetInput - but the flag >> m_UserProvidedPriors in >> > itkBayesianClassifierImageFilter remains false, and therefore the >> priors are >> > not used without changing the constructor. >> > >> > Is there an example that really uses priors? >> > >> > Thanks >> > Bruno >> > >> >> -----Urspr?ngliche Nachricht----- >> >> Von: Karthik Krishnan [mailto:karthik.krishnan at kitware.com] >> >> Gesendet: Montag, 14. Dezember 2009 14:14 >> >> An: Bruno Arbter >> >> Cc: insight-users at itk.org >> >> Betreff: Re: [Insight-users] priors in >> itkBayesianClassifierImageFilter >> >> >> >> Take a look at Examples/Statistics/BayesianClassifier.cxx: and at >> >> Examples/Statistics/BayesianClassifierInitializer.cxx: >> >> >> >> This class does have a method to set the priors. The prior image >> >> expected (optionally as the second input) is a N component >> >> VectorImage, where N is the number of classes. If the prior image is >> >> not specified, a uniform distribution is taken, (ie no priors.). >> >> >> >> The API to do this is simply.... >> >> >> >> ? ?filter->SetInput( 1, priorVectorImage ); >> >> >> >> This is documented clearly in the doxygen. >> >> >> >> Thanks >> >> -- >> >> karthik >> >> >> >> On Mon, Dec 14, 2009 at 7:47 AM, Bruno Arbter >> >> wrote: >> >> > I want to use itkBayesianClassifierImageFilter with priors but I >> >> cannot find >> >> > any function to set the priors (e.g. SetPriors) in the class >> >> > itkBayesianClassifierImageFilter. How is the correct way to set >> >> priors? >> >> > >> >> > Bruno >> >> > >> >> > _____________________________________ >> >> > Powered by www.kitware.com >> >> > >> >> > Visit other Kitware open-source projects at >> >> > http://www.kitware.com/opensource/opensource.html >> >> > >> >> > Kitware offers ITK Training Courses, for more information visit: >> >> > http://www.kitware.com/products/protraining.html >> >> > >> >> > Please keep messages on-topic and check the ITK FAQ at: >> >> > http://www.itk.org/Wiki/ITK_FAQ >> >> > >> >> > Follow this link to subscribe/unsubscribe: >> >> > http://www.itk.org/mailman/listinfo/insight-users >> >> > >> >> >> >> >> >> >> >> -- >> >> _________________________________ >> >> Karthik Krishnan >> >> R&D Engineer, >> >> Kitware Inc. >> >> Ph: +1 5188814919, +91 9538477060 >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> >> >> >> -- >> _________________________________ >> Karthik Krishnan >> R&D Engineer, >> Kitware Inc. >> Ph: +1 5188814919, +91 9538477060 > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > -- _________________________________ Karthik Krishnan R&D Engineer, Kitware Inc. Ph: +1 5188814919, +91 9538477060 From itkvtk123 at gmx.net Wed Dec 16 16:44:24 2009 From: itkvtk123 at gmx.net (itkvtk123 at gmx.net) Date: Wed, 16 Dec 2009 22:44:24 +0100 Subject: [Insight-users] C2440 when reinterpret_cast-ing from base to specific class In-Reply-To: References: <20091216201005.192320@gmx.net> Message-ID: <20091216214424.304700@gmx.net> Thank you. Your code reinterpret_cast(optimizer.GetPointer())->SetRelaxationFactor(0.5); did the trick. I knew that the pointer might be the reason, but I was not aware of the GetPointer() function. -- GRATIS f?r alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 From gaoyi.cn at gmail.com Wed Dec 16 20:25:26 2009 From: gaoyi.cn at gmail.com (Gao, Yi) Date: Wed, 16 Dec 2009 20:25:26 -0500 Subject: [Insight-users] uuid.h not found in compiling gdcm Message-ID: <1ab4d3450912161725s263c67b8yfe328f11d296eb1d@mail.gmail.com> Hi All, I'm building ITK on a machine which does not have uuid, nor do I have root. So I download the e2fsprogs 1.41.9, and build it as: ./configure --prefix=/home/gaoyi/usr/local make make install-lib Then I can see the header: /home/gaoyi/usr/local/include/uuid/uuid.h and the lib: /home/gaoyi/usr/local/lib/libuuid.a Then I set the env: export CMAKE_PREFIX_PATH=/home/gaoyi/usr/local Then in itk-bin I did: ccmake ../InsightToolkit-3.16.0 And it won't complain about uuid (before, it did) So I do make But got error like this: /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx:105:23: error: uuid/uuid.h: No such file or directory /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx: In static member function ?static bool gdcm::Util::GenerateUUID(unsigned char*)?: /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx:1021: error: ?uuid_t? was not declared in this scope /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx:1021: error: expected `;' before ?g? /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx:1022: error: ?g? was not declared in this scope /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx:1022: error: ?uuid_generate? was not declared in this scope I'm wondering if the path is correctly passed to gdcm? Thanks for any hint! Best, yi From gaoyi.cn at gmail.com Wed Dec 16 21:54:57 2009 From: gaoyi.cn at gmail.com (Gao, Yi) Date: Wed, 16 Dec 2009 21:54:57 -0500 Subject: [Insight-users] uuid.h not found in compiling gdcm In-Reply-To: <1ab4d3450912161725s263c67b8yfe328f11d296eb1d@mail.gmail.com> References: <1ab4d3450912161725s263c67b8yfe328f11d296eb1d@mail.gmail.com> Message-ID: <1ab4d3450912161854o665ee9e2k4dcb639dd4b2ef7d@mail.gmail.com> To follow up: I made it by compiling gdcm alone: 1. download gdcm-2.0.14.tar.bz2 2. build gdcm using ccmake and make (the CMAKE_PREFIX_PATH is available, so gdcm can find uuid in /home/gaoyi/local/) 3. build itk, turn ITK_USE_SYSTEM_GDCM to ON 4. cmake will ask for dir of gdcm. point it to gdcm-bin (where the out-source binary dir of gdcm) 5. make itk build successfully. So i'm still guessing the gdcm in itk source may possibly have some include path problem. Best, yi On Wed, Dec 16, 2009 at 8:25 PM, Gao, Yi wrote: > > Hi All, > > I'm building ITK on a machine which does not have uuid, nor do I have root. > > So I download the e2fsprogs 1.41.9, and build it as: > ./configure --prefix=/home/gaoyi/usr/local > make > make install-lib > > Then I can see the header: /home/gaoyi/usr/local/include/uuid/uuid.h > and the lib: /home/gaoyi/usr/local/lib/libuuid.a > > Then I set the env: > export CMAKE_PREFIX_PATH=/home/gaoyi/usr/local > > Then in itk-bin I did: > ccmake ../InsightToolkit-3.16.0 > > And it won't complain about uuid (before, it did) > > So I do make > > But got error like this: > /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx:105:23: > error: uuid/uuid.h: No such file or directory > /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx: > In static member function ?static bool > gdcm::Util::GenerateUUID(unsigned char*)?: > /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx:1021: > error: ?uuid_t? was not declared in this scope > /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx:1021: > error: expected `;' before ?g? > /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx:1022: > error: ?g? was not declared in this scope > /home/gaoyi/usr/package/code/InsightToolkit-3.16.0/Utilities/gdcm/src/gdcmUtil.cxx:1022: > error: ?uuid_generate? was not declared in this scope > > > I'm wondering if the path is correctly passed to gdcm? > > Thanks for any hint! > > > Best, > yi -- Yi Gao Graduate Student Dept. Biomedical Engineering Georgia Institute of Technology From kumar.sravan09 at gmail.com Thu Dec 17 01:12:34 2009 From: kumar.sravan09 at gmail.com (sravan kumar) Date: Thu, 17 Dec 2009 11:42:34 +0530 Subject: [Insight-users] hello all, Message-ID: I am successful in configuring the ITK for Fedora 10.Actually, i need to use this ITK for an Embedded System based on ARM 9 processor having linux 2.6.20 kernel. Ca this ITK be used for Embedded Systems.If so, please tell me how to do it. Thanking you -- Y.Sravan Kumar II M.Tech(CS), Sri Sathya Sai University, PRASHANTINILAYAM - 515134 -------------- next part -------------- An HTML attachment was scrubbed... URL: From patrik.brynolfsson at gmail.com Thu Dec 17 04:22:07 2009 From: patrik.brynolfsson at gmail.com (Patrik.Br.) Date: Thu, 17 Dec 2009 01:22:07 -0800 (PST) Subject: [Insight-users] Confusion with direction cosines in DICOM, tag 0020|0037 Message-ID: <26825252.post@talk.nabble.com> Hello, I was wondering how to use the direction cosines in DICOM when contructing a direction/rotation matrix. Should the six numbers in tag 0020|0037 represent the first two columns or the first two rows of the matrix? An ITK bug report suggests (i think) that they are the first two row vectors: http://www.cmake.org/Bug/view.php?id=7748 ...but some nifti documentation seem to state the opposite (down the bottom of the page): http://nifti.nimh.nih.gov/nifti-1/documentation/nifti1fields/nifti1fields_pages/quatern.html A short educational pdf-document implies they are the row vectors of the matrix: http://www.ae.uiuc.edu/~tbretl/ae403/handouts/06-dcm.pdf ...but wikipedia seems to state that they should be interpreted as the column vectors of the matrix: http://en.wikipedia.org/wiki/Rotation_representation_(mathematics)#Rotation_matrix_.28or_direction_cosine_matrix.2C_DCM.29 Can someone de-confuse me?! Thanks in advance, //Patrik -- View this message in context: http://old.nabble.com/Confusion-with-direction-cosines-in-DICOM%2C-tag-0020%7C0037-tp26825252p26825252.html Sent from the ITK - Users mailing list archive at Nabble.com. From mathieu.malaterre at gmail.com Thu Dec 17 05:01:19 2009 From: mathieu.malaterre at gmail.com (Mathieu Malaterre) Date: Thu, 17 Dec 2009 11:01:19 +0100 Subject: [Insight-users] uuid.h not found in compiling gdcm In-Reply-To: <1ab4d3450912161854o665ee9e2k4dcb639dd4b2ef7d@mail.gmail.com> References: <1ab4d3450912161725s263c67b8yfe328f11d296eb1d@mail.gmail.com> <1ab4d3450912161854o665ee9e2k4dcb639dd4b2ef7d@mail.gmail.com> Message-ID: On Thu, Dec 17, 2009 at 3:54 AM, Gao, Yi wrote: > So i'm still guessing the gdcm in itk source may possibly have some > include path problem. The only way to have gdcmUtil.cxx use uuid/uuid.h, is by HAVING uuid/uuid.h I am not sure how you got there, but cmake code is: FIND_PACKAGE(UUID) IF(UUID_FOUND) SET(GDCM_SYSTEM_UUID_FOUND 1) ... You may want to check why uuid/uuid. is found at cmake time, but not at build time... Cheers -- Mathieu From Gerald.Lodron at joanneum.at Thu Dec 17 05:27:49 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Thu, 17 Dec 2009 11:27:49 +0100 Subject: [Insight-users] Transformation of vtkPolyData with an itk::Transform Message-ID: Hello I currently made a point selector which stores it's points into a vtkPolyData structure. Now I successfully made a image registration which converted the vtk image into itk, registered (transformed with itk::ResampleImageFilter) it and converted it back to vtk for visualization. Now the points of the vtkPolyData object are misaligned and I need to transform them. My point transformation implementation looks like this: Input: vtkPolyData poly; //Point cloud Itk::Transformation<> transf; //itk Transformation result of registration process Code: vtkSmartPointer transformedpoly = vtkPolyData::New(); //new transformed polydata Transformedpoly->DeepCopy(poly); for(int j=0; jGetNumberOfPoints();j++) { Itk::Transformation<> ::InputPointType point; for(int k=0; k < Transform33Type::InputPointType::PointDimension; k++) { point[k] = poly->GetPoint(j)[k]; } Itk::Transformation<> ::OutputPointType transformedPoint = transform->TransformPoint(point); float afTransfPoint[Transform33Type::OutputPointType::PointDimension]; for(int k=0; k < Transform33Type::OutputPointType::PointDimension; k++) { afTransfPoint[k] = transformedPoint[k]; } Transformedpoly->GetPoints()->SetPoint(j,afTransfPoint); } The problem is that the points does not fit to their old position, so there must be something wrong with the transformPoint operation? Best regards From Gerald.Lodron at joanneum.at Thu Dec 17 05:41:13 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Thu, 17 Dec 2009 11:41:13 +0100 Subject: [Insight-users] WG: Question on itk::ResampleImageFilter for up and downsampling images Message-ID: OK there is really a bug in the checkerboard function of vtk. The images must be defenitely of the same size to align the images correct. -----Urspr?ngliche Nachricht----- Von: insight-users-bounces at itk.org [mailto:insight-users-bounces at itk.org] Im Auftrag von Lodron, Gerald Gesendet: Donnerstag, 03. Dezember 2009 17:41 An: Bill Lorensen Cc: insight-users at itk.org Betreff: Re: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images I already saw that but i want to allow upscaling as well as downscaling (and i think the shrink filter is only for one direction). The other thing is that i want also to specify the up/downscaling per direction (anisotropic, the shrink filter makes it isotropic). I read DICOM images so i should not change the position of the image at all (the images which should be down/upscaled are registered and should also be registered after up/downscaling). -----Urspr?ngliche Nachricht----- Von: Bill Lorensen [mailto:bill.lorensen at gmail.com] Gesendet: Donnerstag, 03. Dezember 2009 17:36 An: Lodron, Gerald Cc: insight-users at itk.org Betreff: Re: [Insight-users] Question on itk::ResampleImageFilter for up and downsampling images Gerald, Another approach we used in itkShrinkImageFIlter modifies the origin of the output so that the center's of the input and output align. I think this is what you want. Here is a snippet from Code/BasicFilters/itkShrinkImageFilter.txx. In your case, the input and output start index should be 0. // Compute origin offset // The physical center's of the input and output should be the same ContinuousIndex inputCenterIndex; ContinuousIndex outputCenterIndex; for (i = 0; i < TOutputImage::ImageDimension; i++) { inputCenterIndex[i] = inputStartIndex[i] + (inputSize[i] - 1) / 2.0; outputCenterIndex[i] = outputStartIndex[i] + (outputSize[i] - 1) / 2.0; } typename TOutputImage::PointType inputCenterPoint; typename TOutputImage::PointType outputCenterPoint; inputPtr->TransformContinuousIndexToPhysicalPoint(inputCenterIndex, inputCenterPoint); outputPtr->TransformContinuousIndexToPhysicalPoint(outputCenterIndex, outputCenterPoint); typename TOutputImage::PointType outputOrigin = outputPtr->GetOrigin(); outputOrigin = outputOrigin + (inputCenterPoint - outputCenterPoint); outputPtr->SetOrigin(outputOrigin); On Thu, Dec 3, 2009 at 11:07 AM, Bill Lorensen wrote: > Sorry I read your e-mail too quickly. > Attached is code I wrote a while back. It keep the same origin, but > adjusts the spacing. > > Bill > > On Thu, Dec 3, 2009 at 10:37 AM, Lodron, Gerald > wrote: >> No, i am already using 3.16 and i did not changed such a flag. >> >> Best regards >> >> -----Urspr?ngliche Nachricht----- >> Von: Bill Lorensen [mailto:bill.lorensen at gmail.com] >> Gesendet: Donnerstag, 03. Dezember 2009 16:35 >> An: Lodron, Gerald >> Cc: insight-users at itk.org >> Betreff: Re: [Insight-users] Question on itk::ResampleImageFilter for >> up and downsampling images >> >> What version of itk are you using? Prior to itk 3.16 there was an issue with the location of sample points. IN 3.16 we changed the default for ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY to be ON. >> This made itk consistent with the behavior described in the software guide. It also corrected the 1/2 pixel offset you are seeing when down/up sampling. >> >> If you are using 3.14, you can set >> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY ON when you run cmake. >> >> Bill >> >> On Thu, Dec 3, 2009 at 9:49 AM, Lodron, Gerald wrote: >>> >>> >>> Hello, >>> >>> I want to write a code to reduce/increase the resolution of an image and i am using the itk::ResampleImageFilter. The code works fine but there is one small problem: When i compare the original and the resampled image with a checkerboard i see that the images are not registered any more (so there must be a problem with the origin). How should i set the origin? Here my code: >>> >>> Input: >>> >>> Int *iDownsampleFactor; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // = e.g. >>> {2,0.5,4}; Itk::OrientedImage::Pointer image; >>> >>> Code: >>> >>> Typedef itk::ResampleImageFilter>> InterpolationPrecisionType> ResampleType; >>> >>> ResampleType::Pointer ?resampler = ResampleType::New(); >>> >>> OutputImageType::SpacingType ? ? ? ? ? ? ? ? ? ?Spacing; >>> OutputImageType::PointType ? ? ? ? ? ? ? ? ? ? ?Origin; >>> OutputImageType::DirectionType ? ? ? ? ?Direction = >>> image->GetDirection(); OutputImageType::SizeType >>> Size; OutputImageType::RegionType::IndexType ?Index = >>> image->getLargestPossibleRegion().GetIndex(); >>> >>> For (int i=0; i<3; i++) >>> { >>> ? ? ? ?Spacing[i] = image->GetSpacing()[i] * iDownsampleFactor[i] ; >>> ? ? ? ?Origin[i] = image->GetOrigin()[i];//???????????????????? >>> ? ? ? ?Size[i] = >>> image->GetLargestPossibleRegion().GetSize()[i]/iDownsampleFactor[i] >>> image->; >>> } >>> >>> Resampler->SetInput(image); >>> resampler->SetOutputSpacing( Spacing ); SetOutputOrigin( ?Origin ?); >>> resampler->SetOutputDirection( ?Direction ?); SetSize( Size ); >>> resampler->SetOutputStartIndex( ?Index ); >>> >>> Output = resampler->GetOutput(); ? ? ? ?//Wrong >>> alignment/registration to input >>> >>> Best regards >>> >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> > _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.html Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-users From gaetan.lehmann at jouy.inra.fr Thu Dec 17 10:48:25 2009 From: gaetan.lehmann at jouy.inra.fr (=?ISO-8859-1?Q?Ga=EBtan_Lehmann?=) Date: Thu, 17 Dec 2009 16:48:25 +0100 Subject: [Insight-users] priors in itkBayesianClassifierImageFilter In-Reply-To: <9ddb27260912161258j692301cla1b8d9ec170da98e@mail.gmail.com> References: <1075827801198072689@unknownmsgid> <9ddb27260912140514o7c5dc9d8h46acc83be481c8fe@mail.gmail.com> <-6773536655479176608@unknownmsgid> <9ddb27260912150231i6f137c2el8bd2699d3dcb6f01@mail.gmail.com> <9083243016844486163@unknownmsgid> <9ddb27260912161258j692301cla1b8d9ec170da98e@mail.gmail.com> Message-ID: Hi Karthik, It seems that those changes are breaking wrapitk build: http://www.cdash.org/CDash/viewBuildError.php?buildid=495103 Maybe this is due to a instantiation with the wrong type. I put the list at the end - please let me know if there is something wrong. Ga?tan typedef itk::BayesianClassifierImageFilter< itk::VectorImage< unsigned char,2 >, unsigned char, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIUC2UCF; typedef itk::BayesianClassifierImageFilter< itk::VectorImage< unsigned char,2 >, unsigned short, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIUC2USF; typedef itk::BayesianClassifierImageFilter< itk::VectorImage< unsigned short,2 >, unsigned char, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIUS2UCF; typedef itk::BayesianClassifierImageFilter< itk::VectorImage< unsigned short,2 >, unsigned short, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIUS2USF; typedef itk::BayesianClassifierImageFilter< itk::VectorImage< float,2 >, unsigned char, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIF2UCF; typedef itk::BayesianClassifierImageFilter< itk::VectorImage< float,2 >, unsigned short, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIF2USF; typedef itk::BayesianClassifierImageFilter< itk::VectorImage< unsigned char,3 >, unsigned char, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIUC3UCF; typedef itk::BayesianClassifierImageFilter< itk::VectorImage< unsigned char,3 >, unsigned short, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIUC3USF; typedef itk::BayesianClassifierImageFilter< itk::VectorImage< unsigned short,3 >, unsigned char, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIUS3UCF; typedef itk::BayesianClassifierImageFilter< itk::VectorImage< unsigned short,3 >, unsigned short, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIUS3USF; typedef itk::BayesianClassifierImageFilter< itk::VectorImage< float,3 >, unsigned char, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIF3UCF; typedef itk::BayesianClassifierImageFilter< itk::VectorImage< float,3 >, unsigned short, float >::BayesianClassifierImageFilter itkBayesianClassifierImageFilterVIF3USF; Le 16 d?c. 09 ? 21:58, Karthik Krishnan a ?crit : > sorry.. been busy.. Indeed you are right.. Please update again... > > /cvsroot/Insight/Insight/Code/Algorithms/ > itkBayesianClassifierImageFilter.txx,v > <-- itkBayesianClassifierImageFilter.txx > new revision: 1.11; previous revision: 1.10 > > I'll try and check in a test this weekend that exercises specifying a > prior vector image. (As Luis would say, If is not tested, it is > broken, and indeed it was :) ) > > > On Tue, Dec 15, 2009 at 7:44 AM, Bruno Arbter > wrote: >> Works fine up to the calculation of the posteriors with priors >> (line 205 in >> itkBayesianClassifierImageFilter.txx). I'm not very familiar with >> iterators >> up to now, but the posteriors cannot be accessed in this way >> (posteriors[i]=). Perhaps the variable needs some kind of memory >> allocation, >> doesn't it? >> >>> -----Urspr?ngliche Nachricht----- >>> Von: Karthik Krishnan [mailto:karthik.krishnan at kitware.com] >>> Gesendet: Dienstag, 15. Dezember 2009 11:32 >>> An: Bruno Arbter >>> Cc: insight-users at itk.org >>> Betreff: Re: [Insight-users] priors in >>> itkBayesianClassifierImageFilter >>> >>> Thanks for catching this... >>> >>> Fix committed : >>> >>> /cvsroot/Insight/Insight/Code/Algorithms/ >>> itkBayesianClassifierImageFilt >>> er.h,v >>> <-- itkBayesianClassifierImageFilter.h >>> new revision: 1.16; previous revision: 1.15 >>> /cvsroot/Insight/Insight/Code/Algorithms/ >>> itkBayesianClassifierImageFilt >>> er.txx,v >>> <-- itkBayesianClassifierImageFilter.txx >>> new revision: 1.10; previous revision: 1.9 >>> >>> Update and please let us know.. >>> >>> On Tue, Dec 15, 2009 at 5:10 AM, Bruno Arbter >>> wrote: >>>> Okay, priors can be set via SetInput - but the flag >>> m_UserProvidedPriors in >>>> itkBayesianClassifierImageFilter remains false, and therefore the >>> priors are >>>> not used without changing the constructor. >>>> >>>> Is there an example that really uses priors? >>>> >>>> Thanks >>>> Bruno >>>> >>>>> -----Urspr?ngliche Nachricht----- >>>>> Von: Karthik Krishnan [mailto:karthik.krishnan at kitware.com] >>>>> Gesendet: Montag, 14. Dezember 2009 14:14 >>>>> An: Bruno Arbter >>>>> Cc: insight-users at itk.org >>>>> Betreff: Re: [Insight-users] priors in >>> itkBayesianClassifierImageFilter >>>>> >>>>> Take a look at Examples/Statistics/BayesianClassifier.cxx: and at >>>>> Examples/Statistics/BayesianClassifierInitializer.cxx: >>>>> >>>>> This class does have a method to set the priors. The prior image >>>>> expected (optionally as the second input) is a N component >>>>> VectorImage, where N is the number of classes. If the prior >>>>> image is >>>>> not specified, a uniform distribution is taken, (ie no priors.). >>>>> >>>>> The API to do this is simply.... >>>>> >>>>> filter->SetInput( 1, priorVectorImage ); >>>>> >>>>> This is documented clearly in the doxygen. >>>>> >>>>> Thanks >>>>> -- >>>>> karthik >>>>> >>>>> On Mon, Dec 14, 2009 at 7:47 AM, Bruno Arbter >>>>> wrote: >>>>>> I want to use itkBayesianClassifierImageFilter with priors but I >>>>> cannot find >>>>>> any function to set the priors (e.g. SetPriors) in the class >>>>>> itkBayesianClassifierImageFilter. How is the correct way to set >>>>> priors? >>>>>> >>>>>> Bruno >>>>>> >>>>>> _____________________________________ >>>>>> Powered by www.kitware.com >>>>>> >>>>>> Visit other Kitware open-source projects at >>>>>> http://www.kitware.com/opensource/opensource.html >>>>>> >>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>> http://www.kitware.com/products/protraining.html >>>>>> >>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>> >>>>>> Follow this link to subscribe/unsubscribe: >>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> _________________________________ >>>>> Karthik Krishnan >>>>> R&D Engineer, >>>>> Kitware Inc. >>>>> Ph: +1 5188814919, +91 9538477060 >>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>> >>> >>> >>> -- >>> _________________________________ >>> Karthik Krishnan >>> R&D Engineer, >>> Kitware Inc. >>> Ph: +1 5188814919, +91 9538477060 >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > > > > -- > _________________________________ > Karthik Krishnan > R&D Engineer, > Kitware Inc. > Ph: +1 5188814919, +91 9538477060 > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users -- Ga?tan Lehmann Biologie du D?veloppement et de la Reproduction INRA de Jouy-en-Josas (France) tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 http://voxel.jouy.inra.fr http://www.itk.org http://www.mandriva.org http://www.bepo.fr -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 203 bytes Desc: Ceci est une signature ?lectronique PGP URL: From gaetan.lehmann at jouy.inra.fr Thu Dec 17 10:53:18 2009 From: gaetan.lehmann at jouy.inra.fr (=?ISO-8859-1?Q?Ga=EBtan_Lehmann?=) Date: Thu, 17 Dec 2009 16:53:18 +0100 Subject: [Insight-users] C2440 when reinterpret_cast-ing from base to specific class In-Reply-To: <20091216214424.304700@gmx.net> References: <20091216201005.192320@gmx.net> <20091216214424.304700@gmx.net> Message-ID: <36877D11-53AC-4BA4-B8E9-69054C1EB0B4@jouy.inra.fr> Le 16 d?c. 09 ? 22:44, itkvtk123 at gmx.net a ?crit : > Thank you. Your code > > reinterpret_cast(optimizer.GetPointer())- > >SetRelaxationFactor(0.5); > > did the trick. > I knew that the pointer might be the reason, but I was not aware of > the GetPointer() function. > Just a comment on reinterpret_cast: you usually don't need it, and it is often very dangerous. In that case, a dynamic_cast seems more appropriate to me. Ga?tan -- Ga?tan Lehmann Biologie du D?veloppement et de la Reproduction INRA de Jouy-en-Josas (France) tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 http://voxel.jouy.inra.fr http://www.itk.org http://www.mandriva.org http://www.bepo.fr -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 203 bytes Desc: Ceci est une signature ?lectronique PGP URL: From gaetan.lehmann at jouy.inra.fr Thu Dec 17 11:04:33 2009 From: gaetan.lehmann at jouy.inra.fr (=?ISO-8859-1?Q?Ga=EBtan_Lehmann?=) Date: Thu, 17 Dec 2009 17:04:33 +0100 Subject: [Insight-users] WrapITK, Java, Windows and exception In-Reply-To: <4B2898B8.9030308@c-s.fr> References: <4B2898B8.9030308@c-s.fr> Message-ID: <886DF558-E1D0-4FE5-AD26-66445BAF367A@jouy.inra.fr> Le 16 d?c. 09 ? 09:22, Julien Michel a ?crit : > Dear ITK, > > These four does not seem to be friend. On my linux system, when > using a java/WrapITK program and providing it with a wrong filename, > I got a very informative message corresponding to the unhandled > exception, which allows me to understand that the input filename is > bad. > > On Windows whenever an unhandled exception is thrown, Java crashes > with the following message : > > # > # An unexpected error has been detected by Java Runtime Environment: > # > # Internal Error (0xe06d7363), pid=2244, tid=3556 > # > # Java VM: Java HotSpot(TM) Client VM (1.6.0-b105 mixed mode, sharing) > # Problematic frame: > # C [kernel32.dll+0x1eb33] > # > # An error report file with more information is saved as > hs_err_pid2244.log > # > # If you would like to submit a bug report, please visit: > # http://java.sun.com/webapps/bugreport/crash.jsp > # > > I searched for a while, beeing a non-specialist in JNI/Java, before > understanding that it was due to the very same exception that on > linux. > > Any clue on how to enhance exception handling of WrapITK on the > windows side ? Hi Julien, In python, we have %exception { try { $action } catch (const std::out_of_range& e) { SWIG_exception_fail(SWIG_IndexError, e.what()); } catch (const std::exception& e) { SWIG_exception_fail(SWIG_RuntimeError, e.what()); } } in wrap_pyBase.i, to customize the exception handling. I can't find anything similar in Java directory. Maybe you should try to add the same kind of customization in wrap_javaBase.i or in java.i? (BTW, those two files should be merged in the future.) Ga?tan -- Ga?tan Lehmann Biologie du D?veloppement et de la Reproduction INRA de Jouy-en-Josas (France) tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 http://voxel.jouy.inra.fr http://www.itk.org http://www.mandriva.org http://www.bepo.fr -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 203 bytes Desc: Ceci est une signature ?lectronique PGP URL: From gaetan.lehmann at jouy.inra.fr Thu Dec 17 11:12:33 2009 From: gaetan.lehmann at jouy.inra.fr (=?ISO-8859-1?Q?Ga=EBtan_Lehmann?=) Date: Thu, 17 Dec 2009 17:12:33 +0100 Subject: [Insight-users] combining output from segmentation with label map attributes using Gaetan Lehmann's paper: "Label object representation and manipulation with ITK" In-Reply-To: <20091215204046.GA2209@drago> References: <20091215204046.GA2209@drago> Message-ID: <87F0F47B-D949-498C-9D5A-D4A8CE208074@jouy.inra.fr> Le 15 d?c. 09 ? 21:40, lynx.abraxas at freenet.de a ?crit : > On 11/12/09 11:30:08, Luis Ibanez wrote: >> itkLabelGeometryImageFilter.h >> >> that is described in the Insight Journal paper: >> >> "A Label Geometry Image Filter for Multiple Object Measurement" >> by Padfield D., Miller J. from GE Global Research >> http://www.insight-journal.org/browse/publication/301 >> http://hdl.handle.net/1926/1493 > > I'm getting confiused. How do itkLabelGeometryImageFilter.h and > itkBinaryImageToShapeLabelMapFilter.h (from http://www.insight-journal.org/browse/publication/176) > differ (except for the additionaly analized quantities)? > > It looks like Ga?tan's publication was earlier but it seems to > include itkLabelGeometryImageFilter.h, is that correct? Those two classes provide similar features, but there are a few differences. There is no code shared in those contributions. I believe that the LabelMap contribution provide a better infrastructure, but well, that's the opinion of the developer, so it might be quite biased :-) I also believe that ITK really needs this kind of feature, but introducing them twice seems a bit strange and confusing for the final user. Ga?tan -- Ga?tan Lehmann Biologie du D?veloppement et de la Reproduction INRA de Jouy-en-Josas (France) tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 http://voxel.jouy.inra.fr http://www.itk.org http://www.mandriva.org http://www.bepo.fr -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 203 bytes Desc: Ceci est une signature ?lectronique PGP URL: From gaetan.lehmann at jouy.inra.fr Thu Dec 17 11:15:29 2009 From: gaetan.lehmann at jouy.inra.fr (=?ISO-8859-1?Q?Ga=EBtan_Lehmann?=) Date: Thu, 17 Dec 2009 17:15:29 +0100 Subject: [Insight-users] MaximumImageFilter with Inputimage index In-Reply-To: References: Message-ID: Le 14 d?c. 09 ? 12:58, Stefan Dietrich a ?crit : > Hi together, > I'm using itk with Python and currently I'm stuck in a part o my > algorithm which has to compare > say up to 30 3d images and fin the corresponding maximum in each > voxel. > My idea was now to start from the first image and com pare this with > the second one. > Using > itk.MaximumImageFilter > I can produce an output image with the maximum values of each image. > But now I also want to keep an additional image with the image- > number where the maximum grayvalue > occured. > Is such a method implemented in the MaximumImageFilter?. Hi, I'm not aware of this kind of feature in ITK. You may want to implement it by yourself, for example by subclassing NaryFunctorImageFilter. You can then wrap the class quite easily in python with wrapitk's external projects. Regards, Ga?tan -- Ga?tan Lehmann Biologie du D?veloppement et de la Reproduction INRA de Jouy-en-Josas (France) tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 http://voxel.jouy.inra.fr http://www.itk.org http://www.mandriva.org http://www.bepo.fr -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 203 bytes Desc: Ceci est une signature ?lectronique PGP URL: From gaetan.lehmann at jouy.inra.fr Thu Dec 17 11:22:48 2009 From: gaetan.lehmann at jouy.inra.fr (=?ISO-8859-1?Q?Ga=EBtan_Lehmann?=) Date: Thu, 17 Dec 2009 17:22:48 +0100 Subject: [Insight-users] troubles while building itk 3.16 for snow leopard - 10.6 In-Reply-To: References: Message-ID: <57CA8F4F-2240-45C0-B99F-DAEC78D0E9CB@jouy.inra.fr> Le 11 d?c. 09 ? 15:35, jelle a ?crit : > hi, Hi Jelle, Sorry again for the late reply. > > I'm trying to build itk 3.16 on snow leopard, with wrapitk enabled. > My goal is to build the wrappers for 64 bit python 2.6. > > I've got Xcode 3.2 / swig 1.3.40 installed and CableSwig from: > http://code.google.com/p/wrapitk/wiki/WrapITKBinaries > > While building itk, I run into the following error. > Any ideas what I can do to overcome this issue? > Should I build CableSwig from scratch? I would say "yes". I think gccxml in that package produces an xml description for a 32 bit build. You should try to build it in 64 bit. Ga?tan -- Ga?tan Lehmann Biologie du D?veloppement et de la Reproduction INRA de Jouy-en-Josas (France) tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 http://voxel.jouy.inra.fr http://www.itk.org http://www.mandriva.org http://www.bepo.fr -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 203 bytes Desc: Ceci est une signature ?lectronique PGP URL: From jelleferinga at gmail.com Thu Dec 17 11:36:49 2009 From: jelleferinga at gmail.com (Jelle Feringa) Date: Thu, 17 Dec 2009 17:36:49 +0100 Subject: [Insight-users] troubles while building itk 3.16 for snow leopard - 10.6 In-Reply-To: <57CA8F4F-2240-45C0-B99F-DAEC78D0E9CB@jouy.inra.fr> References: <57CA8F4F-2240-45C0-B99F-DAEC78D0E9CB@jouy.inra.fr> Message-ID: <51EFB987-8B33-4287-B02C-F16F10E506E6@gmail.com> > I would say "yes". I think gccxml in that package produces an xml > description for a 32 bit build. > > You should try to build it in 64 bit. thanks! that helps a lot! cheers, -jelle From sajendra at gmail.com Thu Dec 17 11:57:02 2009 From: sajendra at gmail.com (Sajendra) Date: Thu, 17 Dec 2009 11:57:02 -0500 Subject: [Insight-users] Transformation of vtkPolyData with an itk::Transform In-Reply-To: References: Message-ID: <8151b65f0912170857m613d4c51i88784044fcd99437@mail.gmail.com> Hello Gerald, You will likely need to use the inverse of the transform computed from itk registration to transform your vtk polydata. The transform you have maps points from the fixed image space into the moving image space (so that it can be used to resample the moving image). If you want to transform points from the moving image space into the fixed image space, you need the inverse of that transform. Regards, Sajendra On Thu, Dec 17, 2009 at 5:27 AM, Lodron, Gerald wrote: > Hello > > I currently made a point selector which stores it's points into a vtkPolyData structure. > > Now I successfully made a image registration which converted the vtk image into itk, registered (transformed with itk::ResampleImageFilter) it and converted it back to vtk for visualization. Now the points of the vtkPolyData object are misaligned and I need to transform them. My point transformation implementation looks like this: > > > > The problem is that the points does not fit to their old position, so there must be something wrong with the transformPoint operation? > From john.drozd at gmail.com Thu Dec 17 12:22:09 2009 From: john.drozd at gmail.com (John Drozd) Date: Thu, 17 Dec 2009 12:22:09 -0500 Subject: [Insight-users] itkMergeLabelMapFilter.h Message-ID: Hi, Can anyone show me how to use the MergeLabelMapFilter to merge two label maps? john -------------- next part -------------- An HTML attachment was scrubbed... URL: From gaetan.lehmann at jouy.inra.fr Thu Dec 17 12:56:24 2009 From: gaetan.lehmann at jouy.inra.fr (=?ISO-8859-1?Q?Ga=EBtan_Lehmann?=) Date: Thu, 17 Dec 2009 18:56:24 +0100 Subject: [Insight-users] itkMergeLabelMapFilter.h In-Reply-To: References: Message-ID: <70E33F22-B5E7-492B-9F4E-4C28892A1909@jouy.inra.fr> Le 17 d?c. 09 ? 18:22, John Drozd a ?crit : > Hi, > > Can anyone show me how to use the MergeLabelMapFilter to merge two > label maps? Hi John, You can look at Testing/Code/Review/itkMergeLabelMapFilterTest1.cxx, as an example. Can you be more specific on what you want to do? Regards, Ga?tan -- Ga?tan Lehmann Biologie du D?veloppement et de la Reproduction INRA de Jouy-en-Josas (France) tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 http://voxel.jouy.inra.fr http://www.itk.org http://www.mandriva.org http://www.bepo.fr -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 203 bytes Desc: Ceci est une signature ?lectronique PGP URL: From john.drozd at gmail.com Thu Dec 17 13:12:35 2009 From: john.drozd at gmail.com (John Drozd) Date: Thu, 17 Dec 2009 13:12:35 -0500 Subject: [Insight-users] itkMergeLabelMapFilter.h In-Reply-To: <70E33F22-B5E7-492B-9F4E-4C28892A1909@jouy.inra.fr> References: <70E33F22-B5E7-492B-9F4E-4C28892A1909@jouy.inra.fr> Message-ID: Hi Gaetan, My particular brain subject had the left and right brain ventricle as separate regions, so I inputed a seed for the left ventricle and a seed for the right ventricle, and created a separate label map for each ventricle. (I could not figure out how to create a label map with two labelled segmentations, so I am trying to merge these two label maps into a combined label map.) Below is my code and thank you: /* to run type: ./ConnectedThresholdImagechangedtoFuzzyConnectednessImageFilter "/trumpet/downloads/ReadAtlasDicomSeriesAndReadSubjectDicomSeries_Plugin/ReadAtlasDicomSeriesAndReadSubjectDicomSeries/ReadAtlasDicomSeriesAndReadSubjectDicomSeries3DSlicerDec22009/normal002_S_0295.dcm" outsubjectnormal4final.dcm outfuzzymapnormal.mhd 100 151 95 86 152 76 2.5 10 */ #if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif #ifdef __BORLANDC__ #define ITK_LEAN_AND_MEAN #endif #include "itkConnectedThresholdImageFilter.h" #include "itkImage.h" #include "itkCastImageFilter.h" #include "itkCurvatureFlowImageFilter.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkGDCMImageIO.h" #include "itkVersion.h" #include "itkOrientedImage.h" #include "itkMinimumMaximumImageFilter.h" #include "itkGDCMImageIO.h" #include "itkGDCMSeriesFileNames.h" #include "itkNumericSeriesFileNames.h" #include "itkImageSeriesReader.h" #include "itkImageSeriesWriter.h" #include "itkResampleImageFilter.h" #include "itkShiftScaleImageFilter.h" #include "itkIdentityTransform.h" #include "itkLinearInterpolateImageFunction.h" #include #include "gdcm/src/gdcmFile.h" #include "gdcm/src/gdcmUtil.h" #include //added per attribute_values.cxx #include "itkImageFileReader.h" #include "itkShapeLabelObject.h" #include "itkLabelMap.h" #include "itkBinaryImageToShapeLabelMapFilter.h" //end of added code //added per label.cxx #include "itkLabelObject.h" #include "itkLabelMap.h" #include "itkBinaryImageToLabelMapFilter.h" #include "itkLabelMapToLabelImageFilter.h" //end of added code #include "itkSimpleFilterWatcher.h" //added per FuzzyConnectednessImageFilter.cxx #include "itkSimpleFuzzyConnectednessScalarImageFilter.h" #include "itkConfidenceConnectedImageFilter.h" //end of added code #include "itkMergeLabelMapFilter.h" int main( int argc, char *argv[]) { if( argc < 7 ) { std::cerr << "Missing Parameters " << std::endl; std::cerr << "Usage: " << argv[0]; std::cerr << " inputImage outputImage outputAffinityMap seedX seedY seedZ seedX seedY seedZ multiplier tolerancedivisor" << std::endl; return 1; } typedef unsigned char BinaryPixelType; const unsigned int Dimension = 3; typedef itk::Image< BinaryPixelType, Dimension > BinaryImageType; typedef signed short InputPixelType; typedef itk::Image< InputPixelType, Dimension > InputImageType; typedef unsigned char LabelType; const unsigned int dim = 3; typedef itk::ShapeLabelObject< LabelType, dim > LabelObjectType; typedef itk::LabelMap< LabelObjectType > LabelMapType; typedef itk::LabelMap< LabelObjectType > LabelMapType2; typedef itk::BinaryImageToShapeLabelMapFilter< BinaryImageType, LabelMapType> ConverterType; ConverterType::Pointer converter = ConverterType::New(); typedef itk::BinaryImageToShapeLabelMapFilter< BinaryImageType, LabelMapType> ConverterType2; ConverterType2::Pointer converter2 = ConverterType2::New(); typedef itk::ImageFileReader< InputImageType > ReaderType; typedef itk::ImageFileWriter< BinaryImageType > WriterType; ReaderType::Pointer reader = ReaderType::New(); WriterType::Pointer writer = WriterType::New(); typedef itk::GDCMImageIO ImageIOTypefixed; ImageIOTypefixed::Pointer gdcmImageIOfixed = ImageIOTypefixed::New(); reader->SetImageIO( gdcmImageIOfixed ); typedef itk::GDCMImageIO ImageIOTypefixed2; ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = ImageIOTypefixed2::New(); reader->SetFileName( argv[1] ); reader->Update(); typedef itk::ConfidenceConnectedImageFilter< InputImageType, BinaryImageType > ConfidenceConnectedFilterType; ConfidenceConnectedFilterType::Pointer confidenceConnectedFilter = ConfidenceConnectedFilterType::New(); typedef itk::SimpleFuzzyConnectednessScalarImageFilter< InputImageType, BinaryImageType > FuzzySegmentationFilterType; FuzzySegmentationFilterType::Pointer fuzzysegmenter = FuzzySegmentationFilterType::New(); typedef FuzzySegmentationFilterType::FuzzySceneType FuzzySceneType; typedef itk::ImageFileWriter< FuzzySceneType > FuzzyWriterType; FuzzyWriterType::Pointer fwriter = FuzzyWriterType::New(); fwriter->SetFileName( argv[3] ); BinaryImageType::IndexType index; index[0] = atoi( argv[4] ); index[1] = atoi( argv[5] ); index[2] = atoi( argv[6] ); const double varianceMultiplier = atof( argv[10] ); confidenceConnectedFilter->SetInput( reader->GetOutput() ); confidenceConnectedFilter->SetMultiplier( varianceMultiplier ); confidenceConnectedFilter->SetNumberOfIterations( 12 ); fuzzysegmenter->SetInput( reader->GetOutput() ); double varianceEstimation = 0; double meanEstimation = 0; confidenceConnectedFilter->SetSeed( index ); confidenceConnectedFilter->Update(); meanEstimation = confidenceConnectedFilter->GetMean(); varianceEstimation = confidenceConnectedFilter->GetVariance(); std::cout << "Mean estimation = " << meanEstimation << std::endl; std::cout << "Variance estimation = " << varianceEstimation << std::endl; if( varianceEstimation > meanEstimation/atoi( argv[11] ) ) { index[0] = index[0]-10; index[1] = index[1]-10; index[2] = index[2]-10; confidenceConnectedFilter->SetSeed( index ); confidenceConnectedFilter->Update(); meanEstimation = confidenceConnectedFilter->GetMean(); varianceEstimation = confidenceConnectedFilter->GetVariance(); } while( varianceEstimation > meanEstimation/atoi( argv[11] ) ) { index[0] = index[0] + 1; confidenceConnectedFilter->SetSeed( index ); confidenceConnectedFilter->Update(); meanEstimation = confidenceConnectedFilter->GetMean(); varianceEstimation = confidenceConnectedFilter->GetVariance(); std::cout << "Mean estimation = " << meanEstimation << std::endl; std::cout << "Variance estimation = " << varianceEstimation << std::endl; if ( varianceEstimation > meanEstimation/atoi( argv[11] )) { index[1] = index[1] + 1; confidenceConnectedFilter->SetSeed( index ); confidenceConnectedFilter->Update(); meanEstimation = confidenceConnectedFilter->GetMean(); varianceEstimation = confidenceConnectedFilter->GetVariance(); std::cout << "Mean estimation = " << meanEstimation << std::endl; std::cout << "Variance estimation = " << varianceEstimation << std::endl; } if ( varianceEstimation > meanEstimation/atoi( argv[11] )) { index[2] = index[2] + 1; confidenceConnectedFilter->SetSeed( index ); confidenceConnectedFilter->Update(); meanEstimation = confidenceConnectedFilter->GetMean(); varianceEstimation = confidenceConnectedFilter->GetVariance(); std::cout << "Mean estimation = " << meanEstimation << std::endl; std::cout << "Variance estimation = " << varianceEstimation << std::endl; } } std::cout << index << std::endl; std::cout << "Mean estimation = " << meanEstimation << std::endl; std::cout << "Variance estimation = " << varianceEstimation << std::endl; fuzzysegmenter->SetObjectSeed( index ); fuzzysegmenter->SetMean( meanEstimation ); fuzzysegmenter->SetVariance( varianceEstimation ); fuzzysegmenter->SetThreshold( 0.5 ); fuzzysegmenter->Update(); //begin second label FuzzySegmentationFilterType::Pointer fuzzysegmenter2 = FuzzySegmentationFilterType::New(); index[0] = atoi( argv[7] ); index[1] = atoi( argv[8] ); index[2] = atoi( argv[9] ); confidenceConnectedFilter->SetInput( reader->GetOutput() ); confidenceConnectedFilter->SetMultiplier( varianceMultiplier ); confidenceConnectedFilter->SetNumberOfIterations( 12 ); fuzzysegmenter2->SetInput( reader->GetOutput() ); varianceEstimation = 0; meanEstimation = 0; confidenceConnectedFilter->SetSeed( index ); confidenceConnectedFilter->Update(); meanEstimation = confidenceConnectedFilter->GetMean(); varianceEstimation = confidenceConnectedFilter->GetVariance(); std::cout << "Mean estimation = " << meanEstimation << std::endl; std::cout << "Variance estimation = " << varianceEstimation << std::endl; if( varianceEstimation > meanEstimation/atoi( argv[11] ) ) { index[0] = index[0]-10; index[1] = index[1]-10; index[2] = index[2]-10; confidenceConnectedFilter->SetSeed( index ); confidenceConnectedFilter->Update(); meanEstimation = confidenceConnectedFilter->GetMean(); varianceEstimation = confidenceConnectedFilter->GetVariance(); } while( varianceEstimation > meanEstimation/atoi( argv[11] ) ) { index[0] = index[0] + 1; confidenceConnectedFilter->SetSeed( index ); confidenceConnectedFilter->Update(); meanEstimation = confidenceConnectedFilter->GetMean(); varianceEstimation = confidenceConnectedFilter->GetVariance(); std::cout << "Mean estimation = " << meanEstimation << std::endl; std::cout << "Variance estimation = " << varianceEstimation << std::endl; if ( varianceEstimation > meanEstimation/atoi( argv[11] )) { index[1] = index[1] + 1; confidenceConnectedFilter->SetSeed( index ); confidenceConnectedFilter->Update(); meanEstimation = confidenceConnectedFilter->GetMean(); varianceEstimation = confidenceConnectedFilter->GetVariance(); std::cout << "Mean estimation = " << meanEstimation << std::endl; std::cout << "Variance estimation = " << varianceEstimation << std::endl; } if ( varianceEstimation > meanEstimation/atoi( argv[11] )) { index[2] = index[2] + 1; confidenceConnectedFilter->SetSeed( index ); confidenceConnectedFilter->Update(); meanEstimation = confidenceConnectedFilter->GetMean(); varianceEstimation = confidenceConnectedFilter->GetVariance(); std::cout << "Mean estimation = " << meanEstimation << std::endl; std::cout << "Variance estimation = " << varianceEstimation << std::endl; } } std::cout << index << std::endl; std::cout << "Mean estimation = " << meanEstimation << std::endl; std::cout << "Variance estimation = " << varianceEstimation << std::endl; fuzzysegmenter2->SetObjectSeed( index ); fuzzysegmenter2->SetMean( meanEstimation ); fuzzysegmenter2->SetVariance( varianceEstimation ); fuzzysegmenter2->SetThreshold( 0.5 ); fuzzysegmenter2->Update(); //end second label typedef itk::MetaDataDictionary DictionaryType; DictionaryType inputdict = reader->GetMetaDataDictionary(); writer->SetMetaDataDictionary( inputdict ); writer->SetFileName( argv[2] ); converter->SetInput( fuzzysegmenter->GetOutput() ); converter->SetFullyConnected( true ); converter->SetInputForegroundValue( 255 ); converter->SetOutputBackgroundValue( 0 ); converter->Update(); converter2->SetInput( fuzzysegmenter2->GetOutput() ); converter2->SetFullyConnected( true ); converter2->SetInputForegroundValue( 255 ); converter2->SetOutputBackgroundValue( 0 ); converter2->Update(); LabelMapType::Pointer labelMap = converter->GetOutput(); LabelMapType2::Pointer labelMap2 = converter2->GetOutput(); std::cout.precision(20); std::cout << "labelMap->GetNumberOfLabelObjects() = " << labelMap->GetNumberOfLabelObjects() << std::endl; std::cout << "labelMap2->GetNumberOfLabelObjects() = " << labelMap2->GetNumberOfLabelObjects() << std::endl; for( unsigned int label=1; label<=labelMap->GetNumberOfLabelObjects(); label++ ) { // we don't need a SmartPointer of the label object here, because the reference is kept in // in the label map. const LabelObjectType * labelObject = labelMap->GetLabelObject( label ); std::cout << label << "\t" << labelObject->GetSize() << "\t" << labelObject->GetPhysicalSize() << "\t" << labelObject->GetCentroid() << std::endl; } for( unsigned int label=1; label<=labelMap2->GetNumberOfLabelObjects(); label++ ) { // we don't need a SmartPointer of the label object here, because the reference is kept in // in the label map. const LabelObjectType * labelObject2 = labelMap2->GetLabelObject( label ); std::cout << label << "\t" << labelObject2->GetSize() << "\t" << labelObject2->GetPhysicalSize() << "\t" << labelObject2->GetCentroid() << std::endl; } //added to merge the two label maps typedef itk::MergeLabelMapFilter< LabelMapType > ConverterMergeType; ConverterMergeType::Pointer convertermerge = ConverterMergeType::New(); /******************************* how do I merge labelMap and LabelMap2 ? ********************************/ //end typedef itk::LabelMapToLabelImageFilter< LabelMapType, BinaryImageType > L2IType; L2IType::Pointer l2i = L2IType::New(); l2i->SetInput( converter->GetOutput() ); writer->SetInput( l2i->GetOutput() ); try { writer->Update(); } catch( itk::ExceptionObject & excep ) { std::cerr << "Exception caught !" << std::endl; std::cerr << excep << std::endl; } fwriter->SetInput( fuzzysegmenter->GetFuzzyScene() ); fwriter->Update(); return 0; } 2009/12/17 Ga?tan Lehmann > > Le 17 d?c. 09 ? 18:22, John Drozd a ?crit : > > > Hi, >> >> Can anyone show me how to use the MergeLabelMapFilter to merge two label >> maps? >> > > > Hi John, > > You can look at Testing/Code/Review/itkMergeLabelMapFilterTest1.cxx, as an > example. > > Can you be more specific on what you want to do? > > Regards, > > Ga?tan > > > -- > Ga?tan Lehmann > Biologie du D?veloppement et de la Reproduction > INRA de Jouy-en-Josas (France) > tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 > http://voxel.jouy.inra.fr http://www.itk.org > http://www.mandriva.org http://www.bepo.fr > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From john.drozd at gmail.com Thu Dec 17 13:43:53 2009 From: john.drozd at gmail.com (John Drozd) Date: Thu, 17 Dec 2009 13:43:53 -0500 Subject: [Insight-users] itkMergeLabelMapFilter.h In-Reply-To: References: <70E33F22-B5E7-492B-9F4E-4C28892A1909@jouy.inra.fr> Message-ID: Hi Gaetan, Thank you very much ! The example code you referred me to showed me how to perform the merge. I just had to add the lines: //added code per itkMergeLabelMapFilterTest1.cxx convertermerge->SetInput( labelMap ); convertermerge->SetInput( 1, labelMap2 ); //end of added code Thanks again, john On Thu, Dec 17, 2009 at 1:12 PM, John Drozd wrote: > Hi Gaetan, > > My particular brain subject had the left and right brain ventricle as > separate regions, so I inputed a seed for the left ventricle and a seed for > the right ventricle, and created a separate label map for each ventricle. > (I could not figure out how to create a label map with two labelled > segmentations, so I am trying to merge these two label maps into a combined > label map.) > > Below is my code and thank you: > > /* > to run type: > > ./ConnectedThresholdImagechangedtoFuzzyConnectednessImageFilter > "/trumpet/downloads/ReadAtlasDicomSeriesAndReadSubjectDicomSeries_Plugin/ReadAtlasDicomSeriesAndReadSubjectDicomSeries/ReadAtlasDicomSeriesAndReadSubjectDicomSeries3DSlicerDec22009/normal002_S_0295.dcm" > outsubjectnormal4final.dcm outfuzzymapnormal.mhd 100 151 95 86 152 76 2.5 10 > > */ > > #if defined(_MSC_VER) > #pragma warning ( disable : 4786 ) > #endif > > #ifdef __BORLANDC__ > #define ITK_LEAN_AND_MEAN > #endif > > > #include "itkConnectedThresholdImageFilter.h" > > #include "itkImage.h" > #include "itkCastImageFilter.h" > > #include "itkCurvatureFlowImageFilter.h" > > #include "itkImageFileReader.h" > #include "itkImageFileWriter.h" > > #include "itkGDCMImageIO.h" > > #include "itkVersion.h" > > #include "itkOrientedImage.h" > #include "itkMinimumMaximumImageFilter.h" > > #include "itkGDCMImageIO.h" > #include "itkGDCMSeriesFileNames.h" > #include "itkNumericSeriesFileNames.h" > > #include "itkImageSeriesReader.h" > #include "itkImageSeriesWriter.h" > > #include "itkResampleImageFilter.h" > #include "itkShiftScaleImageFilter.h" > > #include "itkIdentityTransform.h" > #include "itkLinearInterpolateImageFunction.h" > > #include > > #include "gdcm/src/gdcmFile.h" > #include "gdcm/src/gdcmUtil.h" > > #include > > //added per attribute_values.cxx > #include "itkImageFileReader.h" > > #include "itkShapeLabelObject.h" > > #include "itkLabelMap.h" > > #include "itkBinaryImageToShapeLabelMapFilter.h" > //end of added code > > //added per label.cxx > #include "itkLabelObject.h" > #include "itkLabelMap.h" > #include "itkBinaryImageToLabelMapFilter.h" > #include "itkLabelMapToLabelImageFilter.h" > //end of added code > > #include "itkSimpleFilterWatcher.h" > > //added per FuzzyConnectednessImageFilter.cxx > #include "itkSimpleFuzzyConnectednessScalarImageFilter.h" > #include "itkConfidenceConnectedImageFilter.h" > //end of added code > > #include "itkMergeLabelMapFilter.h" > > int main( int argc, char *argv[]) > { > if( argc < 7 ) > { > std::cerr << "Missing Parameters " << std::endl; > std::cerr << "Usage: " << argv[0]; > > std::cerr << " inputImage outputImage outputAffinityMap seedX seedY > seedZ seedX seedY seedZ multiplier tolerancedivisor" << std::endl; > > > return 1; > } > > typedef unsigned char BinaryPixelType; > > const unsigned int Dimension = 3; > > typedef itk::Image< BinaryPixelType, Dimension > BinaryImageType; > > > typedef signed short InputPixelType; > > typedef itk::Image< InputPixelType, Dimension > InputImageType; > typedef unsigned char LabelType; > const unsigned int dim = 3; > typedef itk::ShapeLabelObject< LabelType, dim > LabelObjectType; > typedef itk::LabelMap< LabelObjectType > LabelMapType; > > typedef itk::LabelMap< LabelObjectType > LabelMapType2; > > typedef itk::BinaryImageToShapeLabelMapFilter< BinaryImageType, > LabelMapType> ConverterType; > > ConverterType::Pointer converter = ConverterType::New(); > > typedef itk::BinaryImageToShapeLabelMapFilter< BinaryImageType, > LabelMapType> ConverterType2; > ConverterType2::Pointer converter2 = ConverterType2::New(); > > typedef itk::ImageFileReader< InputImageType > ReaderType; > typedef itk::ImageFileWriter< BinaryImageType > WriterType; > > ReaderType::Pointer reader = ReaderType::New(); > WriterType::Pointer writer = WriterType::New(); > > typedef itk::GDCMImageIO ImageIOTypefixed; > ImageIOTypefixed::Pointer gdcmImageIOfixed = ImageIOTypefixed::New(); > reader->SetImageIO( gdcmImageIOfixed ); > > typedef itk::GDCMImageIO ImageIOTypefixed2; > ImageIOTypefixed2::Pointer gdcmImageIOfixed2 = ImageIOTypefixed2::New(); > > reader->SetFileName( argv[1] ); > > reader->Update(); > > typedef itk::ConfidenceConnectedImageFilter< > InputImageType, > BinaryImageType > > > ConfidenceConnectedFilterType; > > ConfidenceConnectedFilterType::Pointer confidenceConnectedFilter = > > ConfidenceConnectedFilterType::New(); > > typedef itk::SimpleFuzzyConnectednessScalarImageFilter< > InputImageType, > BinaryImageType > > > FuzzySegmentationFilterType; > > FuzzySegmentationFilterType::Pointer fuzzysegmenter = > > FuzzySegmentationFilterType::New(); > > typedef FuzzySegmentationFilterType::FuzzySceneType FuzzySceneType; > > typedef itk::ImageFileWriter< FuzzySceneType > FuzzyWriterType; > > FuzzyWriterType::Pointer fwriter = FuzzyWriterType::New(); > > fwriter->SetFileName( argv[3] ); > > BinaryImageType::IndexType index; > > index[0] = atoi( argv[4] ); > index[1] = atoi( argv[5] ); > index[2] = atoi( argv[6] ); > > const double varianceMultiplier = atof( argv[10] ); > > confidenceConnectedFilter->SetInput( reader->GetOutput() ); > confidenceConnectedFilter->SetMultiplier( varianceMultiplier ); > confidenceConnectedFilter->SetNumberOfIterations( 12 ); > > fuzzysegmenter->SetInput( reader->GetOutput() ); > > double varianceEstimation = 0; > > double meanEstimation = 0; > > confidenceConnectedFilter->SetSeed( index ); > confidenceConnectedFilter->Update(); > > meanEstimation = confidenceConnectedFilter->GetMean(); > varianceEstimation = confidenceConnectedFilter->GetVariance(); > > std::cout << "Mean estimation = " << meanEstimation << std::endl; > std::cout << "Variance estimation = " << varianceEstimation << std::endl; > > if( varianceEstimation > meanEstimation/atoi( argv[11] ) ) > { > > index[0] = index[0]-10; > index[1] = index[1]-10; > index[2] = index[2]-10; > > confidenceConnectedFilter->SetSeed( index ); > confidenceConnectedFilter->Update(); > > meanEstimation = confidenceConnectedFilter->GetMean(); > varianceEstimation = confidenceConnectedFilter->GetVariance(); > > } > > while( varianceEstimation > meanEstimation/atoi( argv[11] ) ) > { > > index[0] = index[0] + 1; > > confidenceConnectedFilter->SetSeed( index ); > confidenceConnectedFilter->Update(); > > meanEstimation = confidenceConnectedFilter->GetMean(); > varianceEstimation = confidenceConnectedFilter->GetVariance(); > > std::cout << "Mean estimation = " << meanEstimation << > std::endl; > std::cout << "Variance estimation = " << varianceEstimation << > std::endl; > > if ( varianceEstimation > meanEstimation/atoi( argv[11] )) > { > index[1] = index[1] + 1; > > confidenceConnectedFilter->SetSeed( index ); > confidenceConnectedFilter->Update(); > > meanEstimation = confidenceConnectedFilter->GetMean(); > varianceEstimation = confidenceConnectedFilter->GetVariance(); > > std::cout << "Mean estimation = " << meanEstimation << > std::endl; > std::cout << "Variance estimation = " << varianceEstimation << > std::endl; > } > > if ( varianceEstimation > meanEstimation/atoi( argv[11] )) > { > index[2] = index[2] + 1; > > confidenceConnectedFilter->SetSeed( index ); > confidenceConnectedFilter->Update(); > > meanEstimation = confidenceConnectedFilter->GetMean(); > varianceEstimation = confidenceConnectedFilter->GetVariance(); > > std::cout << "Mean estimation = " << meanEstimation << > std::endl; > std::cout << "Variance estimation = " << varianceEstimation << > std::endl; > } > > } > > std::cout << index << std::endl; > > std::cout << "Mean estimation = " << meanEstimation << std::endl; > std::cout << "Variance estimation = " << varianceEstimation << std::endl; > > fuzzysegmenter->SetObjectSeed( index ); > > fuzzysegmenter->SetMean( meanEstimation ); > fuzzysegmenter->SetVariance( varianceEstimation ); > fuzzysegmenter->SetThreshold( 0.5 ); > > fuzzysegmenter->Update(); > > //begin second label > > FuzzySegmentationFilterType::Pointer fuzzysegmenter2 = > > FuzzySegmentationFilterType::New(); > index[0] = atoi( argv[7] ); > index[1] = atoi( argv[8] ); > index[2] = atoi( argv[9] ); > > confidenceConnectedFilter->SetInput( reader->GetOutput() ); > confidenceConnectedFilter->SetMultiplier( varianceMultiplier ); > confidenceConnectedFilter->SetNumberOfIterations( 12 ); > > fuzzysegmenter2->SetInput( reader->GetOutput() ); > > varianceEstimation = 0; > > meanEstimation = 0; > > confidenceConnectedFilter->SetSeed( index ); > confidenceConnectedFilter->Update(); > > meanEstimation = confidenceConnectedFilter->GetMean(); > varianceEstimation = confidenceConnectedFilter->GetVariance(); > > std::cout << "Mean estimation = " << meanEstimation << std::endl; > std::cout << "Variance estimation = " << varianceEstimation << std::endl; > > if( varianceEstimation > meanEstimation/atoi( argv[11] ) ) > { > > index[0] = index[0]-10; > index[1] = index[1]-10; > index[2] = index[2]-10; > > confidenceConnectedFilter->SetSeed( index ); > confidenceConnectedFilter->Update(); > > meanEstimation = confidenceConnectedFilter->GetMean(); > varianceEstimation = confidenceConnectedFilter->GetVariance(); > > } > > while( varianceEstimation > meanEstimation/atoi( argv[11] ) ) > { > > index[0] = index[0] + 1; > > confidenceConnectedFilter->SetSeed( index ); > confidenceConnectedFilter->Update(); > > meanEstimation = confidenceConnectedFilter->GetMean(); > varianceEstimation = confidenceConnectedFilter->GetVariance(); > > std::cout << "Mean estimation = " << meanEstimation << > std::endl; > std::cout << "Variance estimation = " << varianceEstimation << > std::endl; > > if ( varianceEstimation > meanEstimation/atoi( argv[11] )) > { > index[1] = index[1] + 1; > > confidenceConnectedFilter->SetSeed( index ); > confidenceConnectedFilter->Update(); > > meanEstimation = confidenceConnectedFilter->GetMean(); > varianceEstimation = confidenceConnectedFilter->GetVariance(); > > std::cout << "Mean estimation = " << meanEstimation << > std::endl; > std::cout << "Variance estimation = " << varianceEstimation << > std::endl; > } > > if ( varianceEstimation > meanEstimation/atoi( argv[11] )) > { > index[2] = index[2] + 1; > > confidenceConnectedFilter->SetSeed( index ); > confidenceConnectedFilter->Update(); > > meanEstimation = confidenceConnectedFilter->GetMean(); > varianceEstimation = confidenceConnectedFilter->GetVariance(); > > std::cout << "Mean estimation = " << meanEstimation << > std::endl; > std::cout << "Variance estimation = " << varianceEstimation << > std::endl; > } > > } > > std::cout << index << std::endl; > > std::cout << "Mean estimation = " << meanEstimation << std::endl; > std::cout << "Variance estimation = " << varianceEstimation << std::endl; > > fuzzysegmenter2->SetObjectSeed( index ); > > fuzzysegmenter2->SetMean( meanEstimation ); > fuzzysegmenter2->SetVariance( varianceEstimation ); > fuzzysegmenter2->SetThreshold( 0.5 ); > > fuzzysegmenter2->Update(); > > //end second label > > typedef itk::MetaDataDictionary DictionaryType; > > DictionaryType inputdict = reader->GetMetaDataDictionary(); > > writer->SetMetaDataDictionary( inputdict ); > > writer->SetFileName( argv[2] ); > > converter->SetInput( fuzzysegmenter->GetOutput() ); > > converter->SetFullyConnected( true ); > > converter->SetInputForegroundValue( 255 ); > > converter->SetOutputBackgroundValue( 0 ); > > converter->Update(); > > converter2->SetInput( fuzzysegmenter2->GetOutput() ); > > converter2->SetFullyConnected( true ); > > converter2->SetInputForegroundValue( 255 ); > > converter2->SetOutputBackgroundValue( 0 ); > > converter2->Update(); > > LabelMapType::Pointer labelMap = converter->GetOutput(); > > LabelMapType2::Pointer labelMap2 = converter2->GetOutput(); > > std::cout.precision(20); > > std::cout << "labelMap->GetNumberOfLabelObjects() = " << > labelMap->GetNumberOfLabelObjects() << std::endl; > > std::cout << "labelMap2->GetNumberOfLabelObjects() = " << > labelMap2->GetNumberOfLabelObjects() << std::endl; > > for( unsigned int label=1; label<=labelMap->GetNumberOfLabelObjects(); > label++ ) > { > // we don't need a SmartPointer of the label object here, because the > reference is kept in > // in the label map. > const LabelObjectType * labelObject = labelMap->GetLabelObject( label > ); > std::cout << label << "\t" << labelObject->GetSize() << "\t" << > labelObject->GetPhysicalSize() << "\t" << labelObject->GetCentroid() << > std::endl; > } > > for( unsigned int label=1; label<=labelMap2->GetNumberOfLabelObjects(); > label++ ) > { > // we don't need a SmartPointer of the label object here, because the > reference is kept in > // in the label map. > const LabelObjectType * labelObject2 = labelMap2->GetLabelObject( label > ); > std::cout << label << "\t" << labelObject2->GetSize() << "\t" << > labelObject2->GetPhysicalSize() << "\t" << labelObject2->GetCentroid() << > std::endl; > } > > //added to merge the two label maps > > typedef itk::MergeLabelMapFilter< LabelMapType > ConverterMergeType; > > ConverterMergeType::Pointer convertermerge = ConverterMergeType::New(); > > /******************************* > > how do I merge labelMap and LabelMap2 ? > > ********************************/ > > //end > > typedef itk::LabelMapToLabelImageFilter< LabelMapType, BinaryImageType > > L2IType; > > L2IType::Pointer l2i = L2IType::New(); > > l2i->SetInput( converter->GetOutput() ); > > writer->SetInput( l2i->GetOutput() ); > > try > { > writer->Update(); > } > catch( itk::ExceptionObject & excep ) > { > std::cerr << "Exception caught !" << std::endl; > std::cerr << excep << std::endl; > } > > fwriter->SetInput( fuzzysegmenter->GetFuzzyScene() ); > fwriter->Update(); > > return 0; > } > > > 2009/12/17 Ga?tan Lehmann > > >> Le 17 d?c. 09 ? 18:22, John Drozd a ?crit : >> >> >> Hi, >>> >>> Can anyone show me how to use the MergeLabelMapFilter to merge two label >>> maps? >>> >> >> >> Hi John, >> >> You can look at Testing/Code/Review/itkMergeLabelMapFilterTest1.cxx, as an >> example. >> >> Can you be more specific on what you want to do? >> >> Regards, >> >> Ga?tan >> >> >> -- >> Ga?tan Lehmann >> Biologie du D?veloppement et de la Reproduction >> INRA de Jouy-en-Josas (France) >> tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 >> http://voxel.jouy.inra.fr http://www.itk.org >> http://www.mandriva.org http://www.bepo.fr >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kumar.sravan09 at gmail.com Fri Dec 18 04:14:20 2009 From: kumar.sravan09 at gmail.com (sravan kumar) Date: Fri, 18 Dec 2009 14:44:20 +0530 Subject: [Insight-users] Setting ITK_DIR Message-ID: hi all, I am using Fedora 10 linux.I was able to install ITK and cmake successfully.But when i tried to cmake the Helloworld program in Examples/Installation directory i got an error like this: CMake error at /usr/local/share/cmake-2.8/Modules/FindITK.cmake:97 Please set the ITK_DIR to the directory containing ITKConfig.cmake. This is either the root of the build tree, or PREFIX/lib/InsightToolKit during the Installation. Can some one tell me the solution. -- With Best Regards, Y.Sravan Kumar II M.Tech(CS), Sri Sathya Sai University, PRASHANTINILAYAM - 515134 -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael.mentink at st-hughs.ox.ac.uk Fri Dec 18 06:37:01 2009 From: michael.mentink at st-hughs.ox.ac.uk (michiel mentink) Date: Fri, 18 Dec 2009 12:37:01 +0100 Subject: [Insight-users] Setting ITK_DIR In-Reply-To: References: Message-ID: <5488ad6a0912180337v4b4b0134u5e8fc2bd6e245436@mail.gmail.com> hi Sravan, first find out where FindITK is, open it, and in that file, you'll find some directories that will be searched if the cmake can't find ITK instantly. To that list, add: #added by Sravan /home/path/mypath and obviously change mypath to whereever you'll find ITKConfig.cmake (find that with locate ITKConfig.cmake in linux) You'll find a similar description on my webpage: https://sites.google.com/site/michielmentink/programming/cmake/adding-libraries good luck, Michael On 12/18/09, sravan kumar wrote: > > hi all, > > I am using Fedora 10 linux.I was able to install ITK and cmake > successfully.But when i tried to cmake the Helloworld program in > Examples/Installation directory i got an error like this: > > CMake error at /usr/local/share/cmake-2.8/Modules/FindITK.cmake:97 > > Please set the ITK_DIR to the directory containing ITKConfig.cmake. This is > either the root of the build tree, or PREFIX/lib/InsightToolKit during the > Installation. > > Can some one tell me the solution. > > > -- > With Best Regards, > > Y.Sravan Kumar > II M.Tech(CS), > Sri Sathya Sai University, > PRASHANTINILAYAM - 515134 > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From daviddoria+itk at gmail.com Fri Dec 18 07:28:23 2009 From: daviddoria+itk at gmail.com (David Doria) Date: Fri, 18 Dec 2009 07:28:23 -0500 Subject: [Insight-users] Setting ITK_DIR In-Reply-To: <5488ad6a0912180337v4b4b0134u5e8fc2bd6e245436@mail.gmail.com> References: <5488ad6a0912180337v4b4b0134u5e8fc2bd6e245436@mail.gmail.com> Message-ID: On Fri, Dec 18, 2009 at 6:37 AM, michiel mentink < michael.mentink at st-hughs.ox.ac.uk> wrote: > hi Sravan, > > first find out where FindITK is, open it, and in that file, you'll find > some directories that will be searched if the cmake can't find ITK > instantly. To that list, add: > > #added by Sravan > /home/path/mypath > > and obviously change mypath to whereever you'll find ITKConfig.cmake (find > that with locate ITKConfig.cmake in linux) > > You'll find a similar description on my webpage: > > https://sites.google.com/site/michielmentink/programming/cmake/adding-libraries > > good luck, > > Michael > > > On 12/18/09, sravan kumar wrote: > >> hi all, >> >> I am using Fedora 10 linux.I was able to install ITK and cmake >> successfully.But when i tried to cmake the Helloworld program in >> Examples/Installation directory i got an error like this: >> >> CMake error at /usr/local/share/cmake-2.8/Modules/FindITK.cmake:97 >> >> Please set the ITK_DIR to the directory containing ITKConfig.cmake. This >> is either the root of the build tree, or PREFIX/lib/InsightToolKit during >> the Installation. >> >> Can some one tell me the solution. >> >> >> -- >> With Best Regards, >> >> Y.Sravan Kumar >> II M.Tech(CS), >> Sri Sathya Sai University, >> PRASHANTINILAYAM - 515134 >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> You should edit your ~/.bashrc and add: export ITK_DIR="/home/doriad/bin/Insight" Where clearly "/home/doriad/bin/Insight" should be replaced by the path to your ITK installation. Thanks, David -------------- next part -------------- An HTML attachment was scrubbed... URL: From yxp233 at postech.ac.kr Fri Dec 18 07:31:44 2009 From: yxp233 at postech.ac.kr (Xiaopeng Yang) Date: Fri, 18 Dec 2009 21:31:44 +0900 Subject: [Insight-users] xxxxxSPAMxxxxx Reconstruction of gray-scaled image from binary image In-Reply-To: <5488ad6a0912180337v4b4b0134u5e8fc2bd6e245436@mail.gmail.com> References: <5488ad6a0912180337v4b4b0134u5e8fc2bd6e245436@mail.gmail.com> Message-ID: <000601ca7fde$10e06890$32a139b0$@ac.kr> Hi all, I used region growing algorithm to detect liver from series DCM images and obtained binary images. And I need to reconstruct gray-scaled images from the region-growing binary images. Can I achieve this goal through ITK? How? Best wishes, Xiaopeng Department of Industrial and Management Engineering Pohang University of Science and Technology South Korea -------------- next part -------------- An HTML attachment was scrubbed... URL: From daviddoria+itk at gmail.com Fri Dec 18 07:45:36 2009 From: daviddoria+itk at gmail.com (David Doria) Date: Fri, 18 Dec 2009 07:45:36 -0500 Subject: [Insight-users] xxxxxSPAMxxxxx Reconstruction of gray-scaled image from binary image In-Reply-To: <000601ca7fde$10e06890$32a139b0$@ac.kr> References: <5488ad6a0912180337v4b4b0134u5e8fc2bd6e245436@mail.gmail.com> <000601ca7fde$10e06890$32a139b0$@ac.kr> Message-ID: On Fri, Dec 18, 2009 at 7:31 AM, Xiaopeng Yang wrote: > Hi all, > > > > I used region growing algorithm to detect liver from series DCM images and > obtained binary images. And I need to reconstruct gray-scaled images from > the region-growing binary images. Can I achieve this goal through ITK? How? > > > > Best wishes, > > > > Xiaopeng > > Anyone know if (and why?) the mailing list marked this message as: xxxxxSPAMxxxxx If not, you should probably not mark your own messages as SPAM!! Thanks, David -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Fri Dec 18 10:20:15 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 18 Dec 2009 10:20:15 -0500 Subject: [Insight-users] Setting ITK_DIR In-Reply-To: References: <5488ad6a0912180337v4b4b0134u5e8fc2bd6e245436@mail.gmail.com> Message-ID: <4db4735c0912180720l592a6c57g95a07a39119c8814@mail.gmail.com> When you run ccmake to configure project, you can set ITK_DIR through the interface. I don't recommend changing your path or setting ITK_DIR in your .bashrc. Although either will probably work., On Fri, Dec 18, 2009 at 7:28 AM, David Doria wrote: > > On Fri, Dec 18, 2009 at 6:37 AM, michiel mentink > wrote: >> >> hi Sravan, >> >> first find out where FindITK is, open it, and in that file, you'll find >> some directories that will be searched if the cmake can't find ITK >> instantly. To that list, add: >> >> #added by Sravan >> /home/path/mypath >> >> and obviously change mypath to whereever you'll find ITKConfig.cmake (find >> that with locate ITKConfig.cmake in linux) >> >> You'll find a similar description on my webpage: >> >> https://sites.google.com/site/michielmentink/programming/cmake/adding-libraries >> >> good luck, >> >> Michael >> >> >> On 12/18/09, sravan kumar wrote: >>> >>> hi all, >>> >>> I am using Fedora 10 linux.I was able to install ITK and cmake >>> successfully.But when i tried to cmake the Helloworld program in >>> Examples/Installation directory i got an error like this: >>> >>> CMake error at /usr/local/share/cmake-2.8/Modules/FindITK.cmake:97 >>> >>> Please set the ITK_DIR to the directory containing ITKConfig.cmake. This >>> is either the root of the build tree, or PREFIX/lib/InsightToolKit? during >>> the Installation. >>> >>> Can some one tell me the solution. >>> >>> >>> -- >>> With Best Regards, >>> >>> Y.Sravan Kumar >>> II M.Tech(CS), >>> Sri Sathya Sai University, >>> PRASHANTINILAYAM - 515134 >>> >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> > > You should edit your ~/.bashrc and add: > > export ITK_DIR="/home/doriad/bin/Insight" > > Where clearly "/home/doriad/bin/Insight" should be replaced by the path to > your ITK installation. > > Thanks, > > David > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Fri Dec 18 10:21:55 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 18 Dec 2009 10:21:55 -0500 Subject: [Insight-users] Tcon Agenda for today 1pm EST, posted Message-ID: The agenda for Today's tcon has been posted at http://www.itk.org/Wiki/Agenda%26Status_121809 Please feel free to add any topics of your interest. As always, the tcon is open to anybody. For instructions on how to join, please see http://www.itk.org/Wiki/ITK_in_Second_Life Luis From luis.ibanez at kitware.com Fri Dec 18 20:33:36 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 18 Dec 2009 20:33:36 -0500 Subject: [Insight-users] Fwd: Bytes per pixel In-Reply-To: References: Message-ID: Hi Fernando, In ITK this will be defined at compilation time. You could get this value simply as: int bytesPerPixel = sizeof( ImageType::PixelType ); ? ?Regards, ? ? ? ? ? Luis ---------------------------------------------------------- On Wed, Dec 16, 2009 at 3:57 AM, Fernando L?pez Mir wrote: > > What is the parameter in a itk image to know the number of bytes in a pixel? > > Thanks ... > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Fri Dec 18 20:36:03 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 18 Dec 2009 20:36:03 -0500 Subject: [Insight-users] DTI nrrd processing. In-Reply-To: <64fe815c0912130826g1835ca71rb1ba7ef16f054ff0@mail.gmail.com> References: <64fe815c0912130826g1835ca71rb1ba7ef16f054ff0@mail.gmail.com> Message-ID: Hi Subarna, What is the message that they print after throwing the Exception ? Please post the full error message to the list. Thanks Luis ----------------------------------------------------- On Sun, Dec 13, 2009 at 11:26 AM, Subarna Ghosh wrote: > Hi all, > > I am trying to work with DTI images, and need to read in some tensor nrrd > files that I generated through MRIstudio from my original DWI images. > Basically it gave me files in nrrd format , one each for Dxx, Dyy etc. > > It will be great if someone could direct me to the method of reading in such > a format. I tried using itkNrrdVectorImageReadTest.cxx, and also > itkNrrdDiffusionTensor3DImageReadTest.cxx, but they throw exceptions in > reader->update(). > > I will appreciate any help in this direction. > Thanks and regards, > Subarna Ghosh. > From luis.ibanez at kitware.com Sat Dec 19 16:00:20 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sat, 19 Dec 2009 16:00:20 -0500 Subject: [Insight-users] 2D ICP In-Reply-To: <901889E572F55044BF66514690C895AA1195BEEC@BL2PRD0102MB022.prod.exchangelabs.com> References: <901889E572F55044BF66514690C895AA1195BEEC@BL2PRD0102MB022.prod.exchangelabs.com> Message-ID: Hi Reza, Please look at the following examples: Insight/Examples/Registration/ IterativeClosestPoint1.cxx IterativeClosestPoint3.cxx Regards, Luis --------------------------------------- On Wed, Dec 16, 2009 at 12:49 AM, Anvari, Reza (MU-Student) wrote: > Hi Luis, > > I think that you have some experience on ICP. > > But my problem is that I have captured some data using SICK LMS-200 laser > module from an indoor hall in our university and I want to do 2D ICP on them > and build a 2D map of them. > > I have? about 20 vectors of the captured data, each 361 points from 0' to > 180' with 0.5' resolution. > > I appreciate of your comments about any matlab code/tools which is good for > this. > > Regards, > Reza From huajiang0518 at gmail.com Sun Dec 20 00:39:31 2009 From: huajiang0518 at gmail.com (=?GB2312?B?vaq7qg==?=) Date: Sun, 20 Dec 2009 13:39:31 +0800 Subject: [Insight-users] Problem about 3D deformable registration with ITK Demons algorithm Message-ID: <183741640912192139oaa91285mfb6a86f70e00212c@mail.gmail.com> Hi,all I am a new ITK user, recently I have some problems about deformable registration. I use the demons algorithm for 3D registration, but the result has some problems. The first slice and the last slice of the 3D result image after registration, which have the blace regions which are not we expected. In fact, I just use the example:DeformableRegistration2.cxx, but modified the dimension for 3, and SetStandardDeviations( 10.0 ), also I try to Set StandardDeviations( 1.0 ), but in the other slices also have this problem. I don't know whether I explain the problem, and Is there anybody can help me, Thank you! JiangHua. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bruno.arbter at isv.uni-stuttgart.de Mon Dec 21 03:23:09 2009 From: bruno.arbter at isv.uni-stuttgart.de (Bruno Arbter) Date: Mon, 21 Dec 2009 09:23:09 +0100 Subject: [Insight-users] surface reconstruction based on membership images Message-ID: <000901ca8216$d468cd90$7d3a68b0$@arbter@isv.uni-stuttgart.de> For surface reconstruction in a 3D grey-scaled data set I am using marching cubes. In order to have a semi-automatic procedure for finding reasonable isovalues, I had a look at the classification methods described in the SoftwareGuide (e.g itkBayesianClassifierImageFilter). The membership function images from itkBayesianClassifierImageFilter fits quite well to the expected membership. Using the resulting classified binary images as input for the surface reconstruction I naturally get aliasing. Now my intend was, to use the membership images (NOT the final binary images!) as an input for surface reconstruction. But when doing marching cubes on the membership images I again got slight aliasing (or similar effects). Using the original data set there is no aliasing. Is there an theoretical explanation for this effect? Thanks Bruno P.S.: I tried to send an attachment, but the message with attachment didn't show up in the list... From phil.steininger at gmail.com Mon Dec 21 08:09:40 2009 From: phil.steininger at gmail.com (Philipp Steininger) Date: Mon, 21 Dec 2009 14:09:40 +0100 Subject: [Insight-users] 2d/3d registration framework released ? In-Reply-To: <26654866.post@talk.nabble.com> References: <26654866.post@talk.nabble.com> Message-ID: <65f8fcca0912210509u1e8779ebm533db4766681219f@mail.gmail.com> Hello Hassan, as already announced, we published our extended ITK-based 2D/3D-registration-framework here: http://ibia.umit.at/ResearchGroup/Phil/web/Simple2D3DRegistrationFramework.html You can find a simple 'technical report' regarding this framework there. Furthermore, you can download the source / binaries / data / configuration files. Please note that the publication is really compact. However, we're going to publish a paper at the Insight Journal soon which will explain this topic (and some more advanced features) in more detail. Hope that helps, philipp On Sat, Dec 5, 2009 at 12:39 PM, Hassan Ramadan wrote: > > Hi all, > > - i would like to know if 2d-3d registration framework ready for use? and > where can i find it > - which example or url can i use and what are your recommendations to do > 2d-3d registration? > > i saw a post saying : > a version will support multi-resolution 2D/3D registration framework which > is - hopefully - a bit easier to configure (the X-ray geometry) than the > InsightApplication-example(registrationexample8.cxx). it will support (in > contrast to ITK's RayCaster) a) multi-threaded DRR-generation, b) > ray-casting and wobbled splatting, c) intensity transfer functions and d) > affine transformations of the input volume. > > where can i find it, and what are your recommendations to do 2d/3d > registration. > > thanks in advance, i would be grateful for any help or recommendation > > Thanks in advance, > Hassan > -- > View this message in context: > http://old.nabble.com/2d-3d-registration-framework-released---tp26654866p26654866.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From zallen at wheelinghospital.com Mon Dec 21 13:49:30 2009 From: zallen at wheelinghospital.com (URI) Date: Mon, 21 Dec 2009 10:49:30 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1260572045681-4154240.post@n2.nabble.com> References: <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> <1260509804319-4149580.post@n2.nabble.com> <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> <4db4735c0912110553x7086b85cub0301eed9db5ee44@mail.gmail.com> <1260551767075-4152470.post@n2.nabble.com> <4db4735c0912110923o497f1b48h27492a58e85f07cf@mail.gmail.com> <1260572045681-4154240.post@n2.nabble.com> Message-ID: <1261421370492-4199909.post@n2.nabble.com> Michael- I tried following your instructions on my WinXP machine instead of my Windows 7 machine, which I've been using up till now. When installing MinGW I only selected "MinGW base tools" and "g++ compiler". Am I supposed to check anything else, like "MinGW Make" or "Objective C Compiler"? When installing msys it didn't ask me to confirm the location of MinGW, which I guess is where my problem is arising. After typing in the line cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug ../ I get this output: ============================ -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /MinGW/bin/gcc.exe -- Check for working C compiler: /MinGW/bin/gcc.exe -- broken CMake Error at C:/CMake28/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:50 (M ESSAGE): The C compiler "/MinGW/bin/gcc.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/ITK-3.16.0/Build/CMakeFiles/CMakeTmp Run Build Command:C:/msys/1.0/bin/make.exe "cmTryCompileExec/fast" /usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build make[1]: Entering directory `/c/ITK-3.16.0/Build/CMakeFiles/CMakeTmp' /C/CMake28/bin/cmake.exe -E cmake_progress_report /C/ITK-3.16.0/Build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj /MinGW/bin/gcc.exe -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj -c /C/ITK-3.16.0/Build/CMakeFiles/CMakeTmp/testCCompiler.c make[1]: /MinGW/bin/gcc.exe: Command not found make[1]: Leaving directory `/c/ITK-3.16.0/Build/CMakeFiles/CMakeTmp' make[1]: *** [CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj] Error 127 make: *** [cmTryCompileExec/fast] Error 2 CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:8 (PROJECT) -- Configuring incomplete, errors occurred! ============================ For some reason it seems like it can't see the gcc.exe compiler in the MinGW/bin folder, but it's there. I installed MinGW and msys in the order you specified and accepted whatever default values the installers provided, so I don't think I messed anything up there. How do I make sure that msys knows where MinGW is? Try "cd /c/" and see if that gets you somewhere. Quick Suggestion for MSys/MinGW. Install MinGW FIRST Install MSYS Next. During that install MSYS will find MinGW (most likely) and ask you to verify the path. DO THIS correctly or you will just basically hose up MinGW/MSYS. When all that is working there should be an "Msys" icon on your desktop. Double click that and an ugly terminal should pop up. You should be sitting in your home directory (the Msys Home, which may be different than your Windows home). Stay in MSYS shell from here on out. Install ITK into C:/ITK-3.16.0 so that if you performed an "ls" inside of C:/ITK-3.16.0 you would get the listing of things like "Applications", "Code", "Examples" and stuff like that. Now, from still inside that C:/ITK-3.16.0 directory perform the following: [msys ] $ mkdir Build [msys ] $ cd Build [msys ] $ cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug ../ ...... [msys ] $ make .... [msys ] $ That _should_ build ITK with MSYS. This was valid the last time I did it on Windows XP 32 bit SP3 and the last stable MSys/MinGW (when GCC was at version 3.3 or something like that). hope some of that helps. _________________________________________________________ Mike Jackson mike.jackson at bluequartz.net BlueQuartz Software www.bluequartz.net Principal Software Engineer Dayton, Ohio -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4199909.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From mike.jackson at bluequartz.net Mon Dec 21 14:13:03 2009 From: mike.jackson at bluequartz.net (Michael Jackson) Date: Mon, 21 Dec 2009 14:13:03 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1261421370492-4199909.post@n2.nabble.com> References: <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> <1260509804319-4149580.post@n2.nabble.com> <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> <4db4735c0912110553x7086b85cub0301eed9db5ee44@mail.gmail.com> <1260551767075-4152470.post@n2.nabble.com> <4db4735c0912110923o497f1b48h27492a58e85f07cf@mail.gmail.com> <1260572045681-4154240.post@n2.nabble.com> <1261421370492-4199909.post@n2.nabble.com> Message-ID: <9F77872B-348B-4B3E-922A-13E54F51D7D9@bluequartz.net> I am not sure about all the MinGW dependencies so I would install everything that MinGW offers to install. You definitely need the Mingw- make, the c compiler, the C++ compiler and all the supporting libraries, executables and such. So, just try installing every option that MinGW gives you. _________________________________________________________ Mike Jackson mike.jackson at bluequartz.net BlueQuartz Software www.bluequartz.net Principal Software Engineer Dayton, Ohio On Dec 21, 2009, at 1:49 PM, URI wrote: > > Michael- > > I tried following your instructions on my WinXP machine instead of my > Windows 7 machine, which I've been using up till now. When > installing MinGW > I only selected "MinGW base tools" and "g++ compiler". Am I > supposed to > check anything else, like "MinGW Make" or "Objective C Compiler"? > > When installing msys it didn't ask me to confirm the location of > MinGW, > which I guess is where my problem is arising. > > After typing in the line > > cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug ../ > > I get this output: > > ============================ > > -- The C compiler identification is GNU > -- The CXX compiler identification is GNU > -- Check for working C compiler: /MinGW/bin/gcc.exe > -- Check for working C compiler: /MinGW/bin/gcc.exe -- broken > CMake Error at > C:/CMake28/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:50 (M > ESSAGE): > The C compiler "/MinGW/bin/gcc.exe" is not able to compile a simple > test > program. > > It fails with the following output: > > Change Dir: C:/ITK-3.16.0/Build/CMakeFiles/CMakeTmp > > > > Run Build Command:C:/msys/1.0/bin/make.exe "cmTryCompileExec/fast" > > /usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make > CMakeFiles/cmTryCompileExec.dir/build > > make[1]: Entering directory `/c/ITK-3.16.0/Build/CMakeFiles/CMakeTmp' > > /C/CMake28/bin/cmake.exe -E cmake_progress_report > /C/ITK-3.16.0/Build/CMakeFiles/CMakeTmp/CMakeFiles 1 > > Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj > > /MinGW/bin/gcc.exe -o CMakeFiles/cmTryCompileExec.dir/ > testCCompiler.c.obj > -c /C/ITK-3.16.0/Build/CMakeFiles/CMakeTmp/testCCompiler.c > > make[1]: /MinGW/bin/gcc.exe: Command not found > > make[1]: Leaving directory `/c/ITK-3.16.0/Build/CMakeFiles/CMakeTmp' > > make[1]: *** [CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj] > Error > 127 > > make: *** [cmTryCompileExec/fast] Error 2 > > > > > CMake will not be able to correctly generate this project. > Call Stack (most recent call first): > CMakeLists.txt:8 (PROJECT) > > > -- Configuring incomplete, errors occurred! > > ============================ > > For some reason it seems like it can't see the gcc.exe compiler in the > MinGW/bin folder, but it's there. I installed MinGW and msys in the > order > you specified and accepted whatever default values the installers > provided, > so I don't think I messed anything up there. How do I make sure > that msys > knows where MinGW is? > > > > > > > Try > > "cd /c/" > and see if that gets you somewhere. > > Quick Suggestion for MSys/MinGW. > > Install MinGW FIRST > Install MSYS Next. During that install MSYS will find MinGW (most > likely) and ask you to verify the path. DO THIS correctly or you will > just basically hose up MinGW/MSYS. > > When all that is working there should be an "Msys" icon on your > desktop. Double click that and an ugly terminal should pop up. You > should be sitting in your home directory (the Msys Home, which may be > different than your Windows home). > > Stay in MSYS shell from here on out. > Install ITK into C:/ITK-3.16.0 so that if you performed an "ls" inside > of C:/ITK-3.16.0 you would get the listing of things like > "Applications", "Code", "Examples" and stuff like that. > Now, from still inside that C:/ITK-3.16.0 directory perform the > following: > > [msys ] $ mkdir Build > [msys ] $ cd Build > [msys ] $ cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug ../ > ...... > [msys ] $ make > .... > [msys ] $ > > That _should_ build ITK with MSYS. This was valid the last time I did > it on Windows XP 32 bit SP3 and the last stable MSys/MinGW (when GCC > was at version 3.3 or something like that). > > hope some of that helps. > _________________________________________________________ > Mike Jackson mike.jackson at bluequartz.net > BlueQuartz Software www.bluequartz.net > Principal Software Engineer Dayton, Ohio > > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4199909.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users From luis.ibanez at kitware.com Mon Dec 21 18:54:50 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 18:54:50 -0500 Subject: [Insight-users] Getting image intensity of DICOM image In-Reply-To: References: Message-ID: Hi Pooja, I assume that you are referring to getting access to the pixel values of DICOM image. If so, you simply need to use the example: Insight/Examples/IO/ DicomSeriesReadImageWrite2.cxx and from the reader you can get the image as: ImageType::ConstPointer image = reader->GetOutput(); then, from the image you can get the pixel buffer directly as: image->GetBufferPointer(); If you are planning on processing the data from the pixel values, you may want to use Iterators instead. You will find very useful to read the ITK Software Guide. http://www.itk.org/ItkSoftwareGuide.pdf in particular A) The Image Section of the Data Representation Chapter B) The Chapter "Reading and Writing Images and C) The "Image Iterators" Chapter. Regards, Luis ---------------------------------------------------------------- On Tue, Dec 15, 2009 at 1:11 PM, Pooja Chatterjee wrote: > Hi, > ???? I went to the applications of the ITK website but could not find a > function that fetches the intensity matrix of a DICOM image. Does anybody > know how to do that? > Thanks > Pooja > From luis.ibanez at kitware.com Mon Dec 21 19:02:08 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:02:08 -0500 Subject: [Insight-users] Hessian format for SymmetricEigenAnalysisImageFilter In-Reply-To: <5d7d0bca0912141630y57dc9ec4lbeb6a26795e1c1bd@mail.gmail.com> References: <4B228268.1020308@gmail.com> <5d7d0bca0912141630y57dc9ec4lbeb6a26795e1c1bd@mail.gmail.com> Message-ID: Hi Alex, If I understand correctly, you are attempting to compare Gxx versus Gx( Gx ) If so, part of the problem is that when we do Gxx, the Gaussian smoothing is applied only once, while, when using Gx(Gx) the Gaussian Smooting is applied twice. And... depending on how you are doing it,... it may not be the equivalent to Gxx, since the Gxx that we do requires: Dxx( G ) which means that along X we do the equivalent of convolving with the second derivative of the Gaussian, while at the same time we still do the equivalent of convolve with a Gaussian along Y and along Z. The Scale normalization by the Gaussian will also apply twice on the Gx(Gx) version. All that said, It will be very healthy to run this on a synthetic image for which the theoretical values can be computed, so we have a reference value. It may well be that you might have uncovered a bug... Regards, Luis --------------------------------------------------------------------------- On Mon, Dec 14, 2009 at 7:30 PM, Oleksandr Dzyubak wrote: > > Hi Luis, > > Looks like I am terribly missing something here... > > OK. For my testings I built objects with Gaussian profiles. > These are simple: Gaussian lines with various sigmas extruded > into Z-direction thus I got "Gaussian planes". > Objects: 3D Gaussian planes with Sigma=1,2,3,4,5,10 and intensities I=100. > > Now I use RecursiveGaussians and HessianRecursiveGaussian from the ITK stock > library > and calculate the second order derivative across the Gaussian profiles: > ?Hxx -- Hessian x-components, Gxx - Gaussian second order derivative, > and GxGx - Gaussian second order derivative taken sequentially as Gx(Gx) > using Gaussian first order derivative. > > Of course, all that was done with "NormalizeAcrossScale" ON and OFF. > Afterwards the maximum of absolute values were measured. > The results I summarized in the table below. > > Sigma??? ITK_Hxx_OFF??? ITK_Gxx_OFF??? ITK_Hxx_ON??? ITK_Gxx_ON > ITK_GxGx_OFF??? ITK_GxGx_ON > > 1 ? ? ? ? ? ? ? ? 35.77?? ? ? ? ? ? ??? 35.77?? ? ? ? ? ?? ???? 35.77 > ? ? 35.77?? ? ? ? ? ? ? ??? 19.47?? ? ? ? ? ??? 19.47 > 2? ? ? ?? ? ? ?? ? 8.92? ? ? ? ? ?? ? ??? 8.92??? ? ? ? ? ? ?? ?? 71.33 > ??? 71.33??? ??? ? ? ? ? ? ?? 4.87?? ? ? ???? ?? 19.47 > 3? ? ? ? ? ? ? ? ?? 3.96? ? ? ? ? ? ? ??? 3.96??? ? ? ? ? ? ? ? 106.95 > ? 106.95? ? ? ? ? ? ?? ???? 2.16??? ?? ? ? ?? ? 19.47 > 4?? ? ? ? ? ? ? ? ? 2.23??? ? ? ? ? ?? ?? 2.23??? ? ? ? ? ? ? ? 142.56 > ? 142.56??? ? ? ? ?? ? ?? ? 1.22?? ? ? ? ?? ??? 19.47 > 5??? ? ? ? ? ? ? ?? 1.43??? ? ? ? ? ? ? ? 1.43??? ? ? ? ? ? ? ? 178.18 > ??? 178.18??? ? ? ? ?? ? ? ?? 0.78??? ? ? ?? ? ?? 19.47 > 10?? ? ? ? ? ? ? ? 0.36??? ? ? ? ? ?? ?? 0.36??? ? ? ? ? ? ? ?? 356.29 > ??? 356.29??? ? ? ? ? ?? ?? ? 0.19??? ? ? ?? ? ?? 19.47 > > > As you can see from the table, Hxx is always equal to Gxx for both > "NormalizeAcrossScale" ON and OFF. > Ok. No surprises here. So far so good. > Should not be the values Scale indipendent though? > > Well, now lets take the second order derivative sequentially using Gx(Gx). > Now there is a dramatic difference here. > a) GxGx values do not match Gxx and Hxx anymore. > b) "ITK_GxGx_ON" version apparently demonstrates Scale Space invariance as > it should be. > > > Luis, I would highly appreciate any comments on that. > > Best regards, > > Alex > > > On Fri, Dec 11, 2009 at 7:39 PM, Luis Ibanez > wrote: >> >> Hi Alex, >> >> >> The order for the Hessian follows the same >> pattern of the class >> >> ? Insight/Code/Common/ >> ? ? ? ? ?itkSymmetricSecondRankTensor.h >> >> The elements store only the upper right triangle >> of the actual matrix. >> >> For example, in 3D you get >> the following pattern >> >> ? ? ? ? ? ? ? ?0 ?1 ?2 >> ? ? ? ? ? ? ? ? ? ?3 ?4 >> ? ? ? ? ? ? ? ? ? ? ? ?5 >> >> All that to say: >> >> ? Yes, >> ? the order that you are using is correct: >> >> ? ? ? ? ? ? ? ?Dxx ?Dxy ? ?Dxz >> ? ? ? ? ? ? ? ? ? ? ? ? Dyy ? Dyz >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Dzz >> >> >> BTW: >> You may want to use (or at least look) the filter: >> >> ? Insight/Code/BasicFilters/ >> ? ? ? ?itkHessianRecursiveGaussianImageFilter.h >> >> >> >> ? ? Regards, >> >> >> ? ? ? ? ? ? Luis >> >> >> --------------------------------------------------------------- >> On Fri, Dec 11, 2009 at 12:33 PM, Oleksandr Dzyubak >> wrote: >> > >> > Dear users, >> > >> > After I built the individual Hessian components, >> > in what order should I fill them up to further feed >> > into the SymmetricEigenAnalysisImageFilter? >> > >> > At the moment I am using the order below. >> > >> > H[0] = Dxx >> > H[1] = Dxy >> > H[2] = Dxz >> > H[3] = Dyy >> > H[4] = Dyz >> > H[5] = Dzz >> > >> > Is this correct order? >> > >> > Thanks, >> > >> > Alex >> > >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > > > From luis.ibanez at kitware.com Mon Dec 21 19:07:41 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:07:41 -0500 Subject: [Insight-users] Image index limits In-Reply-To: <5d7d0bca0912141020s181befc9ob819cca30f5563d4@mail.gmail.com> References: <5d7d0bca0912111337tde53c5q6df99c46837d07fd@mail.gmail.com> <5d7d0bca0912141020s181befc9ob819cca30f5563d4@mail.gmail.com> Message-ID: Hi Alex, Did you changed to "float" the pixel type of ImageReadRegionOfInterestWrite.cxx ? by default the pixel type is "signed short". and your image is of pixel type "float". ITK will perform silent C-Style casting at the moment of reading the image. Please let us know, Thanks, Luis ---------------------------------------------- On Mon, Dec 14, 2009 at 1:20 PM, Oleksandr Dzyubak wrote: > Hi Luis, > > I followed the procedure 1) through 8) that you suggested. > All four tests have successfully passed and the results are below. > According to the results, the parameter 70,000L provides the image size > "Trying to allocate an image of size 9346 Mb " which is what I actually > need. > From these tests it looks like it should work. > > However, I just created and image using a Matlab code below. > > ***** Star Matlab code ****** > > % Create single square 1340x1300x720 > clc; > clear all; > close all; > > > matrix = zeros(1340, 1300, 720); > matrix(600:809, 600:809, :) = 1000; > > % imshow(matrix); > > fid = fopen('Bar_3Dsquare_I1000_1340x1300x720.bin', 'wb'); > fwrite(fid, matrix, 'float'); > status = fclose(fid); > > ******* Stop Matlab code ************ > > This code exactly creates an 4.7 GB image with white square extruded along > the Z-derection. > Now I use the ITK program ImageReadRegionOfInterestWrite to sequentially > extract series of 100 slices as below. > > dzyubak at helium: /Square$ ./ImageReadRegionOfInterestWrite > Bar_3Dsquare_I1000_1340x1300x720_float.hdr > Bar_3Dsquare_I1000_1340x1300x720_float_s1_s100.hdr 0 0 0 1340 1300 100 > > and > > dzyubak at helium: /Square$ ./ImageReadRegionOfInterestWrite > Bar_3Dsquare_I1000_1340x1300x720_float.hdr > Bar_3Dsquare_I1000_1340x1300x720_float_s100_s200.hdr 0 0 100 1340 1300 100 > > I checked the Bar_3Dsquare_I1000_1340x1300x720_float.hdr image and it is OK, > the square goes all the way through. > The first set is also OK and the "white square" shows up but the second set > is empty. Any ideas what could cause this problem? > > Thanks, > > Alex > > > > ******** Start ******* > > > root at helium: /BUILD# ctest -R LargeImageWrite -V > > Test command: /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/bin/itkIOTests > itkLargeImageWriteReadTest > /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/Testing/Temporary/LargeImage01.mhd > 30000L > Test timeout computed to be: 1500 > Trying to allocate an image of size 1716 Mb > Initializing pixel values > Trying to write the image to disk > Trying to read the image back from disk > Comparing the pixel values.. : > ????????? Probe Tag??? Starts??? Stops???????????? Time (s) > ??????????? Allocate?????????? 1??????????? 1?????? 3.19481e-05 > ???????????? Compare?????????? 1??????????? 1?????????? 4.85127 > ??????? Initializing?????????? 1??????????? 1?????????? 8.84029 > ??????????????? Read?????????? 1??????????? 1?????????? 2.71803 > ?????????????? Write?????????? 1??????????? 1?????????? 4.17017 > > Test PASSED ! > -- Process completed > ?? Passed > 863/1701 Testing itkLargeImageWriteReadTest2 > Test command: /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/bin/itkIOTests > itkLargeImageWriteReadTest > /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/Testing/Temporary/LargeImage02.mhd > 40000L > Test timeout computed to be: 1500 > Trying to allocate an image of size 3051 Mb > Initializing pixel values > Trying to write the image to disk > Trying to read the image back from disk > Comparing the pixel values.. : > ????????? Probe Tag??? Starts??? Stops???????????? Time (s) > ??????????? Allocate?????????? 1??????????? 1?????? 3.00407e-05 > ???????????? Compare?????????? 1??????????? 1?????????? 7.89822 > ??????? Initializing?????????? 1??????????? 1?????????? 12.6574 > ??????????????? Read?????????? 1??????????? 1??????????? 4.8622 > ?????????????? Write?????????? 1??????????? 1?????????? 12.6875 > > Test PASSED ! > -- Process completed > ?? Passed > 864/1701 Testing itkLargeImageWriteConvertReadT > Test command: /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/bin/itkIOTests > itkLargeImageWriteConvertReadTest > /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/Testing/Temporary/LargeImageConvert.nrrd > 50000L > Test timeout computed to be: 1500 > Initializing pixel values > Trying to write the image to disk > Trying to read the image back from disk > ????????? Probe Tag??? Starts??? Stops???????????? Time (s) > ??????????? Allocate?????????? 1??????????? 1?????? 3.69549e-05 > ??????? Initializing?????????? 1??????????? 1?????????? 11.7354 > ??????????????? Read?????????? 1??????????? 1?????????? 15.7987 > ?????????????? Write?????????? 1??????????? 1?????????? 10.5514 > > Test PASSED ! > > 865/1701 Testing itkLargeImageWriteReadTest3 > Test command: /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/bin/itkIOTests > itkLargeImageWriteReadTest > /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/Testing/Temporary/LargeImage03.mhd > 70000L > Test timeout computed to be: 1500 > Trying to allocate an image of size 9346 Mb > Initializing pixel values > Trying to write the image to disk > Trying to read the image back from disk > Comparing the pixel values.. : > ????????? Probe Tag??? Starts??? Stops???????????? Time (s) > ??????????? Allocate?????????? 1??????????? 1?????? 3.19481e-05 > ???????????? Compare?????????? 1??????????? 1?????????? 24.2805 > ??????? Initializing?????????? 1??????????? 1?????????? 40.3377 > ??????????????? Read?????????? 1??????????? 1?????????? 14.4607 > ?????????????? Write?????????? 1??????????? 1?????????? 32.6605 > > Test PASSED ! > > The following tests passed: > ??? itkLargeImageWriteReadTest1 > ??? itkLargeImageWriteReadTest2 > ??? itkLargeImageWriteConvertReadTest > ??? itkLargeImageWriteReadTest3 > > 100% tests passed, 0 tests failed out of 4 > > > ********* End ******** > > > > On Fri, Dec 11, 2009 at 6:50 PM, Luis Ibanez > wrote: >> >> Hi Oleksandr, >> >> >> The components of the itk::Index are of type "long", >> while the components of the itk::Size are of type >> "unsigned long". >> >> Therefore, On Linux 64 bits, you can manage >> images up to the size of your memory. >> >> With your small machine of 16 CPUs and >> only 128 Gb of RAM you should do fine. >> >> ... and yes, I'm saying that with envy ? :-) >> >> >> On Windows 64 bits, on the other hand >> we are working on fixing a problem with >> the integer representation used in Windows. >> >> >> Back to your report on Linux: >> >> In the directory Insight/Testing/Code/IO >> we have a test for large memory that >> will attempt to create, write and read back >> and image of large size (above 2 Gb). >> Let's try running it in your computer. >> >> Please do the following: >> >> 1) go to the binary directory where you >> ? ?built ITK and do >> >> ? ? ? ?make ? ?edit_cache >> >> >> 2) Turn BUILD_TESTING ? ON >> >> >> 3) Go to the Advanced mode, >> ? ?search for >> >> ITK_COMPUTER_MEMORY_SIZE >> >> ? ?and set it to 128 >> >> ?(yes, the units are in Gb). >> >> >> >> 4) Do, "c" for configure >> >> 5) Do, "g" to generate >> >> >> 6) ?make -j32 >> >> ? ? (that shouldn't take long) ? ?:-) >> >> >> 7) Run the LargeImage test with >> ? ?the command: >> >> ? ? ?ctest -R LargeImageWrite -V >> >> ? ?and see if they pass. >> >> 8) ?Now you can take it further, >> ? ? by looking at the command >> ? ? that is used to run the tests, >> ? ? The last numeric argument is >> ? ? the number of pixels along each >> ? ? dimension, of the image that is >> ? ? created by the test. >> >> ? ? ?You could force this number >> ? ? ?until the total size of this 2D >> ? ? ?image is comparable to your 3D >> ? ? ?image. >> >> ? ? ?For example, by 70,000 the >> ? ? ?image will be of size 1,2 Gb. >> >> >> >> Please let us know what you find >> after running these tests. >> >> >> ? ?Thanks >> >> >> ? ? ? ? ?Luis >> >> >> -------------------------------------------------------------- >> On Fri, Dec 11, 2009 at 4:37 PM, Oleksandr Dzyubak >> wrote: >> > >> > Dear users, >> > >> > I tried to process the 1340x1300x720 pixel image and after the slice >> > #104 I >> > am getting all zeros. >> > I checked the original image and it's good. It's full of info. >> > So I first decided to split that file using the >> > itkRegionOfInterestImageFilter class. >> > What I found is that all the chunks after the slice #104 are zeros >> > thus it's not the image processing filter that causes the problem. >> > >> > Here is my question. >> > Is there any limitation on an image index range? >> > Or in other words, what is the largest pixel volume that ITK still can >> > handle? >> > >> > Thanks, >> > >> > Alex >> > >> > PS. >> > I am using 64 bit Debian Linux. >> > 16 CPUs and 128 GB. >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.html >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://www.itk.org/mailman/listinfo/insight-users >> > >> > > > From luis.ibanez at kitware.com Mon Dec 21 19:13:21 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:13:21 -0500 Subject: [Insight-users] RBFNetwork In-Reply-To: References: Message-ID: Hi Enri, Welcome to ITK ! Have you look at the code in NeuralNetworks directory: Insight/Code/Numerics/NeuralNetworks ? In particular you may be interested in the classes: itkGaussianRadialBasisFunction.h itkGaussianRadialBasisFunction.txx itkMultiquadricRadialBasisFunction.h itkMultiquadricRadialBasisFunction.txx itkRadialBasisFunctionBase.h itkRadialBasisFunctionBase.txx itkRBFBackPropagationLearningFunction.h itkRBFBackPropagationLearningFunction.txx itkRBFLayer.h itkRBFLayer.txx itkRBFNetwork.h itkRBFNetwork.txx For an example of use, you may want to look at: Insight/Testing/Code/Numerics/NeuralNetworks/ RBFTest1.cxx You may also find useful the following paper in the Insight Journal: http://www.insight-journal.org/browse/publication/93 Regards, Luis -------------------------------------------------------- On Mon, Dec 14, 2009 at 2:06 PM, Enri Sperotto wrote: > Hi, I'm a Italian student of Verona University and I'm graduating in > Information Technology. For my thesis I have to write a program that use > RBFNetwork class of ITK so I would like to ask you if there is any code > template to understand how to create, training and use network. Could any > help me? > Thanks in advance > > p.s. sorry for my english :-P > -- > Enri Sperotto > > -- > Enri S. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Mon Dec 21 19:15:37 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:15:37 -0500 Subject: [Insight-users] Read in Analyze or Convert Analyze format to mhd image In-Reply-To: References: Message-ID: Hi Xi, 0) Do you get an error message when attempting to read this Analyze file ? If so, please post to the mailing list the *exact* error message that you get. 1) Are you putting the reader->Update() call inside a try/catch block ? If no, please do so, and add a print out for the exception that may be resulting. Thanks Luis ------------------------------------------------------ 2009/12/14 Xi LIANG : > Dear all, > Im struggling for reading in Analyze image (.hdr .img) files for days, and > still cannot read in images properly. Is there a easy way to read in the > image? Or I should convert Analyze image to mhd image by some software? Is > there any software to do this? > Regards, > > -------------------------------- > Xi Liang > > ?? > -------------------------------- > > > > ________________________________ > Windows Live: Keep your friends up to date with what you do online. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Mon Dec 21 19:18:56 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:18:56 -0500 Subject: [Insight-users] ImageFunction Evaluate constness In-Reply-To: <2b8d077d0912142027h6673bc94o143c4e4841b872f1@mail.gmail.com> References: <2b8d077d0912122344h2c01be5cu62e7f0bae1d1681f@mail.gmail.com> <2b8d077d0912142027h6673bc94o143c4e4841b872f1@mail.gmail.com> Message-ID: Hi Dan, Thanks for the additional details on the algorithm. It looks like you could benefit from using the same trick that LevelSet filters use for storing a data structure that is to be shared by multiple-threads. You may want to take a look at the LevelSetFunction and its interactions with the LevelSetFilters. In particular, look at the Global data structure.... It may help you with the design of your filter.... Regards, Luis --------------------------------------------------- On Mon, Dec 14, 2009 at 11:27 PM, Dan Mueller wrote: > Hi Luis, > > Thanks for your quick response, even it wasn't exactly the answer I > wanted. I wanted someone to tell me I was justified in abusing the > ImageFunction...oh well! :P > >> Could you help us understand the algorithm ? > Obviously the overall context of my problem is somewhat complicated, > hence the omission from my original email. I'll try to explain as best > I can. > > Essentially I am implementing something similar (the outcome is the > same, but the method to get there is quite different) to "propagation > freezing for thin structures" described on pp. 158-162 of Thomas > Deschamps' PhD thesis: > ? ?http://math.lbl.gov/~deschamp/ > > The basic premise is as follows: (1) fast marching is prone to > "leakage," (2) for vascular/thin structures the leakage typically > occurs in regions far away from the "active" area of the propagating > front, (3) restricting the movement of the front in these regions will > prevent unwanted leakage. > > With this in mind I am constructing an image function which takes as > input the current fast marching arrival function. The geodesic > distance is computed for the current point, and compared to the > maximum distance previously computed. If the maximum distance minus > the current distance is larger than some threshold (ie. the current > point is far away from the active propagation), the image function > should return small values, and vice versa. > > Using the ImageFunction class to compute the current geodesic distance > is no problem. However, the issue is comparing the current distance to > the maximum distance previously computed, which obviously has to be > stored somewhere. The maximum distance is the "state" which I want to > store as a member of the ImageFunction. This image function will be > employed in a context which requires it to be invoked in a > "standalone" manner ie. it is not possible to pass in and out the > previous maximum geodesic distance. Because the function will be > invoked within a fast marching context, the operation is inherently > single-threaded. > > While I am still in the "testing out some ideas" phase, in my > experience if I don't do something right the first time, I never seem > to get around to fixing it... > > Thanks for any advice. > > Regards, Dan > > 2009/12/13 Luis Ibanez : >> Hi Dan, >> >> ? ? ? ? ? ? ?Interesting dilemma... >> >> The short answer is: ? ? Yes, >> >> You are abusing the Functor. ? ?:-) >> >> >> Given that the functor is, by design, intended >> to perform pixel-wise stateless operations. >> >> >> However, >> your algorithmic needs are certainly legitimate, >> and therefore we should find a way of making >> easy to implement your algorithm. >> >> >> One option that comes to mind is the design >> used in the pairs of LevelSet Function+Filter. >> >> In particular the use of a data structure that >> is own by the filter and it is passed to the >> Function as "working space". I believe that in >> that context the motivation is mostly to deal >> with multiple threads, nonetheless, the solution >> may be applicable to your problem. >> >> You could implement a functor that at initialization >> time receives a pointer to that data structure (own >> by the Filter), and then, during the Evaluate() method >> that structure will be modified. >> >> This however, requires to mark that structure as >> "mutable", and therefore, one would think that >> we could have just made your double variable >> to be "mutable" in the first place. >> >> Using "mutable" here, however, is another design >> conflict, since "mutable" should only be used for >> values that perform caching, and not for values that >> represent "state". ?In your case, it looks like you are >> really managing a "state" with this internal number. >> >> It is good that you mention the implications for >> threading as well, since, hosting state in the Functor >> will make it non-thread-safe. >> >> Could you help us understand the algorithm ? >> >> That is, please describe the algorithm that you >> want to implement, instead of describing the >> problem that you have found in one of the >> potential mechanisms of implementing such >> algorithm. >> >> It is quite likely that we may have another trick >> in store that could be used for that algorithm. >> >> ...and... >> if we don't find anything, then we should >> design something that have a lot of potential >> for reuse, as you pointed out. >> >> >> ? ?Thanks >> >> >> ? ? ? ? ?Luis >> >> ---------------------------------------------------------------- >> On Sun, Dec 13, 2009 at 2:44 AM, Dan Mueller wrote: >>> Hi Insight community, >>> >>> I am writing an ImageFunction for which the value depends on the image >>> point AND previous calls to the function. >>> >>> To implement this I have added a member variable (a double) to my >>> subclassed image function. I want to set this member variable within: >>> ? ?virtual TOutput Evaluate( const PointType& point ) const >>> >>> I guess you can see my issue: Evaluate is marked const, so calls such as >>> ? ?this->m_MemberVariable = 123.456; >>> do not compile. I get the following error with Visual Studio 2005: >>> ? ?error C2166: l-value specifies const object >>> >>> Of course I can get around this using const_cast on the this pointer: >>> ? ?MyImageFunction* function = >>> ? ? ?const_cast*>( this ); >>> ? ?function->m_MemberVariable = 123.456; >>> >>> Some questions: >>> Am I abusing ImageFunction? >>> Does use of const_cast on the this pointer invoke the wrath of the >>> const-correctness police? >>> Is there a better way? >>> >>> I guess I could create my own NonConstSingleThreadedImageFunction, but >>> then I'd bring the code-reuse police knocking... >>> >>> Any suggestions appreciated. >>> >>> Regards, Dan > From luis.ibanez at kitware.com Mon Dec 21 19:22:30 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:22:30 -0500 Subject: [Insight-users] function arguments In-Reply-To: <93dce8f90912150511m6ee746fbud425ba37b9f53c2@mail.gmail.com> References: <30f968670912141136l60c62a61s898d154f4c6b9f2f@mail.gmail.com> <93dce8f90912150305n5dd7d8barf5288c785525200f@mail.gmail.com> <30f968670912150408u358abffbx10f3bfc08eecf546@mail.gmail.com> <93dce8f90912150511m6ee746fbud425ba37b9f53c2@mail.gmail.com> Message-ID: Hi Jesus, You may want to take a look at the following Tutorial: "Integrating ITK with your Application" http://www.itk.org/CourseWare/Training/GettingStarted-V.pdf It shows you how to create functions that receive ITK images. Other Tutorials are available at: http://www.itk.org/ITK/help/tutorials.html Please let us know if you find any problems, Thanks Luis ------------------------------------------------------------------------- On Tue, Dec 15, 2009 at 8:11 AM, Mario Ceresa wrote: > Hello Jesus, > please don't send me private mail. Reply to the entire list instead so > that other people with the same problem may follow the discussion. > > Probably your best bet is to rely on SmartPointers as they are used > everywhere in ITK and provides automatic memory management. > > But I can be wrong! And maybe someone else in the list has a better idea :) > > Mario > > 2009/12/15 Jesus Piairo : >> Hello Mario!! >> >> Thank you very much for your help!!? I?m testing right now the code. >> >> I have another question: instead of pointers it?s possible to use >> references??? >> >> Regards!! >> >> JP >> >> On Tue, Dec 15, 2009 at 11:05 AM, Mario Ceresa wrote: >>> >>> Hello Jesus, >>> If you always want to use a given image type (such as ?itk::Image< >>> float, 3 > ) then you can pass the image as a pointer. You'll find an >>> example attached. >>> >>> On the other hand, if you want to encapsulate your code into something >>> you can apply to various image types, then you want to create a filter >>> and use template programming. You can look at the developer section of >>> >>> http://www.itk.org/ItkSoftwareGuide.pdf >>> >>> to learn how. >>> >>> Hope this helps, >>> >>> Mario >>> >>> 2009/12/14 Jesus Piairo : >>> > Hello!! >>> > >>> > I?m trying to reorganize my code using functions?but i?m having problems >>> > with the arguments for the functions. >>> > >>> > I have 2 functions: ?main function and filtroGauss >>> > >>> > In main function a read an image from a file; >>> > >>> > In filtroGaus function?i want to aply an gaussian filter, the argument >>> > should be the image that was read in main function. >>> > >>> > How can I do this correctly?? >>> > >>> > Thkns in advance! >>> > >>> > Regards. >>> > >>> > JP >>> > _____________________________________ >>> > Powered by www.kitware.com >>> > >>> > Visit other Kitware open-source projects at >>> > http://www.kitware.com/opensource/opensource.html >>> > >>> > Kitware offers ITK Training Courses, for more information visit: >>> > http://www.kitware.com/products/protraining.html >>> > >>> > Please keep messages on-topic and check the ITK FAQ at: >>> > http://www.itk.org/Wiki/ITK_FAQ >>> > >>> > Follow this link to subscribe/unsubscribe: >>> > http://www.itk.org/mailman/listinfo/insight-users >>> > >>> > >> >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Mon Dec 21 19:30:15 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:30:15 -0500 Subject: [Insight-users] Origin in shrink image filter wrong? In-Reply-To: References: Message-ID: Hi Lodron, The computation of the origin for the ShrinkImageFilter is not as trivial as one may expect at first sight. We spent three or four Tcons discussing this issue, See, for example: http://www.itk.org/Wiki/Minutes_032709 To summarize: NO, the origin of the Shrunk image is not the same as the origin of the input image. They are related by the following code: typename TOutputImage::PointType outputOrigin = outputPtr->GetOrigin(); outputOrigin = outputOrigin + (inputCenterPoint - outputCenterPoint); outputPtr->SetOrigin(outputOrigin); that you can find in lines 355-357 of the file Insight/Code/BasicFilters itkShrinkImageFilter.txx In order to make sense of these computation you should consider that: 1) ITK origin is given in physical coordinates 2) Pixel coordinates in ITK are associated with the center of the pixel (not its corner, as it is done in VTK). Regards, Luis ------------------------------------------------------------- On Tue, Dec 15, 2009 at 4:42 AM, Lodron, Gerald wrote: > Hi > > I try to downsample a DICOM image with shrink image filter and i come to no sollution. The problem is that the origin of the result is wrong: > > When i load the same DICOM 3D image with the same code and downsample one of them by factor two the images should be aligned, am i right? So when i use the checkerboard the only difference should be the ressolution, am i right? But the images are not aligned so what went wrong? I am really at the end of my vodoo. > > I use ITK 3.16.0 with following settings on: > ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE > ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY > ITK_USE_CONSOLATED_MORPHOLOGY > ITK_USE_OPTIMIZED_REGISTRATION_METHODS > ITK_USE_ORIENTED_IMAGE_DIRECTION > ITK_USE_PATENTED > ITK_USE_REGION_VALIDATION_IN_ITERATORS > ITK_USE_REVIEW > ITK_USE_SYSTEM_GDCM ? ? (i installed and use gdcm 2.0.14) > ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING > > The rest is off. > > Here my pseudocode > > vtkImageData ? ?image1; //3D image of short > vtkImageData ? ?image2; //the same > > //Image1 is exactly the same as image 2, i use vtkCheckerboard to compare them and they are the same > > //first i convert both to ITK > Itk::VTKImageToImageFilter<...>::Pointer connector1 = ...::New(); > Itk::VTKImageToImageFilter<...>::Pointer connector2 = ...::New(); > > Connector1->SetInput(...) > ... > Itk::OrientedImage<...>::pointer image1ITK; > Itk::OrientedImage<...>::pointer image2ITK; > > //now i use shrink image filter to downsample one of them > > itk::ShrinkImageFilter<>::Pointer filter = itk::ShrinkImageFilter<>::New(); > filter->SetInput(image2ITK); > filter->SetShrinkFactor(2); > > > Itk::OrientedImage<...>::pointer image2ITKSmall = filter->getOutput(); > > > //and back to vtk > Itk::ImageToVTKImageFilter::Pointer c1 = ...::New(); > Itk::ImageToVTKImageFilter::Pointer c2 = ...::New(); > > C1->setInput(image1ITK); > //C2->setInput(image2ITK); ? ? ? ? ? ? ?//with that the images are aligned > C2->setInput(image2ITKSmall); ? ? ? ? ? //with that not aligned > > //back to vtk and visualize with checkerboard > > vtkImageCheckerboard* ? Checkerboard= vtkImageCheckerboard::New(); > > Checkerboard->SetInput(0, C1->getOutput()); > Checkerboard->SetInput(1, C2->getOutput()); > Checkerboard->SetNumberOfDivisions(2, 2, 2); > > //visualize Checkerboard->getOutput() > ... > > > > > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Mon Dec 21 19:35:40 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:35:40 -0500 Subject: [Insight-users] Automated cropping of an image based on image segmentation In-Reply-To: References: Message-ID: Hi Lodron, A) About your first question: For cropping an image to the size of the segmented object you can use the recently added filter: Insight/Code/Review/ itkAutoCropLabelMapFilter.h B) About your second question: The size of the image mask will be (mostly**) irrelevant for the purpose of evaluating the computation time of the registration algorithm. The "mostly" qualifier is added here, just because with a smaller image you "may" get better memory caching in your processor... but.... in practice, given all the things that are moving on in the registration framework at the same time, I would think that it is unlikely that such potential caching manages to make any difference. (... of course,... only a carefully executed experiment will tell for sure). In any case, using the filter in (A) is so easy, the you may just go for it. Regards, Luis ---------------------------------------------------------------------------------------- On Wed, Dec 16, 2009 at 3:53 AM, Lodron, Gerald wrote: > > Hello, > > I have two 3D CT images which i want to register. I want first segment the human from the rest because I think the environment (patient table etc) will/can disturb the registration. The segmentation already works perfect, I use a simple connected threshold filter in combination with an image closing which results in an image of zeros and ones. > > Now I have two questions: > > - I think it would be a great idea (performance reasons) to automatically crop the image depending on that segmentation result but i have no idea how to do this efficiently, any ideas? > > > - In the imageToImageMetric I found the functions: SetFixedImageMask and SetMovingImageMask > ?They needs a type called Spatial Objects so I think i had to use the itk::ImageSpatialObject class to convert my itk Image into such a spatial object type. Here is my question: Is it advisable to make a cropping and this image mask stuff or will the image mask stuff make everything internal to compute the result fast? > > Best regards > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Mon Dec 21 19:40:44 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:40:44 -0500 Subject: [Insight-users] hello all, In-Reply-To: References: Message-ID: Hi Sravan, ITK will compile in any system that has a properly installed GCC compiler. Have you set up a cross compilation tool chain for the ARM 9 processor ? CMake provides good support for cross-compilation. The challenge that you will face with the cross-compilation is that CMake performs a series of "try-compile" and "try-run" tests at configuration time, in order to asses the capabilities of your compiler. When using cross-compilation, you want to make sure that those tests are done using the tools of the destination platform. You may find interesting to look at the notes on how to configure ITK to be build in a BlueGene supercomputer: http://www.itk.org/Wiki/Proposals:Compiling_on_Bluegene_Supercomputer Please let us know if you run into any problem, Thanks Luis ------------------------------------------------------------------------------------------------- On Thu, Dec 17, 2009 at 1:12 AM, sravan kumar wrote: > I am successful in configuring the ITK for Fedora 10.Actually, i need to use > this ITK for an Embedded System based on ARM 9 processor having linux 2.6.20 > kernel. > > Ca this ITK be used for Embedded Systems.If so, please tell me how to do it. > Thanking you > > -- > Y.Sravan Kumar > II M.Tech(CS), > Sri Sathya Sai University, > PRASHANTINILAYAM - 515134 > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From luis.ibanez at kitware.com Mon Dec 21 19:46:48 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:46:48 -0500 Subject: [Insight-users] Reading in Netcdf data In-Reply-To: References: Message-ID: Hi C.S.N, Welcome to ITK ! Your observation is correct. We don't have in ITK a reader for Netcdf, however, we have support for MINC2, and they use Netcdf as one of their libraries.... which makes me wonder if you could use the MINC2 reader to bring your data into ITK. You may want to give it a try at enabling the CMake variable: ITK_USE_MINC2 when you configure ITK. For more information, you may want to look at the following paper in the Insight Journal: http://www.insight-journal.org/browse/publication/64 I believe VTK and Paraview have support for Netcdf files. You may want to consider using them as a bridge for reading Netcdf in, and writing out any of the file formats that both VTK and ITK supports (for example .mha or .vtk). Regards, Luis ----------------------------------------------------------------- On Wed, Dec 16, 2009 at 1:08 PM, Natarajan CS wrote: > Hello all, > ?? i am new to this list and ITK, so apologies if this question has been > answered already in some form. Reading the docs it seems like ITK does not > have a built-in reader for netcdf volume data, so is it better to convert > the data to a format which itk can read or is it better to parse the data > stream as an array to ITK (read in the data in standard format and send itk > the array instead of using ITK readers)? > > Thanks in advance, > > C.S.N > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From yxp233 at postech.ac.kr Mon Dec 21 19:52:52 2009 From: yxp233 at postech.ac.kr (Xiaopeng Yang) Date: Tue, 22 Dec 2009 09:52:52 +0900 Subject: [Insight-users] About reconstruction of gray-scaled image from binary image In-Reply-To: References: Message-ID: <001b01ca82a1$177612c0$46623840$@ac.kr> Hi, I am working on liver segmentation from a series of gray-scaled CT images. I used ConnectedThresholdImageFilter.cxx region growing algorithm and obtained a series of binary images. What I would like to do is to change the region growing binary images to gray-scaled images. How can ITK solve this problem? Thank you very much. Xiaopeng Yang POSTECH, South Korea From luis.ibanez at kitware.com Mon Dec 21 19:55:15 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:55:15 -0500 Subject: [Insight-users] Confusion with direction cosines in DICOM, tag 0020|0037 In-Reply-To: <26825252.post@talk.nabble.com> References: <26825252.post@talk.nabble.com> Message-ID: Hi Patrik, The direction cosine triplets from the DICOM header are stored in the Columns of the ITK Direction matrix. See lines: 190-203 of the file Insight/Code/IO/itkImageFileReader.txx and lines 1171-1183 of the file: Insight/Code/IO/itkGDCMImageIO.cxx The DICOM header only carry the first two direction cosine vectors. The third one is computed by ITK as the cross product of the first two. WARNING: Before you get too focuses on row versus column matrix notation, please note that ITK represent Geometrical vectors as column-vectors in a Matrix. Regards, Luis ---------------------------------------------------------------------------- On Thu, Dec 17, 2009 at 4:22 AM, Patrik.Br. wrote: > > Hello, > > I was wondering how to use the direction cosines in DICOM when contructing a > direction/rotation matrix. Should the six numbers in tag 0020|0037 represent > the first two columns or the first two rows of the matrix? > > An ITK bug report suggests (i think) that they are the first two row > vectors: > http://www.cmake.org/Bug/view.php?id=7748 > > ...but some nifti documentation seem to state the opposite (down the bottom > of the page): > http://nifti.nimh.nih.gov/nifti-1/documentation/nifti1fields/nifti1fields_pages/quatern.html > > A short educational pdf-document implies they are the row vectors of the > matrix: > http://www.ae.uiuc.edu/~tbretl/ae403/handouts/06-dcm.pdf > > ...but wikipedia seems to state that they should be interpreted as the > column vectors of the matrix: > http://en.wikipedia.org/wiki/Rotation_representation_(mathematics)#Rotation_matrix_.28or_direction_cosine_matrix.2C_DCM.29 > > Can someone de-confuse me?! > > Thanks in advance, > > //Patrik > -- > View this message in context: http://old.nabble.com/Confusion-with-direction-cosines-in-DICOM%2C-tag-0020%7C0037-tp26825252p26825252.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From luis.ibanez at kitware.com Mon Dec 21 19:59:38 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Mon, 21 Dec 2009 19:59:38 -0500 Subject: [Insight-users] Windows compiler In-Reply-To: <4B27FC3A.9030706@utk.edu> References: <4B27FC3A.9030706@utk.edu> Message-ID: Hi Felix, We build ITK every Night with * Visual Studio 6.0 * Visual Studio 7.0 * Visual Studio 7.1 * Visual Studio 8.0 * Visual Studio 9.0 You can see all these build in the ITK Nightly Dashboard: http://public.kitware.com/dashboard.php?name=itk and you can filter it, in order to focus only in the Windows builds, with the following link: http://www.cdash.org/CDash/index.php?project=Insight&filtercount=1&showfilters=1&field1=buildname/string&compare1=63&value1=Win Can you verify the level of CPU usage when your compiler is "Freezing" ? It may simply be "very busy..." Regards, Luis ------------------------------------------------------------ On Tue, Dec 15, 2009 at 4:14 PM, Felix Kim wrote: > Hi, > > I'm sorry if this question was asked and answered before. I'm using a > Windows XP machine, and I was wondering what is a recommended compiler to > use. I was trying to install ITK using visual studio, but the process > freezes before the completion. Is there any free compiler that I can use in > windows machine? > > Thanks, > > Felix Kim > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From kuoxgx at gmail.com Mon Dec 21 23:47:06 2009 From: kuoxgx at gmail.com (Hsiang-Chi Kuo) Date: Mon, 21 Dec 2009 23:47:06 -0500 Subject: [Insight-users] acces 3D pixel value with iterator Message-ID: Hi, I am trying to access the maximum and minimum pixel value of a 3D image with the following code, however, the result dose not look right (maximum 0, minimum 1000). Can anyone give me a hint why this code dose not work? Thanks a lot, Howard typedef unsigned int InputPixelType; const unsigned int Dimension = 3; typedef unsigned int OutputPixelType; typedef itk::Image< OutputPixelType, Dimension > OutputImageType; typedef itk::Image< InputPixelType, Dimension > InputImageType; typedef itk::ImageFileReader< InputImageType > ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName( argv[1] ); typedef itk::ImageRegionIterator< InputImageType > IteratorType; InputImageType::Pointer image = InputImageType::New(); image = reader->GetOutput(); IteratorType it( image, image->GetLargestPossibleRegion() ); int max=0; int min=10000; for (it.GoToBegin();!it.IsAtEnd();++it) { int temp = it.Get(); if (temp>max) max=temp; if (temp wrote: > > Hello, > > I have two 3D CT images which i want to register. I want first segment the human from the rest because I think the environment (patient table etc) will/can disturb the registration. The segmentation already works perfect, I use a simple connected threshold filter in combination with an image closing which results in an image of zeros and ones. > > Now I have two questions: > > - I think it would be a great idea (performance reasons) to automatically crop the image depending on that segmentation result but i have no idea how to do this efficiently, any ideas? > > > - In the imageToImageMetric I found the functions: SetFixedImageMask > and SetMovingImageMask > ?They needs a type called Spatial Objects so I think i had to use the itk::ImageSpatialObject class to convert my itk Image into such a spatial object type. Here is my question: Is it advisable to make a cropping and this image mask stuff or will the image mask stuff make everything internal to compute the result fast? > > Best regards > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From Gerald.Lodron at joanneum.at Tue Dec 22 03:35:28 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Tue, 22 Dec 2009 09:35:28 +0100 Subject: [Insight-users] About reconstruction of gray-scaled image from binary image In-Reply-To: <001b01ca82a1$177612c0$46623840$@ac.kr> References: <001b01ca82a1$177612c0$46623840$@ac.kr> Message-ID: Hi Use as template parameter a grayscale image instead of a binary image. The function SetReplaceValue specifies the gray value (default is 1 or true in binary images) Best regards -----Urspr?ngliche Nachricht----- Von: Xiaopeng Yang [mailto:yxp233 at postech.ac.kr] Gesendet: Dienstag, 22. Dezember 2009 01:53 An: 'Luis Ibanez'; Lodron, Gerald Cc: insight-users at itk.org Betreff: About reconstruction of gray-scaled image from binary image Hi, I am working on liver segmentation from a series of gray-scaled CT images. I used ConnectedThresholdImageFilter.cxx region growing algorithm and obtained a series of binary images. What I would like to do is to change the region growing binary images to gray-scaled images. How can ITK solve this problem? Thank you very much. Xiaopeng Yang POSTECH, South Korea From zallen at wheelinghospital.com Tue Dec 22 03:38:04 2009 From: zallen at wheelinghospital.com (URI) Date: Tue, 22 Dec 2009 00:38:04 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <4db4735c0912110923o497f1b48h27492a58e85f07cf@mail.gmail.com> References: <4db4735c0912100510p677431ecj7144cde2ef7964f4@mail.gmail.com> <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> <1260509804319-4149580.post@n2.nabble.com> <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> <4db4735c0912110553x7086b85cub0301eed9db5ee44@mail.gmail.com> <1260551767075-4152470.post@n2.nabble.com> <4db4735c0912110923o497f1b48h27492a58e85f07cf@mail.gmail.com> Message-ID: <1261471084125-4202557.post@n2.nabble.com> Bill- When I go to my source directory and type cvs -nq update I get the following output: cvs [update aborted]: unrecognized auth response from www.itk.org: cvs [pserver: no such repositorynsight That last part is typed correctly, it says "no such repositorynsight". Bill Lorensen wrote: > > I am afraid will have to start from scratch again. Since I can't see > what buttons you are hitting I can't tell where you are going wrong. > > 1) remove the contents of the Insight-mingw. > 2) Please do a cvs -nq update in the source directory. We want to make > sure that there are no cmake generated files that exist there because > of an accidental cmake run in the source tree. > 3) Then run cmake as instructed before. > > On Fri, Dec 11, 2009 at 12:16 PM, URI wrote: >> >> Yeah, I missed that part. ?I hit the "Generate" button and it runs for a >> bit, >> then I get this message: >> >> Linking C executable ../../bin/itksysEncodeExecutable.exe ?(this part is >> in >> red, the rest is in white) >> make[1]: execvp: /C/CMake_2_8/bin/cmake.exe: Invalid argument >> make[1]: *** [Utilities/kwsys/CMakeFiles/itksysEncodeExecutable.dir/all] >> Error 127 >> make: *** [all] Error 2 >> >> >> >> >> Bill Lorensen wrote: >>> >>> Maybe I forgot to tell you step 9? Did you press OK? >>> >>> 9) In cmake Press OK to generate selected build files and exit >>> >>> On Fri, Dec 11, 2009 at 8:37 AM, Bill Lorensen >>> wrote: >>>> OK, so there is no Makefile in this directory. When you ran cmake, did >>>> any error or warning windows pop up? >>>> >>>> On Fri, Dec 11, 2009 at 12:36 AM, URI >>>> wrote: >>>>> >>>>> Here's what I get: >>>>> >>>>> AllowContinuous.sh >>>>> BuildContinuous.sh >>>>> BuildContinuousWithCTest.sh >>>>> CMake >>>>> CMakeCache.txt >>>>> CMakeFiles >>>>> CMakeTmp >>>>> CPackConfig.cmake >>>>> CPackSourceConfig.cmake >>>>> CTestCustom.cmake >>>>> Code >>>>> DartConfiguration.tcl >>>>> Examples >>>>> ITKBuildSettings.cmake >>>>> ITKConfig.cmake >>>>> ITKLibraryDepends.cmake >>>>> PreventContinuous.sh >>>>> Testing >>>>> UseITK.cmake >>>>> Utilities >>>>> Wrapping >>>>> creonentry >>>>> itkConfigure.h >>>>> >>>>> >>>>> >>>>> >>>>> Bill Lorensen wrote: >>>>>> >>>>>> navigate to C:\msys\1.0\home\Insight-mingw >>>>>> type ls and send the output to me >>>>>> >>>>>> On Thu, Dec 10, 2009 at 11:03 PM, URI >>>>>> wrote: >>>>>>> >>>>>>> Let me explain what I've done so I'm sure we're talking about the >>>>>>> same >>>>>>> thing: >>>>>>> >>>>>>> I ran Msys and typed "mkdir Insight-mingw " as per Steps 1 and 2. >>>>>>> ?This >>>>>>> created a new folder C:\msys\1.0\home\Insight-mingw >>>>>>> >>>>>>> In my CMake gui I set the "Where to build the binaries" to that same >>>>>>> folder. >>>>>>> >>>>>>> I did all the "Configure" stuff and all those files and folders >>>>>>> appear >>>>>>> in >>>>>>> that Insight-mingw folder. >>>>>>> >>>>>>> Then I start the Msys shell, navigate to >>>>>>> C:\msys\1.0\home\Insight-mingw >>>>>>> and >>>>>>> type "make" and that's when I get the error. >>>>>>> >>>>>>> If I look in that Insight-mingw folder where I built the binaries >>>>>>> there >>>>>>> is a >>>>>>> CMakeCache.txt file, but it does not have a Project_BINARY_DIR >>>>>>> variable. >>>>>>> >>>>>>> Here is my CMakeCache.txt file: >>>>>>> >>>>>>> # This is the CMakeCache file. >>>>>>> # For build in directory: c:/msys/1.0/home/Insight-mingw >>>>>>> # It was generated by CMake: C:/CMake_2_8/bin/cmake.exe >>>>>>> # You can edit this file to change values found and used by cmake. >>>>>>> # If you do not want to change any of the values, simply exit the >>>>>>> editor. >>>>>>> # If you do want to change a value, simply edit, save, and exit the >>>>>>> editor. >>>>>>> # The syntax for the file is as follows: >>>>>>> # KEY:TYPE=VALUE >>>>>>> # KEY is the name of a variable in the cache. >>>>>>> # TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. >>>>>>> # VALUE is the current value for the KEY. >>>>>>> >>>>>>> ######################## >>>>>>> # EXTERNAL cache entries >>>>>>> ######################## >>>>>>> >>>>>>> //Name of build on the dashboard >>>>>>> BUILDNAME:STRING=Win32-make >>>>>>> >>>>>>> //Build Doxygen Documentation >>>>>>> BUILD_DOXYGEN:BOOL=OFF >>>>>>> >>>>>>> //Build the Examples directory. >>>>>>> BUILD_EXAMPLES:BOOL=ON >>>>>>> >>>>>>> //Toggle building shared libraries >>>>>>> BUILD_SHARED_LIBS:BOOL=OFF >>>>>>> >>>>>>> //Build the testing tree. >>>>>>> BUILD_TESTING:BOOL=ON >>>>>>> >>>>>>> //Path to a program. >>>>>>> BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_AR:FILEPATH=C:/MinGW/bin/ar.exe >>>>>>> >>>>>>> //For backwards compatibility, what version of CMake commands and >>>>>>> // syntax should this version of CMake try to support. >>>>>>> CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 >>>>>>> >>>>>>> //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or >>>>>>> // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. >>>>>>> CMAKE_BUILD_TYPE:STRING= >>>>>>> >>>>>>> //Enable/Disable color output during build. >>>>>>> CMAKE_COLOR_MAKEFILE:BOOL=ON >>>>>>> >>>>>>> //CXX compiler. >>>>>>> CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW/bin/g++.exe >>>>>>> >>>>>>> //Flags used by the compiler during all build types. >>>>>>> CMAKE_CXX_FLAGS:STRING= >>>>>>> >>>>>>> //Flags used by the compiler during debug builds. >>>>>>> CMAKE_CXX_FLAGS_DEBUG:STRING=-g >>>>>>> >>>>>>> //Flags used by the compiler during release minsize builds. >>>>>>> CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>>>>> >>>>>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>>>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>>>>> // files). >>>>>>> CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>>>>> >>>>>>> //Flags used by the compiler during Release with Debug Info builds. >>>>>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>>>>> >>>>>>> //Libraries linked by defalut with all C++ applications. >>>>>>> CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>>>>>> -lwinspool >>>>>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>>>>> >>>>>>> //C compiler. >>>>>>> CMAKE_C_COMPILER:FILEPATH=C:/MinGW/bin/gcc.exe >>>>>>> >>>>>>> //Flags used by the compiler during all build types. >>>>>>> CMAKE_C_FLAGS:STRING= >>>>>>> >>>>>>> //Flags used by the compiler during debug builds. >>>>>>> CMAKE_C_FLAGS_DEBUG:STRING=-g >>>>>>> >>>>>>> //Flags used by the compiler during release minsize builds. >>>>>>> CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG >>>>>>> >>>>>>> //Flags used by the compiler during release builds (/MD /Ob1 /Oi >>>>>>> // /Ot /Oy /Gs will produce slightly less optimized but smaller >>>>>>> // files). >>>>>>> CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG >>>>>>> >>>>>>> //Flags used by the compiler during Release with Debug Info builds. >>>>>>> CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g >>>>>>> >>>>>>> //Libraries linked by defalut with all C applications. >>>>>>> CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 >>>>>>> -lwinspool >>>>>>> -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 >>>>>>> >>>>>>> //Flags used by the linker. >>>>>>> CMAKE_EXE_LINKER_FLAGS:STRING= >>>>>>> >>>>>>> //Flags used by the linker during debug builds. >>>>>>> CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release minsize builds. >>>>>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release builds. >>>>>>> CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= >>>>>>> >>>>>>> //Flags used by the linker during Release with Debug Info builds. >>>>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>>>> >>>>>>> //Use HP pthreads. >>>>>>> CMAKE_HP_PTHREADS:BOOL=OFF >>>>>>> >>>>>>> //Install path prefix, prepended onto install directories. >>>>>>> CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/ITK >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_LINKER:FILEPATH=C:/MinGW/bin/ld.exe >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_MAKE_PROGRAM:FILEPATH=C:/msys/1.0/bin/make.exe >>>>>>> >>>>>>> //Flags used by the linker during the creation of modules. >>>>>>> CMAKE_MODULE_LINKER_FLAGS:STRING= >>>>>>> >>>>>>> //Flags used by the linker during debug builds. >>>>>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release minsize builds. >>>>>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release builds. >>>>>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= >>>>>>> >>>>>>> //Flags used by the linker during Release with Debug Info builds. >>>>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_NM:FILEPATH=C:/MinGW/bin/nm.exe >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_OBJCOPY:FILEPATH=C:/MinGW/bin/objcopy.exe >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_OBJDUMP:FILEPATH=C:/MinGW/bin/objdump.exe >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> CMAKE_PROJECT_NAME:STATIC=ITK >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_RANLIB:FILEPATH=C:/MinGW/bin/ranlib.exe >>>>>>> >>>>>>> //Flags used by the linker during the creation of dll's. >>>>>>> CMAKE_SHARED_LINKER_FLAGS:STRING= >>>>>>> >>>>>>> //Flags used by the linker during debug builds. >>>>>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release minsize builds. >>>>>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= >>>>>>> >>>>>>> //Flags used by the linker during release builds. >>>>>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= >>>>>>> >>>>>>> //Flags used by the linker during Release with Debug Info builds. >>>>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= >>>>>>> >>>>>>> //If set, runtime paths are not added when using shared libraries. >>>>>>> CMAKE_SKIP_RPATH:BOOL=OFF >>>>>>> >>>>>>> //Path to a program. >>>>>>> CMAKE_STRIP:FILEPATH=C:/MinGW/bin/strip.exe >>>>>>> >>>>>>> //Thread library used. >>>>>>> CMAKE_THREAD_LIBS:STRING= >>>>>>> >>>>>>> //Use the pthreads library. >>>>>>> CMAKE_USE_PTHREADS:BOOL=OFF >>>>>>> >>>>>>> //If true, cmake will use relative paths in makefiles and projects. >>>>>>> CMAKE_USE_RELATIVE_PATHS:BOOL=OFF >>>>>>> >>>>>>> //Use sproc libs. >>>>>>> CMAKE_USE_SPROC:BOOL=OFF >>>>>>> >>>>>>> //Use the win32 thread library. >>>>>>> CMAKE_USE_WIN32_THREADS:BOOL=ON >>>>>>> >>>>>>> //If this value is on, makefiles will be generated without the >>>>>>> // .SILENT directive, and all commands will be echoed to the console >>>>>>> // during the make. ?This is useful for debugging only. With Visual >>>>>>> // Studio IDE projects all commands are done without /nologo. >>>>>>> CMAKE_VERBOSE_MAKEFILE:BOOL=OFF >>>>>>> >>>>>>> //X11 extra flags. >>>>>>> CMAKE_X_CFLAGS:STRING=-I >>>>>>> >>>>>>> //Libraries and options used in X11 programs. >>>>>>> CMAKE_X_LIBS:STRING= >>>>>>> >>>>>>> //Path to program used to compress files for transfer to the dart >>>>>>> // server >>>>>>> COMPRESSIONCOMMAND:FILEPATH=COMPRESSIONCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Path to the coverage program that CTest uses for performing >>>>>>> coverage >>>>>>> // inspection >>>>>>> COVERAGE_COMMAND:FILEPATH=C:/MinGW/bin/gcov.exe >>>>>>> >>>>>>> //Enable to build NSIS packages >>>>>>> CPACK_BINARY_NSIS:BOOL=ON >>>>>>> >>>>>>> //Enable to build ZIP packages >>>>>>> CPACK_BINARY_ZIP:BOOL=OFF >>>>>>> >>>>>>> //Enable to build ZIP source packages >>>>>>> CPACK_SOURCE_ZIP:BOOL=ON >>>>>>> >>>>>>> //Path to a program. >>>>>>> CVSCOMMAND:FILEPATH=CVSCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Options passed to the cvs update command. >>>>>>> CVS_UPDATE_OPTIONS:STRING=-d -A -P >>>>>>> >>>>>>> //Limit of reported errors, -1 reports all. >>>>>>> DART_BUILD_ERROR_REPORT_LIMIT:BOOL=OFF >>>>>>> >>>>>>> //Limit of reported warnings, -1 reports all. >>>>>>> DART_BUILD_WARNING_REPORT_LIMIT:BOOL=OFF >>>>>>> >>>>>>> //If you have Dart installed, where is it located? >>>>>>> DART_ROOT:PATH=DART_ROOT-NOTFOUND >>>>>>> >>>>>>> //Maximum time allowed before CTest will kill the test. >>>>>>> DART_TESTING_TIMEOUT:STRING=1500 >>>>>>> >>>>>>> //Show the actual output of the build, or if off show a . for each >>>>>>> // 1024 bytes. >>>>>>> DART_VERBOSE_BUILD:BOOL=OFF >>>>>>> >>>>>>> //Should Dart server send email when build errors are found in >>>>>>> // Continuous builds? >>>>>>> DELIVER_CONTINUOUS_EMAIL:BOOL=OFF >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> FilteringExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Filtering >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> FilteringExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Filtering >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> GDCM_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/gdcm >>>>>>> >>>>>>> //Remove all legacy code completely. >>>>>>> GDCM_LEGACY_REMOVE:BOOL=OFF >>>>>>> >>>>>>> //Silence all legacy code messages. >>>>>>> GDCM_LEGACY_SILENT:BOOL=OFF >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> GDCM_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/gdcm >>>>>>> >>>>>>> //Path to gunzip executable >>>>>>> GUNZIPCOMMAND:FILEPATH=GUNZIPCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Path to a program. >>>>>>> HGCOMMAND:FILEPATH=HGCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> IOExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/IO >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> IOExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/IO >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKAlgorithms_LIB_DEPENDS:STATIC=general;gdi32;general;ITKStatistics;general;ITKNumerics; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKBasicFilters_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKCommon_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_inst;general;itksys; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKDICOMParser_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKEXPAT_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/expat >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKEXPAT_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKEXPAT_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/expat >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKEXTHDRS_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkExtHdrs >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKEXTHDRS_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkExtHdrs >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKFEM_LIB_DEPENDS:STATIC=general;gdi32;general;ITKBasicFilters;general;ITKIO; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKIO_LIB_DEPENDS:STATIC=general;gdi32;general;ITKNrrdIO;general;itkgdcm;general;itkpng;general;itktiff;general;ITKSpatialObject;general;ITKMetaIO;general;ITKDICOMParser;general;ITKEXPAT;general;ITKniftiio; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkjpeg >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkjpeg >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKMetaIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/MetaIO >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKMetaIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itksys;general;comctl32;general;wsock32; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKMetaIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/MetaIO >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKNrrdIO_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/NrrdIO >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKNrrdIO_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKNrrdIO_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/NrrdIO >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKNumerics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKOpenJPEG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/openjpeg >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKOpenJPEG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/openjpeg >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKPNG_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkpng >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKPNG_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkpng >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKSpatialObject_LIB_DEPENDS:STATIC=general;gdi32;general;ITKMetaIO;general;ITKCommon; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKStatistics_LIB_DEPENDS:STATIC=general;gdi32;general;ITKCommon;general;itkNetlibSlatec; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKTIFF_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itktiff >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKTIFF_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itktiff >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKTesting_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Testing >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKTesting_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Testing >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKZLIB_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/itkzlib >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITKZLIB_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/itkzlib >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITK_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw >>>>>>> >>>>>>> //Directory with data taken from >>>>>>> http://public.kitware.com/pub/itk/Data/BrainWeb/ >>>>>>> ITK_BRAINWEB_DATA_ROOT:PATH=ITK_BRAINWEB_DATA_ROOT-NOTFOUND >>>>>>> >>>>>>> //Provide here the size of your RAM Memory in GigaBytes >>>>>>> ITK_COMPUTER_MEMORY_SIZE:STRING=1 >>>>>>> >>>>>>> //Build cswig Java wrapper support >>>>>>> ITK_CSWIG_JAVA:BOOL=OFF >>>>>>> >>>>>>> //Build cswig Python wrapper support (requires CableSwig). >>>>>>> ITK_CSWIG_PYTHON:BOOL=OFF >>>>>>> >>>>>>> //Build cswig Tcl wrapper support (requires CableSwig). >>>>>>> ITK_CSWIG_TCL:BOOL=OFF >>>>>>> >>>>>>> //Path to a file. >>>>>>> ITK_DATA_ROOT:PATH=C:/ITK_3_16_0/Testing/Data >>>>>>> >>>>>>> //Try to explicitly build some of the core templates explictitly >>>>>>> // rather than over and over again. >>>>>>> ITK_EXPLICIT_INSTANTIATION:BOOL=OFF >>>>>>> >>>>>>> //Makes itk::Image behave like itk::OrientedImage >>>>>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE:BOOL=ON >>>>>>> >>>>>>> //Remove all legacy code completely. >>>>>>> ITK_LEGACY_REMOVE:BOOL=OFF >>>>>>> >>>>>>> //Silence all legacy code messages. >>>>>>> ITK_LEGACY_SILENT:BOOL=OFF >>>>>>> >>>>>>> //Directory with data taken from >>>>>>> http://public.kitware.com/pub/itk/Data/HealthyVolunteersMRIDatabase/ >>>>>>> ITK_MRI_UNC_DATABASE_DATA_ROOT:PATH=ITK_MRI_UNC_DATABASE_DATA_ROOT-NOTFOUND >>>>>>> >>>>>>> //Directory with data taken from >>>>>>> http://www.osirix-viewer.com/Downloads.html >>>>>>> ITK_OSIRIX_DATA_ROOT:PATH=ITK_OSIRIX_DATA_ROOT-NOTFOUND >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ITK_SOURCE_DIR:STATIC=C:/ITK_3_16_0 >>>>>>> >>>>>>> //Turn on correct usage of centered-pixel coordinates. >>>>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON >>>>>>> >>>>>>> //Turn on concept checking to give helpful errors at compile time >>>>>>> // if a type cannot be used as a template parameter. >>>>>>> ITK_USE_CONCEPT_CHECKING:BOOL=ON >>>>>>> >>>>>>> //Turn on the experimental consolidated morphology. >>>>>>> ITK_USE_CONSOLIDATED_MORPHOLOGY:BOOL=OFF >>>>>>> >>>>>>> //Turn on the use of a sparse field level set surface interpolation >>>>>>> // method that has been deprecated since ITK 3.6. Turn this flag >>>>>>> // ON to exactly replicate the behavior of ITK<=3.4. >>>>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION:BOOL=OFF >>>>>>> >>>>>>> //Enable the use of KWStyle for checking coding style. >>>>>>> ITK_USE_KWSTYLE:BOOL=OFF >>>>>>> >>>>>>> //Use LIBXML2. >>>>>>> ITK_USE_LIBXML2:BOOL=OFF >>>>>>> >>>>>>> //Use MINC2 File Format >>>>>>> ITK_USE_MINC2:BOOL=OFF >>>>>>> >>>>>>> //Turn on the experimental version of accelerated registration >>>>>>> // methods. >>>>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=OFF >>>>>>> >>>>>>> //Turn on correct use of oriented images direction in gradient >>>>>>> // computation and image registration. >>>>>>> ITK_USE_ORIENTED_IMAGE_DIRECTION:BOOL=ON >>>>>>> >>>>>>> //Build algorithms that are covered with Patents. It is YOUR >>>>>>> responsibility >>>>>>> // to obtain a license from the patent holder in order to use these >>>>>>> // methods. >>>>>>> ITK_USE_PATENTED:BOOL=OFF >>>>>>> >>>>>>> //Turn on region validation in Iterator constructors. >>>>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS:BOOL=ON >>>>>>> >>>>>>> //Build algorithms that are candidates to be included in the >>>>>>> Toolkit. >>>>>>> // This classes are not covered by the Backward Compatibility >>>>>>> Policy, >>>>>>> // nor the Copyright Policy of ITK. >>>>>>> ITK_USE_REVIEW:BOOL=OFF >>>>>>> >>>>>>> //Use the experimental statistics framework. >>>>>>> ITK_USE_REVIEW_STATISTICS:BOOL=OFF >>>>>>> >>>>>>> //Turn on Strict concept checking to give more stringent errors >>>>>>> // at compile time if a type cannot be used as a template parameter. >>>>>>> ITK_USE_STRICT_CONCEPT_CHECKING:BOOL=OFF >>>>>>> >>>>>>> //Use an outside build of GDCM. >>>>>>> ITK_USE_SYSTEM_GDCM:BOOL=OFF >>>>>>> >>>>>>> //Use the system's libxml2 library. >>>>>>> ITK_USE_SYSTEM_LIBXML2:BOOL=OFF >>>>>>> >>>>>>> //Use the system's png library. >>>>>>> ITK_USE_SYSTEM_PNG:BOOL=OFF >>>>>>> >>>>>>> //Use the system's tiff library. >>>>>>> ITK_USE_SYSTEM_TIFF:BOOL=OFF >>>>>>> >>>>>>> //Use an outside build of VXL. >>>>>>> ITK_USE_SYSTEM_VXL:BOOL=OFF >>>>>>> >>>>>>> //Use the system's zlib library. >>>>>>> ITK_USE_SYSTEM_ZLIB:BOOL=OFF >>>>>>> >>>>>>> //Turn on the use of Template Meta-Programming techniques for >>>>>>> unrolling >>>>>>> // for-loops at compile time. >>>>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING:BOOL=ON >>>>>>> >>>>>>> //Turn on the experimental IO factories for reading and writing >>>>>>> // transforms. >>>>>>> ITK_USE_TRANSFORM_IO_FACTORIES:BOOL=OFF >>>>>>> >>>>>>> //Directory with data taken from >>>>>>> http://www.nlm.nih.gov/research/visible/getting_data.html >>>>>>> ITK_VISIBLEHUMAN_DATA_ROOT:PATH=ITK_VISIBLEHUMAN_DATA_ROOT-NOTFOUND >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKniftiio_LIB_DEPENDS:STATIC=general;gdi32;general;ITKznz; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> ITKznz_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Image >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Image >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageRegistration_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Registration >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageRegistration_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Registration >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageSegmentation_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Segmentation >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> ImageSegmentation_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Segmentation >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> IteratorExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Iterators >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> IteratorExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Iterators >>>>>>> >>>>>>> //Path to java command, used by the Dart server to create html. >>>>>>> JAVACOMMAND:FILEPATH=JAVACOMMAND-NOTFOUND >>>>>>> >>>>>>> //Command used to build entire project from the command line. >>>>>>> MAKECOMMAND:STRING=C:/msys/1.0/bin/make.exe -i >>>>>>> >>>>>>> //Path to the memory checking command, used for memory error >>>>>>> detection. >>>>>>> MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND >>>>>>> >>>>>>> //File that contains suppressions for the memory checker >>>>>>> MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> MeshExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Mesh >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> MeshExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Mesh >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> NIFTI_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/nifti >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> NIFTI_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/nifti >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> NumericsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Numerics >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> NumericsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Numerics >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> PathExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/DataRepresentation/Path >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> PathExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/DataRepresentation/Path >>>>>>> >>>>>>> //Path to scp command, used by CTest for submitting results to >>>>>>> // a Dart server >>>>>>> SCPCOMMAND:FILEPATH=SCPCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Name of the computer/site where compile is being run >>>>>>> SITE:STRING=ZAPPA >>>>>>> >>>>>>> //Path to the SLURM sbatch executable >>>>>>> SLURM_SBATCH_COMMAND:FILEPATH=SLURM_SBATCH_COMMAND-NOTFOUND >>>>>>> >>>>>>> //Path to the SLURM srun executable >>>>>>> SLURM_SRUN_COMMAND:FILEPATH=SLURM_SRUN_COMMAND-NOTFOUND >>>>>>> >>>>>>> //Path to a program. >>>>>>> SVNCOMMAND:FILEPATH=SVNCOMMAND-NOTFOUND >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> SpatialObjectsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/SpatialObjects >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> SpatialObjectsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/SpatialObjects >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> StatisticsExamples_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Examples/Statistics >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> StatisticsExamples_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Examples/Statistics >>>>>>> >>>>>>> //Path to a program. >>>>>>> TCL_TCLSH:FILEPATH=TCL_TCLSH-NOTFOUND >>>>>>> >>>>>>> //Use double precision FFTW if found >>>>>>> USE_FFTWD:BOOL=OFF >>>>>>> >>>>>>> //Use single precision FFTW if found >>>>>>> USE_FFTWF:BOOL=OFF >>>>>>> >>>>>>> //Use the SGI SCSL High Performance Computing math library >>>>>>> USE_SCSL:BOOL=OFF >>>>>>> >>>>>>> //Build external languages support >>>>>>> USE_WRAP_ITK:BOOL=OFF >>>>>>> >>>>>>> //Path to a file. >>>>>>> UUID_INCLUDE_DIR:PATH=UUID_INCLUDE_DIR-NOTFOUND >>>>>>> >>>>>>> //Path to a library. >>>>>>> UUID_LIBRARY:FILEPATH=UUID_LIBRARY-NOTFOUND >>>>>>> >>>>>>> //Whether vnl_vector/vnl_matrix accessor methods check index bounds. >>>>>>> VNL_CONFIG_CHECK_BOUNDS:BOOL=ON >>>>>>> >>>>>>> //Enable Streaming SIMD Extensions 2 optimisations (hardware >>>>>>> dependant). >>>>>>> // Currently broken. For use by VNL developers only. >>>>>>> VNL_CONFIG_ENABLE_SSE2:BOOL=OFF >>>>>>> >>>>>>> //Enable Streaming SIMD Extensions 2 implementation of rounding >>>>>>> // (hardware dependant). >>>>>>> VNL_CONFIG_ENABLE_SSE2_ROUNDING:BOOL=OFF >>>>>>> >>>>>>> //Whether backward-compatibility methods are provided by vnl. >>>>>>> VNL_CONFIG_LEGACY_METHODS:BOOL=OFF >>>>>>> >>>>>>> //Whether thread-safe vnl implementations are used. >>>>>>> VNL_CONFIG_THREAD_SAFE:BOOL=ON >>>>>>> >>>>>>> //v3p include files >>>>>>> VTHREEP_INCLUDE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>>>>>> >>>>>>> //v3p include files >>>>>>> VTHREEP_INSTALL_INCLUDE_DIR:STATIC=C:/Program Files >>>>>>> (x86)/ITK/include/vxl/v3p >>>>>>> >>>>>>> //Re-run the configuration tests? >>>>>>> VXL_UPDATE_CONFIGURATION:BOOL=OFF >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkNetlibSlatec_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> itkdicomparser_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/DICOMParser >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> itkdicomparser_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/DICOMParser >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkgdcm_LIB_DEPENDS:STATIC=general;gdi32;general;itkjpeg8;general;itkjpeg12;general;itkjpeg16;general;itkopenjpeg;general;wsock32;general;snmpapi;general;rpcrt4; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkjpeg12_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkjpeg16_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkjpeg8_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkopenjpeg_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkpng_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> itksys_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/kwsys >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itksys_LIB_DEPENDS:STATIC=general;gdi32;general;ws2_32; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> itksys_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/kwsys >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itktestlib_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itktiff_LIB_DEPENDS:STATIC=general;gdi32;general;itkzlib;general;itkjpeg8; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkv3p_netlib_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkvcl_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkvnl_LIB_DEPENDS:STATIC=general;gdi32;general;itkvcl; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkvnl_algo_LIB_DEPENDS:STATIC=general;gdi32;general;itkv3p_netlib;general;itkvnl; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkvnl_inst_LIB_DEPENDS:STATIC=general;gdi32;general;itkvnl_algo; >>>>>>> >>>>>>> //Dependencies for the target >>>>>>> itkzlib_LIB_DEPENDS:STATIC=general;gdi32; >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> netlib_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p/netlib >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> netlib_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p/netlib >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vcl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/vcl >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vcl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/vcl >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vthreep_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/v3p >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vthreep_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/v3p >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxl_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxl_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxl_config_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/config/cmake/config >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxl_config_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/config/cmake/config >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxlcore_BINARY_DIR:STATIC=C:/msys/1.0/home/Insight-mingw/Utilities/vxl/core >>>>>>> >>>>>>> //Value Computed by CMake >>>>>>> vxlcore_SOURCE_DIR:STATIC=C:/ITK_3_16_0/Utilities/vxl/core >>>>>>> >>>>>>> >>>>>>> ######################## >>>>>>> # INTERNAL cache entries >>>>>>> ######################## >>>>>>> >>>>>>> //System handles bit-fields larger than 32 bits. >>>>>>> BIGBITFIELD:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> BIGBITFIELD_VALUE:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: BUILDNAME >>>>>>> BUILDNAME-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: BZRCOMMAND >>>>>>> BZRCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> CMAKE_ANSI_FOR_SCOPE:INTERNAL=TRUE >>>>>>> //Have include iostream >>>>>>> CMAKE_ANSI_STREAM_HEADERS:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_AR >>>>>>> CMAKE_AR-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_BACKWARDS_COMPATIBILITY >>>>>>> CMAKE_BACKWARDS_COMPATIBILITY-ADVANCED:INTERNAL=0 >>>>>>> //ADVANCED property for variable: CMAKE_BUILD_TOOL >>>>>>> CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 >>>>>>> //What is the target build tool cmake is generating for. >>>>>>> CMAKE_BUILD_TOOL:INTERNAL=C:/msys/1.0/bin/make.exe >>>>>>> //This is the directory where this CMakeCache.txt was created >>>>>>> CMAKE_CACHEFILE_DIR:INTERNAL=c:/msys/1.0/home/Insight-mingw >>>>>>> //Major version of cmake used to create the current loaded cache >>>>>>> CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 >>>>>>> //Minor version of cmake used to create the current loaded cache >>>>>>> CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 >>>>>>> //Patch version of cmake used to create the current loaded cache >>>>>>> CMAKE_CACHE_PATCH_VERSION:INTERNAL=0 >>>>>>> //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE >>>>>>> CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 >>>>>>> //Path to CMake executable. >>>>>>> CMAKE_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake.exe >>>>>>> //Path to cpack program executable. >>>>>>> CMAKE_CPACK_COMMAND:INTERNAL=C:/CMake_2_8/bin/cpack.exe >>>>>>> //ADVANCED property for variable: CMAKE_CTEST_COMMAND >>>>>>> CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 >>>>>>> //Path to ctest program executable. >>>>>>> CMAKE_CTEST_COMMAND:INTERNAL=C:/CMake_2_8/bin/ctest.exe >>>>>>> //ADVANCED property for variable: CMAKE_CXX_COMPILER >>>>>>> CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 >>>>>>> CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS >>>>>>> CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG >>>>>>> CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL >>>>>>> CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE >>>>>>> CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO >>>>>>> CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES >>>>>>> CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_COMPILER >>>>>>> CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 >>>>>>> CMAKE_C_COMPILER_WORKS:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS >>>>>>> CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG >>>>>>> CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL >>>>>>> CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE >>>>>>> CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO >>>>>>> CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES >>>>>>> CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE >>>>>>> //Path to cache edit program executable. >>>>>>> CMAKE_EDIT_COMMAND:INTERNAL=C:/CMake_2_8/bin/cmake-gui.exe >>>>>>> //Executable file format >>>>>>> CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown >>>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS >>>>>>> CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG >>>>>>> CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL >>>>>>> CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE >>>>>>> CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO >>>>>>> CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>>> //Name of generator. >>>>>>> CMAKE_GENERATOR:INTERNAL=MSYS Makefiles >>>>>>> //Result of TRY_COMPILE >>>>>>> CMAKE_HAS_ANSI_STRING_STREAM:INTERNAL=TRUE >>>>>>> //Is X11 around. >>>>>>> CMAKE_HAS_X:INTERNAL= >>>>>>> //Have include limits.h >>>>>>> CMAKE_HAVE_LIMITS_H:INTERNAL=1 >>>>>>> //Have include pthread.h >>>>>>> CMAKE_HAVE_PTHREAD_H:INTERNAL= >>>>>>> //Have include stdint.h >>>>>>> CMAKE_HAVE_STDINT_H:INTERNAL=1 >>>>>>> //Have include CMAKE_HAVE_STDLIB_H >>>>>>> CMAKE_HAVE_STDLIB_H:INTERNAL=1 >>>>>>> //Have includes CMAKE_HAVE_SYS_PRCTL_H >>>>>>> CMAKE_HAVE_SYS_PRCTL_H:INTERNAL= >>>>>>> //Have include unistd.h >>>>>>> CMAKE_HAVE_UNISTD_H:INTERNAL=1 >>>>>>> //Start directory with the top level CMakeLists.txt file for this >>>>>>> // project >>>>>>> CMAKE_HOME_DIRECTORY:INTERNAL=C:/ITK_3_16_0 >>>>>>> //ADVANCED property for variable: CMAKE_HP_PTHREADS >>>>>>> CMAKE_HP_PTHREADS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_LINKER >>>>>>> CMAKE_LINKER-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_MAKE_PROGRAM >>>>>>> CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS >>>>>>> CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG >>>>>>> CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL >>>>>>> CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE >>>>>>> CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO >>>>>>> CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_NM >>>>>>> CMAKE_NM-ADVANCED:INTERNAL=1 >>>>>>> //Does the compiler support ansi for scope. >>>>>>> CMAKE_NO_ANSI_FOR_SCOPE:INTERNAL=0 >>>>>>> //ADVANCED property for variable: CMAKE_NO_ANSI_STREAM_HEADERS >>>>>>> CMAKE_NO_ANSI_STREAM_HEADERS-ADVANCED:INTERNAL=1 >>>>>>> //Does the compiler support headers like iostream. >>>>>>> CMAKE_NO_ANSI_STREAM_HEADERS:INTERNAL=0 >>>>>>> //Does the compiler support sstream >>>>>>> CMAKE_NO_ANSI_STRING_STREAM:INTERNAL=0 >>>>>>> //Does the compiler support std::. >>>>>>> CMAKE_NO_STD_NAMESPACE:INTERNAL=0 >>>>>>> //number of local generators >>>>>>> CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=76 >>>>>>> //ADVANCED property for variable: CMAKE_OBJCOPY >>>>>>> CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_OBJDUMP >>>>>>> CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_RANLIB >>>>>>> CMAKE_RANLIB-ADVANCED:INTERNAL=1 >>>>>>> //Path to CMake installation. >>>>>>> CMAKE_ROOT:INTERNAL=C:/CMake_2_8/share/cmake-2.8 >>>>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS >>>>>>> CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG >>>>>>> CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL >>>>>>> CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE >>>>>>> CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO >>>>>>> CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_CHAR:INTERNAL=1 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_DOUBLE:INTERNAL=8 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_FLOAT:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_INT:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_LONG:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_SHORT:INTERNAL=2 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=2 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> CMAKE_SIZEOF_VOID_P:INTERNAL=4 >>>>>>> //ADVANCED property for variable: CMAKE_SKIP_RPATH >>>>>>> CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> CMAKE_STD_NAMESPACE:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: CMAKE_STRIP >>>>>>> CMAKE_STRIP-ADVANCED:INTERNAL=1 >>>>>>> //Suppress Warnings that are meant for the author of the >>>>>>> CMakeLists.txt >>>>>>> // files. >>>>>>> CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE >>>>>>> //ADVANCED property for variable: CMAKE_THREAD_LIBS >>>>>>> CMAKE_THREAD_LIBS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_USE_PTHREADS >>>>>>> CMAKE_USE_PTHREADS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS >>>>>>> CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_USE_SPROC >>>>>>> CMAKE_USE_SPROC-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_USE_WIN32_THREADS >>>>>>> CMAKE_USE_WIN32_THREADS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE >>>>>>> CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 >>>>>>> //Result of TEST_BIG_ENDIAN >>>>>>> CMAKE_WORDS_BIGENDIAN:INTERNAL=0 >>>>>>> //ADVANCED property for variable: CMAKE_X_CFLAGS >>>>>>> CMAKE_X_CFLAGS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CMAKE_X_LIBS >>>>>>> CMAKE_X_LIBS-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> COMPILE_RESULT:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: COMPRESSIONCOMMAND >>>>>>> COMPRESSIONCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: COVERAGE_COMMAND >>>>>>> COVERAGE_COMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CPACK_BINARY_NSIS >>>>>>> CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CPACK_BINARY_ZIP >>>>>>> CPACK_BINARY_ZIP-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CPACK_SOURCE_ZIP >>>>>>> CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CVSCOMMAND >>>>>>> CVSCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: CVS_UPDATE_OPTIONS >>>>>>> CVS_UPDATE_OPTIONS-ADVANCED:INTERNAL=1 >>>>>>> //CXX compiler accepts flag -Wno-deprecated >>>>>>> CXX_HAS_DEPRECATED_FLAG:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: DART_BUILD_ERROR_REPORT_LIMIT >>>>>>> DART_BUILD_ERROR_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: DART_BUILD_WARNING_REPORT_LIMIT >>>>>>> DART_BUILD_WARNING_REPORT_LIMIT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: DART_ROOT >>>>>>> DART_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: DART_TESTING_TIMEOUT >>>>>>> DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: DART_VERBOSE_BUILD >>>>>>> DART_VERBOSE_BUILD-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: DELIVER_CONTINUOUS_EMAIL >>>>>>> DELIVER_CONTINUOUS_EMAIL-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_RUN >>>>>>> DUMMY:INTERNAL=0 >>>>>>> //ADVANCED property for variable: EXECUTABLE_OUTPUT_PATH >>>>>>> EXECUTABLE_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>>>>>> //Single output directory for building all executables. >>>>>>> EXECUTABLE_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>>>>>> //Details about finding Threads >>>>>>> FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE] >>>>>>> //Support for extension C __FUNCTION__ >>>>>>> GDCM_COMPILER_HAS_FUNCTION:INTERNAL=1 >>>>>>> //ADVANCED property for variable: GDCM_DATA_DIR >>>>>>> GDCM_DATA_DIR-ADVANCED:INTERNAL=1 >>>>>>> //Install location for data (relative to prefix). >>>>>>> GDCM_DATA_DIR:INTERNAL=/share/gdcm/ >>>>>>> //ADVANCED property for variable: GDCM_LEGACY_REMOVE >>>>>>> GDCM_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: GDCM_LEGACY_SILENT >>>>>>> GDCM_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>>>>>> //Result of TEST_BIG_ENDIAN >>>>>>> GDCM_WORDS_BIGENDIAN:INTERNAL=0 >>>>>>> //ADVANCED property for variable: GUNZIPCOMMAND >>>>>>> GUNZIPCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //Have include HAVE_ASSERT_H >>>>>>> HAVE_ASSERT_H:INTERNAL=1 >>>>>>> // >>>>>>> HAVE_BIGBITFIELD_VALUE:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_CHAR:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_DOUBLE:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_FLOAT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_INT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_LONG:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_SHORT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_SIZEOF_VOID_P:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_CMAKE_WORDS_BIGENDIAN:INTERNAL=TRUE >>>>>>> //Have includes HAVE_DLFCN_H >>>>>>> HAVE_DLFCN_H:INTERNAL= >>>>>>> //Have include HAVE_FCNTL_H >>>>>>> HAVE_FCNTL_H:INTERNAL=1 >>>>>>> //Have function floor >>>>>>> HAVE_FLOOR:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_GDCM_WORDS_BIGENDIAN:INTERNAL=TRUE >>>>>>> //Have function getopt >>>>>>> HAVE_GETOPT:INTERNAL=1 >>>>>>> //Have includes HAVE_IEEEFP_H >>>>>>> HAVE_IEEEFP_H:INTERNAL= >>>>>>> //Have include HAVE_INTTYPES_H >>>>>>> HAVE_INTTYPES_H:INTERNAL=1 >>>>>>> //Have function isascii >>>>>>> HAVE_ISASCII:INTERNAL=1 >>>>>>> // >>>>>>> HAVE_ITK_CPP_FUNCTION:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_ITK_SIZEOF_LONG_LONG:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_ITK_SIZEOF___INT64:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF_CHAR:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF_INT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF_LONG:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF_LONG_LONG:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF_SHORT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_KWSYS_SIZEOF___INT64:INTERNAL=TRUE >>>>>>> //Have library malloc >>>>>>> HAVE_LIBMALLOC:INTERNAL= >>>>>>> //Have include HAVE_LIMITS_H >>>>>>> HAVE_LIMITS_H:INTERNAL=1 >>>>>>> //Have include HAVE_MALLOC_H >>>>>>> HAVE_MALLOC_H:INTERNAL=1 >>>>>>> //Have function memmove >>>>>>> HAVE_MEMMOVE:INTERNAL=1 >>>>>>> //Have include HAVE_MEMORY_H >>>>>>> HAVE_MEMORY_H:INTERNAL=1 >>>>>>> //Have function memset >>>>>>> HAVE_MEMSET:INTERNAL=1 >>>>>>> //Have function mmap >>>>>>> HAVE_MMAP:INTERNAL= >>>>>>> //Have function pow >>>>>>> HAVE_POW:INTERNAL=1 >>>>>>> //Have library Psapi >>>>>>> HAVE_PSAPI:INTERNAL= >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_QNANHIBIT_VALUE:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_SIZEOF_INT:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_SIZEOF_LONG:INTERNAL=TRUE >>>>>>> //Have function sqrt >>>>>>> HAVE_SQRT:INTERNAL=1 >>>>>>> //Have include stddef.h >>>>>>> HAVE_STDDEF_H:INTERNAL=1 >>>>>>> //Have include stdint.h >>>>>>> HAVE_STDINT_H:INTERNAL=1 >>>>>>> //Have include HAVE_STDLIB_H >>>>>>> HAVE_STDLIB_H:INTERNAL=1 >>>>>>> //Have function strcasecmp >>>>>>> HAVE_STRCASECMP:INTERNAL=1 >>>>>>> //Have function strchr >>>>>>> HAVE_STRCHR:INTERNAL=1 >>>>>>> //Have include HAVE_STRINGS_H >>>>>>> HAVE_STRINGS_H:INTERNAL=1 >>>>>>> //Have include HAVE_STRING_H >>>>>>> HAVE_STRING_H:INTERNAL=1 >>>>>>> //Have function strrchr >>>>>>> HAVE_STRRCHR:INTERNAL=1 >>>>>>> //Have function strstr >>>>>>> HAVE_STRSTR:INTERNAL=1 >>>>>>> //Have function strtol >>>>>>> HAVE_STRTOL:INTERNAL=1 >>>>>>> //Have function areroul >>>>>>> HAVE_STRTOUL:INTERNAL= >>>>>>> //Have include HAVE_SYS_STAT_H >>>>>>> HAVE_SYS_STAT_H:INTERNAL=1 >>>>>>> //Have include HAVE_SYS_TIME_H >>>>>>> HAVE_SYS_TIME_H:INTERNAL=1 >>>>>>> //Have include sys/types.h >>>>>>> HAVE_SYS_TYPES_H:INTERNAL=1 >>>>>>> //Have include unistd.h >>>>>>> HAVE_UNISTD_H:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> HAVE_VXL_BIG_ENDIAN:INTERNAL=TRUE >>>>>>> //Have include HAVE_WINDOWS_H >>>>>>> HAVE_WINDOWS_H:INTERNAL=1 >>>>>>> //ADVANCED property for variable: HGCOMMAND >>>>>>> HGCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ImageCompare path to be used by subprojects >>>>>>> IMAGE_COMPARE:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompare >>>>>>> //ImageCompare path to be used by subprojects >>>>>>> IMAGE_COMPARE_COMMAND:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCompareCommand >>>>>>> //ImageCopy path to be used by subprojects >>>>>>> IMAGE_COPY:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/ImageCopy >>>>>>> //ADVANCED property for variable: ITK_BRAINWEB_DATA_ROOT >>>>>>> ITK_BRAINWEB_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_COMPUTER_MEMORY_SIZE >>>>>>> ITK_COMPUTER_MEMORY_SIZE-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> ITK_CPP_FUNCTION:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: ITK_CSWIG_JAVA >>>>>>> ITK_CSWIG_JAVA-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_CSWIG_PYTHON >>>>>>> ITK_CSWIG_PYTHON-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_CSWIG_TCL >>>>>>> ITK_CSWIG_TCL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_DATA_ROOT >>>>>>> ITK_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //ITK dir to be used by subprojects >>>>>>> ITK_DIR:INTERNAL=C:/msys/1.0/home/Insight-mingw >>>>>>> //ADVANCED property for variable: ITK_EXPLICIT_INSTANTIATION >>>>>>> ITK_EXPLICIT_INSTANTIATION-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE >>>>>>> ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE-ADVANCED:INTERNAL=1 >>>>>>> ITK_INSTALL_PACKAGE_DIR:INTERNAL=/lib/InsightToolkit >>>>>>> //Whether istream supports long long >>>>>>> ITK_ISTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_LEGACY_REMOVE >>>>>>> ITK_LEGACY_REMOVE-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_LEGACY_SILENT >>>>>>> ITK_LEGACY_SILENT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_MRI_UNC_DATABASE_DATA_ROOT >>>>>>> ITK_MRI_UNC_DATABASE_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_OSIRIX_DATA_ROOT >>>>>>> ITK_OSIRIX_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //Whether ostream supports long long >>>>>>> ITK_OSTREAM_SUPPORTS_LONG_LONG:INTERNAL=1 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> ITK_SIZEOF_LONG_LONG:INTERNAL=8 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> ITK_SIZEOF___INT64:INTERNAL=8 >>>>>>> //Result of TRY_COMPILE >>>>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_EMPTY_BRACKETS:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_NULL_STRING:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> ITK_SUPPORTS_TEMPLATED_FRIEND_FUNCTION_WITH_TEMPLATE_ARGUMENTS:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> ITK_SUPPORTS_TEMPLATE_PARTIAL_SPECIALIZATION:INTERNAL=TRUE >>>>>>> //itkTestDriver path to be used by subprojects >>>>>>> ITK_TEST_DRIVER:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin/itkTestDriver >>>>>>> //Whether long and __int64 are the same type >>>>>>> ITK_TYPE_SAME_LONG_AND___INT64:INTERNAL=0 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY >>>>>>> ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_CONCEPT_CHECKING >>>>>>> ITK_USE_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_CONSOLIDATED_MORPHOLOGY >>>>>>> ITK_USE_CONSOLIDATED_MORPHOLOGY-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION >>>>>>> ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_LIBXML2 >>>>>>> ITK_USE_LIBXML2-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_MINC2 >>>>>>> ITK_USE_MINC2-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS >>>>>>> ITK_USE_OPTIMIZED_REGISTRATION_METHODS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_ORIENTED_IMAGE_DIRECTION >>>>>>> ITK_USE_ORIENTED_IMAGE_DIRECTION-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_PATENTED >>>>>>> ITK_USE_PATENTED-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS >>>>>>> ITK_USE_REGION_VALIDATION_IN_ITERATORS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_REVIEW >>>>>>> ITK_USE_REVIEW-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_REVIEW_STATISTICS >>>>>>> ITK_USE_REVIEW_STATISTICS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_STRICT_CONCEPT_CHECKING >>>>>>> ITK_USE_STRICT_CONCEPT_CHECKING-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_GDCM >>>>>>> ITK_USE_SYSTEM_GDCM-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_LIBXML2 >>>>>>> ITK_USE_SYSTEM_LIBXML2-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_PNG >>>>>>> ITK_USE_SYSTEM_PNG-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_TIFF >>>>>>> ITK_USE_SYSTEM_TIFF-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_VXL >>>>>>> ITK_USE_SYSTEM_VXL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_SYSTEM_ZLIB >>>>>>> ITK_USE_SYSTEM_ZLIB-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: >>>>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING >>>>>>> ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_USE_TRANSFORM_IO_FACTORIES >>>>>>> ITK_USE_TRANSFORM_IO_FACTORIES-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: ITK_VISIBLEHUMAN_DATA_ROOT >>>>>>> ITK_VISIBLEHUMAN_DATA_ROOT-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: JAVACOMMAND >>>>>>> JAVACOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CAN_CONVERT_UI64_TO_DOUBLE_COMPILED:INTERNAL=FALSE >>>>>>> //Result of TRY_RUN >>>>>>> KWSYS_CHAR_IS_SIGNED:INTERNAL=0 >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_CSTDDEF_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_CSTDIO_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_FULL_SPECIALIZATION_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_MEMBER_TEMPLATES_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS_COMPILED:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_SAME_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_CXX_SAME_LONG_LONG_AND___INT64_COMPILED:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_IOS_HAVE_BINARY_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_IOS_HAVE_STD_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_IOS_USE_ANSI_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_IOS_USE_SSTREAM_COMPILED:INTERNAL=TRUE >>>>>>> //Checking for Large File Support failed to compile. >>>>>>> KWSYS_LFS_WORKS:INTERNAL=-1 >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_LFS_WORKS_COMPILED:INTERNAL=FALSE >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF_CHAR:INTERNAL=1 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF_INT:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF_LONG:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF_LONG_LONG:INTERNAL=8 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF_SHORT:INTERNAL=2 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> KWSYS_SIZEOF___INT64:INTERNAL=8 >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT_COMPILED:INTERNAL=FALSE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAS_ALLOCATOR_OBJECTS_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAS_ALLOCATOR_REBIND_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAS_ALLOCATOR_TEMPLATE_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAS_ITERATOR_TRAITS_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_HAVE_STD_COMPILED:INTERNAL=TRUE >>>>>>> //Result of TRY_COMPILE >>>>>>> KWSYS_STL_STRING_HAVE_NEQ_CHAR_COMPILED:INTERNAL=TRUE >>>>>>> //ADVANCED property for variable: LIBRARY_OUTPUT_PATH >>>>>>> LIBRARY_OUTPUT_PATH-ADVANCED:INTERNAL=1 >>>>>>> //Single output directory for building all libraries. >>>>>>> LIBRARY_OUTPUT_PATH:INTERNAL=C:/msys/1.0/home/Insight-mingw/bin >>>>>>> //ADVANCED property for variable: MAKECOMMAND >>>>>>> MAKECOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: MEMORYCHECK_COMMAND >>>>>>> MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE >>>>>>> MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 >>>>>>> //The 22nd bit of 32-bit floating-point quiet NaN. >>>>>>> QNANHIBIT:INTERNAL=1 >>>>>>> //Result of TRY_RUN >>>>>>> QNANHIBIT_VALUE:INTERNAL=1 >>>>>>> //Result of TRY_RUN >>>>>>> RUN_RESULT:INTERNAL=1 >>>>>>> //ADVANCED property for variable: SCPCOMMAND >>>>>>> SCPCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: SITE >>>>>>> SITE-ADVANCED:INTERNAL=1 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> SIZEOF_INT:INTERNAL=4 >>>>>>> //Result of CHECK_TYPE_SIZE >>>>>>> SIZEOF_LONG:INTERNAL=4 >>>>>>> //ADVANCED property for variable: SLURM_SBATCH_COMMAND >>>>>>> SLURM_SBATCH_COMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: SLURM_SRUN_COMMAND >>>>>>> SLURM_SRUN_COMMAND-ADVANCED:INTERNAL=1 >>>>>>> //CXX compiler accepts flag -features=no%anachronisms >>>>>>> SUN_COMPILER:INTERNAL=FALSE >>>>>>> //ADVANCED property for variable: SVNCOMMAND >>>>>>> SVNCOMMAND-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: TCL_TCLSH >>>>>>> TCL_TCLSH-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: USE_FFTWD >>>>>>> USE_FFTWD-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: USE_FFTWF >>>>>>> USE_FFTWF-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: USE_SCSL >>>>>>> USE_SCSL-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: USE_WRAP_ITK >>>>>>> USE_WRAP_ITK-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: UUID_INCLUDE_DIR >>>>>>> UUID_INCLUDE_DIR-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: UUID_LIBRARY >>>>>>> UUID_LIBRARY-ADVANCED:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_ALLOWS_INLINE_INSTANTIATION:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_ALLOWS_NAMESPACE_STD:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CANNOT_SPECIALIZE_CV:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_COMPLETE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_IMPLICIT_TEMPLATES:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_NON_TYPE_FUNCTION_TEMPLATE_PARAMETER:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_PARTIAL_SPECIALIZATION:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_STATIC_TEMPLATE_MEMBER:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_CAN_DO_TEMPLATE_DEFAULT_TYPE_PARAMETER:INTERNAL=1 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_CHAR_IS_SIGNED:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_CHAR_IS_SIGNED_COMPILED:INTERNAL=TRUE >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_COMPLEX_POW_WORKS:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_COMPLEX_POW_WORKS_COMPILED:INTERNAL=TRUE >>>>>>> //Have include algorithm >>>>>>> VCL_CXX_HAS_HEADER_ALGORITHM:INTERNAL=1 >>>>>>> //Have include bitset >>>>>>> VCL_CXX_HAS_HEADER_BITSET:INTERNAL=1 >>>>>>> //Have include cassert >>>>>>> VCL_CXX_HAS_HEADER_CASSERT:INTERNAL=1 >>>>>>> //Have include cctype >>>>>>> VCL_CXX_HAS_HEADER_CCTYPE:INTERNAL=1 >>>>>>> //Have include cerrno >>>>>>> VCL_CXX_HAS_HEADER_CERRNO:INTERNAL=1 >>>>>>> //Have include cfloat >>>>>>> VCL_CXX_HAS_HEADER_CFLOAT:INTERNAL=1 >>>>>>> //Have include ciso646 >>>>>>> VCL_CXX_HAS_HEADER_CISO646:INTERNAL=1 >>>>>>> //Have include climits >>>>>>> VCL_CXX_HAS_HEADER_CLIMITS:INTERNAL=1 >>>>>>> //Have include clocale >>>>>>> VCL_CXX_HAS_HEADER_CLOCALE:INTERNAL=1 >>>>>>> //Have include cmath >>>>>>> VCL_CXX_HAS_HEADER_CMATH:INTERNAL=1 >>>>>>> //Have include complex >>>>>>> VCL_CXX_HAS_HEADER_COMPLEX:INTERNAL=1 >>>>>>> //Have include csetjmp >>>>>>> VCL_CXX_HAS_HEADER_CSETJMP:INTERNAL=1 >>>>>>> //Have include csignal >>>>>>> VCL_CXX_HAS_HEADER_CSIGNAL:INTERNAL=1 >>>>>>> //Have include cstdarg >>>>>>> VCL_CXX_HAS_HEADER_CSTDARG:INTERNAL=1 >>>>>>> //Have include cstddef >>>>>>> VCL_CXX_HAS_HEADER_CSTDDEF:INTERNAL=1 >>>>>>> //Have include cstdio >>>>>>> VCL_CXX_HAS_HEADER_CSTDIO:INTERNAL=1 >>>>>>> //Have include cstdlib >>>>>>> VCL_CXX_HAS_HEADER_CSTDLIB:INTERNAL=1 >>>>>>> //Have include cstring >>>>>>> VCL_CXX_HAS_HEADER_CSTRING:INTERNAL=1 >>>>>>> //Have include ctime >>>>>>> VCL_CXX_HAS_HEADER_CTIME:INTERNAL=1 >>>>>>> //Have include cwchar >>>>>>> VCL_CXX_HAS_HEADER_CWCHAR:INTERNAL=1 >>>>>>> //Have include cwctype >>>>>>> VCL_CXX_HAS_HEADER_CWCTYPE:INTERNAL=1 >>>>>>> //Have include deque >>>>>>> VCL_CXX_HAS_HEADER_DEQUE:INTERNAL=1 >>>>>>> //Have include exception >>>>>>> VCL_CXX_HAS_HEADER_EXCEPTION:INTERNAL=1 >>>>>>> //Have include fstream >>>>>>> VCL_CXX_HAS_HEADER_FSTREAM:INTERNAL=1 >>>>>>> //Have include functional >>>>>>> VCL_CXX_HAS_HEADER_FUNCTIONAL:INTERNAL=1 >>>>>>> //Have include iomanip >>>>>>> VCL_CXX_HAS_HEADER_IOMANIP:INTERNAL=1 >>>>>>> //Have include ios >>>>>>> VCL_CXX_HAS_HEADER_IOS:INTERNAL=1 >>>>>>> //Have include iosfwd >>>>>>> VCL_CXX_HAS_HEADER_IOSFWD:INTERNAL=1 >>>>>>> //Have include iostream >>>>>>> VCL_CXX_HAS_HEADER_IOSTREAM:INTERNAL=1 >>>>>>> //Have include iso646.h >>>>>>> VCL_CXX_HAS_HEADER_ISO646_H:INTERNAL=1 >>>>>>> //Have include istream >>>>>>> VCL_CXX_HAS_HEADER_ISTREAM:INTERNAL=1 >>>>>>> //Have include iterator >>>>>>> VCL_CXX_HAS_HEADER_ITERATOR:INTERNAL=1 >>>>>>> //Have include limits >>>>>>> VCL_CXX_HAS_HEADER_LIMITS:INTERNAL=1 >>>>>>> //Have include list >>>>>>> VCL_CXX_HAS_HEADER_LIST:INTERNAL=1 >>>>>>> //Have include locale >>>>>>> VCL_CXX_HAS_HEADER_LOCALE:INTERNAL=1 >>>>>>> //Have include map >>>>>>> VCL_CXX_HAS_HEADER_MAP:INTERNAL=1 >>>>>>> //Have include memory >>>>>>> VCL_CXX_HAS_HEADER_MEMORY:INTERNAL=1 >>>>>>> //Have include new >>>>>>> VCL_CXX_HAS_HEADER_NEW:INTERNAL=1 >>>>>>> //Have include numeric >>>>>>> VCL_CXX_HAS_HEADER_NUMERIC:INTERNAL=1 >>>>>>> //Have include ostream >>>>>>> VCL_CXX_HAS_HEADER_OSTREAM:INTERNAL=1 >>>>>>> //Have include queue >>>>>>> VCL_CXX_HAS_HEADER_QUEUE:INTERNAL=1 >>>>>>> //Have include set >>>>>>> VCL_CXX_HAS_HEADER_SET:INTERNAL=1 >>>>>>> //Have include sstream >>>>>>> VCL_CXX_HAS_HEADER_SSTREAM:INTERNAL=1 >>>>>>> //Have include stack >>>>>>> VCL_CXX_HAS_HEADER_STACK:INTERNAL=1 >>>>>>> //Have include stdexcept >>>>>>> VCL_CXX_HAS_HEADER_STDEXCEPT:INTERNAL=1 >>>>>>> //Have include streambuf >>>>>>> VCL_CXX_HAS_HEADER_STREAMBUF:INTERNAL=1 >>>>>>> //Have include string >>>>>>> VCL_CXX_HAS_HEADER_STRING:INTERNAL=1 >>>>>>> //Have include strstream >>>>>>> VCL_CXX_HAS_HEADER_STRSTREAM:INTERNAL=1 >>>>>>> //Have include typeinfo >>>>>>> VCL_CXX_HAS_HEADER_TYPEINFO:INTERNAL=1 >>>>>>> //Have include utility >>>>>>> VCL_CXX_HAS_HEADER_UTILITY:INTERNAL=1 >>>>>>> //Have include valarray >>>>>>> VCL_CXX_HAS_HEADER_VALARRAY:INTERNAL=1 >>>>>>> //Have include vector >>>>>>> VCL_CXX_HAS_HEADER_VECTOR:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_DEFAULT_VALUE:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_DEFINE_SPECIALIZATION:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_FOR_SCOPE_HACK:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_BOOL:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_DYNAMIC_CAST:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_EXCEPTIONS:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_EXPLICIT:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_EXPORT:INTERNAL=1 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_HAS_LFS:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_HAS_LFS_COMPILED:INTERNAL=TRUE >>>>>>> //VXL test >>>>>>> VCL_HAS_MEMBER_TEMPLATES:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_MUTABLE:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_NAMESPACES:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_HAS_RTTI:INTERNAL=1 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_HAS_SLICED_DESTRUCTOR_BUG:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_HAS_SLICED_DESTRUCTOR_BUG_COMPILED:INTERNAL=TRUE >>>>>>> //Test ?(failed to compile) >>>>>>> VCL_HAS_TEMPLATE_SYMBOLS:INTERNAL=0 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_HAS_TEMPLATE_SYMBOLS_COMPILED:INTERNAL=FALSE >>>>>>> //VXL test >>>>>>> VCL_HAS_TYPENAME:INTERNAL=1 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_HAS_WORKING_STRINGSTREAM:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_HAS_WORKING_STRINGSTREAM_COMPILED:INTERNAL=TRUE >>>>>>> //VXL test >>>>>>> VCL_NEEDS_INLINE_INSTANTIATION:INTERNAL=1 >>>>>>> //Test >>>>>>> VCL_NEEDS_NAMESPACE_STD:INTERNAL=0 >>>>>>> //VXL test >>>>>>> VCL_NEED_FRIEND_FOR_TEMPLATE_OVERLOAD:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_NO_STATIC_DATA_MEMBERS:INTERNAL=1 >>>>>>> //Test >>>>>>> VCL_NULL_TMPL_ARGS:INTERNAL=0 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_NUMERIC_LIMITS_HAS_INFINITY:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_NUMERIC_LIMITS_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>>>>>> //Test >>>>>>> VCL_OVERLOAD_CAST:INTERNAL=0 >>>>>>> //VXL test ?(successful run) >>>>>>> VCL_PROCESSOR_HAS_INFINITY:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VCL_PROCESSOR_HAS_INFINITY_COMPILED:INTERNAL=TRUE >>>>>>> //VXL test >>>>>>> VCL_STATIC_CONST_INIT_FLOAT:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_STATIC_CONST_INIT_INT:INTERNAL=1 >>>>>>> //Test >>>>>>> VCL_STATIC_CONST_INIT_NO_DEFN:INTERNAL=0 >>>>>>> //VXL test >>>>>>> VCL_SUNPRO_CLASS_SCOPE_HACK:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VCL_TEMPLATE_MATCHES_TOO_OFTEN:INTERNAL=1 >>>>>>> //Are we using an version of gcc < 3.0 >>>>>>> VNL_COMPILER_IS_GNUCXX_2XX:INTERNAL=0 >>>>>>> //ADVANCED property for variable: VNL_CONFIG_CHECK_BOUNDS >>>>>>> VNL_CONFIG_CHECK_BOUNDS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2 >>>>>>> VNL_CONFIG_ENABLE_SSE2-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: VNL_CONFIG_ENABLE_SSE2_ROUNDING >>>>>>> VNL_CONFIG_ENABLE_SSE2_ROUNDING-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: VNL_CONFIG_LEGACY_METHODS >>>>>>> VNL_CONFIG_LEGACY_METHODS-ADVANCED:INTERNAL=1 >>>>>>> //ADVANCED property for variable: VNL_CONFIG_THREAD_SAFE >>>>>>> VNL_CONFIG_THREAD_SAFE-ADVANCED:INTERNAL=1 >>>>>>> //Result of TEST_BIG_ENDIAN >>>>>>> VXL_BIG_ENDIAN:INTERNAL=0 >>>>>>> //VXL test result >>>>>>> VXL_BYTE:INTERNAL=char >>>>>>> //Serial number of last configuration >>>>>>> VXL_CONFIG_SERIAL_LAST:INTERNAL=2007-13-09-001 >>>>>>> //Have symbol finite >>>>>>> VXL_C_MATH_HAS_FINITE:INTERNAL=1 >>>>>>> //Have symbol finitef >>>>>>> VXL_C_MATH_HAS_FINITEF:INTERNAL= >>>>>>> //Have symbol finitel >>>>>>> VXL_C_MATH_HAS_FINITEL:INTERNAL= >>>>>>> //VXL test >>>>>>> VXL_C_MATH_HAS_LROUND:INTERNAL=1 >>>>>>> //Have symbol sqrtf >>>>>>> VXL_C_MATH_HAS_SQRTF:INTERNAL=1 >>>>>>> //Test >>>>>>> VXL_HAS_ALIGNED_MALLOC:INTERNAL=0 >>>>>>> //VXL test result >>>>>>> VXL_HAS_BYTE:INTERNAL=1 >>>>>>> //Test >>>>>>> VXL_HAS_DBGHELP_H:INTERNAL=0 >>>>>>> //Have include emmintrin.h >>>>>>> VXL_HAS_EMMINTRIN_H:INTERNAL=1 >>>>>>> //Have include ieeefp.h >>>>>>> VXL_HAS_IEEEFP_H:INTERNAL= >>>>>>> //VXL test result >>>>>>> VXL_HAS_IEEE_128:INTERNAL=0 >>>>>>> //VXL test result >>>>>>> VXL_HAS_IEEE_32:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_IEEE_64:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_IEEE_96:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_INT_16:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_INT_32:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_INT_64:INTERNAL=1 >>>>>>> //VXL test result >>>>>>> VXL_HAS_INT_8:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VXL_HAS_MINGW_ALIGNED_MALLOC:INTERNAL=1 >>>>>>> //Test >>>>>>> VXL_HAS_MM_MALLOC:INTERNAL=0 >>>>>>> //Test >>>>>>> VXL_HAS_POSIX_MEMALIGN:INTERNAL=0 >>>>>>> //Have include pthread.h >>>>>>> VXL_HAS_PTHREAD_H:INTERNAL= >>>>>>> //Have include semaphore.h >>>>>>> VXL_HAS_SEMAPHORE_H:INTERNAL= >>>>>>> //Test ?(failed to compile) >>>>>>> VXL_HAS_SSE2_HARDWARE_SUPPORT:INTERNAL=0 >>>>>>> //Result of TRY_COMPILE >>>>>>> VXL_HAS_SSE2_HARDWARE_SUPPORT_COMPILED:INTERNAL=FALSE >>>>>>> //Have symbol finite >>>>>>> VXL_IEEEFP_HAS_FINITE:INTERNAL= >>>>>>> //VXL test result >>>>>>> VXL_IEEE_128:INTERNAL=void >>>>>>> //VXL test result >>>>>>> VXL_IEEE_32:INTERNAL=float >>>>>>> //VXL test result >>>>>>> VXL_IEEE_64:INTERNAL=double >>>>>>> //VXL test result >>>>>>> VXL_IEEE_96:INTERNAL=long double >>>>>>> //VXL test result >>>>>>> VXL_INT_16:INTERNAL=short >>>>>>> //VXL test result >>>>>>> VXL_INT_32:INTERNAL=int >>>>>>> //VXL test result >>>>>>> VXL_INT_64:INTERNAL=long long >>>>>>> //VXL test result >>>>>>> VXL_INT_8:INTERNAL=char >>>>>>> //VXL test ?(successful run) >>>>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE:INTERNAL=1 >>>>>>> //Result of TRY_COMPILE >>>>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_COMPILED:INTERNAL=TRUE >>>>>>> //help string for how to enable SSE2 support >>>>>>> VXL_SSE2_HARDWARE_SUPPORT_POSSIBLE_HELP:INTERNAL=The current >>>>>>> compiler >>>>>>> flags >>>>>>> do not allow the SSE2 instructions to be used. ;It looks like if you >>>>>>> add >>>>>>> the >>>>>>> flag '-msse2' you will be able to use the ;SSE2 instructions. If you >>>>>>> chose >>>>>>> to set VNL_CONFIG_ENABLE_SSE or ;VNL_CONFIG_ENABLE_SSE2_ROUNDING to >>>>>>> ON, >>>>>>> cmake will put this flag for you. ;You can also add this flag >>>>>>> yourself. >>>>>>> If >>>>>>> you still see this message, after ;the flag change, you may need to >>>>>>> set >>>>>>> VXL_UPDATE_CONFIGURATION to ON and ;rerun cmake. >>>>>>> //Have symbol drand48 >>>>>>> VXL_STDLIB_HAS_DRAND48:INTERNAL= >>>>>>> //Have symbol lrand48 >>>>>>> VXL_STDLIB_HAS_LRAND48:INTERNAL= >>>>>>> //VXL test >>>>>>> VXL_STDLIB_HAS_QSORT:INTERNAL=1 >>>>>>> //Have symbol srand48 >>>>>>> VXL_STDLIB_HAS_SRAND48:INTERNAL= >>>>>>> //Have function getpid >>>>>>> VXL_UNISTD_HAS_GETPID:INTERNAL=1 >>>>>>> //Have symbol intptr_t >>>>>>> VXL_UNISTD_HAS_INTPTR_T:INTERNAL=1 >>>>>>> //Have function lchown >>>>>>> VXL_UNISTD_HAS_LCHOWN:INTERNAL= >>>>>>> //Have function pread >>>>>>> VXL_UNISTD_HAS_PREAD:INTERNAL= >>>>>>> //Have function pwrite >>>>>>> VXL_UNISTD_HAS_PWRITE:INTERNAL= >>>>>>> //Have function tell >>>>>>> VXL_UNISTD_HAS_TELL:INTERNAL=1 >>>>>>> //Have function ualarm >>>>>>> VXL_UNISTD_HAS_UALARM:INTERNAL= >>>>>>> //Have symbol useconds_t >>>>>>> VXL_UNISTD_HAS_USECONDS_T:INTERNAL=1 >>>>>>> //Have function usleep >>>>>>> VXL_UNISTD_HAS_USLEEP:INTERNAL=1 >>>>>>> //VXL test >>>>>>> VXL_UNISTD_USLEEP_IS_VOID:INTERNAL=1 >>>>>>> //ADVANCED property for variable: VXL_UPDATE_CONFIGURATION >>>>>>> VXL_UPDATE_CONFIGURATION-ADVANCED:INTERNAL=1 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Bill Lorensen wrote: >>>>>>>> >>>>>>>> You are in the wrong directory. Look in the directory that is >>>>>>>> described in the CMakeCache.txt variable Project_BINARY_DIR >>>>>>>> >>>>>>>> cd to that directory and type make >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Dec 10, 2009 at 4:22 PM, URI >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> I get the message: >>>>>>>>> >>>>>>>>> make: *** No targets specified and no makefile found. ?Stop. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 10) Start an msys shell by running msys.bat >>>>>>>>> 11) cd to the locations you selected where to build the binaries. >>>>>>>>> 12) make >>>>>>>>> >>>>>>>>> -- >>>>>>>>> View this message in context: >>>>>>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4147921.html >>>>>>>>> Sent from the ITK Insight Users mailing list archive at >>>>>>>>> Nabble.com. >>>>>>>>> _____________________________________ >>>>>>>>> Powered by www.kitware.com >>>>>>>>> >>>>>>>>> Visit other Kitware open-source projects at >>>>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>>>> >>>>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>>>> http://www.kitware.com/products/protraining.html >>>>>>>>> >>>>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>>>> >>>>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>>>> >>>>>>>> _____________________________________ >>>>>>>> Powered by www.kitware.com >>>>>>>> >>>>>>>> Visit other Kitware open-source projects at >>>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>>> >>>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>>> http://www.kitware.com/products/protraining.html >>>>>>>> >>>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>>> >>>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> View this message in context: >>>>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149414.html >>>>>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>>>>> _____________________________________ >>>>>>> Powered by www.kitware.com >>>>>>> >>>>>>> Visit other Kitware open-source projects at >>>>>>> http://www.kitware.com/opensource/opensource.html >>>>>>> >>>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>>> http://www.kitware.com/products/protraining.html >>>>>>> >>>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>>> >>>>>>> Follow this link to subscribe/unsubscribe: >>>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>>> >>>>>> _____________________________________ >>>>>> Powered by www.kitware.com >>>>>> >>>>>> Visit other Kitware open-source projects at >>>>>> http://www.kitware.com/opensource/opensource.html >>>>>> >>>>>> Kitware offers ITK Training Courses, for more information visit: >>>>>> http://www.kitware.com/products/protraining.html >>>>>> >>>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>>> >>>>>> Follow this link to subscribe/unsubscribe: >>>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>>> >>>>>> >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4149580.html >>>>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.html >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://www.itk.org/mailman/listinfo/insight-users >>>>> >>>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >>> >> >> -- >> View this message in context: >> http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4152470.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4202557.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From lassi.paavolainen at jyu.fi Tue Dec 22 06:15:09 2009 From: lassi.paavolainen at jyu.fi (Lassi Paavolainen) Date: Tue, 22 Dec 2009 13:15:09 +0200 (EET) Subject: [Insight-users] acces 3D pixel value with iterator In-Reply-To: References: Message-ID: Hi Hsiang-Chi, Maybe adding: image->Update; between these lines would work ? image = reader->GetOutput(); ? IteratorType it( image, image->GetLargestPossibleRegion() ); I think you can also change ? InputImageType::Pointer image = InputImageType::New(); to ? InputImageType::Pointer image; There is no need to create new image as you get it from reader. Lassi On Mon, 21 Dec 2009, Hsiang-Chi Kuo wrote: > Hi, > > I am trying to access the maximum and minimum pixel value of a 3D image with > the following code, however, the result dose not look right (maximum 0, > minimum 1000). Can anyone give me a hint why this code dose not work? > > Thanks a lot, > > Howard > > ? > > ?? typedef unsigned int InputPixelType; > ? const unsigned int?? Dimension = 3; > ? > ? typedef unsigned int OutputPixelType; > ? > ? typedef itk::Image< OutputPixelType, Dimension >?? OutputImageType; > > ? typedef itk::Image< InputPixelType, Dimension > InputImageType; > > ? typedef itk::ImageFileReader< InputImageType > ReaderType; > > ? ReaderType::Pointer reader = ReaderType::New(); > ? reader->SetFileName( argv[1] ); > ? > ? typedef itk::ImageRegionIterator< InputImageType > IteratorType; > ? InputImageType::Pointer image = InputImageType::New(); > ? image = reader->GetOutput(); > ? IteratorType it( image, image->GetLargestPossibleRegion() ); > ? int max=0; > ? int min=10000; > ? > ? for (it.GoToBegin();!it.IsAtEnd();++it) > ? { > ? int? temp = it.Get(); > ?? if (temp>max) > ??? max=temp; > ?? if (temp ??? min=temp; > ? } > ? std::cout << "min=" << min < ? std::cout << "max=" << max < > ? > > > -- Lassi Paavolainen, M.Sc Software Engineer, PhD Student in Computer Science BioImageXD (http://www.bioimagexd.net) University of Jyv?skyl? lassi.paavolainen at jyu.fi From Gerald.Lodron at joanneum.at Tue Dec 22 08:10:18 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Tue, 22 Dec 2009 14:10:18 +0100 Subject: [Insight-users] Inverse of affine not inplemented Message-ID: Hello Is there a reason for the missing GetInverse() implementation of the affine transformation or is it a missing issue? Best regards From wes.turner at kitware.com Tue Dec 22 10:01:49 2009 From: wes.turner at kitware.com (Wes Turner) Date: Tue, 22 Dec 2009 10:01:49 -0500 Subject: [Insight-users] Inverse of affine not inplemented In-Reply-To: References: Message-ID: <7ade83390912220701x200afbdal6ef6313487a01d0c@mail.gmail.com> There appears to be a GetInverse() method for the Affine Transform. Can you give a better description of your problem. - Wes http://www.itk.org/Doxygen316/html/classitk_1_1AffineTransform.html#d294a8a59b93d3663de46705490a189e On Tue, Dec 22, 2009 at 8:10 AM, Lodron, Gerald wrote: > Hello > > Is there a reason for the missing GetInverse() implementation of the affine > transformation or is it a missing issue? > > Best regards > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > -- Wesley D. Turner, Ph.D. Kitware, Inc. Technical Leader 28 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4920 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Gerald.Lodron at joanneum.at Tue Dec 22 10:04:05 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Tue, 22 Dec 2009 16:04:05 +0100 Subject: [Insight-users] Inverse of affine not inplemented In-Reply-To: <7ade83390912220701x200afbdal6ef6313487a01d0c@mail.gmail.com> References: <7ade83390912220701x200afbdal6ef6313487a01d0c@mail.gmail.com> Message-ID: The method is there but it always returns NULL. I looked in the code it really always returns NULL but i think in most ways the affine should be invertable so the code in the function should be changed ________________________________ Von: Wes Turner [mailto:wes.turner at kitware.com] Gesendet: Dienstag, 22. Dezember 2009 16:02 An: Lodron, Gerald Cc: insight-users at itk.org Betreff: Re: [Insight-users] Inverse of affine not inplemented There appears to be a GetInverse() method for the Affine Transform. Can you give a better description of your problem. - Wes http://www.itk.org/Doxygen316/html/classitk_1_1AffineTransform.html#d294a8a59b93d3663de46705490a189e On Tue, Dec 22, 2009 at 8:10 AM, Lodron, Gerald > wrote: Hello Is there a reason for the missing GetInverse() implementation of the affine transformation or is it a missing issue? Best regards _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.html Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-users -- Wesley D. Turner, Ph.D. Kitware, Inc. Technical Leader 28 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4920 -------------- next part -------------- An HTML attachment was scrubbed... URL: From wes.turner at kitware.com Tue Dec 22 10:17:21 2009 From: wes.turner at kitware.com (Wes Turner) Date: Tue, 22 Dec 2009 10:17:21 -0500 Subject: [Insight-users] Inverse of affine not inplemented In-Reply-To: References: <7ade83390912220701x200afbdal6ef6313487a01d0c@mail.gmail.com> Message-ID: <7ade83390912220717k265f9631n3bb13050318a9915@mail.gmail.com> I took a (very) quick look. If it is returning NULL then it appears that either your matrix is singular, or you are not calling it correctly. BTW: bool GetInverse(transform) expects the transform to be passed in and only returns true or false depending on if the matrix inversion was successful or not. YOu probably want to make a call to transform->GetInverseMatrix() instead. Code is included below. - Wes // Recompute the inverse matrix (internal) template const typename MatrixOffsetTransformBase::InverseMatrixType & MatrixOffsetTransformBase ::GetInverseMatrix( void ) const { // If the transform has been modified we recompute the inverse if(m_InverseMatrixMTime != m_MatrixMTime) { m_Singular = false; try { m_InverseMatrix = m_Matrix.GetInverse(); } catch(...) { m_Singular = true; } m_InverseMatrixMTime = m_MatrixMTime; } return m_InverseMatrix; } // return an inverse transformation template bool MatrixOffsetTransformBase ::GetInverse( Self * inverse) const { if(!inverse) { return false; } this->GetInverseMatrix(); if(m_Singular) { return false; } inverse->m_Matrix = this->GetInverseMatrix(); inverse->m_InverseMatrix = m_Matrix; inverse->m_Offset = -(this->GetInverseMatrix() * m_Offset); inverse->ComputeTranslation(); inverse->ComputeMatrixParameters(); return true; } On Tue, Dec 22, 2009 at 10:04 AM, Lodron, Gerald wrote: > The method is there but it always returns NULL. I looked in the code it > really always returns NULL but i think in most ways the affine should be > invertable so the code in the function should be changed > > ------------------------------ > *Von:* Wes Turner [mailto:wes.turner at kitware.com] > *Gesendet:* Dienstag, 22. Dezember 2009 16:02 > *An:* Lodron, Gerald > *Cc:* insight-users at itk.org > *Betreff:* Re: [Insight-users] Inverse of affine not inplemented > > There appears to be a GetInverse() method for the Affine Transform. Can > you give a better description of your problem. > > - Wes > > > http://www.itk.org/Doxygen316/html/classitk_1_1AffineTransform.html#d294a8a59b93d3663de46705490a189e > > On Tue, Dec 22, 2009 at 8:10 AM, Lodron, Gerald > wrote: > >> Hello >> >> Is there a reason for the missing GetInverse() implementation of the >> affine transformation or is it a missing issue? >> >> Best regards >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > > > > -- > Wesley D. Turner, Ph.D. > Kitware, Inc. > Technical Leader > 28 Corporate Drive > Clifton Park, NY 12065-8662 > Phone: 518-881-4920 > -- Wesley D. Turner, Ph.D. Kitware, Inc. Technical Leader 28 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4920 -------------- next part -------------- An HTML attachment was scrubbed... URL: From adzyubak at gmail.com Tue Dec 22 10:25:54 2009 From: adzyubak at gmail.com (Oleksandr Dzyubak) Date: Tue, 22 Dec 2009 09:25:54 -0600 Subject: [Insight-users] Hessian format for SymmetricEigenAnalysisImageFilter In-Reply-To: References: <4B228268.1020308@gmail.com> <5d7d0bca0912141630y57dc9ec4lbeb6a26795e1c1bd@mail.gmail.com> Message-ID: <4B30E502.3090601@gmail.com> Hi Luis, I have already done all possible tests using both formulas and synthetic images in 1D, 2D, and 3D space. 1) Symbolic simulations (using Maxima). 2) Numerical simulations (using Matlab). 3) Test on synthetic images (Matlab, ITK) All the tests confirmed what I said before and summarized in the table below. I would dare to conclude that it is a bug which affects all the algorithms that use high order Gaussian derivatives including Hessians, of course. When you form Hessians, you have to use second order and cross derivatives thus you get incorrect scaling anyway. Since the incorrect scaling, the results from SymmetricEigenAnalysisImageFilter are also affected introducing the errors into consecutive algorithms. I hope we can solve this problem since we know what to do. Thanks for your help and support and Merry Christmas! Alex Luis Ibanez wrote: > Hi Alex, > > If I understand correctly, you are attempting to compare > > Gxx versus Gx( Gx ) > > If so, part of the problem is that when we do Gxx, the Gaussian > smoothing is applied only once, while, when using Gx(Gx) the > Gaussian Smooting is applied twice. > > And... depending on how you are doing it,... it may not be the > equivalent to Gxx, since the Gxx that we do requires: > > Dxx( G ) > > which means that along X we do the equivalent of convolving > with the second derivative of the Gaussian, while at the same > time we still do the equivalent of convolve with a Gaussian along > Y and along Z. > > > The Scale normalization by the Gaussian will also apply > twice on the Gx(Gx) version. > > All that said, > It will be very healthy to run this on a synthetic image for > which the theoretical values can be computed, so we have > a reference value. > > It may well be that you might have uncovered a bug... > > > Regards, > > > Luis > > --------------------------------------------------------------------------- > On Mon, Dec 14, 2009 at 7:30 PM, Oleksandr Dzyubak wrote: > >> Hi Luis, >> >> Looks like I am terribly missing something here... >> >> OK. For my testings I built objects with Gaussian profiles. >> These are simple: Gaussian lines with various sigmas extruded >> into Z-direction thus I got "Gaussian planes". >> Objects: 3D Gaussian planes with Sigma=1,2,3,4,5,10 and intensities I=100. >> >> Now I use RecursiveGaussians and HessianRecursiveGaussian from the ITK stock >> library >> and calculate the second order derivative across the Gaussian profiles: >> Hxx -- Hessian x-components, Gxx - Gaussian second order derivative, >> and GxGx - Gaussian second order derivative taken sequentially as Gx(Gx) >> using Gaussian first order derivative. >> >> Of course, all that was done with "NormalizeAcrossScale" ON and OFF. >> Afterwards the maximum of absolute values were measured. >> The results I summarized in the table below. >> >> Sigma ITK_Hxx_OFF ITK_Gxx_OFF ITK_Hxx_ON ITK_Gxx_ON >> ITK_GxGx_OFF ITK_GxGx_ON >> >> 1 35.77 35.77 35.77 >> 35.77 19.47 19.47 >> 2 8.92 8.92 71.33 >> 71.33 4.87 19.47 >> 3 3.96 3.96 106.95 >> 106.95 2.16 19.47 >> 4 2.23 2.23 142.56 >> 142.56 1.22 19.47 >> 5 1.43 1.43 178.18 >> 178.18 0.78 19.47 >> 10 0.36 0.36 356.29 >> 356.29 0.19 19.47 >> >> >> As you can see from the table, Hxx is always equal to Gxx for both >> "NormalizeAcrossScale" ON and OFF. >> Ok. No surprises here. So far so good. >> Should not be the values Scale indipendent though? >> >> Well, now lets take the second order derivative sequentially using Gx(Gx). >> Now there is a dramatic difference here. >> a) GxGx values do not match Gxx and Hxx anymore. >> b) "ITK_GxGx_ON" version apparently demonstrates Scale Space invariance as >> it should be. >> >> >> Luis, I would highly appreciate any comments on that. >> >> Best regards, >> >> Alex >> >> >> On Fri, Dec 11, 2009 at 7:39 PM, Luis Ibanez >> wrote: >> >>> Hi Alex, >>> >>> >>> The order for the Hessian follows the same >>> pattern of the class >>> >>> Insight/Code/Common/ >>> itkSymmetricSecondRankTensor.h >>> >>> The elements store only the upper right triangle >>> of the actual matrix. >>> >>> For example, in 3D you get >>> the following pattern >>> >>> 0 1 2 >>> 3 4 >>> 5 >>> >>> All that to say: >>> >>> Yes, >>> the order that you are using is correct: >>> >>> Dxx Dxy Dxz >>> Dyy Dyz >>> Dzz >>> >>> >>> BTW: >>> You may want to use (or at least look) the filter: >>> >>> Insight/Code/BasicFilters/ >>> itkHessianRecursiveGaussianImageFilter.h >>> >>> >>> >>> Regards, >>> >>> >>> Luis >>> >>> >>> --------------------------------------------------------------- >>> On Fri, Dec 11, 2009 at 12:33 PM, Oleksandr Dzyubak >>> wrote: >>> >>>> Dear users, >>>> >>>> After I built the individual Hessian components, >>>> in what order should I fill them up to further feed >>>> into the SymmetricEigenAnalysisImageFilter? >>>> >>>> At the moment I am using the order below. >>>> >>>> H[0] = Dxx >>>> H[1] = Dxy >>>> H[2] = Dxz >>>> H[3] = Dyy >>>> H[4] = Dyz >>>> H[5] = Dzz >>>> >>>> Is this correct order? >>>> >>>> Thanks, >>>> >>>> Alex >>>> >>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>>> >> From Gerald.Lodron at joanneum.at Tue Dec 22 10:35:28 2009 From: Gerald.Lodron at joanneum.at (Lodron, Gerald) Date: Tue, 22 Dec 2009 16:35:28 +0100 Subject: [Insight-users] Inverse of affine not inplemented In-Reply-To: <7ade83390912220717k265f9631n3bb13050318a9915@mail.gmail.com> References: <7ade83390912220701x200afbdal6ef6313487a01d0c@mail.gmail.com> <7ade83390912220717k265f9631n3bb13050318a9915@mail.gmail.com> Message-ID: Hmm, sorry, i thougt the base class is the itk::Transform class which always returns false. I did not see that the base class is MatrixOffsetTransformBase. My fault! Thanks for answer! ________________________________ Von: Wes Turner [mailto:wes.turner at kitware.com] Gesendet: Dienstag, 22. Dezember 2009 16:17 An: Lodron, Gerald Cc: insight-users at itk.org Betreff: Re: [Insight-users] Inverse of affine not inplemented I took a (very) quick look. If it is returning NULL then it appears that either your matrix is singular, or you are not calling it correctly. BTW: bool GetInverse(transform) expects the transform to be passed in and only returns true or false depending on if the matrix inversion was successful or not. YOu probably want to make a call to transform->GetInverseMatrix() instead. Code is included below. - Wes // Recompute the inverse matrix (internal) template const typename MatrixOffsetTransformBase::InverseMatrixType & MatrixOffsetTransformBase ::GetInverseMatrix( void ) const { // If the transform has been modified we recompute the inverse if(m_InverseMatrixMTime != m_MatrixMTime) { m_Singular = false; try { m_InverseMatrix = m_Matrix.GetInverse(); } catch(...) { m_Singular = true; } m_InverseMatrixMTime = m_MatrixMTime; } return m_InverseMatrix; } // return an inverse transformation template bool MatrixOffsetTransformBase ::GetInverse( Self * inverse) const { if(!inverse) { return false; } this->GetInverseMatrix(); if(m_Singular) { return false; } inverse->m_Matrix = this->GetInverseMatrix(); inverse->m_InverseMatrix = m_Matrix; inverse->m_Offset = -(this->GetInverseMatrix() * m_Offset); inverse->ComputeTranslation(); inverse->ComputeMatrixParameters(); return true; } On Tue, Dec 22, 2009 at 10:04 AM, Lodron, Gerald > wrote: The method is there but it always returns NULL. I looked in the code it really always returns NULL but i think in most ways the affine should be invertable so the code in the function should be changed ________________________________ Von: Wes Turner [mailto:wes.turner at kitware.com] Gesendet: Dienstag, 22. Dezember 2009 16:02 An: Lodron, Gerald Cc: insight-users at itk.org Betreff: Re: [Insight-users] Inverse of affine not inplemented There appears to be a GetInverse() method for the Affine Transform. Can you give a better description of your problem. - Wes http://www.itk.org/Doxygen316/html/classitk_1_1AffineTransform.html#d294a8a59b93d3663de46705490a189e On Tue, Dec 22, 2009 at 8:10 AM, Lodron, Gerald > wrote: Hello Is there a reason for the missing GetInverse() implementation of the affine transformation or is it a missing issue? Best regards _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.html Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://www.itk.org/mailman/listinfo/insight-users -- Wesley D. Turner, Ph.D. Kitware, Inc. Technical Leader 28 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4920 -- Wesley D. Turner, Ph.D. Kitware, Inc. Technical Leader 28 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4920 -------------- next part -------------- An HTML attachment was scrubbed... URL: From zallen at wheelinghospital.com Tue Dec 22 11:38:12 2009 From: zallen at wheelinghospital.com (URI) Date: Tue, 22 Dec 2009 08:38:12 -0800 (PST) Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1261471084125-4202557.post@n2.nabble.com> References: <1260480129545-4147921.post@n2.nabble.com> <4db4735c0912101404u6c04131sb1b2d239d8329a11@mail.gmail.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> <1260509804319-4149580.post@n2.nabble.com> <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> <4db4735c0912110553x7086b85cub0301eed9db5ee44@mail.gmail.com> <1260551767075-4152470.post@n2.nabble.com> <4db4735c0912110923o497f1b48h27492a58e85f07cf@mail.gmail.com> <1261471084125-4202557.post@n2.nabble.com> Message-ID: <1261499892292-4204461.post@n2.nabble.com> I downloaded ITK from here: http://www.itk.org/ITK/resources/software.html I chose the link that says "InsightToolkit-3.16.0.zip (hosted at SourceForge)". Is this not a good way to do it? I don't know what "cvs" means. Bill Lorensen wrote: > > How did you get your version of VTK? Download or cvs checkout? If the > latter, then you can't do an update. > > > > URI wrote: >> >> Bill- >> >> When I go to my source directory and type >> >> cvs -nq update >> >> I get the following output: >> >> cvs [update aborted]: unrecognized auth response from www.itk.org: cvs >> [pserver: no such repositorynsight >> >> That last part is typed correctly, it says "no such repositorynsight". >> >> > > -- View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4204461.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From zallen at wheelinghospital.com Tue Dec 22 12:03:24 2009 From: zallen at wheelinghospital.com (URI) Date: Tue, 22 Dec 2009 09:03:24 -0800 (PST) Subject: [Insight-users] A challenge to all Windows users Message-ID: <1261501404217-4204581.post@n2.nabble.com> Hello all- Many of you have probably been following my epic struggles to get ITK working under Windows in another thread. I have decided that the solution to my problem might be more forthcoming if I issue a challenge to all the Windows users out there. I realize that many of you have ITK up and running and you have no problems compiling it. My guess is that you got your systems set up and worked out the bugs when you started and have just been cruising along since then. I am trying to get ITK working for the first time and have had nothing but trouble, and even after sorting out some major mistakes caused by my inexperience my errors seem to be confusing to the people who are trying to help me. So this brings me to the challenge. I would like some of you Windows users to start fresh on a computer that has never had ITK or CMake or MinGW or any of that stuff on it and get ITK running from scratch, and then tell me step by step what you have done. The reason I ask you to start with a system that has never had any of these programs installed is in case there are any hidden configuration issues that are already set on your existing systems (environment variables, registry settings, anything like that). I have tried to get ITK working on two different systems, the first is 64-bit Windows 7 and the second is 32-bit Windows XP SP3. I don't have any particular affinity for any specific compiler, I have been trying to use MinGW but if there is something else that works (preferably free) I am open to anything. I think maybe this would be easier than me saying "Ok, now I'm getting this error" and having people try to figure out what I've done wrong. If someone can accept the challenge please respond with the steps you used to get ITK up and running from scratch, including things like: 1) where you downloaded the installation files 2) what settings you used when installing each program 3) what changes you made (if any) to your PATH variable 4) the directory names you used when installing 5) how you configured CMake (i.e. which directory did you use for your source and bin directories; what variable settings did you use) Basically everything and anything that could potentially cause a problem if not done correctly by a novice. I can't believe that I'm the only open source/CMake/ITK novice who has run into these problems, and so I think lots of people would benefit from these sort of instructions. -- View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4204581.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From drescherjm at gmail.com Tue Dec 22 12:17:16 2009 From: drescherjm at gmail.com (John Drescher) Date: Tue, 22 Dec 2009 12:17:16 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261501404217-4204581.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> Message-ID: <387ee2020912220917h6149d354u552fdb166bdc3e11@mail.gmail.com> > Many of you have probably been following my epic struggles to get ITK > working under Windows in another thread. ?I have decided that the solution > to my problem might be more forthcoming if I issue a challenge to all the > Windows users out there. > > I realize that many of you have ITK up and running and you have no problems > compiling it. ?My guess is that you got your systems set up and worked out > the bugs when you started and have just been cruising along since then. I do not recall any bugs. Everything worked right out of the box on each of my builds from ITK-3.12 to ITK-3.16. But I am not using MinGW. I have used visual studio 2003, 2005 and 2008 on 32 and 64 bit compilers and at minimum 1/2 dozen different machines. >?I > am trying to get ITK working for the first time and have had nothing but > trouble, and even after sorting out some major mistakes caused by my > inexperience my errors seem to be confusing to the people who are trying to > help me. ?So this brings me to the challenge. > > I would like some of you Windows users to start fresh on a computer that has > never had ITK or CMake or MinGW or any of that stuff on it and get ITK > running from scratch, and then tell me step by step what you have done. ?The > reason I ask you to start with a system that has never had any of these > programs installed is in case there are any hidden configuration issues that > are already set on your existing systems (environment variables, registry > settings, anything like that). > > I have tried to get ITK working on two different systems, the first is > 64-bit Windows 7 and the second is 32-bit Windows XP SP3. ?I don't have any > particular affinity for any specific compiler, I have been trying to use > MinGW but if there is something else that works (preferably free) I am open > to anything. ?I think maybe this would be easier than me saying "Ok, now I'm > getting this error" and having people try to figure out what I've done > wrong. > > If someone can accept the challenge please respond with the steps you used > to get ITK up and running from scratch, including things like: > > 1) where you downloaded the installation files From bill.lorensen at gmail.com Tue Dec 22 12:30:41 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 22 Dec 2009 12:30:41 -0500 Subject: [Insight-users] Problems building itk under MinGW In-Reply-To: <1261499892292-4204461.post@n2.nabble.com> References: <1260480129545-4147921.post@n2.nabble.com> <1260504230928-4149414.post@n2.nabble.com> <4db4735c0912102015k6d73c331sfd9d4cc881d38976@mail.gmail.com> <1260509804319-4149580.post@n2.nabble.com> <4db4735c0912110537p339b6356jc9ec28ffbbcbe2b6@mail.gmail.com> <4db4735c0912110553x7086b85cub0301eed9db5ee44@mail.gmail.com> <1260551767075-4152470.post@n2.nabble.com> <4db4735c0912110923o497f1b48h27492a58e85f07cf@mail.gmail.com> <1261471084125-4202557.post@n2.nabble.com> <1261499892292-4204461.post@n2.nabble.com> Message-ID: <4db4735c0912220930g64464403w860088e1be280718@mail.gmail.com> That's a fine way to get itk. Ignore any reference to cvs that I gave you in prior instructions. I have no idea why you are having such trouble with mingw and msys. Many folks have successfully built itk in that environment. I think I've exhausted my ideas. Perhaps others can help. On Tue, Dec 22, 2009 at 11:38 AM, URI wrote: > > I downloaded ITK from here: http://www.itk.org/ITK/resources/software.html > > I chose the link that says "InsightToolkit-3.16.0.zip (hosted at > SourceForge)". ?Is this not a good way to do it? ?I don't know what "cvs" > means. > > > > Bill Lorensen wrote: >> >> How did you get your version of VTK? Download or cvs checkout? If the >> latter, then you can't do an update. >> >> >> >> URI wrote: >>> >>> Bill- >>> >>> When I go to my source directory and type >>> >>> cvs -nq update >>> >>> I get the following output: >>> >>> cvs [update aborted]: unrecognized auth response from www.itk.org: cvs >>> [pserver: no such repositorynsight >>> >>> That last part is typed correctly, it says "no such repositorynsight". >>> >>> >> >> > > -- > View this message in context: http://n2.nabble.com/Problems-building-itk-under-MinGW-tp4104133p4204461.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From mike.jackson at bluequartz.net Tue Dec 22 12:34:56 2009 From: mike.jackson at bluequartz.net (Michael Jackson) Date: Tue, 22 Dec 2009 12:34:56 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261501404217-4204581.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> Message-ID: I would start off by downloading the Free Visual Studio Express. You can only build 32 bit apps with it** but it is known to work for ITK and CMake. Download the Prebuilt Binary for CMake from CMake.org Install it (Take all the defaults) Download and install VS Express 2008. Use all the defaults for installation. Download and uncompress ITK from sourceforge link. Make sure the directory where ITK is uncompressed is C:\InsightToolkit-3.16.0 Launch "CMake-Gui.exe" Fill in the "Where is the Source Code" C:\InsightToolkit-3.14.0 Fill in the "Where to build the binaries" C: \InsightToolkit-3.14.0\i386 Click the "Configure Button", a new dialog will appear. Select the "Visual Studio 2008" Generator. Click OK. Let that go for a while. Go get some coffee. When you come back click the "Generate" button. When that is finished, use "Windows Explorer" to open up C: \InsightToolkit-3.14.0\i386. Double click "ITK.sln". After Visual Studio Launches, there will be an "ALL BUILD" project down the left side. Right click on that, and select "Build" from the menu. Go get lunch. Come back and ITK is built. _________________________________________________________ Mike Jackson mike.jackson at bluequartz.net BlueQuartz Software www.bluequartz.net Principal Software Engineer Dayton, Ohio On Dec 22, 2009, at 12:03 PM, URI wrote: > > Hello all- > > Many of you have probably been following my epic struggles to get ITK > working under Windows in another thread. I have decided that the > solution > to my problem might be more forthcoming if I issue a challenge to > all the > Windows users out there. > > I realize that many of you have ITK up and running and you have no > problems > compiling it. My guess is that you got your systems set up and > worked out > the bugs when you started and have just been cruising along since > then. I > am trying to get ITK working for the first time and have had nothing > but > trouble, and even after sorting out some major mistakes caused by my > inexperience my errors seem to be confusing to the people who are > trying to > help me. So this brings me to the challenge. > > I would like some of you Windows users to start fresh on a computer > that has > never had ITK or CMake or MinGW or any of that stuff on it and get ITK > running from scratch, and then tell me step by step what you have > done. The > reason I ask you to start with a system that has never had any of > these > programs installed is in case there are any hidden configuration > issues that > are already set on your existing systems (environment variables, > registry > settings, anything like that). > > I have tried to get ITK working on two different systems, the first is > 64-bit Windows 7 and the second is 32-bit Windows XP SP3. I don't > have any > particular affinity for any specific compiler, I have been trying to > use > MinGW but if there is something else that works (preferably free) I > am open > to anything. I think maybe this would be easier than me saying "Ok, > now I'm > getting this error" and having people try to figure out what I've done > wrong. > > If someone can accept the challenge please respond with the steps > you used > to get ITK up and running from scratch, including things like: > > 1) where you downloaded the installation files > 2) what settings you used when installing each program > 3) what changes you made (if any) to your PATH variable > 4) the directory names you used when installing > 5) how you configured CMake (i.e. which directory did you use for your > source and bin directories; what variable settings did you use) > > > Basically everything and anything that could potentially cause a > problem if > not done correctly by a novice. I can't believe that I'm the only > open > source/CMake/ITK novice who has run into these problems, and so I > think lots > of people would benefit from these sort of instructions. > -- > View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4204581.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users From drescherjm at gmail.com Tue Dec 22 12:44:09 2009 From: drescherjm at gmail.com (John Drescher) Date: Tue, 22 Dec 2009 12:44:09 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: References: <1261501404217-4204581.post@n2.nabble.com> Message-ID: <387ee2020912220944ve5b442do9aadb2b8a5bf938b@mail.gmail.com> On Tue, Dec 22, 2009 at 12:34 PM, Michael Jackson wrote: > I would start off by downloading the Free Visual Studio Express. You can > only build 32 bit apps with it** but it is known to work for ITK and CMake. > > ?Download the Prebuilt Binary for CMake from CMake.org > ?Install it (Take all the defaults) > ?Download and install VS Express 2008. Use all the defaults for > installation. > > ?Download and uncompress ITK from sourceforge link. Make sure the directory > where ITK is uncompressed is C:\InsightToolkit-3.16.0 > > ?Launch "CMake-Gui.exe" > > ?Fill in the "Where is the Source Code" C:\InsightToolkit-3.14.0 > ?Fill in the "Where to build the binaries" C:\InsightToolkit-3.14.0\i386 > > ?Click the "Configure Button", a new dialog will appear. Select the "Visual > Studio 2008" Generator. Click OK. Let that go for a while. Go get some > coffee. When you come back click the "Generate" button. When that is > finished, use "Windows Explorer" to open up C:\InsightToolkit-3.14.0\i386. > Double click "ITK.sln". After Visual Studio Launches, there will be an "ALL > BUILD" project down the left side. Right click on that, and select "Build" > from the menu. Go get lunch. Come back and ITK is built. > Great instructions. I see no reason why that procedure would fail. Well until the user wants non default options like wrapping ... Also LOL! That is about my experience with build times. John From adzyubak at gmail.com Tue Dec 22 14:54:03 2009 From: adzyubak at gmail.com (Oleksandr Dzyubak) Date: Tue, 22 Dec 2009 13:54:03 -0600 Subject: [Insight-users] Image index limits In-Reply-To: References: <5d7d0bca0912111337tde53c5q6df99c46837d07fd@mail.gmail.com> <5d7d0bca0912141020s181befc9ob819cca30f5563d4@mail.gmail.com> Message-ID: <4B3123DB.9010305@gmail.com> Hi Luis, Yes, indeed. This time I tried both pixel types, "float" and "signed short" and compared. The results are the same. It goes well up to the slice # 104. From the slice # 105 and on, it's all zeros. It is some sort of "saturation" or something specific to my machine? Did you try on your machine? What's your result? Regards, Alex Luis Ibanez wrote: > Hi Alex, > > Did you changed to "float" the pixel type of > > ImageReadRegionOfInterestWrite.cxx ? > > by default the pixel type is "signed short". > > and your image is of pixel type "float". > > ITK will perform silent C-Style casting > at the moment of reading the image. > > > Please let us know, > > > Thanks, > > > Luis > > > ---------------------------------------------- > On Mon, Dec 14, 2009 at 1:20 PM, Oleksandr Dzyubak wrote: > >> Hi Luis, >> >> I followed the procedure 1) through 8) that you suggested. >> All four tests have successfully passed and the results are below. >> According to the results, the parameter 70,000L provides the image size >> "Trying to allocate an image of size 9346 Mb " which is what I actually >> need. >> From these tests it looks like it should work. >> >> However, I just created and image using a Matlab code below. >> >> ***** Star Matlab code ****** >> >> % Create single square 1340x1300x720 >> clc; >> clear all; >> close all; >> >> >> matrix = zeros(1340, 1300, 720); >> matrix(600:809, 600:809, :) = 1000; >> >> % imshow(matrix); >> >> fid = fopen('Bar_3Dsquare_I1000_1340x1300x720.bin', 'wb'); >> fwrite(fid, matrix, 'float'); >> status = fclose(fid); >> >> ******* Stop Matlab code ************ >> >> This code exactly creates an 4.7 GB image with white square extruded along >> the Z-derection. >> Now I use the ITK program ImageReadRegionOfInterestWrite to sequentially >> extract series of 100 slices as below. >> >> dzyubak at helium: /Square$ ./ImageReadRegionOfInterestWrite >> Bar_3Dsquare_I1000_1340x1300x720_float.hdr >> Bar_3Dsquare_I1000_1340x1300x720_float_s1_s100.hdr 0 0 0 1340 1300 100 >> >> and >> >> dzyubak at helium: /Square$ ./ImageReadRegionOfInterestWrite >> Bar_3Dsquare_I1000_1340x1300x720_float.hdr >> Bar_3Dsquare_I1000_1340x1300x720_float_s100_s200.hdr 0 0 100 1340 1300 100 >> >> I checked the Bar_3Dsquare_I1000_1340x1300x720_float.hdr image and it is OK, >> the square goes all the way through. >> The first set is also OK and the "white square" shows up but the second set >> is empty. Any ideas what could cause this problem? >> >> Thanks, >> >> Alex >> >> >> >> ******** Start ******* >> >> >> root at helium: /BUILD# ctest -R LargeImageWrite -V >> >> Test command: /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/bin/itkIOTests >> itkLargeImageWriteReadTest >> /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/Testing/Temporary/LargeImage01.mhd >> 30000L >> Test timeout computed to be: 1500 >> Trying to allocate an image of size 1716 Mb >> Initializing pixel values >> Trying to write the image to disk >> Trying to read the image back from disk >> Comparing the pixel values.. : >> Probe Tag Starts Stops Time (s) >> Allocate 1 1 3.19481e-05 >> Compare 1 1 4.85127 >> Initializing 1 1 8.84029 >> Read 1 1 2.71803 >> Write 1 1 4.17017 >> >> Test PASSED ! >> -- Process completed >> Passed >> 863/1701 Testing itkLargeImageWriteReadTest2 >> Test command: /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/bin/itkIOTests >> itkLargeImageWriteReadTest >> /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/Testing/Temporary/LargeImage02.mhd >> 40000L >> Test timeout computed to be: 1500 >> Trying to allocate an image of size 3051 Mb >> Initializing pixel values >> Trying to write the image to disk >> Trying to read the image back from disk >> Comparing the pixel values.. : >> Probe Tag Starts Stops Time (s) >> Allocate 1 1 3.00407e-05 >> Compare 1 1 7.89822 >> Initializing 1 1 12.6574 >> Read 1 1 4.8622 >> Write 1 1 12.6875 >> >> Test PASSED ! >> -- Process completed >> Passed >> 864/1701 Testing itkLargeImageWriteConvertReadT >> Test command: /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/bin/itkIOTests >> itkLargeImageWriteConvertReadTest >> /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/Testing/Temporary/LargeImageConvert.nrrd >> 50000L >> Test timeout computed to be: 1500 >> Initializing pixel values >> Trying to write the image to disk >> Trying to read the image back from disk >> Probe Tag Starts Stops Time (s) >> Allocate 1 1 3.69549e-05 >> Initializing 1 1 11.7354 >> Read 1 1 15.7987 >> Write 1 1 10.5514 >> >> Test PASSED ! >> >> 865/1701 Testing itkLargeImageWriteReadTest3 >> Test command: /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/bin/itkIOTests >> itkLargeImageWriteReadTest >> /mnt/helium/Root_BUILDs/ITK_3_16/BUILD/Testing/Temporary/LargeImage03.mhd >> 70000L >> Test timeout computed to be: 1500 >> Trying to allocate an image of size 9346 Mb >> Initializing pixel values >> Trying to write the image to disk >> Trying to read the image back from disk >> Comparing the pixel values.. : >> Probe Tag Starts Stops Time (s) >> Allocate 1 1 3.19481e-05 >> Compare 1 1 24.2805 >> Initializing 1 1 40.3377 >> Read 1 1 14.4607 >> Write 1 1 32.6605 >> >> Test PASSED ! >> >> The following tests passed: >> itkLargeImageWriteReadTest1 >> itkLargeImageWriteReadTest2 >> itkLargeImageWriteConvertReadTest >> itkLargeImageWriteReadTest3 >> >> 100% tests passed, 0 tests failed out of 4 >> >> >> ********* End ******** >> >> >> >> On Fri, Dec 11, 2009 at 6:50 PM, Luis Ibanez >> wrote: >> >>> Hi Oleksandr, >>> >>> >>> The components of the itk::Index are of type "long", >>> while the components of the itk::Size are of type >>> "unsigned long". >>> >>> Therefore, On Linux 64 bits, you can manage >>> images up to the size of your memory. >>> >>> With your small machine of 16 CPUs and >>> only 128 Gb of RAM you should do fine. >>> >>> ... and yes, I'm saying that with envy :-) >>> >>> >>> On Windows 64 bits, on the other hand >>> we are working on fixing a problem with >>> the integer representation used in Windows. >>> >>> >>> Back to your report on Linux: >>> >>> In the directory Insight/Testing/Code/IO >>> we have a test for large memory that >>> will attempt to create, write and read back >>> and image of large size (above 2 Gb). >>> Let's try running it in your computer. >>> >>> Please do the following: >>> >>> 1) go to the binary directory where you >>> built ITK and do >>> >>> make edit_cache >>> >>> >>> 2) Turn BUILD_TESTING ON >>> >>> >>> 3) Go to the Advanced mode, >>> search for >>> >>> ITK_COMPUTER_MEMORY_SIZE >>> >>> and set it to 128 >>> >>> (yes, the units are in Gb). >>> >>> >>> >>> 4) Do, "c" for configure >>> >>> 5) Do, "g" to generate >>> >>> >>> 6) make -j32 >>> >>> (that shouldn't take long) :-) >>> >>> >>> 7) Run the LargeImage test with >>> the command: >>> >>> ctest -R LargeImageWrite -V >>> >>> and see if they pass. >>> >>> 8) Now you can take it further, >>> by looking at the command >>> that is used to run the tests, >>> The last numeric argument is >>> the number of pixels along each >>> dimension, of the image that is >>> created by the test. >>> >>> You could force this number >>> until the total size of this 2D >>> image is comparable to your 3D >>> image. >>> >>> For example, by 70,000 the >>> image will be of size 1,2 Gb. >>> >>> >>> >>> Please let us know what you find >>> after running these tests. >>> >>> >>> Thanks >>> >>> >>> Luis >>> >>> >>> -------------------------------------------------------------- >>> On Fri, Dec 11, 2009 at 4:37 PM, Oleksandr Dzyubak >>> wrote: >>> >>>> Dear users, >>>> >>>> I tried to process the 1340x1300x720 pixel image and after the slice >>>> #104 I >>>> am getting all zeros. >>>> I checked the original image and it's good. It's full of info. >>>> So I first decided to split that file using the >>>> itkRegionOfInterestImageFilter class. >>>> What I found is that all the chunks after the slice #104 are zeros >>>> thus it's not the image processing filter that causes the problem. >>>> >>>> Here is my question. >>>> Is there any limitation on an image index range? >>>> Or in other words, what is the largest pixel volume that ITK still can >>>> handle? >>>> >>>> Thanks, >>>> >>>> Alex >>>> >>>> PS. >>>> I am using 64 bit Debian Linux. >>>> 16 CPUs and 128 GB. >>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.html >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.itk.org/mailman/listinfo/insight-users >>>> >>>> >>>> >> From zallen at wheelinghospital.com Tue Dec 22 16:19:21 2009 From: zallen at wheelinghospital.com (URI) Date: Tue, 22 Dec 2009 13:19:21 -0800 (PST) Subject: [Insight-users] A challenge to all Windows users In-Reply-To: References: <1261501404217-4204581.post@n2.nabble.com> Message-ID: <1261516761899-4205836.post@n2.nabble.com> Michael- Thanks for the response. Did you take the challenge and build this from scratch on a test system? Also, can you point me to where you got Free Visual Studio Express? I don't want to grab the wrong thing by accident. Michael Jackson wrote: > > I would start off by downloading the Free Visual Studio Express. You > can only build 32 bit apps with it** but it is known to work for ITK > and CMake. > > Download the Prebuilt Binary for CMake from CMake.org > Install it (Take all the defaults) > Download and install VS Express 2008. Use all the defaults for > installation. > > Download and uncompress ITK from sourceforge link. Make sure the > directory where ITK is uncompressed is C:\InsightToolkit-3.16.0 > > Launch "CMake-Gui.exe" > > Fill in the "Where is the Source Code" C:\InsightToolkit-3.14.0 > Fill in the "Where to build the binaries" C: > \InsightToolkit-3.14.0\i386 > > Click the "Configure Button", a new dialog will appear. Select the > "Visual Studio 2008" Generator. Click OK. Let that go for a while. Go > get some coffee. When you come back click the "Generate" button. When > that is finished, use "Windows Explorer" to open up C: > \InsightToolkit-3.14.0\i386. Double click "ITK.sln". After Visual > Studio Launches, there will be an "ALL BUILD" project down the left > side. Right click on that, and select "Build" from the menu. Go get > lunch. Come back and ITK is built. > > > > _________________________________________________________ > Mike Jackson mike.jackson at bluequartz.net > BlueQuartz Software www.bluequartz.net > Principal Software Engineer Dayton, Ohio > > On Dec 22, 2009, at 12:03 PM, URI wrote: > >> >> Hello all- >> >> Many of you have probably been following my epic struggles to get ITK >> working under Windows in another thread. I have decided that the >> solution >> to my problem might be more forthcoming if I issue a challenge to >> all the >> Windows users out there. >> >> I realize that many of you have ITK up and running and you have no >> problems >> compiling it. My guess is that you got your systems set up and >> worked out >> the bugs when you started and have just been cruising along since >> then. I >> am trying to get ITK working for the first time and have had nothing >> but >> trouble, and even after sorting out some major mistakes caused by my >> inexperience my errors seem to be confusing to the people who are >> trying to >> help me. So this brings me to the challenge. >> >> I would like some of you Windows users to start fresh on a computer >> that has >> never had ITK or CMake or MinGW or any of that stuff on it and get ITK >> running from scratch, and then tell me step by step what you have >> done. The >> reason I ask you to start with a system that has never had any of >> these >> programs installed is in case there are any hidden configuration >> issues that >> are already set on your existing systems (environment variables, >> registry >> settings, anything like that). >> >> I have tried to get ITK working on two different systems, the first is >> 64-bit Windows 7 and the second is 32-bit Windows XP SP3. I don't >> have any >> particular affinity for any specific compiler, I have been trying to >> use >> MinGW but if there is something else that works (preferably free) I >> am open >> to anything. I think maybe this would be easier than me saying "Ok, >> now I'm >> getting this error" and having people try to figure out what I've done >> wrong. >> >> If someone can accept the challenge please respond with the steps >> you used >> to get ITK up and running from scratch, including things like: >> >> 1) where you downloaded the installation files >> 2) what settings you used when installing each program >> 3) what changes you made (if any) to your PATH variable >> 4) the directory names you used when installing >> 5) how you configured CMake (i.e. which directory did you use for your >> source and bin directories; what variable settings did you use) >> >> >> Basically everything and anything that could potentially cause a >> problem if >> not done correctly by a novice. I can't believe that I'm the only >> open >> source/CMake/ITK novice who has run into these problems, and so I >> think lots >> of people would benefit from these sort of instructions. >> -- >> View this message in context: >> http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4204581.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4205836.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From zallen at wheelinghospital.com Tue Dec 22 16:25:15 2009 From: zallen at wheelinghospital.com (URI) Date: Tue, 22 Dec 2009 13:25:15 -0800 (PST) Subject: [Insight-users] A challenge to all Windows users In-Reply-To: References: <1261501404217-4204581.post@n2.nabble.com> Message-ID: <1261517115634-4205871.post@n2.nabble.com> Also, should this work on my 64-bit machine, or does the 32-bit limitation on of Visual Studio Express mean that I have to work on a 32-bit machine only? Michael Jackson wrote: > > I would start off by downloading the Free Visual Studio Express. You > can only build 32 bit apps with it** but it is known to work for ITK > and CMake. > > Download the Prebuilt Binary for CMake from CMake.org > Install it (Take all the defaults) > Download and install VS Express 2008. Use all the defaults for > installation. > > Download and uncompress ITK from sourceforge link. Make sure the > directory where ITK is uncompressed is C:\InsightToolkit-3.16.0 > > Launch "CMake-Gui.exe" > > Fill in the "Where is the Source Code" C:\InsightToolkit-3.14.0 > Fill in the "Where to build the binaries" C: > \InsightToolkit-3.14.0\i386 > > Click the "Configure Button", a new dialog will appear. Select the > "Visual Studio 2008" Generator. Click OK. Let that go for a while. Go > get some coffee. When you come back click the "Generate" button. When > that is finished, use "Windows Explorer" to open up C: > \InsightToolkit-3.14.0\i386. Double click "ITK.sln". After Visual > Studio Launches, there will be an "ALL BUILD" project down the left > side. Right click on that, and select "Build" from the menu. Go get > lunch. Come back and ITK is built. > > > > _________________________________________________________ > Mike Jackson mike.jackson at bluequartz.net > BlueQuartz Software www.bluequartz.net > Principal Software Engineer Dayton, Ohio > > On Dec 22, 2009, at 12:03 PM, URI wrote: > >> >> Hello all- >> >> Many of you have probably been following my epic struggles to get ITK >> working under Windows in another thread. I have decided that the >> solution >> to my problem might be more forthcoming if I issue a challenge to >> all the >> Windows users out there. >> >> I realize that many of you have ITK up and running and you have no >> problems >> compiling it. My guess is that you got your systems set up and >> worked out >> the bugs when you started and have just been cruising along since >> then. I >> am trying to get ITK working for the first time and have had nothing >> but >> trouble, and even after sorting out some major mistakes caused by my >> inexperience my errors seem to be confusing to the people who are >> trying to >> help me. So this brings me to the challenge. >> >> I would like some of you Windows users to start fresh on a computer >> that has >> never had ITK or CMake or MinGW or any of that stuff on it and get ITK >> running from scratch, and then tell me step by step what you have >> done. The >> reason I ask you to start with a system that has never had any of >> these >> programs installed is in case there are any hidden configuration >> issues that >> are already set on your existing systems (environment variables, >> registry >> settings, anything like that). >> >> I have tried to get ITK working on two different systems, the first is >> 64-bit Windows 7 and the second is 32-bit Windows XP SP3. I don't >> have any >> particular affinity for any specific compiler, I have been trying to >> use >> MinGW but if there is something else that works (preferably free) I >> am open >> to anything. I think maybe this would be easier than me saying "Ok, >> now I'm >> getting this error" and having people try to figure out what I've done >> wrong. >> >> If someone can accept the challenge please respond with the steps >> you used >> to get ITK up and running from scratch, including things like: >> >> 1) where you downloaded the installation files >> 2) what settings you used when installing each program >> 3) what changes you made (if any) to your PATH variable >> 4) the directory names you used when installing >> 5) how you configured CMake (i.e. which directory did you use for your >> source and bin directories; what variable settings did you use) >> >> >> Basically everything and anything that could potentially cause a >> problem if >> not done correctly by a novice. I can't believe that I'm the only >> open >> source/CMake/ITK novice who has run into these problems, and so I >> think lots >> of people would benefit from these sort of instructions. >> -- >> View this message in context: >> http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4204581.html >> Sent from the ITK Insight Users mailing list archive at Nabble.com. >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4205871.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From mike.jackson at bluequartz.net Tue Dec 22 16:38:22 2009 From: mike.jackson at bluequartz.net (Michael Jackson) Date: Tue, 22 Dec 2009 16:38:22 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261517115634-4205871.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> <1261517115634-4205871.post@n2.nabble.com> Message-ID: <86FCF7F9-A236-4A0C-B424-4F4EE78FCC7C@bluequartz.net> No, You can use Visual Studio Express on Windows 7 x64. It will just build 32 bit applications, which run just fine on both Windows 32 and 64. Let's see, go to www.google.com, type in "Visual Studio Express 2008 Download", and see what comes up. I found in the first few links. Going to that page yields a "less than ideal" user interface, but if you scroll down you can download a small "web installer" for Visual C++ Express. The executable is like 2MB. Download that, and then run that on your windows machine. It will then download what is needed for your machine and install it. _________________________________________________________ Mike Jackson mike.jackson at bluequartz.net BlueQuartz Software www.bluequartz.net Principal Software Engineer Dayton, Ohio On Dec 22, 2009, at 4:25 PM, URI wrote: > > Also, should this work on my 64-bit machine, or does the 32-bit > limitation on > of Visual Studio Express mean that I have to work on a 32-bit > machine only? > > > > Michael Jackson wrote: >> >> I would start off by downloading the Free Visual Studio Express. You >> can only build 32 bit apps with it** but it is known to work for ITK >> and CMake. >> >> Download the Prebuilt Binary for CMake from CMake.org >> Install it (Take all the defaults) >> Download and install VS Express 2008. Use all the defaults for >> installation. >> >> Download and uncompress ITK from sourceforge link. Make sure the >> directory where ITK is uncompressed is C:\InsightToolkit-3.16.0 >> >> Launch "CMake-Gui.exe" >> >> Fill in the "Where is the Source Code" C:\InsightToolkit-3.14.0 >> Fill in the "Where to build the binaries" C: >> \InsightToolkit-3.14.0\i386 >> >> Click the "Configure Button", a new dialog will appear. Select the >> "Visual Studio 2008" Generator. Click OK. Let that go for a while. Go >> get some coffee. When you come back click the "Generate" button. When >> that is finished, use "Windows Explorer" to open up C: >> \InsightToolkit-3.14.0\i386. Double click "ITK.sln". After Visual >> Studio Launches, there will be an "ALL BUILD" project down the left >> side. Right click on that, and select "Build" from the menu. Go get >> lunch. Come back and ITK is built. >> >> >> >> _________________________________________________________ >> Mike Jackson mike.jackson at bluequartz.net >> BlueQuartz Software www.bluequartz.net >> Principal Software Engineer Dayton, Ohio >> >> On Dec 22, 2009, at 12:03 PM, URI wrote: >> >>> >>> Hello all- >>> >>> Many of you have probably been following my epic struggles to get >>> ITK >>> working under Windows in another thread. I have decided that the >>> solution >>> to my problem might be more forthcoming if I issue a challenge to >>> all the >>> Windows users out there. >>> >>> I realize that many of you have ITK up and running and you have no >>> problems >>> compiling it. My guess is that you got your systems set up and >>> worked out >>> the bugs when you started and have just been cruising along since >>> then. I >>> am trying to get ITK working for the first time and have had nothing >>> but >>> trouble, and even after sorting out some major mistakes caused by my >>> inexperience my errors seem to be confusing to the people who are >>> trying to >>> help me. So this brings me to the challenge. >>> >>> I would like some of you Windows users to start fresh on a computer >>> that has >>> never had ITK or CMake or MinGW or any of that stuff on it and get >>> ITK >>> running from scratch, and then tell me step by step what you have >>> done. The >>> reason I ask you to start with a system that has never had any of >>> these >>> programs installed is in case there are any hidden configuration >>> issues that >>> are already set on your existing systems (environment variables, >>> registry >>> settings, anything like that). >>> >>> I have tried to get ITK working on two different systems, the >>> first is >>> 64-bit Windows 7 and the second is 32-bit Windows XP SP3. I don't >>> have any >>> particular affinity for any specific compiler, I have been trying to >>> use >>> MinGW but if there is something else that works (preferably free) I >>> am open >>> to anything. I think maybe this would be easier than me saying "Ok, >>> now I'm >>> getting this error" and having people try to figure out what I've >>> done >>> wrong. >>> >>> If someone can accept the challenge please respond with the steps >>> you used >>> to get ITK up and running from scratch, including things like: >>> >>> 1) where you downloaded the installation files >>> 2) what settings you used when installing each program >>> 3) what changes you made (if any) to your PATH variable >>> 4) the directory names you used when installing >>> 5) how you configured CMake (i.e. which directory did you use for >>> your >>> source and bin directories; what variable settings did you use) >>> >>> >>> Basically everything and anything that could potentially cause a >>> problem if >>> not done correctly by a novice. I can't believe that I'm the only >>> open >>> source/CMake/ITK novice who has run into these problems, and so I >>> think lots >>> of people would benefit from these sort of instructions. >>> -- >>> View this message in context: >>> http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4204581.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4205871.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users From mike.jackson at bluequartz.net Tue Dec 22 16:43:10 2009 From: mike.jackson at bluequartz.net (Michael Jackson) Date: Tue, 22 Dec 2009 16:43:10 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261516761899-4205836.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> <1261516761899-4205836.post@n2.nabble.com> Message-ID: Well, I have setup Windows XP, Windows 7, Windows 7 Pro, Windows 7 Ultimate all from scratch with that exact recipe and I never have any problems. Your case may be different. I know it works on the clean systems that I setup. You may have to "fill in some blanks" but the basic approach is sound. Note in the recipe that there is NOT one usage of the terminal or command prompt or setting of environment variables. It does all "just work"** -- Mike Jackson ** If you install both 32 and 64 bit versions on a single system and want to build both 32 and 64 bit apps against one or the other, then there are some tricks that help out. We are "not there yet" with your setup. On Dec 22, 2009, at 4:19 PM, URI wrote: > > Michael- > > Thanks for the response. Did you take the challenge and build this > from > scratch on a test system? > > Also, can you point me to where you got Free Visual Studio Express? > I don't > want to grab the wrong thing by accident. > > > > > Michael Jackson wrote: >> >> I would start off by downloading the Free Visual Studio Express. You >> can only build 32 bit apps with it** but it is known to work for ITK >> and CMake. >> >> Download the Prebuilt Binary for CMake from CMake.org >> Install it (Take all the defaults) >> Download and install VS Express 2008. Use all the defaults for >> installation. >> >> Download and uncompress ITK from sourceforge link. Make sure the >> directory where ITK is uncompressed is C:\InsightToolkit-3.16.0 >> >> Launch "CMake-Gui.exe" >> >> Fill in the "Where is the Source Code" C:\InsightToolkit-3.14.0 >> Fill in the "Where to build the binaries" C: >> \InsightToolkit-3.14.0\i386 >> >> Click the "Configure Button", a new dialog will appear. Select the >> "Visual Studio 2008" Generator. Click OK. Let that go for a while. Go >> get some coffee. When you come back click the "Generate" button. When >> that is finished, use "Windows Explorer" to open up C: >> \InsightToolkit-3.14.0\i386. Double click "ITK.sln". After Visual >> Studio Launches, there will be an "ALL BUILD" project down the left >> side. Right click on that, and select "Build" from the menu. Go get >> lunch. Come back and ITK is built. >> >> >> >> _________________________________________________________ >> Mike Jackson mike.jackson at bluequartz.net >> BlueQuartz Software www.bluequartz.net >> Principal Software Engineer Dayton, Ohio >> >> On Dec 22, 2009, at 12:03 PM, URI wrote: >> >>> >>> Hello all- >>> >>> Many of you have probably been following my epic struggles to get >>> ITK >>> working under Windows in another thread. I have decided that the >>> solution >>> to my problem might be more forthcoming if I issue a challenge to >>> all the >>> Windows users out there. >>> >>> I realize that many of you have ITK up and running and you have no >>> problems >>> compiling it. My guess is that you got your systems set up and >>> worked out >>> the bugs when you started and have just been cruising along since >>> then. I >>> am trying to get ITK working for the first time and have had nothing >>> but >>> trouble, and even after sorting out some major mistakes caused by my >>> inexperience my errors seem to be confusing to the people who are >>> trying to >>> help me. So this brings me to the challenge. >>> >>> I would like some of you Windows users to start fresh on a computer >>> that has >>> never had ITK or CMake or MinGW or any of that stuff on it and get >>> ITK >>> running from scratch, and then tell me step by step what you have >>> done. The >>> reason I ask you to start with a system that has never had any of >>> these >>> programs installed is in case there are any hidden configuration >>> issues that >>> are already set on your existing systems (environment variables, >>> registry >>> settings, anything like that). >>> >>> I have tried to get ITK working on two different systems, the >>> first is >>> 64-bit Windows 7 and the second is 32-bit Windows XP SP3. I don't >>> have any >>> particular affinity for any specific compiler, I have been trying to >>> use >>> MinGW but if there is something else that works (preferably free) I >>> am open >>> to anything. I think maybe this would be easier than me saying "Ok, >>> now I'm >>> getting this error" and having people try to figure out what I've >>> done >>> wrong. >>> >>> If someone can accept the challenge please respond with the steps >>> you used >>> to get ITK up and running from scratch, including things like: >>> >>> 1) where you downloaded the installation files >>> 2) what settings you used when installing each program >>> 3) what changes you made (if any) to your PATH variable >>> 4) the directory names you used when installing >>> 5) how you configured CMake (i.e. which directory did you use for >>> your >>> source and bin directories; what variable settings did you use) >>> >>> >>> Basically everything and anything that could potentially cause a >>> problem if >>> not done correctly by a novice. I can't believe that I'm the only >>> open >>> source/CMake/ITK novice who has run into these problems, and so I >>> think lots >>> of people would benefit from these sort of instructions. >>> -- >>> View this message in context: >>> http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4204581.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4205836.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users From mike.jackson at bluequartz.net Tue Dec 22 16:45:27 2009 From: mike.jackson at bluequartz.net (Michael Jackson) Date: Tue, 22 Dec 2009 16:45:27 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261516761899-4205836.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> <1261516761899-4205836.post@n2.nabble.com> Message-ID: <1EE28F94-9305-47BB-B9D2-D8A584A9E3E6@bluequartz.net> will give you the entire install DVD for all the express products. I suggest you try that out. I got there from here Good Luck. -- Mike Jackson On Dec 22, 2009, at 4:19 PM, URI wrote: > > Michael- > > Thanks for the response. Did you take the challenge and build this > from > scratch on a test system? > > Also, can you point me to where you got Free Visual Studio Express? > I don't > want to grab the wrong thing by accident. > > > > > Michael Jackson wrote: >> >> I would start off by downloading the Free Visual Studio Express. You >> can only build 32 bit apps with it** but it is known to work for ITK >> and CMake. >> >> Download the Prebuilt Binary for CMake from CMake.org >> Install it (Take all the defaults) >> Download and install VS Express 2008. Use all the defaults for >> installation. >> >> Download and uncompress ITK from sourceforge link. Make sure the >> directory where ITK is uncompressed is C:\InsightToolkit-3.16.0 >> >> Launch "CMake-Gui.exe" >> >> Fill in the "Where is the Source Code" C:\InsightToolkit-3.14.0 >> Fill in the "Where to build the binaries" C: >> \InsightToolkit-3.14.0\i386 >> >> Click the "Configure Button", a new dialog will appear. Select the >> "Visual Studio 2008" Generator. Click OK. Let that go for a while. Go >> get some coffee. When you come back click the "Generate" button. When >> that is finished, use "Windows Explorer" to open up C: >> \InsightToolkit-3.14.0\i386. Double click "ITK.sln". After Visual >> Studio Launches, there will be an "ALL BUILD" project down the left >> side. Right click on that, and select "Build" from the menu. Go get >> lunch. Come back and ITK is built. >> >> >> >> _________________________________________________________ >> Mike Jackson mike.jackson at bluequartz.net >> BlueQuartz Software www.bluequartz.net >> Principal Software Engineer Dayton, Ohio >> >> On Dec 22, 2009, at 12:03 PM, URI wrote: >> >>> >>> Hello all- >>> >>> Many of you have probably been following my epic struggles to get >>> ITK >>> working under Windows in another thread. I have decided that the >>> solution >>> to my problem might be more forthcoming if I issue a challenge to >>> all the >>> Windows users out there. >>> >>> I realize that many of you have ITK up and running and you have no >>> problems >>> compiling it. My guess is that you got your systems set up and >>> worked out >>> the bugs when you started and have just been cruising along since >>> then. I >>> am trying to get ITK working for the first time and have had nothing >>> but >>> trouble, and even after sorting out some major mistakes caused by my >>> inexperience my errors seem to be confusing to the people who are >>> trying to >>> help me. So this brings me to the challenge. >>> >>> I would like some of you Windows users to start fresh on a computer >>> that has >>> never had ITK or CMake or MinGW or any of that stuff on it and get >>> ITK >>> running from scratch, and then tell me step by step what you have >>> done. The >>> reason I ask you to start with a system that has never had any of >>> these >>> programs installed is in case there are any hidden configuration >>> issues that >>> are already set on your existing systems (environment variables, >>> registry >>> settings, anything like that). >>> >>> I have tried to get ITK working on two different systems, the >>> first is >>> 64-bit Windows 7 and the second is 32-bit Windows XP SP3. I don't >>> have any >>> particular affinity for any specific compiler, I have been trying to >>> use >>> MinGW but if there is something else that works (preferably free) I >>> am open >>> to anything. I think maybe this would be easier than me saying "Ok, >>> now I'm >>> getting this error" and having people try to figure out what I've >>> done >>> wrong. >>> >>> If someone can accept the challenge please respond with the steps >>> you used >>> to get ITK up and running from scratch, including things like: >>> >>> 1) where you downloaded the installation files >>> 2) what settings you used when installing each program >>> 3) what changes you made (if any) to your PATH variable >>> 4) the directory names you used when installing >>> 5) how you configured CMake (i.e. which directory did you use for >>> your >>> source and bin directories; what variable settings did you use) >>> >>> >>> Basically everything and anything that could potentially cause a >>> problem if >>> not done correctly by a novice. I can't believe that I'm the only >>> open >>> source/CMake/ITK novice who has run into these problems, and so I >>> think lots >>> of people would benefit from these sort of instructions. >>> -- >>> View this message in context: >>> http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4204581.html >>> Sent from the ITK Insight Users mailing list archive at Nabble.com. >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4205836.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users From kuoxgx at gmail.com Tue Dec 22 23:01:57 2009 From: kuoxgx at gmail.com (Hsiang-Chi Kuo) Date: Tue, 22 Dec 2009 23:01:57 -0500 Subject: [Insight-users] acces 3D pixel value with iterator In-Reply-To: References: Message-ID: Hi Lassi, I add try { reader->Update(); } catch (itk::ExceptionObject & e) { std::cerr << "exception in file reader " << std::endl; std::cerr << e << std::endl; return EXIT_FAILURE; } after reader->SetFileName( argv[1] ); Now the results look reasonable. Thanks for your help. Howard On Tue, Dec 22, 2009 at 6:15 AM, Lassi Paavolainen wrote: > Hi Hsiang-Chi, > > Maybe adding: image->Update; between these lines would work > image = reader->GetOutput(); > IteratorType it( image, image->GetLargestPossibleRegion() ); > > I think you can also change > InputImageType::Pointer image = InputImageType::New(); > to > InputImageType::Pointer image; > > There is no need to create new image as you get it from reader. > > Lassi > > On Mon, 21 Dec 2009, Hsiang-Chi Kuo wrote: > > Hi, >> >> I am trying to access the maximum and minimum pixel value of a 3D image >> with >> the following code, however, the result dose not look right (maximum 0, >> minimum 1000). Can anyone give me a hint why this code dose not work? >> >> Thanks a lot, >> >> Howard >> >> >> >> typedef unsigned int InputPixelType; >> const unsigned int Dimension = 3; >> >> typedef unsigned int OutputPixelType; >> >> typedef itk::Image< OutputPixelType, Dimension > OutputImageType; >> >> typedef itk::Image< InputPixelType, Dimension > InputImageType; >> >> typedef itk::ImageFileReader< InputImageType > ReaderType; >> >> ReaderType::Pointer reader = ReaderType::New(); >> reader->SetFileName( argv[1] ); >> >> typedef itk::ImageRegionIterator< InputImageType > IteratorType; >> InputImageType::Pointer image = InputImageType::New(); >> image = reader->GetOutput(); >> IteratorType it( image, image->GetLargestPossibleRegion() ); >> int max=0; >> int min=10000; >> >> for (it.GoToBegin();!it.IsAtEnd();++it) >> { >> int temp = it.Get(); >> if (temp>max) >> max=temp; >> if (temp> min=temp; >> } >> std::cout << "min=" << min <> std::cout << "max=" << max <> >> >> >> >> >> > -- > Lassi Paavolainen, M.Sc > Software Engineer, PhD Student in Computer Science > BioImageXD (http://www.bioimagexd.net) > University of Jyv?skyl? > lassi.paavolainen at jyu.fi -------------- next part -------------- An HTML attachment was scrubbed... URL: From liangxi1986317 at hotmail.com Wed Dec 23 03:05:18 2009 From: liangxi1986317 at hotmail.com (Xi LIANG) Date: Wed, 23 Dec 2009 16:05:18 +0800 Subject: [Insight-users] mask on fix image and moving image Message-ID: Dear all, My moving breast MRI image (without ribs) is a sub-region of the fix image (with ribs). Without using any mask, the output image is generated by using DeformableRegistraion8.cxx in the sample code. However, the output image shows some rib like shape, which is undesirable. I am thinking to use mask to fix this problem. There is an example in ImageRegistration8.cxx which apply FixImageMask in the Metric. My question is when should I use mask on fix/moving images, and how this can prevent the output image has extra "ribs"? I also guess that the linear interpolation could also be the reason, but not sure. Regards, Xi _________________________________________________________________ Windows Live Hotmail: Your friends can get your Facebook updates, right from Hotmail?. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_4:092009 -------------- next part -------------- An HTML attachment was scrubbed... URL: From white at mpi-cbg.de Wed Dec 23 04:13:15 2009 From: white at mpi-cbg.de (Daniel James White) Date: Wed, 23 Dec 2009 10:13:15 +0100 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: References: Message-ID: <3BE8FA4C-4AFC-4A09-B4AD-FDA9FAF117BA@mpi-cbg.de> Hi Uri, On Dec 22, 2009, at 5:56 PM, insight-users-request at itk.org wrote: > Message: 4 > Date: Tue, 22 Dec 2009 09:03:24 -0800 (PST) > From: URI > Subject: [Insight-users] A challenge to all Windows users > To: insight-users at itk.org > Message-ID: <1261501404217-4204581.post at n2.nabble.com> > Content-Type: text/plain; charset=us-ascii > > > Hello all- > > Many of you have probably been following my epic struggles to get ITK > working under Windows in another thread. I have decided that the > solution > to my problem might be more forthcoming if I issue a challenge to > all the > Windows users out there. > 1) where you downloaded the installation files > 2) what settings you used when installing each program > 3) what changes you made (if any) to your PATH variable > 4) the directory names you used when installing > 5) how you configured CMake (i.e. which directory did you use for your > source and bin directories; what variable settings did you use) > > > Basically everything and anything that could potentially cause a > problem if > not done correctly by a novice. I can't believe that I'm the only > open > source/CMake/ITK novice who has run into these problems, and so I > think lots > of people would benefit from these sort of instructions. > -- Once you find all this stuff out, do everyone a favor and put the info on the wiki for all to see http://www.itk.org/Wiki/ITK cheers Dan Dr. Daniel James White BSc. (Hons.) PhD Senior Microscopist / Image Visualisation, Processing and Analysis Light Microscopy and Image Processing Facilities Max Planck Institute of Molecular Cell Biology and Genetics Pfotenhauerstrasse 108 01307 DRESDEN Germany +49 (0)15114966933 (German Mobile) +49 (0)351 210 2627 (Work phone at MPI-CBG) +49 (0)351 210 1078 (Fax MPI-CBG LMF) http://www.bioimagexd.net BioImageXD http://pacific.mpi-cbg.de Fiji - is just ImageJ (Batteries Included) http://www.chalkie.org.uk Dan's Homepages https://ifn.mpi-cbg.de Dresden Imaging Facility Network dan (at) chalkie.org.uk ( white (at) mpi-cbg.de ) From jp.ineb.dsi at gmail.com Wed Dec 23 06:59:52 2009 From: jp.ineb.dsi at gmail.com (Jesus Piairo) Date: Wed, 23 Dec 2009 11:59:52 +0000 Subject: [Insight-users] Image caracteristics Message-ID: <30f968670912230359t556d0e59x766cdb2570e7e4c2@mail.gmail.com> Hello all!! In my project i need to extract some features from image - they are energy, contrast, entropy, homogeneity; Entropy appears in ItkSoftwareGuide, but the other features don?t. Can anyone help me? thanks and merry christmas -------------- next part -------------- An HTML attachment was scrubbed... URL: From hobbsk at ohiou.edu Wed Dec 23 10:13:39 2009 From: hobbsk at ohiou.edu (Kevin H. Hobbs) Date: Wed, 23 Dec 2009 10:13:39 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261501404217-4204581.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> Message-ID: <4B3233A3.2030605@ohiou.edu> On 12/22/2009 12:03 PM, URI wrote: >I would like some of you Windows users to start fresh on a computer that has > never had ITK or CMake or MinGW or any of that stuff on it and get ITK > running from scratch, and then tell me step by step what you have done. I am a long haired and bearded Linux guy who hasn't used Windows regularly since Windows 98 so not only was the system unspoiled but so was I. I used Windows 7 32-bit. I'm typing this up after the fact because I wasn't sure it would work at all given how much trouble you had. So I'm sorry if I miss something. I downloaded the mingw installer MinGW-5.1.6.exe. http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download I downloaded the CMake installer. http://www.cmake.org/files/v2.8/cmake-2.8.0-win32-x86.exe I downloaded the Insight source zip file. http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.16.0.zip I installed mingw with the c++ compiler added to the default options. I added ";C:\MinGW\bin" at the end of the Windows PATH. I installed CMake letting the installer add to PATH. I unzipped the Insight source. I created a Build directory outside of the Insight source directory. I ran the CMake GUI. I browsed to the Insight source directory. I browsed to the build directory. I hit configure. I selected "MinGW MakeFiles"... ... I waited... ... I waited... I hit configure again. I hit generate. I opened up a windows command prompt. I cd'ed to my build directory. I typed "mingw32-make" and hit enter. I waited... The build went fine, and it is testing itself now. > reason I ask you to start with a system that has never had any of these > programs installed is in case there are any hidden configuration issues that > are already set on your existing systems (environment variables, registry > settings, anything like that). > > I have tried to get ITK working on two different systems, the first is > 64-bit Windows 7 and the second is 32-bit Windows XP SP3. I don't have any > particular affinity for any specific compiler, I have been trying to use > MinGW but if there is something else that works (preferably free) I am open > to anything. I think maybe this would be easier than me saying "Ok, now I'm > getting this error" and having people try to figure out what I've done > wrong. > > If someone can accept the challenge please respond with the steps you used > to get ITK up and running from scratch, including things like: > > 1) where you downloaded the installation files > 2) what settings you used when installing each program > 3) what changes you made (if any) to your PATH variable > 4) the directory names you used when installing > 5) how you configured CMake (i.e. which directory did you use for your > source and bin directories; what variable settings did you use) > > > Basically everything and anything that could potentially cause a problem if > not done correctly by a novice. I can't believe that I'm the only open > source/CMake/ITK novice who has run into these problems, and so I think lots > of people would benefit from these sort of instructions. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 252 bytes Desc: OpenPGP digital signature URL: From circass at gmail.com Wed Dec 23 10:49:28 2009 From: circass at gmail.com (=?ISO-8859-9?B?Q2FudGVrIMdFVN1O?=) Date: Wed, 23 Dec 2009 17:49:28 +0200 Subject: [Insight-users] Subscription Message-ID: <8364df7b0912230749q255dd3c9iab754bdaef887a8a@mail.gmail.com> circass at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From circass at gmail.com Wed Dec 23 10:51:23 2009 From: circass at gmail.com (circass) Date: Wed, 23 Dec 2009 07:51:23 -0800 (PST) Subject: [Insight-users] Fills Black to Empty Spaces Message-ID: <26903157.post@talk.nabble.com> Hi all, i m trying to render a volume from a dicom serie and mostly i did but at volume display section the empty areas are Black and not transparent so i cant see the 3D volume as i want. What can cause this ? How can i fix this ? Thanx My Code is here typedef itk::Image ImageNDType; typedef itk::ImageSeriesReader ReaderType; ReaderType::Pointer reader = ReaderType::New(); itk::DICOMImageIO2::Pointer io = itk::DICOMImageIO2::New(); // Get the DICOM filenames from the directory itk::DICOMSeriesFileNames::Pointer names = itk::DICOMSeriesFileNames::New(); names->SetDirectory(directoryPath);//directoryPath is the directory path reader->SetFileNames(names->GetFileNames()); reader->SetImageIO(io); std::cout << names; reader->Update(); //reader->GetOutput()->Print(std::cout); typedef itk::VTKImageExport< ImageNDType> ExportFilterType; ExportFilterType::Pointer itkExporter = ExportFilterType::New(); itkExporter->SetInput( reader->GetOutput() ); vtkImageImport* vtkImporter = vtkImageImport::New(); ConnectPipelines(itkExporter, vtkImporter); typedef itk::VTKImageImport< ImageNDType > ImportFilterType; ImportFilterType::Pointer itkImporter = ImportFilterType::New(); vtkImageExport* vtkExporter = vtkImageExport::New(); ConnectPipelines(vtkExporter, itkImporter); vtkPiecewiseFunction *opacityTransferFunction = vtkPiecewiseFunction::New(); vtkExporter->SetInput(vtkImporter->GetOutput()); vtkVolume* volume = vtkVolume::New(); vtkVolumeProperty* volumeProperty = vtkVolumeProperty::New(); vtkVolumeTextureMapper3D* volumeMapper = vtkVolumeTextureMapper3D::New(); vtkFixedPointVolumeRayCastMapper* volumeMapperSoftware = vtkFixedPointVolumeRayCastMapper::New(); opacityTransferFunction->Crop(); opacityTransferFunction->AddSegment(0.1,0.4,0.7,0.2); volumeProperty->SetScalarOpacity(opacityTransferFunction); volumeProperty->SetInterpolationTypeToLinear(); // i tried that but changed nothing.. //volumeProperty->ShadeOff(); volume->SetProperty(volumeProperty); volumeMapper->SetInput(vtkImporter->GetOutput()); volumeMapper->CroppingOn(); volumeMapperSoftware->SetInput(vtkImporter->GetOutput()); volume->SetMapper(volumeMapperSoftware); vtkInteractorStyleTrackballCamera * interactorStyle = vtkInteractorStyleTrackballCamera::New(); vtkRenderer* renderer = vtkRenderer::New(); vtkRenderWindow* renWin = vtkRenderWindow::New(); vtkRenderWindowInteractor* iren = vtkRenderWindowInteractor::New(); volume->SetVisibility(4); renderer->AddVolume(volume); renWin->SetSize(500, 500); renWin->AddRenderer(renderer); iren->SetRenderWindow(renWin); iren->SetInteractorStyle( interactorStyle ); renderer->SetBackground(0.4392, 0.5020, 0.5647); renWin->Render(); iren->Start(); -- View this message in context: http://old.nabble.com/Fills-Black-to-Empty-Spaces-tp26903157p26903157.html Sent from the ITK - Users mailing list archive at Nabble.com. From zallen at wheelinghospital.com Wed Dec 23 11:38:14 2009 From: zallen at wheelinghospital.com (URI) Date: Wed, 23 Dec 2009 08:38:14 -0800 (PST) Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <4B3233A3.2030605@ohiou.edu> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> Message-ID: <1261586294256-4209470.post@n2.nabble.com> Kevin- This is exactly what I'm looking for thanks. Unfortunately this didn't work for me. As soon as I hit "Configure" for the first time in CMake I get the following (all in red): =================================================== CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_C_COMPILER_ENV_VAR CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_C_COMPILER CMake Error: Could not find cmake module file:C:/ITKBuild/CMakeFiles/CMakeCCompiler.cmake CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_CXX_COMPILER_ENV_VAR CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_CXX_COMPILER CMake Error: Could not find cmake module file:C:/ITKBuild/CMakeFiles/CMakeCXXCompiler.cmake CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage Configuring incomplete, errors occurred! =================================================== I even tried this on two different computers (Win7 64-bit and a WinXP 32-bit machine that I had never installed any of these programs on before, so I know that one is unspoiled). I see by your addition the path variable that you installed MinGW to C:\MinGW which is where I installed it as well. I also double-checked that my path variable has additions for both MinGW and CMake. Let me ask you for a few more specifics in your instructions: 1. You said "I installed mingw with the c++ compiler added to the default options." Please tell me all options that you selected. When I run the installer the only default that is selected is "MinGW base tools", so that means the only things I had selected were "MinGW base tools" and "g++ compiler". 2. To what directory did you install CMake? The default for me is ?C:\Program Files (x86)\CMake 2.8?, should I use this? 3. When you unzipped the Insight source, where did you put it? 4. What is the exact name and path of the build directory you used? 5. When configuring CMake you said "I browsed to the Insight source directory." Please specify exactly which directory you used. It seems like it should be obvious, but I have made mistakes here in the past. 6. After hitting "Configure" you say to choose "MinGW MakeFiles". I also see four options to choose from: Use default native compilers, Specify native compiler, etc. The first one is the default, is this what you used? On 12/22/2009 12:03 PM, URI wrote: I am a long haired and bearded Linux guy who hasn't used Windows regularly since Windows 98 so not only was the system unspoiled but so was I. I used Windows 7 32-bit. I'm typing this up after the fact because I wasn't sure it would work at all given how much trouble you had. So I'm sorry if I miss something. I downloaded the mingw installer MinGW-5.1.6.exe. http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download I downloaded the CMake installer. http://www.cmake.org/files/v2.8/cmake-2.8.0-win32-x86.exe I downloaded the Insight source zip file. http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.16.0.zip I installed mingw with the c++ compiler added to the default options. I added ";C:\MinGW\bin" at the end of the Windows PATH. I installed CMake letting the installer add to PATH. I unzipped the Insight source. I created a Build directory outside of the Insight source directory. I ran the CMake GUI. I browsed to the Insight source directory. I browsed to the build directory. I hit configure. I selected "MinGW MakeFiles"... ... I waited... ... I waited... I hit configure again. I hit generate. I opened up a windows command prompt. I cd'ed to my build directory. I typed "mingw32-make" and hit enter. I waited... The build went fine, and it is testing itself now. -- View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4209470.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From mike.jackson at bluequartz.net Wed Dec 23 12:00:10 2009 From: mike.jackson at bluequartz.net (Michael Jackson) Date: Wed, 23 Dec 2009 12:00:10 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261586294256-4209470.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> Message-ID: <162CFB16-571E-4272-AD7F-CCB1E597C963@bluequartz.net> What EXACTLY is your PATH variable at this point? you should have added ";C:\MinGW\bin" and NOT just ";C:\MinGW" to your PATH. The PATH variable says where to find executables at. There are NO executables in ";C:\MinGW" but there are in ";C:\MinGW\bin". Which is what CMake is telling you in a round about sort of way. Do this. Open a "Command Prompt" and type "gcc". What happens? type "mingw32-make". What happens? Report back. _________________________________________________________ Mike Jackson mike.jackson at bluequartz.net BlueQuartz Software www.bluequartz.net Principal Software Engineer Dayton, Ohio On Dec 23, 2009, at 11:38 AM, URI wrote: > I even tried this on two different computers (Win7 64-bit and a > WinXP 32-bit > machine that I had never installed any of these programs on before, > so I > know that one is unspoiled). I see by your addition the path > variable that > you installed MinGW to C:\MinGW which is where I installed it as > well. I > also double-checked that my path variable has additions for both > MinGW and > CMake. From mike.jackson at bluequartz.net Wed Dec 23 12:01:16 2009 From: mike.jackson at bluequartz.net (Michael Jackson) Date: Wed, 23 Dec 2009 12:01:16 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261586294256-4209470.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> Message-ID: <340FC919-9F9C-48FB-B547-55E9764364BD@bluequartz.net> What exactly is it about MinGW that you like? Going down this path is MUCH more difficult than installing VS from Microsoft. _________________________________________________________ Mike Jackson mike.jackson at bluequartz.net BlueQuartz Software www.bluequartz.net Principal Software Engineer Dayton, Ohio On Dec 23, 2009, at 11:38 AM, URI wrote: > > Kevin- > > This is exactly what I'm looking for thanks. Unfortunately this > didn't work > for me. As soon as I hit "Configure" for the first time in CMake I > get the > following (all in red): > > =================================================== > CMake Error: CMake was unable to find a build program corresponding to > "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably > need to > select a different build tool. > CMake Error: CMake was unable to find a build program corresponding to > "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably > need to > select a different build tool. > CMake Error: Error required internal CMake variable not set, cmake > may be > not be built correctly. > Missing variable is: > CMAKE_C_COMPILER_ENV_VAR > CMake Error: Error required internal CMake variable not set, cmake > may be > not be built correctly. > Missing variable is: > CMAKE_C_COMPILER > CMake Error: Could not find cmake module > file:C:/ITKBuild/CMakeFiles/CMakeCCompiler.cmake > CMake Error: Error required internal CMake variable not set, cmake > may be > not be built correctly. > Missing variable is: > CMAKE_CXX_COMPILER_ENV_VAR > CMake Error: Error required internal CMake variable not set, cmake > may be > not be built correctly. > Missing variable is: > CMAKE_CXX_COMPILER > CMake Error: Could not find cmake module > file:C:/ITKBuild/CMakeFiles/CMakeCXXCompiler.cmake > CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage > CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage > Configuring incomplete, errors occurred! > =================================================== > > I even tried this on two different computers (Win7 64-bit and a > WinXP 32-bit > machine that I had never installed any of these programs on before, > so I > know that one is unspoiled). I see by your addition the path > variable that > you installed MinGW to C:\MinGW which is where I installed it as > well. I > also double-checked that my path variable has additions for both > MinGW and > CMake. > > > Let me ask you for a few more specifics in your instructions: > > 1. You said "I installed mingw with the c++ compiler added to the > default > options." Please tell me all options that you selected. When I run > the > installer the only default that is selected is "MinGW base tools", > so that > means the only things I had selected were "MinGW base tools" and "g++ > compiler". > > 2. To what directory did you install CMake? The default for me is > ?C:\Program Files (x86)\CMake 2.8?, should I use this? > > 3. When you unzipped the Insight source, where did you put it? > > 4. What is the exact name and path of the build directory you used? > > 5. When configuring CMake you said "I browsed to the Insight source > directory." Please specify exactly which directory you used. It > seems like > it should be obvious, but I have made mistakes here in the past. > > 6. After hitting "Configure" you say to choose "MinGW MakeFiles". I > also > see four options to choose from: Use default native compilers, Specify > native compiler, etc. The first one is the default, is this what > you used? > > > > > On 12/22/2009 12:03 PM, URI wrote: > > I am a long haired and bearded Linux guy who hasn't used Windows > regularly since Windows 98 so not only was the system unspoiled but so > was I. I used Windows 7 32-bit. > > I'm typing this up after the fact because I wasn't sure it would > work at > all given how much trouble you had. So I'm sorry if I miss something. > > I downloaded the mingw installer MinGW-5.1.6.exe. > http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download > > I downloaded the CMake installer. > http://www.cmake.org/files/v2.8/cmake-2.8.0-win32-x86.exe > > I downloaded the Insight source zip file. > http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.16.0.zip > > > > I installed mingw with the c++ compiler added to the default options. > I added ";C:\MinGW\bin" at the end of the Windows PATH. > > I installed CMake letting the installer add to PATH. > > I unzipped the Insight source. > I created a Build directory outside of the Insight source directory. > > I ran the CMake GUI. > I browsed to the Insight source directory. > I browsed to the build directory. > I hit configure. > I selected "MinGW MakeFiles"... > ... > I waited... > ... > I waited... > I hit configure again. > I hit generate. > > I opened up a windows command prompt. > I cd'ed to my build directory. > I typed "mingw32-make" and hit enter. > I waited... > > The build went fine, and it is testing itself now. > > > -- > View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4209470.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users From luis.ibanez at kitware.com Wed Dec 23 13:32:13 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Wed, 23 Dec 2009 13:32:13 -0500 Subject: [Insight-users] =?windows-1252?q?Fwd=3A_=5B1000_Functional_Connec?= =?windows-1252?q?tomes_Project_News=5D_Data_Release=3A_=911000_Fun?= =?windows-1252?q?ctional_Connectoms=92_Project?= In-Reply-To: References: Message-ID: ---------- Forwarded message ---------- From: Date: Wed, Dec 23, 2009 at 11:24 AM Subject: [1000 Functional Connectomes Project News] Data Release: ?1000 Functional Connectoms? Project To: noreply at www.nitrc.org A new news bulletin has been posted. ?You may read and respond to this news item at: http://www.nitrc.org/forum/forum.php?forum_id=1321 On behalf of the ?1000 Functional Connectomes? Project, we are pleased to announce the unrestricted public release of 1200+ ?resting state? functional MRI datasets independently collected at 35 sites ( http://www.nitrc.org/projects/fcon_1000/ ). ?All datasets have been generously donated by the principal investigators from the member sites, for the purpose of providing the broader imaging community complete access to a large-scale functional imaging dataset. Age, sex and imaging center information are provided for each of the datasets included in the repository. In accordance with HIPAA guidelines, all datasets are anonymous, with no protected health information included. We anticipate this data-sharing effort will equip researchers with a means of exploring and refining ?resting state? functional MRI approaches, and facilitate the growing ethos of sharing and collaboration among imagers. Repository Details: The image repository for the ?1000 Functional Connectomes? Project is located at: http://www.nitrc.org/projects/fcon_1000/. Functional imaging datasets are uniformly organized using the NIFTI image format (orientation: RPI; TR information set in files). All functional datasets provided by contributors have been added to the repository without modification, with the exception of conversion to NIFTI format and to a uniform orientation. Anatomical images have undergone face scrambling to protect the identity of participants. Data from each site in the repository can be downloaded individually to provide maximal flexibility to users. Age and sex information is provided for all datasets. Disclaimer: ?The ?1000 Functional Connectomes? Project datasets are provided freely without assurance or qualifications, regardless of data quality or appropriateness for specific uses by repository data recipients. Data Citation: As the data-release is unrestricted, researchers are free to publish with any portion of the dataset they choose. ?We kindly request that the project and specific datasets selected for inclusion in analyses be cited appropriately. An initial publication demonstrating the feasibility of data-pooling and data exploration with the aggregate ?1000 Functional Connectomes? Project dataset is currently in submission (title: ?Towards Discovery Science of Human Brain Function?). Sincerely, Bharat B. Biswal and Michael P. Milham ?(Co-Founders) PROJECT ORGANIZATION: ===================== Data Preparation/Organization: Maarten (?The Belgian Workhorse?) Mennes ------------------------------------- Steering Committee: ------------------------- Bharat Biswal (chair) Randy L. Buckner James S. ?Hyde Rolf Kotter Michael P. Milham (coordinating secretary) Marcus E. Raichle Arno Villringer Yu-Feng Zang Consigliere: ?F. Xavier Castellanos -------------- Contributors: ---------------- Ann Arbor, MI, USA (Christopher S. Monk/Rachael D. Seidler/Scott J. Peltier) Atlanta, GA, USA (Helen S. Mayberg) Baltimore, MD, USA (James J. Pekar/Stewart H. Mostofsky) Bangor, UK (Stan Colcombe) Beijing, China (Yu-Feng Zang) Beijing, China (Xu-Chu Weng) Berlin, Germany (Sein Schmidt) Berlin, Germany (Daniel Margulies) Bethesda, MD, USA (Monique Ernst) Cambridge, MA, USA (Randy L. Buckner) Cambridge, MA, USA (Susan Whitfield-Gabrieli) Cleveland, OH, USA (Mark J. Lowe) Dallas, TX, USA (Bart Rypma) Durham, NC, USA (Lihong Wang) Durham, NC, USA (David J. Madden) Hvidovre, Denmark (Anne-Marie Dogonowski/Kristoffer Madsen) Leiden, Netherlands (Serge A. R. B. Rombouts) Leipzig, Germany (Arno Villringer) London, Ontario, Canada (Peter Williamson) Magdeburg, Germany (Martin Walter) Milwaukee, WI, USA (Shi-Jiang Li) Munchen, Germany (Christian Sorg/Valentin Riedl) Nanjing, China (Gao-Jun Teng/Hong-Ying Zhang) New Haven, CT, USA (Michelle Hampson) New York, NY, USA (Michael P. Milham/F. Xavier Castellanos) Newark, NJ, USA (Bharat B. Biswal) Orangeburg, NY, USA (Matthew J. Hoptman) Oulu, Finland (Vesa J. Kiviniemi/Juha Veijola) Oxford, UK (Steve M. Smith/Clare Mackay) Pittsburgh, PA, USA (Greg Siegle) Portland, OR, USA (Damien Fair/Bonnie Nagel) Queensland, Australia (Katie McMahon) Taipei, Taiwan (Ching-Po Lin) Saint Louis, MO, USA (Bradley L. Schlaggar/Steven E. Petersen) Vienna, Austria (Christian Windischberger) Project Support/Funding: ------------------------------ Financial support for the ?1000 Functional Connectomes? project was provided by grants to F. Xavier Castellanos and Michael P.Milham from the following: NIMH (Castellanos: R01MH083246; RO1MH081218), NIDA (Clare Kelly; R03DA024775; Castellanos: R01DA016979), and Autism Speaks. ?Also, grants to Bharat Biswal from NINDS (R01NS049176) and to Jonathan S. Adelstein from the Howard Hughes Medical Institute, as well as gifts to the NYU Child Study Center from the Stavros Niarchos Foundation, Leon Levy Foundation, Joseph P. Healy, Linda and Richard Schaps, Jill and Bob Smith, and the endowment provided by Phyllis Green and Randolph C?wen. NITRC is funded by the NIH Blueprint for Neurosciences Research (neuroscienceblueprint.nih.gov) Contract No.:N02-EB-6-4281 to TCG, Inc. ______________________________________________________________________ You received this email because you chose to monitor NITRC Community news. Should you wish to stop monitoring this group's news, log into NITRC and visit: http://www.nitrc.org/news/monitor.php?group_id=296&stop=1 -- the NITRC team From hobbsk at ohiou.edu Wed Dec 23 14:21:30 2009 From: hobbsk at ohiou.edu (Kevin H. Hobbs) Date: Wed, 23 Dec 2009 14:21:30 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261586294256-4209470.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> Message-ID: <4B326DBA.8060805@ohiou.edu> On 12/23/2009 11:38 AM, URI wrote: > > > Let me ask you for a few more specifics in your instructions: > > 1. You said "I installed mingw with the c++ compiler added to the default > options." Please tell me all options that you selected. When I run the > installer the only default that is selected is "MinGW base tools", so that > means the only things I had selected were "MinGW base tools" and "g++ > compiler". That's correct. I added the C++ compiler to the default options. > > 2. To what directory did you install CMake? I installed CMake in it's default location: "C:\Program Files\CMake 2.8" The default for me is > ?C:\Program Files (x86)\CMake 2.8?, should I use this? > The default should be fine. > 3. When you unzipped the Insight source, where did you put it? > C:\Users\hooper\Desktop > 4. What is the exact name and path of the build directory you used? > C:\Users\hooper\Desktop\InsightToolkit-3.16.0\Build > 5. When configuring CMake you said I was in the CMake GUI. "I browsed to the Insight source > directory." Please specify exactly which directory you used. It seems like > it should be obvious, but I have made mistakes here in the past. I browsed to the directory : C:\Users\hooper\Desktop\InsightToolkit-3.16.0\InsightToolkit-3.16.0 > > 6. After hitting "Configure" you say to choose "MinGW MakeFiles". I also > see four options to choose from: Use default native compilers, Specify > native compiler, etc. The first one is the default, is this what you used? > Yes. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 252 bytes Desc: OpenPGP digital signature URL: From zallen at wheelinghospital.com Thu Dec 24 05:21:24 2009 From: zallen at wheelinghospital.com (URI) Date: Thu, 24 Dec 2009 02:21:24 -0800 (PST) Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <162CFB16-571E-4272-AD7F-CCB1E597C963@bluequartz.net> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> <162CFB16-571E-4272-AD7F-CCB1E597C963@bluequartz.net> Message-ID: <1261650084881-4212686.post@n2.nabble.com> I added ";C:\MinGW\bin" to my path, just as Kevin instructed. CMake added itself to the path, so the last few entries in my path variable are: C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\MinGW\bin;C:\Program Files (x86)\CMake 2.8\bin I left the ATI entry there so you can see them in context. If I type "gcc" in a command prompt I get: gcc: no input files If I type "mingw32-make" I get: 'mingw32-make' is not recognized as an internal or external command. Which I think makes sense, mingw32-make should not exist until CMake has generated it. Michael Jackson wrote: > > What EXACTLY is your PATH variable at this point? > > you should have added ";C:\MinGW\bin" and NOT just ";C:\MinGW" to your > PATH. The PATH variable says where to find executables at. There are > NO executables in ";C:\MinGW" but there are in ";C:\MinGW\bin". Which > is what CMake is telling you in a round about sort of way. > > Do this. Open a "Command Prompt" and type "gcc". What happens? type > "mingw32-make". What happens? > > Report back. > _________________________________________________________ > Mike Jackson mike.jackson at bluequartz.net > BlueQuartz Software www.bluequartz.net > Principal Software Engineer Dayton, Ohio > > On Dec 23, 2009, at 11:38 AM, URI wrote: > >> I even tried this on two different computers (Win7 64-bit and a >> WinXP 32-bit >> machine that I had never installed any of these programs on before, >> so I >> know that one is unspoiled). I see by your addition the path >> variable that >> you installed MinGW to C:\MinGW which is where I installed it as >> well. I >> also double-checked that my path variable has additions for both >> MinGW and >> CMake. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4212686.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From zallen at wheelinghospital.com Thu Dec 24 05:26:55 2009 From: zallen at wheelinghospital.com (URI) Date: Thu, 24 Dec 2009 02:26:55 -0800 (PST) Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <4B326DBA.8060805@ohiou.edu> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> <4B326DBA.8060805@ohiou.edu> Message-ID: <1261650415099-4212706.post@n2.nabble.com> Ok, then everything I did should have been acceptable. What value do you have in the CMAKE_MAKE_PROGRAM variable? I have CMAKE_MAKE_PROGRAM-NOTFOUND. Since there was nothing in your instructions about setting this variable I assume that CMake did it automatically for you. What could I have done to prevent CMake from doing it properly on my system? I installed the programs in the order you specified and with what appear to be acceptable parameters. Kevin H. Hobbs wrote: > > On 12/23/2009 11:38 AM, URI wrote: >> >> >> Let me ask you for a few more specifics in your instructions: >> >> 1. You said "I installed mingw with the c++ compiler added to the >> default >> options." Please tell me all options that you selected. When I run the >> installer the only default that is selected is "MinGW base tools", so >> that >> means the only things I had selected were "MinGW base tools" and "g++ >> compiler". > > That's correct. I added the C++ compiler to the default options. > >> >> 2. To what directory did you install CMake? > > I installed CMake in it's default location: "C:\Program Files\CMake 2.8" > > The default for me is >> ?C:\Program Files (x86)\CMake 2.8?, should I use this? >> > > The default should be fine. > > >> 3. When you unzipped the Insight source, where did you put it? >> > > C:\Users\hooper\Desktop > >> 4. What is the exact name and path of the build directory you used? >> > > C:\Users\hooper\Desktop\InsightToolkit-3.16.0\Build > >> 5. When configuring CMake you said > > I was in the CMake GUI. > > "I browsed to the Insight source >> directory." Please specify exactly which directory you used. It seems >> like >> it should be obvious, but I have made mistakes here in the past. > > I browsed to the directory : > C:\Users\hooper\Desktop\InsightToolkit-3.16.0\InsightToolkit-3.16.0 > >> >> 6. After hitting "Configure" you say to choose "MinGW MakeFiles". I also >> see four options to choose from: Use default native compilers, Specify >> native compiler, etc. The first one is the default, is this what you >> used? >> > > Yes. > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4212706.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From zallen at wheelinghospital.com Thu Dec 24 05:40:57 2009 From: zallen at wheelinghospital.com (URI) Date: Thu, 24 Dec 2009 02:40:57 -0800 (PST) Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <4B326DBA.8060805@ohiou.edu> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> <4B326DBA.8060805@ohiou.edu> Message-ID: <1261651257193-4212743.post@n2.nabble.com> Kevin- After reading this more closely I found an error that I made. I unzipped the Insight source to C:\InsightToolkit-3.16.0, which is also the location that I entered in the "Where is the source code" box in CMake. I see that you actually used the InsightToolkit-3.16.0 directory that is inside this directory, which for my system is C:\InsightToolkit-3.16.0\InsightToolkit-3.16.0 However, if I use the C:\InsightToolkit-3.16.0\InsightToolkit-3.16.0 directory as the source directory in CMake I get the error: CMake Error: The source "C:/InsightToolkit-3.16.0/InsightToolkit-3.16.0/CMakeLists.txt" does not match the source "C:/InsightToolkit-3.16.0/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory. Kevin H. Hobbs wrote: > > On 12/23/2009 11:38 AM, URI wrote: >> >> >> Let me ask you for a few more specifics in your instructions: >> >> 1. You said "I installed mingw with the c++ compiler added to the >> default >> options." Please tell me all options that you selected. When I run the >> installer the only default that is selected is "MinGW base tools", so >> that >> means the only things I had selected were "MinGW base tools" and "g++ >> compiler". > > That's correct. I added the C++ compiler to the default options. > >> >> 2. To what directory did you install CMake? > > I installed CMake in it's default location: "C:\Program Files\CMake 2.8" > > The default for me is >> ?C:\Program Files (x86)\CMake 2.8?, should I use this? >> > > The default should be fine. > > >> 3. When you unzipped the Insight source, where did you put it? >> > > C:\Users\hooper\Desktop > >> 4. What is the exact name and path of the build directory you used? >> > > C:\Users\hooper\Desktop\InsightToolkit-3.16.0\Build > >> 5. When configuring CMake you said > > I was in the CMake GUI. > > "I browsed to the Insight source >> directory." Please specify exactly which directory you used. It seems >> like >> it should be obvious, but I have made mistakes here in the past. > > I browsed to the directory : > C:\Users\hooper\Desktop\InsightToolkit-3.16.0\InsightToolkit-3.16.0 > >> >> 6. After hitting "Configure" you say to choose "MinGW MakeFiles". I also >> see four options to choose from: Use default native compilers, Specify >> native compiler, etc. The first one is the default, is this what you >> used? >> > > Yes. > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4212743.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From mike.jackson at bluequartz.net Thu Dec 24 08:23:18 2009 From: mike.jackson at bluequartz.net (Mike Jackson) Date: Thu, 24 Dec 2009 08:23:18 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261650084881-4212686.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> <162CFB16-571E-4272-AD7F-CCB1E597C963@bluequartz.net> <1261650084881-4212686.post@n2.nabble.com> Message-ID: <811a1f290912240523s542a9c26s99c9793118cf83a3@mail.gmail.com> Your MinGW installation is Incomplete. "mingw32-make.exe" is the "make" program that MinGW installs. It is a slightly different version than "make" that ships with MSYS or CygWin or Linux systems. Without it, it is useless to try and go any further. Fix that problem FIRST. Why are you still trying with MinGW? Why don't you try Visual Studio/ _________________________________________________________ Mike Jackson mike.jackson at bluequartz.net On Thu, Dec 24, 2009 at 5:21 AM, URI wrote: > > I added ";C:\MinGW\bin" to my path, just as Kevin instructed. ?CMake added > itself to the path, so the last few entries in my path variable are: > > C:\Program Files (x86)\ATI > Technologies\ATI.ACE\Core-Static;C:\MinGW\bin;C:\Program Files (x86)\CMake > 2.8\bin > > I left the ATI entry there so you can see them in context. > > > If I type "gcc" in a command prompt I get: > > gcc: no input files > > > If I type "mingw32-make" I get: > > 'mingw32-make' is not recognized as an internal or external command. > > Which I think makes sense, mingw32-make should not exist until CMake has > generated it. > > > > > Michael Jackson wrote: >> >> What EXACTLY is your PATH variable at this point? >> >> you should have added ";C:\MinGW\bin" and NOT just ";C:\MinGW" to your >> PATH. The PATH variable says where to find executables at. There are >> NO executables in ";C:\MinGW" but there are in ";C:\MinGW\bin". Which >> is what CMake is telling you in a round about sort of way. >> >> ? Do this. Open a "Command Prompt" and type "gcc". What happens? type >> "mingw32-make". What happens? >> >> ? Report back. >> _________________________________________________________ >> Mike Jackson ? ? ? ? ? ? ? ? ?mike.jackson at bluequartz.net >> BlueQuartz Software ? ? ? ? ? ? ? ? ? ?www.bluequartz.net >> Principal Software Engineer ? ? ? ? ? ? ? ? ?Dayton, Ohio >> >> On Dec 23, 2009, at 11:38 AM, URI wrote: >> >>> I even tried this on two different computers (Win7 64-bit and a >>> WinXP 32-bit >>> machine that I had never installed any of these programs on before, >>> so I >>> know that one is unspoiled). ?I see by your addition the path >>> variable that >>> you installed MinGW to C:\MinGW which is where I installed it as >>> well. ?I >>> also double-checked that my path variable has additions for both >>> MinGW and >>> CMake. >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4212686.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From mike.jackson at bluequartz.net Thu Dec 24 08:25:46 2009 From: mike.jackson at bluequartz.net (Mike Jackson) Date: Thu, 24 Dec 2009 08:25:46 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261650415099-4212706.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> <4B326DBA.8060805@ohiou.edu> <1261650415099-4212706.post@n2.nabble.com> Message-ID: <811a1f290912240525l59167f41wdb8f6ede57da9961@mail.gmail.com> If you had a correct MinGW installation, which you do not, you would not have to set this variable. Fix your MinGW installation FIRST before going any further. _________________________________________________________ Mike Jackson mike.jackson at bluequartz.net On Thu, Dec 24, 2009 at 5:26 AM, URI wrote: > > Ok, then everything I did should have been acceptable. > > What value do you have in the CMAKE_MAKE_PROGRAM variable? ?I have > CMAKE_MAKE_PROGRAM-NOTFOUND. ?Since there was nothing in your instructions > about setting this variable I assume that CMake did it automatically for > you. ?What could I have done to prevent CMake from doing it properly on my > system? ?I installed the programs in the order you specified and with what > appear to be acceptable parameters. > > > > > Kevin H. Hobbs wrote: >> >> On 12/23/2009 11:38 AM, URI wrote: >>> >>> >>> Let me ask you for a few more specifics in your instructions: >>> >>> 1. ?You said "I installed mingw with the c++ compiler added to the >>> default >>> options." ?Please tell me all options that you selected. ?When I run the >>> installer the only default that is selected is "MinGW base tools", so >>> that >>> means the only things I had selected were "MinGW base tools" and "g++ >>> compiler". >> >> That's correct. I added the C++ compiler to the default options. >> >>> >>> 2. To what directory did you install CMake? >> >> I installed CMake in it's default location: "C:\Program Files\CMake 2.8" >> >> ?The default for me is >>> ?C:\Program Files (x86)\CMake 2.8?, should I use this? >>> >> >> The default should be fine. >> >> >>> 3. When you unzipped the Insight source, where did you put it? >>> >> >> C:\Users\hooper\Desktop >> >>> 4. What is the exact name and path of the build directory you used? >>> >> >> C:\Users\hooper\Desktop\InsightToolkit-3.16.0\Build >> >>> 5. When configuring CMake you said >> >> I was in the CMake GUI. >> >> ?"I browsed to the Insight source >>> directory." ?Please specify exactly which directory you used. ?It seems >>> like >>> it should be obvious, but I have made mistakes here in the past. >> >> I browsed to the directory : >> C:\Users\hooper\Desktop\InsightToolkit-3.16.0\InsightToolkit-3.16.0 >> >>> >>> 6. After hitting "Configure" you say to choose "MinGW MakeFiles". ?I also >>> see four options to choose from: Use default native compilers, Specify >>> native compiler, etc. ?The first one is the default, is this what you >>> used? >>> >> >> Yes. >> >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4212706.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From mike.jackson at bluequartz.net Thu Dec 24 08:32:04 2009 From: mike.jackson at bluequartz.net (Mike Jackson) Date: Thu, 24 Dec 2009 08:32:04 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261651257193-4212743.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> <4B326DBA.8060805@ohiou.edu> <1261651257193-4212743.post@n2.nabble.com> Message-ID: <811a1f290912240532y6a9516a9q54375473d89d13b8@mail.gmail.com> As we have stated in past posts, you are simple NOT selecting the correct directory for the "Where the source files are". That directory should be the top most directory in the ITK structure that contains a CMakeLists.txt file. You did not select that. Delete the C:\InsightToolkit* directory structure and unzip it again. Once you run CMake on the wrong directory it can be difficult to remove all traces of the CMake generated files. This is what your current errors are all about. Try again. Oh, And get the MinGW installation fixed. _________________________________________________________ Mike Jackson mike.jackson at bluequartz.net On Thu, Dec 24, 2009 at 5:40 AM, URI wrote: > > Kevin- > > After reading this more closely I found an error that I made. ?I unzipped > the Insight source to C:\InsightToolkit-3.16.0, which is also the location > that I entered in the "Where is the source code" box in CMake. ?I see that > you actually used the InsightToolkit-3.16.0 directory that is inside this > directory, which for my system is > C:\InsightToolkit-3.16.0\InsightToolkit-3.16.0 > > However, if I use the C:\InsightToolkit-3.16.0\InsightToolkit-3.16.0 > directory as the source directory in CMake I get the error: > > CMake Error: The source > "C:/InsightToolkit-3.16.0/InsightToolkit-3.16.0/CMakeLists.txt" does not > match the source "C:/InsightToolkit-3.16.0/CMakeLists.txt" used to generate > cache. ?Re-run cmake with a different source directory. > > > > Kevin H. Hobbs wrote: >> >> On 12/23/2009 11:38 AM, URI wrote: >>> >>> >>> Let me ask you for a few more specifics in your instructions: >>> >>> 1. ?You said "I installed mingw with the c++ compiler added to the >>> default >>> options." ?Please tell me all options that you selected. ?When I run the >>> installer the only default that is selected is "MinGW base tools", so >>> that >>> means the only things I had selected were "MinGW base tools" and "g++ >>> compiler". >> >> That's correct. I added the C++ compiler to the default options. >> >>> >>> 2. To what directory did you install CMake? >> >> I installed CMake in it's default location: "C:\Program Files\CMake 2.8" >> >> ?The default for me is >>> ?C:\Program Files (x86)\CMake 2.8?, should I use this? >>> >> >> The default should be fine. >> >> >>> 3. When you unzipped the Insight source, where did you put it? >>> >> >> C:\Users\hooper\Desktop >> >>> 4. What is the exact name and path of the build directory you used? >>> >> >> C:\Users\hooper\Desktop\InsightToolkit-3.16.0\Build >> >>> 5. When configuring CMake you said >> >> I was in the CMake GUI. >> >> ?"I browsed to the Insight source >>> directory." ?Please specify exactly which directory you used. ?It seems >>> like >>> it should be obvious, but I have made mistakes here in the past. >> >> I browsed to the directory : >> C:\Users\hooper\Desktop\InsightToolkit-3.16.0\InsightToolkit-3.16.0 >> >>> >>> 6. After hitting "Configure" you say to choose "MinGW MakeFiles". ?I also >>> see four options to choose from: Use default native compilers, Specify >>> native compiler, etc. ?The first one is the default, is this what you >>> used? >>> >> >> Yes. >> >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- > View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4212743.html > Sent from the ITK Insight Users mailing list archive at Nabble.com. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > From hobbsk at ohiou.edu Thu Dec 24 08:47:14 2009 From: hobbsk at ohiou.edu (Kevin H. Hobbs) Date: Thu, 24 Dec 2009 08:47:14 -0500 Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <1261650084881-4212686.post@n2.nabble.com> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> <162CFB16-571E-4272-AD7F-CCB1E597C963@bluequartz.net> <1261650084881-4212686.post@n2.nabble.com> Message-ID: <4B3370E2.8020309@ohiou.edu> On 12/24/2009 05:21 AM, URI wrote: > If I type "mingw32-make" I get: > > 'mingw32-make' is not recognized as an internal or external command. > This means that mingw32-make is not in your path or it does not exist. > Which I think makes sense, mingw32-make should not exist until CMake has > generated it. > > CMake will create a Makefile. mingw32-make is part of the MinGW install. Does C:\MinGW\bin\mingw32-make exist? -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 261 bytes Desc: OpenPGP digital signature URL: From luis.ibanez at kitware.com Thu Dec 24 09:09:32 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Thu, 24 Dec 2009 09:09:32 -0500 Subject: [Insight-users] tissue deformation simulation In-Reply-To: <4b33287b.9413f30a.6b32.ffffd965@mx.google.com> References: <4b33287b.9413f30a.6b32.ffffd965@mx.google.com> Message-ID: Hi Fuzengliang, The FEM classes in ITK are mostly used for supporting the Deformable Registration methods. It is possible in principle, to use them for computing standard FEM problems, such as deformation of elastic materials, but, as you pointed out, there is not much documentation or examples on how to do so. You may find useful, however, to look at the tests of the classes in the directory: Insight/Testing/Code/Numerics/FEM Regards, Luis -------------------------------------------- 2009/12/24 fzl : > Hi, > > I want to simulate the deformation of soft tissues under the external force. > It seems that itk FEM classes can achieve this purpose. However, only the > FEM registration example is given in the directory > ??\InsightApplications\FEM?. So is there any simple examples implemented > with itk FEM classes demonstrating the process of deformation simulation? If > not, would you please give me some advice about the steps needed to simulate > the deformation of soft tissues? > > Thanks in advance. > > > ????????fuzengliang435 at gmail.com > ??????????2009-12-24 > From zallen at wheelinghospital.com Thu Dec 24 09:18:28 2009 From: zallen at wheelinghospital.com (URI) Date: Thu, 24 Dec 2009 06:18:28 -0800 (PST) Subject: [Insight-users] A challenge to all Windows users In-Reply-To: <4B3370E2.8020309@ohiou.edu> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> <162CFB16-571E-4272-AD7F-CCB1E597C963@bluequartz.net> <1261650084881-4212686.post@n2.nabble.com> <4B3370E2.8020309@ohiou.edu> Message-ID: <1261664308036-4213328.post@n2.nabble.com> No, the closest things I have in C:\MinGW\bin are: mingw32-c++ mingw32-g++ mingw32-gcc mingw32-gcc-3.4.5 How could my MinGW install be different from yours if I used the same file and the same installation parameters? Kevin H. Hobbs wrote: > > On 12/24/2009 05:21 AM, URI wrote: >> If I type "mingw32-make" I get: >> >> 'mingw32-make' is not recognized as an internal or external command. >> > > This means that mingw32-make is not in your path or it does not exist. > >> Which I think makes sense, mingw32-make should not exist until CMake has >> generated it. >> >> > > CMake will create a Makefile. mingw32-make is part of the MinGW install. > > Does C:\MinGW\bin\mingw32-make exist? > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4213328.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From drescherjm at gmail.com Thu Dec 24 09:35:40 2009 From: drescherjm at gmail.com (John Drescher) Date: Thu, 24 Dec 2009 09:35:40 -0500 Subject: [Insight-users] Fwd: A challenge to all Windows users In-Reply-To: <387ee2020912240635w49abdc30i28abd691b38313ac@mail.gmail.com> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> <162CFB16-571E-4272-AD7F-CCB1E597C963@bluequartz.net> <1261650084881-4212686.post@n2.nabble.com> <4B3370E2.8020309@ohiou.edu> <1261664308036-4213328.post@n2.nabble.com> <387ee2020912240635w49abdc30i28abd691b38313ac@mail.gmail.com> Message-ID: <387ee2020912240635n19b1ec03p577116cea72e0549@mail.gmail.com> On Thu, Dec 24, 2009 at 9:18 AM, URI wrote: > > No, the closest things I have in C:\MinGW\bin are: > > mingw32-c++ > mingw32-g++ > mingw32-gcc > mingw32-gcc-3.4.5 > > How could my MinGW install be different from yours if I used the same file > and the same installation parameters? > Looks like you did not select MinGW make when you installed MinGW. Reinstall MinGW with either a Full or Custom with selecting MinGW make. This is the last item in the list of things you can install. John From lynx.abraxas at freenet.de Fri Dec 25 01:41:37 2009 From: lynx.abraxas at freenet.de (lynx.abraxas at freenet.de) Date: Fri, 25 Dec 2009 07:41:37 +0100 Subject: [Insight-users] smoothing by AntiAliasBinaryImageFilter, Gaussian blur or windowedSincFilter Message-ID: <20091225064137.GB2055@drago> Hello! Let's say I have a Platonic solid as a mesh (or even simpler a plane in [1,1,0] or [1,1,1] direction) I voxelize that to get a 3d-binary image. Then I wonder what would be the best way to get back to a mesh who's shape is as close as possible to the original mesh. Just using marching cubes introduces uneven surfaces. From the vtk users guid I know gaussian smoothing the binary image can create a much smoother result. I was told AntiAliasBinaryImageFilter does something similar and then there is also the possibility to use some mesh smooting filter like Laplacian smoothing (vtkSmoothPolyDataFilter, used in vtk-book) and vtkWindowedSincPolyDataFilter. So there are two different classes of filter 1. voxel filter 2. mesh filter. Now I wonder: - Which one is the best for my problem? - Would it make sense to use more than one filter? - How can the voxel filter result in a smoother mesh without the need to subsample the voxel data? Or asked differently: How can the mesh be smoother altough the voxel discretisation stays the same??? - What is the difference between Laplacian and Sinc smoothing or what type is better? - What is the difference between Gaussian and AntiAliasBinaryImageFilter or which one is better? - What filter is least dependant on abritrary chosen parameters? Sorry for the many questions but I'd be very thankful for any answers. Lynx From zavata.afnan at gmail.com Fri Dec 25 08:30:31 2009 From: zavata.afnan at gmail.com (Mostafa Jabarouti Moghaddam) Date: Fri, 25 Dec 2009 17:00:31 +0330 Subject: [Insight-users] 3D affine registration. Message-ID: Hello all, If the orientations of the fixed image and moving image are not same, How can we expand the parameter space? for example, we could change the rotation parameter range between [-180,180] in each direction! I searched most of the e-mails in ITK, but i just found out that the best way is choosing the proper initial transform. Unfortunately, choosing the proper initial transform needs an extensive computation! Best, MJM -------------- next part -------------- An HTML attachment was scrubbed... URL: From luis.ibanez at kitware.com Fri Dec 25 16:02:08 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Fri, 25 Dec 2009 16:02:08 -0500 Subject: [Insight-users] Fwd: Reading in Netcdf data In-Reply-To: <1261496263.25100.9.camel@mouse30> References: <1261496263.25100.9.camel@mouse30> Message-ID: ---------- Forwarded message ---------- From: Leila Baghdadi Date: Tue, Dec 22, 2009 at 10:37 AM Subject: Re: [Insight-users] Reading in Netcdf data To: Luis Ibanez Hi guys, I am afraid the MINC2 support for ITK is only for MINC2 (hdf5 based) images. If you want to deal with netcdf images you can use one of our minc core tools (non itk related), "mincconvert" and convert your image from netcdf to hdf5 and then proceed with itk HTH Leila On Mon, 2009-12-21 at 19:46 -0500, Luis Ibanez wrote: > Hi C.S.N, > > > ? ? ? ? ? ? ? ? ? ? ?Welcome to ITK ! > > > Your observation is correct. > > We don't have in ITK a reader for Netcdf, > > > however, we have support for MINC2, > and they use Netcdf as one of their libraries.... > > which makes me wonder if you could use > the MINC2 reader to bring your data into ITK. > > You may want to give it a try at enabling > the CMake variable: > > ? ? ? ? ? ? ? ? ?ITK_USE_MINC2 > > when you configure ITK. > > For more information, you may want to look > at the following paper in the Insight Journal: > > http://www.insight-journal.org/browse/publication/64 > > I believe VTK and Paraview have support for > Netcdf files. You may want to consider using them > as a bridge for reading Netcdf in, and writing out > any of the file formats that both VTK and ITK > supports (for example ? .mha or .vtk). > > > ? ? ? Regards, > > > ? ? ? ? ? ? Luis > > > ----------------------------------------------------------------- > On Wed, Dec 16, 2009 at 1:08 PM, Natarajan CS wrote: > > Hello all, > > ? ?i am new to this list and ITK, so apologies if this question has been > > answered already in some form. Reading the docs it seems like ITK does not > > have a built-in reader for netcdf volume data, so is it better to convert > > the data to a format which itk can read or is it better to parse the data > > stream as an array to ITK (read in the data in standard format and send itk > > the array instead of using ITK readers)? > > > > Thanks in advance, > > > > C.S.N > > > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users From karthik.krishnan at kitware.com Sat Dec 26 00:16:53 2009 From: karthik.krishnan at kitware.com (Karthik Krishnan) Date: Sat, 26 Dec 2009 10:46:53 +0530 Subject: [Insight-users] [vtkusers] smoothing by AntiAliasBinaryImageFilter, Gaussian blur or windowedSincFilter In-Reply-To: <20091225064137.GB2055@drago> References: <20091225064137.GB2055@drago> Message-ID: <9ddb27260912252116v5600456ah12327f02a1d67674@mail.gmail.com> Merry christmas. The Anti-alias smoothing filter in ITK uses a level set to "smooth out" the voxel values so that the subsequent isosurface generator will generate a smooth image, with fewer jagged edges etc. Gaussian smoothing on the image domain would be another way to accomplish the same thing. Now, the smoothing the image may end up displacing the object's boundary from the true boundary. The Anti-alias smoother ensures that this displacement is no more than half a voxel. For the gaussian smoother, this depends on the kernel sigma, no bounds here. You can easily work this out. -- karthik On Fri, Dec 25, 2009 at 12:11 PM, wrote: > Hello! > > > Let's ?say ?I ?have ?a ?Platonic ?solid ?as a mesh (or even simpler a plane in > [1,1,0] or [1,1,1] direction) I voxelize that to get a 3d-binary image. Then I > wonder ?what ?would ?be ?the ?best way to get back to a mesh who's shape is as > close as possible to the original mesh. > Just using marching cubes introduces uneven surfaces. From the vtk users ?guid > I ?know gaussian smoothing the binary image can create a much smoother result. > I was told AntiAliasBinaryImageFilter does something similar and then there is > also the possibility to use some mesh smooting filter like Laplacian smoothing > (vtkSmoothPolyDataFilter, used in vtk-book) and vtkWindowedSincPolyDataFilter. > So ?there ?are two different classes of filter 1. voxel filter 2. mesh filter. > Now I wonder: > > - Which one is the best for my problem? > - Would it make sense to use more than one filter? > - How can the voxel filter result in a ?smoother ?mesh ?without ?the ?need ?to > subsample ?the ?voxel data? Or asked differently: How can the mesh be smoother > altough the voxel discretisation stays the same??? > - What is the difference between Laplacian and Sinc smoothing or what type ?is > better? > - ?What ?is ?the difference between Gaussian and AntiAliasBinaryImageFilter or > which one is better? > - What filter is least dependant on abritrary chosen parameters? > > > Sorry for the many questions but I'd be very thankful for any answers. > Lynx > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.vtk.org/mailman/listinfo/vtkusers > -- _________________________________ Karthik Krishnan R&D Engineer, Kitware Inc. Ph: +1 5188814919, +91 9538477060 From jxdw_zlf at yahoo.com.cn Sat Dec 26 08:17:56 2009 From: jxdw_zlf at yahoo.com.cn (superzz) Date: Sat, 26 Dec 2009 05:17:56 -0800 (PST) Subject: [Insight-users] Central line of vessel. Message-ID: <26927088.post@talk.nabble.com> Hello I have a CT dataset. Aorta have been segmented out. Is there a way in ITK to get its central line? Thanks superZZ -- View this message in context: http://old.nabble.com/Central-line-of-vessel.-tp26927088p26927088.html Sent from the ITK - Users mailing list archive at Nabble.com. From jxdw_zlf at yahoo.com.cn Sat Dec 26 08:18:15 2009 From: jxdw_zlf at yahoo.com.cn (superzz) Date: Sat, 26 Dec 2009 05:18:15 -0800 (PST) Subject: [Insight-users] Central line of aorta. Message-ID: <26927088.post@talk.nabble.com> Hello I have a CT dataset. Aorta have been segmented out. Is there a way in ITK to get its central line? Thanks superZZ -- View this message in context: http://old.nabble.com/Central-line-of-aorta.-tp26927088p26927088.html Sent from the ITK - Users mailing list archive at Nabble.com. From fedorov at bwh.harvard.edu Sat Dec 26 20:28:40 2009 From: fedorov at bwh.harvard.edu (Andriy Fedorov) Date: Sat, 26 Dec 2009 20:28:40 -0500 Subject: [Insight-users] Central line of aorta. Message-ID: <82f536810912261728s1f773f3bmff0f315e5f6321aa@mail.gmail.com> superZZ, This might be useful to you: http://wiki.slicer.org/slicerWiki/index.php/Modules:VMTK_in_3D_Slicer_Tutorial:_Coronary_Artery_Centerline_Extraction AF > Date: Sat, 26 Dec 2009 05:18:15 -0800 (PST) > From: superzz > Subject: [Insight-users] ?Central line of aorta. > To: insight-users at itk.org > Message-ID: <26927088.post at talk.nabble.com> > Content-Type: text/plain; charset=us-ascii > > > Hello > I have a CT dataset. Aorta have been segmented out. Is there a way in ITK to > get its central line? > > Thanks > > superZZ > -- > View this message in context: http://old.nabble.com/Central-line-of-aorta.-tp26927088p26927088.html > Sent from the ITK - Users mailing list archive at Nabble.com. > > > > ------------------------------ > > _______________________________________________ > Insight-users mailing list > Insight-users at itk.org > http://www.itk.org/mailman/listinfo/insight-users > > > End of Insight-users Digest, Vol 68, Issue 101 > ********************************************** > From luis.ibanez at kitware.com Sun Dec 27 13:30:11 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 27 Dec 2009 13:30:11 -0500 Subject: [Insight-users] Dear Prof.luis,I need your instruction of itk In-Reply-To: <2513057.6401261866869395.JavaMail.coremail@bj163app125.163.com> References: <2513057.6401261866869395.JavaMail.coremail@bj163app125.163.com> Message-ID: Hi Pan, Welcome to ITK ! The full command line of this example can be seen by running the following "ctest" command in the binary build directory of ITK: ctest -R "^CannySegmentationLevelSetImage" -V -N you will see that you should pass the following parameters to the test: /home/ibanez/src/Insight/Examples/Data/BrainProtonDensitySlice.png /home/ibanez/src/Insight/Testing/Data/Baseline/Segmentation/ThresholdSegmentationLevelSetVentricle.png /home/ibanez/bin/Insight/Testing/Temporary/CannySegmentationLevelSetImageFilterTest.png 7 0.1 -10.0 127.5 10000 Of course, replacing the "/home/ibanez/src/" with the directory of your disk where you installed the source tree of ITK. You can pass these parameters in Visual Studio by right clicking on the examples project, selecting "Debug" and clicking on the "command line arguments" field. In the long term you will find that it is very convenient to run these examples from the command line interface. If you go to the "Start" menu in Windows and select from the "Visual Studio" option the "Command Prompt" window, you will get a MS-DOS Window with the paths set for calling the visual studio compiler. From luis.ibanez at kitware.com Sun Dec 27 13:54:54 2009 From: luis.ibanez at kitware.com (Luis Ibanez) Date: Sun, 27 Dec 2009 13:54:54 -0500 Subject: [Insight-users] USPTO : New rules on Patentability Message-ID: The US Patent Office has released some new rules on "patentability", based on the appeals court ruling in Bilski http://www.uspto.gov/ip/boards/bpai/decisions/prec/fd084366.pdf The key bit: For a claimed machine (or article of manufacture) involving a mathematical algorithm, 1. Is the claim limited to a tangible practical application, in which the mathematical algorithm is applied, that results in a real-world use (e.g., "not a mere field-of-use label having no significance")? 2. Is the claim limited so as to not encompass substantially all practical applications of the mathematical algorithm either "in all fields" of use of the algorithm or even in "only one field?" If the machine (or article of manufacture) claim fails either prong of the two-part inquiry, then the claim is not directed to patent eligible subject matter. http://industry.bnet.com/technology/10004476/new-patent-test-for-machines-using-mathematical-algorithms/ http://techdirt.com/articles/20091222/1027497468.shtml From zeinsalah at gmail.com Sun Dec 27 18:14:06 2009 From: zeinsalah at gmail.com (Zein Salah) Date: Mon, 28 Dec 2009 00:14:06 +0100 Subject: [Insight-users] Linking Error after adding vtk libs Message-ID: <456a04a60912271514v3760d194lccc0b03c0990c013@mail.gmail.com> Hello, After adding vtk in my program, (which already uses itk, qt 4.4.3, and ArToolkit), I got the following link error libcmt.lib(invarg.obj) : error lnk2005: __invalid_parameter_noinfo already defined in msvcrt.lib(msvcr80.dll) After some search with google, I found a hint to ignore libcmt.lib within the project properties, and it worked. But I actually build my program with cmake and do not want to modify the project properties from inside visual studio. Maybe somebody had such error with similar combination? Thanks, Zein From rjf.araraquara at gmail.com Sun Dec 27 18:40:17 2009 From: rjf.araraquara at gmail.com (Ricardo Ferrari) Date: Sun, 27 Dec 2009 21:40:17 -0200 Subject: [Insight-users] Wrong values when computing Mean and Covariance !! Message-ID: Dear ITK-Users, I am working on a class to estimate the initial parameters (mean vector, covariance matrix and weighting vector) for a Gaussian Mixture model. For that I am using the KdTreeBasedKmeansEstimator and the refactoring statistic classes. To be more specifically, I am using the itk::Statistics:: CovarianceSampleFilter to compute the Mean vector and Covariance matrices. However, the results I am getting are completely wrong. After tracking the code, it seems that the mean vector is always zero. Could anybody help me to solve this problem please? I am not sure if I am missing something. Thank you, Ricardo /// /// Create a image of array from different image contrasts /// typedef itk::ScalarToArrayCastImageFilter< InputImageType, ArrayImageType > CasterType; CasterType::Pointer caster = CasterType::New(); for( int i=0; i < NumberOfContrasts; ++i ) caster->SetInput( i, ReadMincImage< InputImageType >( inputFileName[i] ) ); caster->Update(); /// /// Generate sample data /// typedef itk::Statistics::ImageToListSampleAdaptor< TArrayImageType > ImageToListSampleAdaptorType; typename ImageToListSampleAdaptorType::Pointer adaptor = ImageToListSampleAdaptorType::New(); adaptor->SetImage( caster->GetOutput() ); /// /// Create KdTree /// typedef itk::Statistics::WeightedCentroidKdTreeGenerator < ImageToListSampleAdaptorType > TreeGeneratorType; typename TreeGeneratorType::Pointer treeGenerator = TreeGeneratorType::New(); treeGenerator->SetSample( adaptor ); treeGenerator->SetBucketSize( m_BuckedSize ); treeGenerator->Update(); typedef itk::Statistics::KdTreeBasedKmeansEstimator < typename TreeGeneratorType::KdTreeType > EstimatorType; typename EstimatorType::Pointer estimator = EstimatorType::New(); /// /// Estimate classes mean vector /// typename EstimatorType::ParametersType initialMeans( NumberOfContrasts * NumberOfClasses ); estimator->SetParameters( initialMeans ); estimator->SetKdTree( treeGenerator->GetOutput() ); estimator->SetMaximumIteration( m_MaxNumberOfIterations ); estimator->SetCentroidPositionChangesThreshold( m_CentroidChangePosThresh ); estimator->StartOptimization(); typename EstimatorType::ParametersType estimatedMeans = estimator->GetParameters(); /// /// Compute classes labels /// typedef itk::Statistics::SampleClassifierFilter< ImageToListSampleAdaptorType > SampleClassifierFilterType; typedef typename SampleClassifierFilterType::ClassLabelVectorObjectType ClassLabelVectorObjectType; typename ClassLabelVectorObjectType::Pointer classLabelsObject = ClassLabelVectorObjectType::New(); typedef typename SampleClassifierFilterType::ClassLabelVectorType ClassLabelVectorType; ClassLabelVectorType& classLabelVector = classLabelsObject->Get(); for( unsigned int i=0; i < NumberOfClasses; i++ ) classLabelVector.push_back( typename SampleClassifierFilterType::ClassLabelType( (i + 1) * 100 ) ); //Set a decision rule type typedef itk::Statistics::MinimumDecisionRule2 DecisionRuleType; typename DecisionRuleType::Pointer decisionRule = DecisionRuleType::New(); const typename SampleClassifierFilterType::MembershipFunctionVectorObjectType *membershipFunctionsObject = estimator->GetOutput(); const typename SampleClassifierFilterType::MembershipFunctionVectorType membershipFunctions = membershipFunctionsObject->Get(); //Instantiate and pass all the required inputs to the filter typename SampleClassifierFilterType::Pointer classifier = SampleClassifierFilterType::New(); classifier->SetInput( adaptor ); classifier->SetNumberOfClasses( NumberOfClasses ); classifier->SetClassLabels( classLabelsObject ); classifier->SetDecisionRule( decisionRule ); classifier->SetMembershipFunctions( membershipFunctionsObject ); classifier->Update(); const typename SampleClassifierFilterType::MembershipSampleType* membershipSample = classifier->GetOutput(); /* const typename SampleClassifierFilterType::MembershipSampleType::ClassLabelType label1( 100 ); const typename SampleClassifierFilterType::MembershipSampleType::ClassSampleType* subSample1 = membershipSample->GetClassSample( label1 ); std::cout << subSample1->GetTotalFrequency() << std::endl; const typename SampleClassifierFilterType::MembershipSampleType::ClassLabelType label2( 200 ); const typename SampleClassifierFilterType::MembershipSampleType::ClassSampleType* subSample2 = membershipSample->GetClassSample( label2 ); std::cout << subSample2->GetTotalFrequency() << std::endl; const typename SampleClassifierFilterType::MembershipSampleType::ClassLabelType label3( 300 ); const typename SampleClassifierFilterType::MembershipSampleType::ClassSampleType* subSample3 = membershipSample->GetClassSample( label3 ); std::cout << subSample3->GetTotalFrequency() << std::endl; */ /// /// Compute the covariance matrices and the weight vectors /// typedef typename SampleClassifierFilterType::MembershipSampleType::ClassSampleType ClassSampleType; typedef itk::Statistics::CovarianceSampleFilter< ClassSampleType > CovarianceSampleFilterType; /// Resize weight class vector TGMM_InitStrategy< TArrayImageType >::m_WeightClassesVector.SetSize( NumberOfClasses ); /// Now, get the mean & covariance into the parameters vector for( unsigned int i=0; i < NumberOfClasses; ++i ) { typename SampleClassifierFilterType::MembershipSampleType::ClassLabelType classLabel( (i + 1) * 100 ); /// Get a pointer only to the samples of classLabel const ClassSampleType* sampleClass = membershipSample->GetClassSample( classLabel ); /* The result here is okay std::cout << sampleClass->Size() << std::endl; double sum = 0; for( int ii=0; ii < sampleClass->Size(); ii++ ) { typename ClassSampleType::MeasurementVectorType val = sampleClass->GetMeasurementVectorByIndex( ii ); sum = sum + val[0]; } std::cout << "Mean value = " << (double)( sum / sampleClass->Size() ) << std::endl; */ /// Compute covariance matrix typename CovarianceSampleFilterType::Pointer covarianceFilter = CovarianceSampleFilterType::New(); covarianceFilter->SetInput( sampleClass ); covarianceFilter->Update(); const typename CovarianceSampleFilterType::MeasurementVectorDecoratedType *MeanDecorator = covarianceFilter->GetMeanOutput(); typename CovarianceSampleFilterType::MeasurementVectorType mean = MeanDecorator->Get(); /* The results here are wrong */ std::cout << "Mean Vector1: " << MeanDecorator->Get() << std::endl; std::cout << "Mean Vector2: " << covarianceFilter->GetMean() << std::endl; const typename CovarianceSampleFilterType::MatrixDecoratedType *CovDecorator = covarianceFilter->GetCovarianceMatrixOutput(); typename CovarianceSampleFilterType::MatrixType cov = CovDecorator->Get(); /* The results here are wrong */ std::cout << "Covariance Matrix1: " << CovDecorator->Get() << std::endl; std::cout << "Covariance Matrix2: " << covarianceFilter->GetCovarianceMatrix() << std::endl; /// Create a parameter array for the current class ParametersType *params = new ParametersType( NumberOfContrasts * NumberOfContrasts + NumberOfContrasts ); unsigned int index = 0; for( unsigned j=0; j < NumberOfContrasts; j++ ) { /// Copy mean vector params->SetElement( index++, static_cast< double >( estimatedMeans[i * NumberOfContrasts + j] ) ); /// Copy covariance matrix for( unsigned k=0; k < NumberOfContrasts; k++ ) params->SetElement( index++, (double)cov[j][k] ); } TGMM_InitStrategy< TArrayImageType >::m_Parameters.push_back( params ); TGMM_InitStrategy< TArrayImageType >::m_WeightClassesVector.SetElement( i, (double)sampleClass->GetTotalFrequency() / adaptor->GetTotalFrequency() ); } -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjf.araraquara at gmail.com Sun Dec 27 18:41:07 2009 From: rjf.araraquara at gmail.com (Ricardo Ferrari) Date: Sun, 27 Dec 2009 21:41:07 -0200 Subject: [Insight-users] Error in the file itkCovarianceSampleFilterTest.cc Message-ID: I would like to point out an error in the itkCovarianceSampleFilterTest. cc located in the folder ITK/Insight/Testing/Code/ Review/Statistics Please notice that in the current cvs repository code we have if ( ( vcl_fabs( mean[0] - mean[0]) > epsilon ) || ( vcl_fabs( mean[1] - mean[1]) > epsilon) || ( vcl_fabs( mean[2] - mean[2]) > epsilon) ) { std::cerr << "Mean parameter value retrieved using GetMean() and the decorator\ are not the same:: " << mean << "," << mean2 << std::endl; return EXIT_FAILURE; } The correct should be if ( ( vcl_fabs( mean[0] - mean2[0]) > epsilon ) || ( vcl_fabs( mean[1] - mean2[1]) > epsilon) || - Ignored: ( vcl_fabs( mean[2] - mean2[2]) > epsilon) ) { std::cerr << "Mean parameter value retrieved using GetMean() and the decorator\ are not the same:: " << mean << "," << mean2 << std::endl; return EXIT_FAILURE; } -------------- next part -------------- An HTML attachment was scrubbed... URL: From karthik.krishnan at kitware.com Sun Dec 27 19:06:18 2009 From: karthik.krishnan at kitware.com (Karthik Krishnan) Date: Sun, 27 Dec 2009 19:06:18 -0500 Subject: [Insight-users] Error in the file itkCovarianceSampleFilterTest.cc In-Reply-To: References: Message-ID: <9ddb27260912271606id227505s86a430ab5b5fbd95@mail.gmail.com> Nice catch. Committed. thanks Insight/Testing/Code/Review/Statistics/itkCovarianceSampleFilterTest.cxx new revision: 1.3 On Sun, Dec 27, 2009 at 6:41 PM, Ricardo Ferrari wrote: > ?I would like to point out an error in the itkCovarianceSampleFilterTest. > ? ?cc located in the folder ITK/Insight/Testing/Code/ > Review/Statistics > ? ?Please notice that in the current cvs repository code we have > ? ? ?if ( ( vcl_fabs( mean[0] - mean[0]) > epsilon ) ?|| > ? ? ? ? ? ( vcl_fabs( mean[1] - mean[1]) > epsilon) ?|| > ? ? ? ? ? ( vcl_fabs( mean[2] - mean[2]) > epsilon) ) > ? ? ? ?{ > ? ? ? ?std::cerr << "Mean parameter value retrieved using GetMean() and the > ? ?decorator\ > ? ? ? ? ? ? ? ? ? ? ?are not the same:: " << ?mean << "," << mean2 << > ? ?std::endl; > ? ? ? ?return EXIT_FAILURE; > ? ? ? ?} > ? ?The correct should be > ? ? ?if ( ( vcl_fabs( mean[0] - mean2[0]) > epsilon ) ?|| > ? ? ? ? ? ( vcl_fabs( mean[1] - mean2[1]) > epsilon) ?|| > > - Ignored: > ? ? ? ? ? ( vcl_fabs( mean[2] - mean2[2]) > epsilon) ) > ? ? ? ?{ > ? ? ? ?std::cerr << "Mean parameter value retrieved using GetMean() and the > ? ?decorator\ > ? ? ? ? ? ? ? ? ? ? ?are not the same:: " << ?mean << "," << mean2 << > ? ?std::endl; > ? ? ? ?return EXIT_FAILURE; > ? ? ? ?} > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- _________________________________ Karthik Krishnan R&D Engineer, Kitware Inc. Ph: +1 5188814919, +91 9538477060 From mrceresa at gmail.com Mon Dec 28 06:34:31 2009 From: mrceresa at gmail.com (Mario Ceresa) Date: Mon, 28 Dec 2009 12:34:31 +0100 Subject: [Insight-users] ITK Fedora package: bumping up utilities Message-ID: <93dce8f90912280334v6610ea48i82692d6321c924bf@mail.gmail.com> Hello everybody, First of all, I hope that everyone of you spent Merry Christmas holidays! Then, I saw that support for Itk continued even for the 25 night, so I won't feel terribly guilty asking for help now :) With the help of one of Fedora reviewers, Peter, who is following us in CC, I'm trying to build Itk using fedora packaged libraries, instead of the ones included in the Utilities source tree. If a library in Utilities is related to medical image processing and under active development, but has not already been packaged, we'll try to package it as well if possible. For some utilities such as libxml2, png, tiff, zlib, vxl and gdcm there is the possibility to set cmake to use system libraries. For the others that have no such an option, we'd like to add, if possible. In this process I encountered a couple of problems: the first one is that sometimes the bundled version is not the more up-to-date one, and that sometimes I don't understand if the library has been modified in order to be plugged into itk or not. Here is a (in)complete list of what I found: 1) DICOMParser Bundled: revision 1.1, date 23 October 2003 Updated: http://sourceforge.net/projects/dicomparser/files/ date: 19 January 2005 2) NrrdIO As far as I understand this is a subset of teem, to read nrrd files. Could be possible/useful/beneficial for itk to use the updated nrrd part of the teen library? if so I might work on a patch. 3) expat Bundled: seems to be version 1.95.6 date 22 July 2003 Updated: http://sourceforge.net/projects/expat/files/ date: 7 June 2007 Why do you need libxml2 if you ship expat? 4) gdcm Bundled: seems to be a modified version 1.2.2 Updated: version 2.0.14 from http://sourceforge.net/projects/gdcm/files/ Again, if you think it might be useful or even possible to rebase itk on gdcm 2.0.14, I might work on a patch. 5) itkExtHdrs seems to be related to Analyze file format. Did you develop all the code inside ITK? 6) libjpeg Bundled: version 6b Packaged: version 6b I see from the readme files that some modification occurred in order to adapt it to both VTK and ITK. Do you think that it might be possible to link ITK to the original version? 7) slatec seems to be a subset of the fnlib. But I might be wrong. Can anyone please confirm? 8) nifti Bundled: version 1.1.0 There is an Updates.txt file in the source dir which is more recent than the others. Are these manually made modifications of the original sources? 9) openjpeg Packaged version is 1.3 from May 2009 Bundled version seems a bit older (January 2007) It will be a lot of work to make all these changes but I think that it might be beneficial for both Itk and Fedora: the former could use newer version of the libraries whenever they are available and Fedora/RedHat could have more medical image processing package available. I'm sorry if I'm asking information that are available elsewhere but I googled for a while without too much success. In case, just pointing me to the correct link will be perfect. Thanks for any comment on the viability/foolness of this idea, or any clarifications to the above questions, Regards, Mario From mathieu.malaterre at gmail.com Mon Dec 28 07:45:28 2009 From: mathieu.malaterre at gmail.com (Mathieu Malaterre) Date: Mon, 28 Dec 2009 13:45:28 +0100 Subject: [Insight-users] ITK Fedora package: bumping up utilities In-Reply-To: <93dce8f90912280334v6610ea48i82692d6321c924bf@mail.gmail.com> References: <93dce8f90912280334v6610ea48i82692d6321c924bf@mail.gmail.com> Message-ID: On Mon, Dec 28, 2009 at 12:34 PM, Mario Ceresa wrote: > 4) gdcm > Bundled: seems to be a modified version 1.2.2 Technically this is a 1.2.6 > Updated: version 2.0.14 from http://sourceforge.net/projects/gdcm/files/ > Again, if you think it might be useful or even possible to rebase itk > on gdcm 2.0.14, I might work on a patch. Just build+install 2.0.14, and turn the SYSTEM_GDCM=ON option in ITK. This is working fine in debian/ubuntu system Cheers -- Mathieu From karthik.krishnan at kitware.com Mon Dec 28 08:59:31 2009 From: karthik.krishnan at kitware.com (Karthik Krishnan) Date: Mon, 28 Dec 2009 08:59:31 -0500 Subject: [Insight-users] ITK Fedora package: bumping up utilities In-Reply-To: <93dce8f90912280334v6610ea48i82692d6321c924bf@mail.gmail.com> References: <93dce8f90912280334v6610ea48i82692d6321c924bf@mail.gmail.com> Message-ID: <9ddb27260912280559g373c0c18lc97138ba0a308d3e@mail.gmail.com> On Mon, Dec 28, 2009 at 6:34 AM, Mario Ceresa wrote: > > Here is a (in)complete list of what I found: > > 1) DICOMParser > Bundled: revision 1.1, date 23 October 2003 > Updated: http://sourceforge.net/projects/dicomparser/files/ ? date: 19 > January 2005 Come ITK 4.0, there "might" be a move to get rid of DICOMParser ?? So it may not be worth your effort at the moment. > 3) expat > Bundled: seems to be version 1.95.6 date 22 July 2003 > Updated: http://sourceforge.net/projects/expat/files/ > date: 7 June 2007 > > Why do you need libxml2 if you ship expat? For work related to data provenance. There were mixed results on XCede with expat if I recall. Hence the inclusion of libxml2. Expat itself can't be gotten rid of, for backward compatibility reasons.. From wes.turner at kitware.com Mon Dec 28 09:25:03 2009 From: wes.turner at kitware.com (Wes Turner) Date: Mon, 28 Dec 2009 09:25:03 -0500 Subject: [Insight-users] USPTO : New rules on Patentability In-Reply-To: References: Message-ID: <7ade83390912280625r7fb1c07bka8c7547ee6900b9d@mail.gmail.com> Much more sane policy, at least based on the blurb. It will be interesting to see how it impacts software patents going forward. - Wes On Sun, Dec 27, 2009 at 1:54 PM, Luis Ibanez wrote: > The US Patent Office has released some new rules on > "patentability", based on the appeals court ruling in Bilski > > http://www.uspto.gov/ip/boards/bpai/decisions/prec/fd084366.pdf > > The key bit: > > For a claimed machine (or article of manufacture) involving > a mathematical algorithm, > > 1. Is the claim limited to a tangible practical application, > in which the mathematical algorithm is applied, that > results in a real-world use (e.g., "not a mere field-of-use > label having no significance")? > > 2. Is the claim limited so as to not encompass substantially > all practical applications of the mathematical algorithm > either "in all fields" of use of the algorithm or even in > "only one field?" > > If the machine (or article of manufacture) claim fails either > prong of the two-part inquiry, then the claim is not directed > to patent eligible subject matter. > > > > http://industry.bnet.com/technology/10004476/new-patent-test-for-machines-using-mathematical-algorithms/ > > http://techdirt.com/articles/20091222/1027497468.shtml > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > -- Wesley D. Turner, Ph.D. Kitware, Inc. Technical Leader 28 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4920 -------------- next part -------------- An HTML attachment was scrubbed... URL: From zallen at wheelinghospital.com Mon Dec 28 11:39:44 2009 From: zallen at wheelinghospital.com (URI) Date: Mon, 28 Dec 2009 08:39:44 -0800 (PST) Subject: [Insight-users] Fwd: A challenge to all Windows users In-Reply-To: <387ee2020912240635n19b1ec03p577116cea72e0549@mail.gmail.com> References: <1261501404217-4204581.post@n2.nabble.com> <4B3233A3.2030605@ohiou.edu> <1261586294256-4209470.post@n2.nabble.com> <162CFB16-571E-4272-AD7F-CCB1E597C963@bluequartz.net> <1261650084881-4212686.post@n2.nabble.com> <4B3370E2.8020309@ohiou.edu> <1261664308036-4213328.post@n2.nabble.com> <387ee2020912240635n19b1ec03p577116cea72e0549@mail.gmail.com> Message-ID: <1262018384490-4224169.post@n2.nabble.com> This was exactly the problem, now it's working. I was also able to configure ITK with Visual Studio Express with no problems. Now I'm faced with a new challenge - how do I make it work from here? I have a folder called "Examples" that is full of C++, PY, and TCL files, but I'm not sure what to do with any of them. I tried following the Linux instructions (http://www.itk.org/CourseWare/Training/GettingStarted-I.pdf) starting with Step 6, but I got stuck on Step 7 because after running CMake on my new HelloWorld directory I do not have a HelloWorld.dsw file. I also tried following the instructions in the "ITK Software Guide" (http://www.itk.org/ItkSoftwareGuide.pdf) starting at the top of page 17, which reads: "Under Windows you can run CMakeSetup and provide your newly created directory as being both the source directory and the binary directory for your new project (i.e., an in-source build). Then CMake will require you to provide the path to the binary directory where ITK was built." I created a HelloWorld directory and copied the two files from the Examples/Installation folder, then I set CMake to point to my newly created directory for both the source and bin directory, but it never asked me for the path to the binary directory where ITK was built. It still configured though, and now I have several files in my HelloWorld directory, but I don't know what to do with them. I tried opening the VC++ Project files in VS Express and compiling them, but I keep getting errors. Can someone again provide specific step-by-step instructions on what to do after building ITK and hitting the "Generate" button in CMake? John Drescher-2 wrote: > > On Thu, Dec 24, 2009 at 9:18 AM, URI wrote: >> >> No, the closest things I have in C:\MinGW\bin are: >> >> mingw32-c++ >> mingw32-g++ >> mingw32-gcc >> mingw32-gcc-3.4.5 >> >> How could my MinGW install be different from yours if I used the same >> file >> and the same installation parameters? >> > > Looks like you did not select MinGW make when you installed MinGW. > Reinstall MinGW with either a Full or Custom with selecting MinGW > make. This is the last item in the list of things you can install. > > John > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://n2.nabble.com/A-challenge-to-all-Windows-users-tp4204581p4224169.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From vincent.lefort at gmail.com Mon Dec 28 12:22:47 2009 From: vincent.lefort at gmail.com (Vincent LEFORT) Date: Mon, 28 Dec 2009 18:22:47 +0100 Subject: [Insight-users] The itk could not compiled with mingw In-Reply-To: <3a98c5000912280818u2988d2erac2c3ac1ebf89eb9@mail.gmail.com> References: <3a98c5000912280818u2988d2erac2c3ac1ebf89eb9@mail.gmail.com> Message-ID: <3a98c5000912280922x322ace0fwc51836b3cd43009d@mail.gmail.com> Hello, i've the same problem. I can't compile ITK with mingw and gcc 4.4 on windows. I haven't enabled pthread (only check BUILD_EXAMPLES, BUILD_SHARED_LIBS, BUILD_TESTING with cmake-gui). Thanks for the help. Regards. Vincent ############## Error : ############### [ 45%] Building CXX object Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj In file included from E:\lib\InsightToolkit-3.16.0\Code\Common\/itkConditionVariable.h:31, from E:\lib\InsightToolkit-3.16.0\Code\Common\/itkBarrier.h:21, from E:\lib\InsightToolkit-3.16.0\Code\Common\itkBarrier.cxx:17: E:\lib\InsightToolkit-3.16.0\Code\Common\/itkMutexLock.h:50: error: conflicting declaration 'typedef void* itk::MutexType' E:\lib\InsightToolkit-3.16.0\Code\Common\/itkMutexLock.h:46: error: 'itk::MutexType' has a previous declaration as 'typedef struct pthread_mutex_t_* itk::MutexType' mingw32-make[2]: *** [Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj] Error 1 mingw32-make[1]: *** [Code/Common/CMakeFiles/ITKCommon.dir/all] Error 2 mingw32-make: *** [all] Error 2 ##### Hi ??, We build ITK every Night with MinGW. Please see the builds on: dash14.kitware Win32-mingw http://www.cdash.org/CDash/index.php?project=Insight&date=2009-07-09 Did you explicitly enabled pthreads ? Our Nightly build *does not* use pthreads. Please see its CMakeCache.txt file here:http://www.cdash.org/CDash/testDetails.php?test=26927876&build=374501 Regards, Luis -------------- ?? wrote: >* Hello! I tried to compile the latest cvs ITK with mingw with the *>* makefile generated by cmake. The compiler complained the following errors.*>* [ 66%] Building CXX object *>* Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj*>* In file included from *>* F:\ITK\source\Insight\Code\Common\itkConditionVariable.h:31,*>* from F:\ITK\source\Insight\Code\Common\itkBarrier.h:21,*>* from F:\ITK\source\Insight\Code\Common\itkBarrier.cxx:17:*>* F:\ITK\source\Insight\Code\Common\itkMutexLock.h:50: error: conflicting *>* declaration 'typedef void*itk::MutexType'*>* F:\ITK\source\Insight\Code\Common\itkMutexLock.h:46: error: *>* 'itk::MutexType' has a previous declaration as `typedef struct *>* pthread_mutex_t_*itk::MutexType'*>* F:\ITK\source\Insight\Code\Common\itkMutexLock.h:50: error: declaration *>* of `typedef void*itk::MutexType'*>* F:\ITK\source\Insight\Code\Common\itkMutexLock.h:46: error: conflicts *>* with previous declaration `typedef struct pthread_mutex_t_*itk::MutexType'*>* F:\ITK\source\Insight\Code\Common\itkMutexLock.h:50: error: declaration *>* of `typedef void*itk::MutexType'*>* F:\ITK\source\Insight\Code\Common\itkMutexLock.h:46: error: conflicts *>* with previous declaration `typedef struct pthread_mutex_t_*itk::MutexType'*>* mingw32-make[4]: *** *>* [Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj] Error 1*>* mingw32-make[3]: *** [Code/Common/CMakeFiles/ITKCommon.dir/all] Error 2*>* mingw32-make[2]: *** [all] Error 2* -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Mon Dec 28 12:33:56 2009 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Mon, 28 Dec 2009 12:33:56 -0500 Subject: [Insight-users] The itk could not compiled with mingw In-Reply-To: <3a98c5000912280922x322ace0fwc51836b3cd43009d@mail.gmail.com> References: <3a98c5000912280818u2988d2erac2c3ac1ebf89eb9@mail.gmail.com> <3a98c5000912280922x322ace0fwc51836b3cd43009d@mail.gmail.com> Message-ID: <4db4735c0912280933g23f9abfar5f0512a52734bf90@mail.gmail.com> Luis, I'm not sure we have a mingw build with gcc 4.4? Bill On Mon, Dec 28, 2009 at 12:22 PM, Vincent LEFORT wrote: > Hello, i've the same problem. I can't compile ITK with mingw and gcc 4.4 on > windows. > > I haven't enabled pthread (only check BUILD_EXAMPLES, BUILD_SHARED_LIBS, > BUILD_TESTING with cmake-gui). > > Thanks for the help. > > Regards. > > Vincent > > ############## Error : ############### > > [ 45%] Building CXX object > Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj > > In file included from > E:\lib\InsightToolkit-3.16.0\Code\Common\/itkConditionVariable.h:31, > from > E:\lib\InsightToolkit-3.16.0\Code\Common\/itkBarrier.h:21, > from > E:\lib\InsightToolkit-3.16.0\Code\Common\itkBarrier.cxx:17: > E:\lib\InsightToolkit-3.16.0\Code\Common\/itkMutexLock.h:50: error: > conflicting declaration 'typedef void* itk::MutexType' > E:\lib\InsightToolkit-3.16.0\Code\Common\/itkMutexLock.h:46: error: > 'itk::MutexType' has a previous declaration as 'typedef struct > pthread_mutex_t_* itk::MutexType' > mingw32-make[2]: *** [Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj] > Error 1 > mingw32-make[1]: *** [Code/Common/CMakeFiles/ITKCommon.dir/all] Error 2 > mingw32-make: *** [all] Error 2 > > ##### > > Hi ??, > > > We build ITK every Night with MinGW. > > > Please see the builds on: > > dash14.kitware Win32-mingw > > http://www.cdash.org/CDash/index.php?project=Insight&date=2009-07-09 > > > Did you explicitly enabled pthreads ? > > > Our Nightly build *does not* use pthreads. > > > Please see its CMakeCache.txt file here: > http://www.cdash.org/CDash/testDetails.php?test=26927876&build=374501 > > > > Regards, > > > Luis > > > -------------- > ?? wrote: >> Hello! I tried to compile the latest cvs ITK with mingw with the >> makefile generated by cmake. The compiler complained the following errors. >> [ 66%] Building CXX object >> Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj >> In file included from >> F:\ITK\source\Insight\Code\Common\itkConditionVariable.h:31, >> from F:\ITK\source\Insight\Code\Common\itkBarrier.h:21, >> from F:\ITK\source\Insight\Code\Common\itkBarrier.cxx:17: >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:50: error: conflicting >> declaration 'typedef void*itk::MutexType' >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:46: error: >> 'itk::MutexType' has a previous declaration as `typedef struct >> pthread_mutex_t_*itk::MutexType' >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:50: error: declaration >> of `typedef void*itk::MutexType' >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:46: error: conflicts >> with previous declaration `typedef struct pthread_mutex_t_*itk::MutexType' >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:50: error: declaration >> of `typedef void*itk::MutexType' >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:46: error: conflicts >> with previous declaration `typedef struct pthread_mutex_t_*itk::MutexType' >> mingw32-make[4]: *** >> [Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj] Error 1 >> mingw32-make[3]: *** [Code/Common/CMakeFiles/ITKCommon.dir/all] Error 2 >> mingw32-make[2]: *** [all] Error 2 > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From rjf.araraquara at gmail.com Mon Dec 28 20:23:50 2009 From: rjf.araraquara at gmail.com (Ricardo Ferrari) Date: Mon, 28 Dec 2009 23:23:50 -0200 Subject: [Insight-users] Problems with itk::Statistics::CovarianceSampleFilter Message-ID: Dear Itk-users, I am working on the following template function used to estimate initial parameters for a Gaussian Mixture Model. I can compile and link the code without any errors. However, the results I am getting from the filter itk::Statistics::CovarianceSampleFilter are wrong. Could anybody please check the code to see if I am using this filter properly? Thank you, Ricardo /// ***************************************************************************************************** /// /// ***************************************************************************************************** template< class TArrayImageType > void TKMeansEstimator< TArrayImageType > ::Run() { /// /// Gather info from the base class /// unsigned int NumberOfClasses = TGMM_InitStrategy< TArrayImageType >::m_NumberOfClasses; unsigned int NumberOfContrasts = TGMM_InitStrategy< TArrayImageType >::m_NumberOfContrasts; const TArrayImageType *InputImage = TGMM_InitStrategy< TArrayImageType >::m_InputImage; /// /// Generate sample data /// typedef itk::Statistics::ImageToListSampleAdaptor< TArrayImageType > ImageToListSampleAdaptorType; typename ImageToListSampleAdaptorType::Pointer adaptor = ImageToListSampleAdaptorType::New(); adaptor->SetImage( InputImage ); /// /// Create KdTree /// typedef itk::Statistics::WeightedCentroidKdTreeGenerator < ImageToListSampleAdaptorType > TreeGeneratorType; typename TreeGeneratorType::Pointer treeGenerator = TreeGeneratorType::New(); treeGenerator->SetSample( adaptor ); treeGenerator->SetBucketSize( m_BuckedSize ); treeGenerator->Update(); typedef itk::Statistics::KdTreeBasedKmeansEstimator < typename TreeGeneratorType::KdTreeType > EstimatorType; typename EstimatorType::Pointer estimator = EstimatorType::New(); /// /// Estimate classes mean vector /// typename EstimatorType::ParametersType initialMeans( NumberOfContrasts * NumberOfClasses ); estimator->SetParameters( initialMeans ); estimator->SetKdTree( treeGenerator->GetOutput() ); estimator->SetMaximumIteration( m_MaxNumberOfIterations ); estimator->SetCentroidPositionChangesThreshold( m_CentroidChangePosThresh ); estimator->StartOptimization(); typename EstimatorType::ParametersType estimatedMeans = estimator->GetParameters(); /// /// Compute classes labels /// typedef itk::Statistics::SampleClassifierFilter< ImageToListSampleAdaptorType > SampleClassifierFilterType; typedef typename SampleClassifierFilterType::MembershipSampleType::ClassLabelType ClassLabelType; typedef typename SampleClassifierFilterType::ClassLabelVectorObjectType ClassLabelVectorObjectType; typename ClassLabelVectorObjectType::Pointer classLabelsObject = ClassLabelVectorObjectType::New(); typedef typename SampleClassifierFilterType::ClassLabelVectorType ClassLabelVectorType; ClassLabelVectorType& classLabelVector = classLabelsObject->Get(); for( unsigned int i=0; i < NumberOfClasses; i++ ) { ClassLabelType classLabel = (i + 1) * 100; classLabelVector.push_back( classLabel ); } /// Set a decision rule type typedef itk::Statistics::MinimumDecisionRule2 DecisionRuleType; typename DecisionRuleType::Pointer decisionRule = DecisionRuleType::New(); const typename SampleClassifierFilterType::MembershipFunctionVectorObjectType *membershipFunctionsObject = estimator->GetOutput(); /// Instantiate and pass all the required inputs to the filter typename SampleClassifierFilterType::Pointer classifier = SampleClassifierFilterType::New(); classifier->SetInput( adaptor ); classifier->SetNumberOfClasses( NumberOfClasses ); classifier->SetClassLabels( classLabelsObject ); classifier->SetDecisionRule( decisionRule ); classifier->SetMembershipFunctions( membershipFunctionsObject ); classifier->Update(); const typename SampleClassifierFilterType::MembershipSampleType* membershipSample = classifier->GetOutput(); /// /// Compute the covariance matrices and the weight vectors /// typedef typename SampleClassifierFilterType::MembershipSampleType::ClassSampleType ClassSampleType; typedef itk::Statistics::CovarianceSampleFilter< ClassSampleType > CovarianceSampleFilterType; /// Resize weight class vector TGMM_InitStrategy< TArrayImageType >::m_WeightClassesVector.SetSize( NumberOfClasses ); /// Now, get the mean & covariance into the parameters vector for( unsigned int i=0; i < NumberOfClasses; ++i ) { /// Get a pointer only to the samples of classLabel ClassLabelType classLabel = (i + 1) * 100; const ClassSampleType* classSample = membershipSample->GetClassSample( classLabel ); /// * /// Compute covariance matrix /// The problem seems to be here /// typename CovarianceSampleFilterType::Pointer covarianceFilter = CovarianceSampleFilterType::New(); covarianceFilter->SetInput( classSample ); covarianceFilter->Update(); * const typename CovarianceSampleFilterType::MeasurementVectorDecoratedType *MeanDecorator = covarianceFilter->GetMeanOutput(); typename CovarianceSampleFilterType::MeasurementVectorType mean = MeanDecorator->Get(); const typename CovarianceSampleFilterType::MatrixDecoratedType *CovDecorator = covarianceFilter->GetCovarianceMatrixOutput(); typename CovarianceSampleFilterType::MatrixType cov = CovDecorator->Get(); /// Create a parameter array for the current class ParametersType *params = new ParametersType( NumberOfContrasts * NumberOfContrasts + NumberOfContrasts ); unsigned int index = 0; for( unsigned j=0; j < NumberOfContrasts; j++ ) { /// Copy mean vector params->SetElement( index++, static_cast< double >( mean[j] ) ); /// Copy covariance matrix for( unsigned k=0; k < NumberOfContrasts; k++ ) params->SetElement( index++, static_cast< double >( cov[j][k] ) ); } TGMM_InitStrategy< TArrayImageType >::m_Parameters.push_back( params ); TGMM_InitStrategy< TArrayImageType >::m_WeightClassesVector.SetElement( i, (double)classSample->GetTotalFrequency() / adaptor->GetTotalFrequency() ); } } The input image is created as /// const int NumberOfContrasts = 1; //3; const int Dimension = 3; /// Image definition typedef signed short InputPixelType; typedef itk::Image< InputPixelType, Dimension > InputImageType; typedef itk::FixedArray< InputPixelType, NumberOfContrasts > ArrayPixelType; typedef itk::Image< ArrayPixelType, Dimension > ArrayImageType; /// /// Create a image of array from different image contrasts /// typedef itk::ScalarToArrayCastImageFilter< InputImageType, ArrayImageType > CasterType; CasterType::Pointer caster = CasterType::New(); for( int i=0; i < NumberOfContrasts; ++i ) caster->SetInput( i, ReadMincImage< InputImageType >( inputFileName[i] ) ); caster->Update(); const TArrayImageType *InputImage = caster->GetOutput(); -------------- next part -------------- An HTML attachment was scrubbed... URL: From karthik.krishnan at kitware.com Tue Dec 29 01:18:52 2009 From: karthik.krishnan at kitware.com (Karthik Krishnan) Date: Tue, 29 Dec 2009 01:18:52 -0500 Subject: [Insight-users] Problems with itk::Statistics::CovarianceSampleFilter In-Reply-To: References: Message-ID: <9ddb27260912282218h32ed6e99g7a441ad9e4175d69@mail.gmail.com> Would you mind posting a minimal compiling test that demonstrates the problem ? Thanks On Mon, Dec 28, 2009 at 8:23 PM, Ricardo Ferrari wrote: > Dear Itk-users, > > I am working on the following template function used to estimate initial > parameters for a Gaussian Mixture Model.? I can compile and link the code > without any errors. However, the results I am getting from the filter > itk::Statistics::CovarianceSampleFilter are wrong. > > Could anybody please check the code to see if I am using this filter > properly? > > Thank you, > Ricardo > > > > /// > ***************************************************************************************************** > /// > /// > ***************************************************************************************************** > template< class TArrayImageType > > void TKMeansEstimator< TArrayImageType > > ::Run() > { > ??? /// > ??? /// Gather info from the base class > ??? /// > ??? unsigned int NumberOfClasses = TGMM_InitStrategy< TArrayImageType >>::m_NumberOfClasses; > ??? unsigned int NumberOfContrasts = TGMM_InitStrategy< TArrayImageType >>::m_NumberOfContrasts; > ??? const TArrayImageType *InputImage = TGMM_InitStrategy< TArrayImageType >>::m_InputImage; > > ??? /// > ??? /// Generate sample data > ??? /// > ??? typedef itk::Statistics::ImageToListSampleAdaptor< TArrayImageType > > ImageToListSampleAdaptorType; > ??? typename ImageToListSampleAdaptorType::Pointer adaptor = > ImageToListSampleAdaptorType::New(); > ??? adaptor->SetImage( InputImage ); > > ??? /// > ??? /// Create KdTree > ??? /// > ??? typedef itk::Statistics::WeightedCentroidKdTreeGenerator < > ImageToListSampleAdaptorType > TreeGeneratorType; > ??? typename TreeGeneratorType::Pointer treeGenerator = > TreeGeneratorType::New(); > ??? treeGenerator->SetSample( adaptor ); > ??? treeGenerator->SetBucketSize( m_BuckedSize ); > ??? treeGenerator->Update(); > > ??? typedef itk::Statistics::KdTreeBasedKmeansEstimator < typename > TreeGeneratorType::KdTreeType > EstimatorType; > ??? typename EstimatorType::Pointer estimator = EstimatorType::New(); > > ??? /// > ??? /// Estimate classes mean vector > ??? /// > ??? typename EstimatorType::ParametersType initialMeans( NumberOfContrasts * > NumberOfClasses ); > ??? estimator->SetParameters( initialMeans ); > ??? estimator->SetKdTree( treeGenerator->GetOutput() ); > ??? estimator->SetMaximumIteration( m_MaxNumberOfIterations ); > ??? estimator->SetCentroidPositionChangesThreshold( > m_CentroidChangePosThresh ); > ??? estimator->StartOptimization(); > > ? ??? typename EstimatorType::ParametersType estimatedMeans = > estimator->GetParameters(); > > ??? /// > ??? /// Compute classes labels > ??? /// > ??? typedef itk::Statistics::SampleClassifierFilter< > ImageToListSampleAdaptorType >? SampleClassifierFilterType; > ??? typedef typename > SampleClassifierFilterType::MembershipSampleType::ClassLabelType > ClassLabelType; > > ??? typedef typename SampleClassifierFilterType::ClassLabelVectorObjectType > ClassLabelVectorObjectType; > ??? typename ClassLabelVectorObjectType::Pointer classLabelsObject = > ClassLabelVectorObjectType::New(); > > ??? typedef typename SampleClassifierFilterType::ClassLabelVectorType > ClassLabelVectorType; > ? ??? ClassLabelVectorType& classLabelVector = classLabelsObject->Get(); > ??? for( unsigned int i=0; i < NumberOfClasses; i++ ) > ??? { > ??? ??? ClassLabelType classLabel = (i + 1) * 100; > ??? ??? classLabelVector.push_back( classLabel ); > ??? } > > ? ??? /// Set a decision rule type > ? ??? typedef itk::Statistics::MinimumDecisionRule2? DecisionRuleType; > ? ??? typename DecisionRuleType::Pointer decisionRule = > DecisionRuleType::New(); > > ? ??? const typename > SampleClassifierFilterType::MembershipFunctionVectorObjectType > *membershipFunctionsObject = estimator->GetOutput(); > > ? ??? /// Instantiate and pass all the required inputs to the filter > ??? typename SampleClassifierFilterType::Pointer classifier = > SampleClassifierFilterType::New(); > ? ??? classifier->SetInput( adaptor ); > ? ??? classifier->SetNumberOfClasses( NumberOfClasses ); > ? ??? classifier->SetClassLabels( classLabelsObject ); > ? ??? classifier->SetDecisionRule( decisionRule ); > ? ??? classifier->SetMembershipFunctions( membershipFunctionsObject ); > ???? classifier->Update(); > ??? const typename SampleClassifierFilterType::MembershipSampleType* > membershipSample = classifier->GetOutput(); > > ??? /// > ??? /// Compute the covariance matrices and the weight vectors > ??? /// > ??? typedef typename > SampleClassifierFilterType::MembershipSampleType::ClassSampleType > ClassSampleType; > ??? typedef itk::Statistics::CovarianceSampleFilter< ClassSampleType > > ??? ??? ??? ??? CovarianceSampleFilterType; > > ??? /// Resize weight class vector > ??? TGMM_InitStrategy< TArrayImageType >::m_WeightClassesVector.SetSize( > NumberOfClasses ); > > ??? /// Now, get the mean & covariance into the parameters vector > ??? for( unsigned int i=0; i < NumberOfClasses; ++i ) > ??? { > ??? ??? /// Get a pointer only to the samples of classLabel > ??? ??? ClassLabelType classLabel = (i + 1) * 100; > ??? ??? const ClassSampleType* classSample = > membershipSample->GetClassSample( classLabel ); > > ????????? /// > ??? ??? /// Compute covariance matrix > ??????? /// The problem seems to be here > ? ? ? ? /// > ??? ??? typename CovarianceSampleFilterType::Pointer covarianceFilter = > CovarianceSampleFilterType::New(); > ??? ??? covarianceFilter->SetInput( classSample ); > ??? ??? covarianceFilter->Update(); > > ? ??? ??? const typename > CovarianceSampleFilterType::MeasurementVectorDecoratedType *MeanDecorator = > covarianceFilter->GetMeanOutput(); > ? ??? ??? typename CovarianceSampleFilterType::MeasurementVectorType mean = > MeanDecorator->Get(); > > ? ??? ??? const typename CovarianceSampleFilterType::MatrixDecoratedType > *CovDecorator = covarianceFilter->GetCovarianceMatrixOutput(); > ? ??? ??? typename CovarianceSampleFilterType::MatrixType cov = > CovDecorator->Get(); > > ??? ??? /// Create a parameter array for the current class > ??? ??? ParametersType *params = new ParametersType( NumberOfContrasts * > NumberOfContrasts + NumberOfContrasts ); > > ??? ??? unsigned int index = 0; > ??? ??? for( unsigned j=0; j < NumberOfContrasts; j++ ) > ??? ??? { > ??? ??? ??? /// Copy mean vector > ??? ??? ??? params->SetElement( index++, static_cast< double >( mean[j] ) ); > > ??? ??? ??? /// Copy covariance matrix > ??? ??? ??? for( unsigned k=0; k < NumberOfContrasts; k++ ) > ??? ??? ??? ??? params->SetElement( index++, static_cast< double >( > cov[j][k] ) ); > ??? ??? } > > ??? ??? TGMM_InitStrategy< TArrayImageType >::m_Parameters.push_back( params > ); > ??? ??? TGMM_InitStrategy< TArrayImageType >>::m_WeightClassesVector.SetElement( i, > (double)classSample->GetTotalFrequency() / adaptor->GetTotalFrequency() ); > > ??? } > } > > > The input image is created as > > > /// > const int NumberOfContrasts = 1; //3; > const int Dimension = 3; > > /// Image definition > typedef signed short > InputPixelType; > typedef itk::Image< InputPixelType, Dimension > > InputImageType; > > typedef itk::FixedArray< InputPixelType, NumberOfContrasts > > ArrayPixelType; > typedef itk::Image< ArrayPixelType, Dimension > > ArrayImageType; > > > /// > /// Create a image of array from different image contrasts > /// > ??? typedef itk::ScalarToArrayCastImageFilter< InputImageType, > ArrayImageType > CasterType; > ??? CasterType::Pointer caster = CasterType::New(); > ??? for( int i=0; i < NumberOfContrasts; ++i ) > ??? ??? caster->SetInput( i, ReadMincImage< InputImageType >( > inputFileName[i] ) ); > ??? caster->Update(); > > const TArrayImageType *InputImage = caster->GetOutput(); > > > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- _________________________________ Karthik Krishnan R&D Engineer, Kitware Inc. Ph: +1 5188814919, +91 9538477060 From vincent.lefort at gmail.com Tue Dec 29 04:22:21 2009 From: vincent.lefort at gmail.com (Vincent LEFORT) Date: Tue, 29 Dec 2009 10:22:21 +0100 Subject: [Insight-users] The itk could not compiled with mingw In-Reply-To: <4db4735c0912280933g23f9abfar5f0512a52734bf90@mail.gmail.com> References: <3a98c5000912280818u2988d2erac2c3ac1ebf89eb9@mail.gmail.com> <3a98c5000912280922x322ace0fwc51836b3cd43009d@mail.gmail.com> <4db4735c0912280933g23f9abfar5f0512a52734bf90@mail.gmail.com> Message-ID: <3a98c5000912290122x4d0f22bdkfadc2558fd5a948e@mail.gmail.com> Hi, By looking a little more, i see that the options "CMAKE_USE_WIN32_THREADS" and "CMAKE_USE_PTHREADS" was checked in the configuration. Now it's ok and compile ! Thanks Vince On Mon, Dec 28, 2009 at 18:33, Bill Lorensen wrote: > Luis, > > I'm not sure we have a mingw build with gcc 4.4? > > Bill > > On Mon, Dec 28, 2009 at 12:22 PM, Vincent LEFORT > wrote: > > Hello, i've the same problem. I can't compile ITK with mingw and gcc 4.4 > on > > windows. > > > > I haven't enabled pthread (only check BUILD_EXAMPLES, BUILD_SHARED_LIBS, > > BUILD_TESTING with cmake-gui). > > > > Thanks for the help. > > > > Regards. > > > > Vincent > > > > ############## Error : ############### > > > > [ 45%] Building CXX object > > Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj > > > > In file included from > > E:\lib\InsightToolkit-3.16.0\Code\Common\/itkConditionVariable.h:31, > > from > > E:\lib\InsightToolkit-3.16.0\Code\Common\/itkBarrier.h:21, > > from > > E:\lib\InsightToolkit-3.16.0\Code\Common\itkBarrier.cxx:17: > > E:\lib\InsightToolkit-3.16.0\Code\Common\/itkMutexLock.h:50: error: > > conflicting declaration 'typedef void* itk::MutexType' > > E:\lib\InsightToolkit-3.16.0\Code\Common\/itkMutexLock.h:46: error: > > 'itk::MutexType' has a previous declaration as 'typedef struct > > pthread_mutex_t_* itk::MutexType' > > mingw32-make[2]: *** > [Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj] > > Error 1 > > mingw32-make[1]: *** [Code/Common/CMakeFiles/ITKCommon.dir/all] Error 2 > > mingw32-make: *** [all] Error 2 > > > > ##### > > > > Hi ??, > > > > > > We build ITK every Night with MinGW. > > > > > > Please see the builds on: > > > > dash14.kitware Win32-mingw > > > > http://www.cdash.org/CDash/index.php?project=Insight&date=2009-07-09 > > > > > > Did you explicitly enabled pthreads ? > > > > > > Our Nightly build *does not* use pthreads. > > > > > > Please see its CMakeCache.txt file here: > > http://www.cdash.org/CDash/testDetails.php?test=26927876&build=374501 > > > > > > > > Regards, > > > > > > Luis > > > > > > -------------- > > ?? wrote: > >> Hello! I tried to compile the latest cvs ITK with mingw with the > >> makefile generated by cmake. The compiler complained the following > errors. > >> [ 66%] Building CXX object > >> Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj > >> In file included from > >> F:\ITK\source\Insight\Code\Common\itkConditionVariable.h:31, > >> from F:\ITK\source\Insight\Code\Common\itkBarrier.h:21, > >> from > F:\ITK\source\Insight\Code\Common\itkBarrier.cxx:17: > >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:50: error: conflicting > >> declaration 'typedef void*itk::MutexType' > >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:46: error: > >> 'itk::MutexType' has a previous declaration as `typedef struct > >> pthread_mutex_t_*itk::MutexType' > >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:50: error: declaration > >> of `typedef void*itk::MutexType' > >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:46: error: conflicts > >> with previous declaration `typedef struct > pthread_mutex_t_*itk::MutexType' > >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:50: error: declaration > >> of `typedef void*itk::MutexType' > >> F:\ITK\source\Insight\Code\Common\itkMutexLock.h:46: error: conflicts > >> with previous declaration `typedef struct > pthread_mutex_t_*itk::MutexType' > >> mingw32-make[4]: *** > >> [Code/Common/CMakeFiles/ITKCommon.dir/itkBarrier.obj] Error 1 > >> mingw32-make[3]: *** [Code/Common/CMakeFiles/ITKCommon.dir/all] Error 2 > >> mingw32-make[2]: *** [all] Error 2 > > > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From circass at gmail.com Tue Dec 29 04:42:19 2009 From: circass at gmail.com (circass) Date: Tue, 29 Dec 2009 01:42:19 -0800 (PST) Subject: [Insight-users] How To Fix that Visualisation ? Message-ID: <26952729.post@talk.nabble.com> This is my Result Volume, but i want to see only the volume pf my dicom series ! http://img693.imageshack.us/img693/8188/outputo.jpg As you see it is in a rectangular shape and the volume is not transparent so nobody can see inside of that volume. This is my Code : #include "itkOrientedImage.h" #include "itkGDCMImageIO.h" #include "itkGDCMSeriesFileNames.h" #include "itkImageSeriesReader.h" #include "itkImageFileWriter.h" #include "itkCommand.h" #include "itkImage.h" #include "itkVTKImageExport.h" #include "itkOrientedImage.h" #include "itkGDCMImageIO.h" #include "itkGDCMSeriesFileNames.h" #include "itkImageSeriesReader.h" #include "itkImageFileWriter.h" #include "itkVTKImageImport.h" #include "itkCurvatureFlowImageFilter.h" #include "itkCastImageFilter.h" #include "itkRGBPixel.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkDICOMImageIO2Factory.h" #include "itkDICOMImageIO2.h" #include "itkImageSeriesReader.h" #include "itkDICOMSeriesFileNames.h" #include "vtkColorTransferFunction.h" #include "vtkImageData.h" #include "vtkImageImport.h" #include "vtkImageExport.h" #include "vtkImageActor.h" #include "vtkRenderer.h" #include "vtkRenderWindow.h" #include "vtkVolumeProperty.h" #include "vtkVolumeTextureMapper.h" #include "vtkVolumeTextureMapper3D.h" #include "vtkFixedPointVolumeRayCastMapper.h"; #include "vtkRenderWindowInteractor.h" #include "vtkInteractorStyleImage.h" #include "vtkPieceWiseFunction.h" #include "conio.h" template void ConnectPipelines(ITK_Exporter exporter, VTK_Importer* importer) { importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback()); importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback()); importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback()); importer->SetSpacingCallback(exporter->GetSpacingCallback()); importer->SetOriginCallback(exporter->GetOriginCallback()); importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback()); importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback()); importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback()); importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback()); importer->SetDataExtentCallback(exporter->GetDataExtentCallback()); importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback()); importer->SetCallbackUserData(exporter->GetCallbackUserData()); } template void ConnectPipelines(VTK_Exporter* exporter, ITK_Importer importer) { importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback()); importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback()); importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback()); importer->SetSpacingCallback(exporter->GetSpacingCallback()); importer->SetOriginCallback(exporter->GetOriginCallback()); importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback()); importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback()); importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback()); importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback()); importer->SetDataExtentCallback(exporter->GetDataExtentCallback()); importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback()); importer->SetCallbackUserData(exporter->GetCallbackUserData()); } int main( int argc, char* argv[] ) { typedef signed short PixelType; const unsigned int Dimension = 3; typedef itk::OrientedImage< PixelType, Dimension > ImageType; typedef itk::ImageSeriesReader< ImageType > ReaderType; ReaderType::Pointer reader = ReaderType::New(); typedef itk::GDCMImageIO ImageIOType; ImageIOType::Pointer dicomIO = ImageIOType::New(); reader->SetImageIO( dicomIO ); typedef itk::GDCMSeriesFileNames NamesGeneratorType; NamesGeneratorType::Pointer nameGenerator = NamesGeneratorType::New(); nameGenerator->SetUseSeriesDetails( true ); nameGenerator->SetDirectory( "C:\\Users\\circass\\Desktop\\YEDEKLERRRR\\MANIX\\CER-CT\\ANGIO CT" ); // There are 461 Dicom Image files in it. std::cout << std::endl << "The directory: " << std::endl; std::cout << std::endl << "C:\\Users\\circass\\Desktop\\YEDEKLERRRR\\MANIX\\CER-CT\\ANGIO CT" << std::endl << std::endl; std::cout << "Contains the following DICOM Series: "; std::cout << std::endl << std::endl; typedef std::vector< std::string > SeriesIdContainer; const SeriesIdContainer & seriesUID = nameGenerator->GetSeriesUIDs(); SeriesIdContainer::const_iterator seriesItr = seriesUID.begin(); SeriesIdContainer::const_iterator seriesEnd = seriesUID.end(); while( seriesItr != seriesEnd ) { std::cout << seriesItr->c_str() << std::endl; seriesItr++; } std::string seriesIdentifier; seriesIdentifier = seriesUID.begin()->c_str(); std::cout << std::endl << std::endl; std::cout << "Now reading series: " << std::endl << std::endl; std::cout << seriesIdentifier << std::endl; std::cout << std::endl << std::endl; typedef std::vector< std::string > FileNamesContainer; FileNamesContainer fileNames; fileNames = nameGenerator->GetFileNames( seriesIdentifier ); reader->SetFileNames( fileNames ); typedef itk::VTKImageExport< ImageType > ExportFilterType; ExportFilterType::Pointer itkExporter = ExportFilterType::New(); itkExporter->SetInput( reader->GetOutput() ); vtkImageImport* vtkImporter = vtkImageImport::New(); ConnectPipelines(itkExporter, vtkImporter); typedef itk::VTKImageImport< ImageType > ImportFilterType; ImportFilterType::Pointer itkImporter = ImportFilterType::New(); vtkImageExport* vtkExporter = vtkImageExport::New(); ConnectPipelines(vtkExporter, itkImporter); vtkExporter->SetInput( vtkImporter->GetOutput() ); //reader->Update(); vtkPiecewiseFunction* opacityTransferFunction = vtkPiecewiseFunction::New(); vtkColorTransferFunction* colorTransferFunction = vtkColorTransferFunction::New(); vtkVolume* volume = vtkVolume::New(); vtkVolumeProperty* volumeProperty = vtkVolumeProperty::New(); vtkVolumeTextureMapper3D* volumeMapper = vtkVolumeTextureMapper3D::New(); vtkFixedPointVolumeRayCastMapper* volumeMapperSoftware = vtkFixedPointVolumeRayCastMapper::New(); //volumeProperty->SetScalarOpacity(opacityTransferFunction); volumeProperty->SetInterpolationTypeToNearest(); volumeProperty->ShadeOff(); volume->SetProperty(volumeProperty); volumeMapperSoftware->SetInput(vtkImporter->GetOutput()); volumeMapperSoftware->SetSampleDistance(0.1); volume->SetMapper(volumeMapperSoftware); vtkInteractorStyleTrackballCamera * interactorStyle = vtkInteractorStyleTrackballCamera::New(); vtkRenderer* renderer = vtkRenderer::New(); vtkRenderWindow* renWin = vtkRenderWindow::New(); renderer->SetBackground(1,1,1); vtkRenderWindowInteractor* iren = vtkRenderWindowInteractor::New(); renWin->SetSize(500, 500); renWin->AddRenderer(renderer); iren->SetRenderWindow(renWin); //iren->SetInteractorStyle(interactorStyle); renderer->AddVolume(volume); renWin->Render(); iren->Start(); } I am developing it in Visual Studio 2008; my linker -> input files are : kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib C:\ITK\Itk-Win\bin\Release\ITKIO.lib C:\ITK\Itk-Win\bin\Release\ITKNrrdIO.lib C:\ITK\Itk-Win\bin\Release\itkgdcm.lib C:\ITK\Itk-Win\bin\Release\itkjpeg12.lib C:\ITK\Itk-Win\bin\Release\itkjpeg16.lib C:\ITK\Itk-Win\bin\Release\itkopenjpeg.lib snmpapi.lib rpcrt4.lib C:\ITK\Itk-Win\bin\Release\itkpng.lib C:\ITK\Itk-Win\bin\Release\itktiff.lib C:\ITK\Itk-Win\bin\Release\itkjpeg8.lib C:\ITK\Itk-Win\bin\Release\ITKSpatialObject.lib C:\ITK\Itk-Win\bin\Release\ITKCommon.lib C:\ITK\Itk-Win\bin\Release\itkvnl_inst.lib C:\ITK\Itk-Win\bin\Release\itkvnl_algo.lib C:\ITK\Itk-Win\bin\Release\itkv3p_netlib.lib C:\ITK\Itk-Win\bin\Release\itkvnl.lib C:\ITK\Itk-Win\bin\Release\itkvcl.lib C:\ITK\Itk-Win\bin\Release\ITKMetaIO.lib C:\ITK\Itk-Win\bin\Release\itksys.lib ws2_32.lib comctl32.lib wsock32.lib C:\ITK\Itk-Win\bin\Release\ITKDICOMParser.lib C:\ITK\Itk-Win\bin\Release\ITKEXPAT.lib C:\ITK\Itk-Win\bin\Release\ITKniftiio.lib C:\ITK\Itk-Win\bin\Release\ITKznz.lib C:\ITK\Itk-Win\bin\Release\itkzlib.lib C:\ITK\Itk-Win\bin\Release\itkBasicFilters.lib vtkCommon.lib vtksqlite.lib vtkpng.lib vtktiff.lib vtkzlib.lib vtkjpeg.lib vtkexpat.lib vtksys.lib vtkexoIIc.lib vtkNetCDF.lib vtkRendering.lib vtkIO.lib vtkWidgets.lib vtkHybrid.lib vtkGraphics.lib vtkverdict.lib vtkImaging.lib vtkftgl.lib vtkfreetype.lib opengl32.lib vtkFiltering.lib vtkDICOMParser.lib vtkmetaio.lib vtkVolumeRendering.lib Thanx for your helps -- View this message in context: http://old.nabble.com/How-To-Fix-that-Visualisation---tp26952729p26952729.html Sent from the ITK - Users mailing list archive at Nabble.com. From circass at gmail.com Tue Dec 29 11:30:13 2009 From: circass at gmail.com (circass) Date: Tue, 29 Dec 2009 08:30:13 -0800 (PST) Subject: [Insight-users] How To Fix that Visualisation ? In-Reply-To: <26952729.post@talk.nabble.com> References: <26952729.post@talk.nabble.com> Message-ID: <26956634.post@talk.nabble.com> I Found the solution of my problem, it is here for anyother prorammers,,,, vtkPiecewiseFunction* opacityTransferFunction = vtkPiecewiseFunction::New(); //Use this OPACITY !!!! opacityTransferFunction->addPoint(0,0.1); opacityTransferFunction->addPoint(255,0); vtkColorTransferFunction* colorTransferFunction = vtkColorTransferFunction::New(); vtkVolume* volume = vtkVolume::New(); vtkVolumeProperty* volumeProperty = vtkVolumeProperty::New(); vtkVolumeTextureMapper3D* volumeMapper = vtkVolumeTextureMapper3D::New(); vtkFixedPointVolumeRayCastMapper* volumeMapperSoftware = vtkFixedPointVolumeRayCastMapper::New(); volumeProperty->SetScalarOpacity(opacityTransferFunction); // Uncomment this line, it will work after those things. STILL THANX FOR YOUR HELPS. circass wrote: > > This is my Result Volume, but i want to see only the volume pf my dicom > series ! > > > http://img693.imageshack.us/img693/8188/outputo.jpg > > > As you see it is in a rectangular shape and the volume is not transparent > so nobody can see inside of that volume. > > This is my Code : > > #include "itkOrientedImage.h" > #include "itkGDCMImageIO.h" > #include "itkGDCMSeriesFileNames.h" > #include "itkImageSeriesReader.h" > #include "itkImageFileWriter.h" > #include "itkCommand.h" > #include "itkImage.h" > #include "itkVTKImageExport.h" > #include "itkOrientedImage.h" > #include "itkGDCMImageIO.h" > #include "itkGDCMSeriesFileNames.h" > #include "itkImageSeriesReader.h" > #include "itkImageFileWriter.h" > #include "itkVTKImageImport.h" > #include "itkCurvatureFlowImageFilter.h" > #include "itkCastImageFilter.h" > #include "itkRGBPixel.h" > #include "itkImageFileReader.h" > #include "itkImageFileWriter.h" > #include "itkDICOMImageIO2Factory.h" > #include "itkDICOMImageIO2.h" > #include "itkImageSeriesReader.h" > #include "itkDICOMSeriesFileNames.h" > #include "vtkColorTransferFunction.h" > #include "vtkImageData.h" > #include "vtkImageImport.h" > #include "vtkImageExport.h" > #include "vtkImageActor.h" > #include "vtkRenderer.h" > #include "vtkRenderWindow.h" > #include "vtkVolumeProperty.h" > #include "vtkVolumeTextureMapper.h" > #include "vtkVolumeTextureMapper3D.h" > #include "vtkFixedPointVolumeRayCastMapper.h"; > #include "vtkRenderWindowInteractor.h" > #include "vtkInteractorStyleImage.h" > #include "vtkPieceWiseFunction.h" > #include "conio.h" > > template > void ConnectPipelines(ITK_Exporter exporter, VTK_Importer* importer) > { > > importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback()); > > importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback()); > importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback()); > importer->SetSpacingCallback(exporter->GetSpacingCallback()); > importer->SetOriginCallback(exporter->GetOriginCallback()); > importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback()); > > importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback()); > > importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback()); > importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback()); > importer->SetDataExtentCallback(exporter->GetDataExtentCallback()); > > importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback()); > importer->SetCallbackUserData(exporter->GetCallbackUserData()); > } > > template > void ConnectPipelines(VTK_Exporter* exporter, ITK_Importer importer) > { > > importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback()); > > importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback()); > importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback()); > importer->SetSpacingCallback(exporter->GetSpacingCallback()); > importer->SetOriginCallback(exporter->GetOriginCallback()); > importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback()); > > importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback()); > > importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback()); > importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback()); > importer->SetDataExtentCallback(exporter->GetDataExtentCallback()); > > importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback()); > importer->SetCallbackUserData(exporter->GetCallbackUserData()); > } > > int main( int argc, char* argv[] ) > { > typedef signed short PixelType; > const unsigned int Dimension = 3; > > typedef itk::OrientedImage< PixelType, Dimension > ImageType; > typedef itk::ImageSeriesReader< ImageType > ReaderType; > ReaderType::Pointer reader = ReaderType::New(); > typedef itk::GDCMImageIO ImageIOType; > ImageIOType::Pointer dicomIO = ImageIOType::New(); > > reader->SetImageIO( dicomIO ); > typedef itk::GDCMSeriesFileNames NamesGeneratorType; > NamesGeneratorType::Pointer nameGenerator = NamesGeneratorType::New(); > > nameGenerator->SetUseSeriesDetails( true ); > nameGenerator->SetDirectory( > "C:\\Users\\circass\\Desktop\\YEDEKLERRRR\\MANIX\\CER-CT\\ANGIO CT" ); // > There are 461 Dicom Image files in it. > > std::cout << std::endl << "The directory: " << std::endl; > std::cout << std::endl << > "C:\\Users\\circass\\Desktop\\YEDEKLERRRR\\MANIX\\CER-CT\\ANGIO CT" << > std::endl << std::endl; > std::cout << "Contains the following DICOM Series: "; > std::cout << std::endl << std::endl; > > > typedef std::vector< std::string > SeriesIdContainer; > > const SeriesIdContainer & seriesUID = nameGenerator->GetSeriesUIDs(); > > SeriesIdContainer::const_iterator seriesItr = seriesUID.begin(); > SeriesIdContainer::const_iterator seriesEnd = seriesUID.end(); > while( seriesItr != seriesEnd ) > { > std::cout << seriesItr->c_str() << std::endl; > seriesItr++; > } > std::string seriesIdentifier; > seriesIdentifier = seriesUID.begin()->c_str(); > std::cout << std::endl << std::endl; > std::cout << "Now reading series: " << std::endl << std::endl; > std::cout << seriesIdentifier << std::endl; > std::cout << std::endl << std::endl; > typedef std::vector< std::string > FileNamesContainer; > FileNamesContainer fileNames; > fileNames = nameGenerator->GetFileNames( seriesIdentifier ); > reader->SetFileNames( fileNames ); > typedef itk::VTKImageExport< ImageType > ExportFilterType; > ExportFilterType::Pointer itkExporter = ExportFilterType::New(); > itkExporter->SetInput( reader->GetOutput() ); > vtkImageImport* vtkImporter = vtkImageImport::New(); > ConnectPipelines(itkExporter, vtkImporter); > typedef itk::VTKImageImport< ImageType > ImportFilterType; > ImportFilterType::Pointer itkImporter = ImportFilterType::New(); > > > vtkImageExport* vtkExporter = vtkImageExport::New(); > ConnectPipelines(vtkExporter, itkImporter); > > vtkExporter->SetInput( vtkImporter->GetOutput() ); > > //reader->Update(); > > vtkPiecewiseFunction* opacityTransferFunction = > vtkPiecewiseFunction::New(); > vtkColorTransferFunction* colorTransferFunction = > vtkColorTransferFunction::New(); > > vtkVolume* volume = vtkVolume::New(); > vtkVolumeProperty* volumeProperty = vtkVolumeProperty::New(); > vtkVolumeTextureMapper3D* volumeMapper = vtkVolumeTextureMapper3D::New(); > vtkFixedPointVolumeRayCastMapper* volumeMapperSoftware = > vtkFixedPointVolumeRayCastMapper::New(); > > //volumeProperty->SetScalarOpacity(opacityTransferFunction); > volumeProperty->SetInterpolationTypeToNearest(); > volumeProperty->ShadeOff(); > volume->SetProperty(volumeProperty); > > volumeMapperSoftware->SetInput(vtkImporter->GetOutput()); > volumeMapperSoftware->SetSampleDistance(0.1); > volume->SetMapper(volumeMapperSoftware); > > vtkInteractorStyleTrackballCamera * interactorStyle = > vtkInteractorStyleTrackballCamera::New(); > > vtkRenderer* renderer = vtkRenderer::New(); > vtkRenderWindow* renWin = vtkRenderWindow::New(); > renderer->SetBackground(1,1,1); > vtkRenderWindowInteractor* iren = vtkRenderWindowInteractor::New(); > > renWin->SetSize(500, 500); > renWin->AddRenderer(renderer); > iren->SetRenderWindow(renWin); > //iren->SetInteractorStyle(interactorStyle); > > renderer->AddVolume(volume); > renWin->Render(); > iren->Start(); > } > > > > > I am developing it in Visual Studio 2008; > my linker -> input files are : > > kernel32.lib > user32.lib > gdi32.lib > winspool.lib > shell32.lib > ole32.lib > oleaut32.lib > uuid.lib > comdlg32.lib > advapi32.lib > C:\ITK\Itk-Win\bin\Release\ITKIO.lib > C:\ITK\Itk-Win\bin\Release\ITKNrrdIO.lib > C:\ITK\Itk-Win\bin\Release\itkgdcm.lib > C:\ITK\Itk-Win\bin\Release\itkjpeg12.lib > C:\ITK\Itk-Win\bin\Release\itkjpeg16.lib > C:\ITK\Itk-Win\bin\Release\itkopenjpeg.lib > snmpapi.lib > rpcrt4.lib > C:\ITK\Itk-Win\bin\Release\itkpng.lib > C:\ITK\Itk-Win\bin\Release\itktiff.lib > C:\ITK\Itk-Win\bin\Release\itkjpeg8.lib > C:\ITK\Itk-Win\bin\Release\ITKSpatialObject.lib > C:\ITK\Itk-Win\bin\Release\ITKCommon.lib > C:\ITK\Itk-Win\bin\Release\itkvnl_inst.lib > C:\ITK\Itk-Win\bin\Release\itkvnl_algo.lib > C:\ITK\Itk-Win\bin\Release\itkv3p_netlib.lib > C:\ITK\Itk-Win\bin\Release\itkvnl.lib > C:\ITK\Itk-Win\bin\Release\itkvcl.lib > C:\ITK\Itk-Win\bin\Release\ITKMetaIO.lib > C:\ITK\Itk-Win\bin\Release\itksys.lib > ws2_32.lib > comctl32.lib > wsock32.lib > C:\ITK\Itk-Win\bin\Release\ITKDICOMParser.lib > C:\ITK\Itk-Win\bin\Release\ITKEXPAT.lib > C:\ITK\Itk-Win\bin\Release\ITKniftiio.lib > C:\ITK\Itk-Win\bin\Release\ITKznz.lib > C:\ITK\Itk-Win\bin\Release\itkzlib.lib > C:\ITK\Itk-Win\bin\Release\itkBasicFilters.lib > vtkCommon.lib > vtksqlite.lib > vtkpng.lib > vtktiff.lib > vtkzlib.lib > vtkjpeg.lib > vtkexpat.lib > vtksys.lib > vtkexoIIc.lib > vtkNetCDF.lib > vtkRendering.lib > vtkIO.lib > vtkWidgets.lib > vtkHybrid.lib > vtkGraphics.lib > vtkverdict.lib > vtkImaging.lib > vtkftgl.lib > vtkfreetype.lib > opengl32.lib > vtkFiltering.lib > vtkDICOMParser.lib > vtkmetaio.lib > vtkVolumeRendering.lib > > > Thanx for your helps > -- View this message in context: http://old.nabble.com/How-To-Fix-that-Visualisation---tp26952729p26956634.html Sent from the ITK - Users mailing list archive at Nabble.com. From siqichensc at gmail.com Tue Dec 29 15:10:24 2009 From: siqichensc at gmail.com (siqi chen) Date: Tue, 29 Dec 2009 15:10:24 -0500 Subject: [Insight-users] Fast marching to calculate distance map Message-ID: <5a74a9fd0912291210m2695f81j1eee9f0c639c648d@mail.gmail.com> Hi, ITKers, I have a simple question regarding how to use FastMarchingImageFilter to calculate distance map. If I have a pointset P with integer coordinates, and I want to calculate a distance map to P. What should I pass to FastMarchingImageFilter? What I did is: 1. pass P to AlivePoints with value 0.0, 2. pass all the 4 neighbors of P to TrialPoints with value 1.0 3. set the speedconstant to 1.0 4. set the outputregion, size, origin, .... Am I missing something? Thank you very much Siqi -------------- next part -------------- An HTML attachment was scrubbed... URL: From hobbsk at ohiou.edu Tue Dec 29 16:25:29 2009 From: hobbsk at ohiou.edu (Kevin H. Hobbs) Date: Tue, 29 Dec 2009 16:25:29 -0500 Subject: [Insight-users] Fast marching to calculate distance map In-Reply-To: <5a74a9fd0912291210m2695f81j1eee9f0c639c648d@mail.gmail.com> References: <5a74a9fd0912291210m2695f81j1eee9f0c639c648d@mail.gmail.com> Message-ID: <4B3A73C9.50605@ohiou.edu> On 12/29/2009 03:10 PM, siqi chen wrote: > Hi, ITKers, > > I have a simple question regarding how to use FastMarchingImageFilter to > calculate distance map. > > If I have a pointset P with integer coordinates, and I want to calculate a > distance map to P. What should I pass to FastMarchingImageFilter? > > What I did is: > 1. pass P to AlivePoints with value 0.0, > 2. pass all the 4 neighbors of P to TrialPoints with value 1.0 > 3. set the speedconstant to 1.0 > 4. set the outputregion, size, origin, .... > > Am I missing something? > 1. pass P to TrialPoints with value 0.0 2. set the speedconstant to 1.0 3. set the outputregion, size, origin, .... -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 252 bytes Desc: OpenPGP digital signature URL: From siqichensc at gmail.com Tue Dec 29 16:45:06 2009 From: siqichensc at gmail.com (siqi chen) Date: Tue, 29 Dec 2009 16:45:06 -0500 Subject: [Insight-users] Fast marching to calculate distance map In-Reply-To: <4B3A73C9.50605@ohiou.edu> References: <5a74a9fd0912291210m2695f81j1eee9f0c639c648d@mail.gmail.com> <4B3A73C9.50605@ohiou.edu> Message-ID: <5a74a9fd0912291345t7aaaeb85k1a3867572cfe270f@mail.gmail.com> Hi, Kevin, Thanks for your reply. However, I still can't get it to work. Here is my simple code, where I want to calculate the distance map to point [50,50]. I write the output of the FastMarching filter to .vtk file and open it in Paraview. typedef itk::Image ImageType; typedef itk::FastMarchingImageFilterFastMarchingFilterType; FastMarchingFilterType::Pointer fastMarching = FastMarchingFilterType::New(); typedef FastMarchingFilterType::NodeContainer NodeContainer; typedef FastMarchingFilterType::NodeType NodeType; /////// alive points NodeContainer::Pointer alivePoints = NodeContainer::New(); alivePoints->Initialize(); NodeType nodeAlive; ImageType::IndexType index; index[0]=50; index[1]=50; nodeAlive.SetValue(0.0); nodeAlive.SetIndex(index); alivePoints->InsertElement(0,nodeAlive); fastMarching->SetTrialPoints(alivePoints); ImageType::IndexType start; start[0]=0; start[1]=0; ImageType::SizeType size; size[0]=100; size[1]=100; ImageType::RegionType region; region.SetSize(size); region.SetIndex(start); fastMarching->SetOutputRegion(region); fastMarching->SetSpeedConstant(1.0); fastMarching->SetStoppingValue(10); typedef itk::ImageFileWriter WriterType; WriterType::Pointer writer = WriterType::New(); writer->SetFileName("fastMarching.vtk"); writer->SetInput(fastMarching->GetOutput()); writer->Update(); Thank you for any input. Siqi On Tue, Dec 29, 2009 at 4:25 PM, Kevin H. Hobbs wrote: > On 12/29/2009 03:10 PM, siqi chen wrote: > > Hi, ITKers, > > > > I have a simple question regarding how to use FastMarchingImageFilter to > > calculate distance map. > > > > If I have a pointset P with integer coordinates, and I want to calculate > a > > distance map to P. What should I pass to FastMarchingImageFilter? > > > > What I did is: > > 1. pass P to AlivePoints with value 0.0, > > 2. pass all the 4 neighbors of P to TrialPoints with value 1.0 > > 3. set the speedconstant to 1.0 > > 4. set the outputregion, size, origin, .... > > > > Am I missing something? > > > > 1. pass P to TrialPoints with value 0.0 > 2. set the speedconstant to 1.0 > 3. set the outputregion, size, origin, .... > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From siqichensc at gmail.com Tue Dec 29 21:47:00 2009 From: siqichensc at gmail.com (siqi chen) Date: Tue, 29 Dec 2009 21:47:00 -0500 Subject: [Insight-users] Velocity Extension in Level Set Application Message-ID: <5a74a9fd0912291847r235afe09x6bf2780b7d0bfa64@mail.gmail.com> Hi, ITKers, I would like to know if there is a velocity extension filter in ITK, which extends the velocity field defined along a curve to a narrow band. If no such filter exist, then maybe I can use FastMarchingImageFilter to achieve this purpose. Thanks Siqi -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard.beare at gmail.com Wed Dec 30 00:36:03 2009 From: richard.beare at gmail.com (Richard Beare) Date: Wed, 30 Dec 2009 16:36:03 +1100 Subject: [Insight-users] getting started DiscreteGausianDerivativeImageFilter Message-ID: <779dabeb0912292136q66bf1fabi2ec654b5ac53c5ef@mail.gmail.com> Hi, I'm trying to experiment with DiscreteGausianDerivativeImageFilter as an alternative to GradientRecursiveGaussianImageFilter, but I'm having issues with correctly declaring my image types. Are there any examples anywhere? I haven't been able to find any. I want the components of the gradient and I'm using CovariantVector types for the GradientRecursiveGaussianImageFilter. Thanks. From dan.muel at gmail.com Wed Dec 30 02:17:13 2009 From: dan.muel at gmail.com (Dan Mueller) Date: Wed, 30 Dec 2009 08:17:13 +0100 Subject: [Insight-users] Velocity Extension in Level Set Application In-Reply-To: <5a74a9fd0912291847r235afe09x6bf2780b7d0bfa64@mail.gmail.com> References: <5a74a9fd0912291847r235afe09x6bf2780b7d0bfa64@mail.gmail.com> Message-ID: <2b8d077d0912292317n2c9c3595tc0d8f4337be16d4@mail.gmail.com> Hi Siqi, I believe Algorithms\itkFastMarchingExtensionImageFilter could be what you are after. Regards, Dan 2009/12/30 siqi chen : > Hi, ITKers, > > I would like to know if there is a velocity extension filter in ITK, which > extends the velocity field defined along a curve to a narrow band. > If no such filter exist, then maybe I can use FastMarchingImageFilter to > achieve this purpose. > > Thanks > Siqi From berotrey at gmail.com Wed Dec 30 04:58:20 2009 From: berotrey at gmail.com (Alberto Rey) Date: Wed, 30 Dec 2009 10:58:20 +0100 Subject: [Insight-users] Problem reading dicom series Message-ID: <2d32b0e30912300158i37ebe69bhc02182e20c2b409c@mail.gmail.com> Hi, When I read some dicom series I receive this error : itkImageBase.txx:190: itk::ERROR: Image(0x8428ba0): Bad direction, determinant is 0. Direction is 0 0 0 0 1 0 0 0 0 but only in linux , in windows the image is shown perfectly. Other problem is that with other dicom series , the sagittal and coronal planes are flipped 180? and the slices spacing is not the correct. This problems only occur in linux. I use Qt 4.5 to show the interface and vtk 5.4 , itk 3.12. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hobbsk at ohiou.edu Wed Dec 30 05:38:17 2009 From: hobbsk at ohiou.edu (Kevin H. Hobbs) Date: Wed, 30 Dec 2009 05:38:17 -0500 Subject: [Insight-users] Fast marching to calculate distance map In-Reply-To: <5a74a9fd0912291345t7aaaeb85k1a3867572cfe270f@mail.gmail.com> References: <5a74a9fd0912291210m2695f81j1eee9f0c639c648d@mail.gmail.com> <4B3A73C9.50605@ohiou.edu> <5a74a9fd0912291345t7aaaeb85k1a3867572cfe270f@mail.gmail.com> Message-ID: <4B3B2D99.1030609@ohiou.edu> On 12/29/2009 04:45 PM, siqi chen wrote: > Hi, Kevin, > > Thanks for your reply. However, I still can't get it to work. Here is > my simple code, where I want to calculate the distance map to point > [50,50]. I write the output of the FastMarching filter to .vtk file > and open it in Paraview. That output looks fine to me. You may have to rescale the colors in ParaView to go from 0.0 to 10.0 to match your start and stopping values. Or you could remove the stopping value as I've done. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: CMakeLists.txt URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: FMDistMap.cxx Type: text/x-c++src Size: 1413 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: FMDistMap.png Type: image/png Size: 19061 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 261 bytes Desc: OpenPGP digital signature URL: From samuele_82 at hotmail.com Wed Dec 30 07:21:47 2009 From: samuele_82 at hotmail.com (Samuele Dietler) Date: Wed, 30 Dec 2009 12:21:47 +0000 Subject: [Insight-users] force to destroy object Message-ID: Hi ITK users, there is a way to force to destroy an object or we should wait for autodiscruction by set the object to NULL value??? Thank you, best Samuele _________________________________________________________________ Condividi e organizza le tue immagini con Windows Live Foto. http://www.microsoft.com/windows/windowslive/photos.aspx -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan.muel at gmail.com Wed Dec 30 07:46:42 2009 From: dan.muel at gmail.com (Dan Mueller) Date: Wed, 30 Dec 2009 13:46:42 +0100 Subject: [Insight-users] force to destroy object In-Reply-To: References: Message-ID: <2b8d077d0912300446n764f1683h27a663aeee676836@mail.gmail.com> Hi Smauele, One of great things about ITK is the SmartPointer: as soon as an object with no references goes out-of-scope, the smart pointer automagically releases the object. My advice would be to let the SmartPointer release the object for you; this will force you to think of a good design in which you maximize the use of scope to release your objects :P If this is not possible and/or you prefer the manual approach, after a cup of coffee and long think try: object->SetReferenceCount( 0 ); Please take note of the documentation attached to the SetReferenceCount method: Sets the reference count (use with care) // << TAKE NOTE!! HTH Cheers, Dan 2009/12/30 Samuele Dietler : > Hi ITK users, > there is a way to force to destroy an object or we should wait for > autodiscruction by set the?object to NULL value??? > Thank you, best > Samuele > > ________________________________ > Windows Live: tieni aggiornati i tuoi amici sulle tue attivit? in linea. > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > From samuele_82 at hotmail.com Wed Dec 30 07:59:51 2009 From: samuele_82 at hotmail.com (Samuele Dietler) Date: Wed, 30 Dec 2009 12:59:51 +0000 Subject: [Insight-users] force to destroy object In-Reply-To: <2b8d077d0912300446n764f1683h27a663aeee676836@mail.gmail.com> References: , <2b8d077d0912300446n764f1683h27a663aeee676836@mail.gmail.com> Message-ID: Hi Dan, thank's for your answer....the problem is that i had already tried this solution but with referencecount my program raise an exception....it was for this reason that i was asking this question ;) Anyway, i will "wait" for the automagically distruction ofthe object ;) Cheers Samuele > Date: Wed, 30 Dec 2009 13:46:42 +0100 > Subject: Re: [Insight-users] force to destroy object > From: dan.muel at gmail.com > To: samuele_82 at hotmail.com > CC: insight-users at itk.org > > Hi Smauele, > > One of great things about ITK is the SmartPointer: as soon as an > object with no references goes out-of-scope, the smart pointer > automagically releases the object. > > My advice would be to let the SmartPointer release the object for you; > this will force you to think of a good design in which you maximize > the use of scope to release your objects :P > > If this is not possible and/or you prefer the manual approach, after a > cup of coffee and long think try: > object->SetReferenceCount( 0 ); > > Please take note of the documentation attached to the SetReferenceCount method: > Sets the reference count (use with care) // << TAKE NOTE!! > > HTH > > Cheers, Dan > > 2009/12/30 Samuele Dietler : > > Hi ITK users, > > there is a way to force to destroy an object or we should wait for > > autodiscruction by set the object to NULL value??? > > Thank you, best > > Samuele > > > > ________________________________ > > Windows Live: tieni aggiornati i tuoi amici sulle tue attivit? in linea. > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > _________________________________________________________________ Windows Live: tieni aggiornati i tuoi amici sulle tue attivit? in linea. http://www.microsoft.com/italy/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:it-it:SI_SB_1:092009 -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjf.araraquara at gmail.com Wed Dec 30 09:13:12 2009 From: rjf.araraquara at gmail.com (Ricardo Ferrari) Date: Wed, 30 Dec 2009 12:13:12 -0200 Subject: [Insight-users] Error ->>> ImageToVectorImageFilter + ImageToListAdaptor In-Reply-To: References: Message-ID: Hi Luis & Itk-users After Luis suggestion (please see bellow), I have changed my codes and now I am having problems in using the itk::Statistics::CovarianceSampleFilter. I am sending you a minimal sample example (main.cpp and CMakeLists.txt) attached to this e-mail where I am trying to replicate the problem. I have already tried to find the problem but I am not quite familiar with the itk::Sample class. In my opinion, it seems that the SubSample obtained from the SampleClassifierFilterType::MembershipSampleType* membershipSample are not being properly treated by the itk::Statistics::CovarianceSampleFilter. I really appreciate if you could help in solving this issue. Thank you very much, Ricardo PS: For testing the code I am sending you I have used the HeadMRVolume.mhd & HeadMRVolume.raw files from the VTK/VTKData/Data. They are too large to attached to this e-mail. Results from running the code: ferrari at ferrari-desktop:~/Desktop/test$ bin/test HeadMRVolume.mhd ----------------------------------------------------------------------- Mean vector estimated by using the KdTree-KMeans filter [130.516, 59.1887, 5.77594] ----------------------------------------------------------------------- ----------------------------------------------------------------------- Mean vector estimated by using the CovarianceSampleFilter filter [4] ----------------------------------------------------------------------- ----------------------------------------------------------------------- Covariance matrix estimated by using the CovarianceSampleFilter filter 17396 ----------------------------------------------------------------------- ----------------------------------------------------------------------- Mean vector estimated by using the CovarianceSampleFilter filter [0] ----------------------------------------------------------------------- ----------------------------------------------------------------------- Covariance matrix estimated by using the CovarianceSampleFilter filter 3755.77 ----------------------------------------------------------------------- ----------------------------------------------------------------------- Mean vector estimated by using the CovarianceSampleFilter filter [-17606] ----------------------------------------------------------------------- ----------------------------------------------------------------------- Covariance matrix estimated by using the CovarianceSampleFilter filter 3.10178e+08 ----------------------------------------------------------------------- ferrari at ferrari-desktop:~/Desktop/test$ On Sun, Nov 8, 2009 at 10:15 PM, Luis Ibanez wrote: > Hi Ricardo, > > You should probably use the refactored Statistics framework. > > In this framework, improvements were made on the methods > for adapting vector images to list samples. > > You will find the new code in the directory: > > Insight/Code/Review/Statistics > > and you can enable it by reconfiguring your ITK build with CMake > and turning ON the following two CMake variables: > > * ITK_USE_REVIEW > * ITK_USE_REVIEW_STATISTICS > > For examples on the mechanism for adapting an image to a list > you may want to look at the code in the directory: > > > Insight/Testing/Code/Review/Statistics/ > itkImageToListSampleAdaptorTest2.cxx > itkImageToListSampleAdaptorTest.cxx > > > One of the improvements made in this code is that the management > of multiple-components images was made more uniform with the > management of scalar images. > > > Please give it a try and let us know if you find any problems, > > > Thanks > > > Luis > > > > ---------------------------------------------------------------------------------------------- > On Sat, Nov 7, 2009 at 6:08 PM, Ricardo Ferrari > wrote: > > Hi Itk-users, > > > > After my message to Luis (please see below) I've found a way to create > > vector samples from different image contrasts by using the > itk::FixedArray > > class. > > > > However, in addition to my previous question (which still remains) about > how > > to use the " ImageToVectorImageFilter + ImageToListAdaptor " to to build > > vector samples (as performed with the itk::FixedArray), I do have another > > question. > > > > Is there any way to define the number of contrasts (as used in the line > > typedef itk::FixedArray< TInputPixelType, NumberOfContrasts > > > TMeasurementVectorType; ) in the running time ? > > > > Thank you again, > > > > Ricardo > > > > > > > > /// > > const int NumberOfContrasts = 1; //3; > > const int Dimension = 3; > > > > /// Pixel type definition > > typedef signed short > > TInputPixelType; > > typedef signed short > > TOutputPixelType; > > > > /// Define type of the input and output images > > typedef itk::Image< TInputPixelType, Dimension > > > TInputImageType; > > typedef itk::Image< TOutputPixelType, Dimension > > > TOutputImageType; > > > > > > typedef itk::FixedArray< TInputPixelType, NumberOfContrasts > > > TMeasurementVectorType; > > typedef itk::Image< TMeasurementVectorType, Dimension > > TArrayImageType; > > > > typedef itk::ScalarToArrayCastImageFilter< TInputImageType, > > TArrayImageType > CasterType; > > CasterType::Pointer caster = CasterType::New(); > > caster->SetInput( 0, img ); > > caster->Update(); > > > > typedef itk::Statistics::ImageToListAdaptor< > CasterType::OutputImageType > >> ImageToListAdaptorType; > > ImageToListAdaptorType::Pointer adaptor = > ImageToListAdaptorType::New(); > > adaptor->SetImage( caster->GetOutput() ); > > > > /// > > /// Create the GMM > > /// > > TGMM< TArrayImageType, TOutputImageType > gmm; > > gmm.SetInputArrayImage( caster->GetOutput() ); > > > > > > > > > > ----- > > Hi Luis, > > > > I am trying to use the two following itk classes to get Vector Samples > into > > an Gaussian Mixture Model classifier. Although, I am following your > > suggestion (please see > > http://www.cmake.org/pipermail/insight-users/2007-April/022003.html ) I > am > > still getting an error. > > > > I really appreciate if you could help on this. > > > > Thanks, > > Ricardo > > > > > > > > #include "io.h" > > #include "itkImageToVectorImageFilter. > > h" > > #include "itkScalarToArrayCastImageFilter.h" > > #include "itkImageToListAdaptor.h" > > > > /// Pixel type definition > > typedef signed short > > TInputPixelType; > > > > /// Define type of the input and output images > > typedef itk::Image< TInputPixelType, Dimension > > > TInputImageType; > > > > > > /// > > /// Main function > > /// > > int main( int argc, char **argv ) > > { > > // Read a minc image > > TInputImageType::Pointer img = ReadMincImage< TInputImageType >( > > "test.mnc" ); > > > > typedef itk::ImageToVectorImageFilter< TInputImageType > > > ImageToVectorImageFilterType; > > ImageToVectorImageFilterType::Pointer vectorImage = > > ImageToVectorImageFilterType::New(); > > vectorImage->SetNthInput( 0, img ); > > vectorImage->Update(); > > > > typedef itk::Statistics::ImageToListAdaptor< > > ImageToVectorImageFilterType::OutputImageType > ImageToListAdaptorType; > > ImageToListAdaptorType::Pointer adaptor = > ImageToListAdaptorType::New(); > > adaptor->SetImage( vectorImage->GetOutput() ); > > > > return 0; > > } > > > > > > [100%] Building CXX object > > segmentation/gmm/CMakeFiles/gmm_classifier.dir/main.cpp.o > > In file included from > > /usr/local/include/InsightToolkit/Common/itkConceptChecking.h:23, > > from > > /usr/local/include/InsightToolkit/Common/itkImageHelper.h:20, > > from > > /usr/local/include/InsightToolkit/Common/itkImageBase.h:35, > > from > > /usr/local/include/InsightToolkit/Common/itkImage.h:20, > > from > /home/ferrari/Workspace/MIP_PROJECTS/trunk/io/io.h:6, > > from > > /home/ferrari/Workspace/MIP_PROJECTS/trunk/segmentation/gmm/main.cpp:2: > > /usr/local/include/InsightToolkit/Common/itkPixelTraits.h: In > instantiation > > of ?itk::PixelTraits >?: > > > /usr/local/include/InsightToolkit/Numerics/Statistics/itkImageToListAdaptor.h:97: > > instantiated from > > ?itk::Statistics::ImageToListAdaptor, > > itk::VariableLengthVector >? > > /home/ferrari/Workspace/MIP_PROJECTS/trunk/segmentation/gmm/main.cpp:51: > > instantiated from here > > /usr/local/include/InsightToolkit/Common/itkPixelTraits.h:41: error: > > ?Length? is not a member of ?itk::VariableLengthVector? > > In file included from > > /home/ferrari/Workspace/MIP_PROJECTS/trunk/segmentation/gmm/main.cpp:8: > > > /usr/local/include/InsightToolkit/Numerics/Statistics/itkImageToListAdaptor.h: > > In member function ?const TMeasurementVector& > > itk::Statistics::ImageToListAdaptor > TMeasurementVector>::GetMeasurementVector(const typename > > TImage::PixelContainer::ElementIdentifier&) const [with TImage = > > itk::VectorImage, TMeasurementVector = > > itk::VariableLengthVector]?: > > /home/ferrari/Workspace/MIP_PROJECTS/trunk/segmentation/gmm/main.cpp:56: > > instantiated from here > > > /usr/local/include/InsightToolkit/Numerics/Statistics/itkImageToListAdaptor.h:323: > > warning: taking address of temporary > > > /usr/local/include/InsightToolkit/Numerics/Statistics/itkImageToListAdaptor.h:323: > > warning: returning reference to temporary > > make[2]: *** [segmentation/gmm/CMakeFiles/gmm_classifier.dir/main.cpp.o] > > Error 1 > > make[1]: *** [segmentation/gmm/CMakeFiles/gmm_classifier.dir/all] Error 2 > > make: *** [all] Error 2 > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.html > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://www.itk.org/mailman/listinfo/insight-users > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- CMAKE_MINIMUM_REQUIRED(VERSION 2.7) SET( ProgramName "test" ) PROJECT( ${ProgramName} ) FIND_PACKAGE (ITK REQUIRED) IF (ITK_FOUND) INCLUDE( ${USE_ITK_FILE} ) SET(ITK_LIBRARIES ITKCommon ITKBasicFilters ITKIO ITKMetaIO ITKNumerics ITKStatistics itkvnl) ENDIF(ITK_FOUND) FIND_PACKAGE (VTK REQUIRED) IF (VTK_FOUND) INCLUDE( ${USE_VTK_FILE} ) SET(VTK_LIBRARIES vtkRendering vtkGraphics vtkWidgets vtkHybrid vtkImaging vtkIO vtkFiltering vtkCommon) ENDIF( VTK_FOUND) INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} ) SET( SRCS ) ADD_EXECUTABLE( ${ProgramName} main.cpp ${SRCS} ) TARGET_LINK_LIBRARIES( ${ProgramName} ${VTK_LIBRARIES} ${ITK_LIBRARIES} ) -------------- next part -------------- A non-text attachment was scrubbed... Name: main.cpp Type: text/x-c++src Size: 8148 bytes Desc: not available URL: From huajiang0518 at gmail.com Wed Dec 30 09:55:16 2009 From: huajiang0518 at gmail.com (=?GB2312?B?vaq7qg==?=) Date: Wed, 30 Dec 2009 22:55:16 +0800 Subject: [Insight-users] Demons 3D deformable registration problem Message-ID: <183741640912300655y7293e9f4qbc0ae1585fadacb2@mail.gmail.com> Hi,luis, I have several questions about ITK deformable registration. First, I use the Demons for 3D deformable registration, when I set the parameter "SetStandardDeviations" smaller(for example 1.0), the image whose size is 256*176*16 will have black regions in each slice, but when I set this paremeter bigger (for example 10.0), only the first and the last slice have black regions, so I do not know why this phenomena will happen? second, since the phenomena happened, so I use the "MirrorPadImageFilter" to pad the image in the slice direction in order to make its size 256*176*18, and set the "SetStandardDeviations" parameter 10.0, then after registration, I use the WarpImageFilter to warp the movingImage according to the deformable field, at last I use the "RegionOfInterestImageFilter" extract the image from second slice to the seventeenth slice. Thus I can get better result, but I don't know this method is whether correct. In order to explain these problem, I copy the part programs in the email, and the result images in the inclosure. Thank you for your answers as soon as possible. With best regards! HuaJiang, The Program:(this is the part of the my program, the read and write parts arenot attached) FixedImageCasterType::Pointer fixedImageCaster = FixedImageCasterType::New(); MovingImageCasterType::Pointer movingImageCaster = MovingImageCasterType::New(); fixedImageCaster->SetInput( fixedImage ); movingImageCaster->SetInput( movingImage ); /* HistogramMatchFilterType::Pointer matcher = HistogramMatchFilterType::New(); matcher->SetInput( movingImageCaster->GetOutput() ); matcher->SetReferenceImage( fixedImageCaster->GetOutput() ); matcher->SetNumberOfHistogramLevels( 1024 ); matcher->SetNumberOfMatchPoints( 7 ); matcher->ThresholdAtMeanIntensityOn(); */ Demons3RegistrationFilterType::Pointer filter = Demons3RegistrationFilterType::New(); filter->SetStandardDeviations( 10.0 ); MultiResRegistrationFilterType:: Pointer multires = MultiResRegistrationFilterType::New(); multires->SetRegistrationFilter( filter ); multires->SetNumberOfLevels( 3 ); unsigned int nIterations[4] = {32, 16, 4 }; multires->SetNumberOfIterations( nIterations ); DemonsCommandIterationUpdate::Pointer observer = DemonsCommandIterationUpdate::New(); filter->AddObserver(itk::IterationEvent(), observer); CommandResolutionLevelUpdate::Pointer levelobserver = CommandResolutionLevelUpdate::New(); multires->AddObserver( itk::IterationEvent(), levelobserver ); // Pad the image. unsigned long upFactor[3] = {0,0,1}; unsigned long lowFactor[3] = {0,0,1}; InternalPixelType defaultPixel = 0; // define warp filter. WarperType::Pointer warper = WarperType::New(); typedef itk::LinearInterpolateImageFunction< InternalImageType, double > LinearInterpolatorType; LinearInterpolatorType::Pointer linearInterpolator = LinearInterpolatorType::New(); warper->SetInterpolator( linearInterpolator ); ConstantPadImageFilterType::Pointer constantPadFixedFilter; ConstantPadImageFilterType::Pointer constantPadMovingFilter; MirrorPadImageFilterType::Pointer mirrorPadFixedFilter; MirrorPadImageFilterType::Pointer mirrorPadMovingFilter; if (m_padMode == ConstantPad) { constantPadFixedFilter = ConstantPadImageFilterType::New(); constantPadMovingFilter = ConstantPadImageFilterType::New(); constantPadFixedFilter->SetInput(fixedImageCaster->GetOutput()); constantPadMovingFilter->SetInput(movingImageCaster->GetOutput()); constantPadFixedFilter->SetPadLowerBound(lowFactor); constantPadFixedFilter->SetPadUpperBound(upFactor); constantPadFixedFilter->SetConstant(defaultPixel); constantPadMovingFilter->SetPadLowerBound(lowFactor); constantPadMovingFilter->SetPadUpperBound(upFactor); constantPadMovingFilter->SetConstant(defaultPixel); multires->SetFixedImage( constantPadFixedFilter->GetOutput() ); multires->SetMovingImage( constantPadMovingFilter->GetOutput() ); try { multires->Update(); } catch( itk::ExceptionObject & excp ) { std::cerr << excp << std::endl; return ; } warper->SetInput(constantPadMovingFilter->GetOutput()); warper->SetOutputSpacing( constantPadFixedFilter->GetOutput()->GetSpacing() ); warper->SetOutputOrigin( constantPadFixedFilter->GetOutput()->GetOrigin() ); warper->SetDeformationField( multires->GetOutput() ); warper->Update(); } else if (m_padMode == MirrorPad) { mirrorPadFixedFilter = MirrorPadImageFilterType::New(); mirrorPadMovingFilter = MirrorPadImageFilterType::New(); mirrorPadFixedFilter->SetInput(fixedImageCaster->GetOutput()); mirrorPadMovingFilter->SetInput(movingImageCaster->GetOutput()); mirrorPadFixedFilter->SetPadLowerBound(lowFactor); mirrorPadFixedFilter->SetPadUpperBound(upFactor); mirrorPadMovingFilter->SetPadLowerBound(lowFactor); mirrorPadMovingFilter->SetPadUpperBound(upFactor); multires->SetFixedImage( mirrorPadFixedFilter->GetOutput() ); multires->SetMovingImage( mirrorPadMovingFilter->GetOutput() ); try { multires->Update(); } catch( itk::ExceptionObject & excp ) { std::cerr << excp << std::endl; return ; } warper->SetInput(mirrorPadMovingFilter->GetOutput()); warper->SetOutputSpacing( mirrorPadFixedFilter->GetOutput()->GetSpacing() ); warper->SetOutputOrigin( mirrorPadFixedFilter->GetOutput()->GetOrigin() ); warper->SetDeformationField( multires->GetOutput() ); warper->Update(); } // extract the image. RegionOfInterestImageFilterType::Pointer regionExtractFitler = RegionOfInterestImageFilterType::New(); regionExtractFitler->SetInput(warper->GetOutput()); InternalImageType::RegionType desiredRegion ; InternalImageType::SizeType size = fixedImage->GetLargestPossibleRegion().GetSize(); InternalImageType::IndexType index; index[0] = 0; index[1] = 0; index[2] = 0; desiredRegion.SetSize(size); desiredRegion.SetIndex(index); regionExtractFitler->SetRegionOfInterest(desiredRegion); InternalImageCasterType::Pointer internalCaster = InternalImageCasterType::New(); internalCaster->SetInput(regionExtractFitler->GetOutput()); internalCaster->Update(); -------------- next part -------------- An HTML attachment was scrubbed... URL: From markus_m at gmx.net Thu Dec 31 07:30:14 2009 From: markus_m at gmx.net (sacrif) Date: Thu, 31 Dec 2009 04:30:14 -0800 (PST) Subject: [Insight-users] Histogram modification - troubles with SetFrequency In-Reply-To: References: <26615939.post@talk.nabble.com> Message-ID: <26977713.post@talk.nabble.com> Hello, thank you for your reply! In the meanwhile I worked arround with an std::vector. However I now came to a point where I need the itk histogram again. So I tried to copy the histogram, but unfortunately there seem to be some problems. What I did is I created a histogram using a histogram generator and now I try to copy this const histogram into a not const histogram. My attemt to do so is below: typedef itk::Image InputImageType; typedef itk::Statistics::ScalarImageToHistogramGenerator< InputImageType > HistogramGeneratorType; typedef HistogramGeneratorType::HistogramType HistogramType; ... const HistogramType * histogram1 = histogramGenerator->GetOutput(); HistogramType::Pointer testHist = HistogramType::New(); for(unsigned int i = 0; i < histogram1->Size(); i++) { testHist->SetBinMin(0,i,histogram1->GetBinMin(0,i)); testHist->SetBinMax(0,i,histogram1->GetBinMax(0,i)); testHist->SetFrequency(i,histogram1->GetFrequency(i,0)); } This does unfortunately (and as I almost expected) not work(When I execute the program I get the following message from the MS VC++ Debug Library: Debug Assertion Failed ... Expression: vector subscript out of Range!). However I can not find Methods for my testHist that allow to set the values which I set for the histogramGenerator which created histogram1. (Like ->SetNumberOfBins(), SetHistogramMin(), SetHistogramMax()) The only method that could help I found was testHist->Initialize(), which I assume I have to call before the for loop above. However I am not quite sure which values the method needs. According to the description these are: - const Histogram<...>::SizeType &size and optionally: - Histogram<...>::MeasurementVectorType &lowerBound - Histogram<...>::MeasurementVectorType &upperBound For now I only entered the first value: - histogram1->Size() When compiling this results in the following error: 1>..\Alpha_Histogramm\AlphaHistogram.cpp(288) : error C2664: 'void itk::Statistics::Histogram::Initialize(const itk::Size &)' : cannot convert parameter 1 from 'unsigned int' to 'const itk::Size &' 1> with 1> [ 1> TMeasurement=double, 1> VMeasurementVectorSize=1, 1> TFrequencyContainer=itk::Statistics::DenseFrequencyContainer, 1> VDimension=1 1> ] 1> and 1> [ 1> VDimension=1 1> ] 1> Reason: cannot convert from 'unsigned int' to 'const itk::Size' 1> with 1> [ 1> VDimension=1 1> ] 1> No constructor could take the source type, or constructor overload resolution was ambiguous So my Questions are: - What values do I have to enter in the Initialize() method. Is it right that the first value (const Histogram<...>::SizeType &size) stands for the number of bins? Or does this size stand for something else. - Are the other two optional values the intensity minimum and the intensity maximum of the histogram? And which methods from the histogram which I want to copy do I have to enter for these parameters. - Is the generall approach of copying the histogram correct? Or did I miss some further steps to make this work? Thank you for your help! Regards Sacrif Luis Ibanez wrote: > > Hi Sacrif, > > Thanks for pointing this out. > > This is indeed the case, ITK filters own their output > and they are the only ones that should change the > output objects. > > This is a requirement for good-behavior when the > filters are put into a pipeline. > > You are not supposed to modify the output of a > filter. > > In your case, you could create a new Histogram > manually, and copy the computed elements > from the output of the Histogram that you get from > the generator. > > Something similar to: > > const HistogramType * histogram1 = histogramGenerator->GetOutput(); > > HistogramType::Pointer histogram2 = HistogramType::New(); > > // Add here: > // Copy lower, upper values of bins > // Copy values of numbers of bins > // Allocate size for the new historgram2 > // > > // > // Now copy the recomputed values > // > HistogramType::Iterator itr2 = historgram2->Begin(); > HistogramType::ConstIterator itr1 = histogram1->Begin(); > > while( itr1 != histogram1->End() ) > { > *itr2 = pow( *itr1, 2.0 ) > ++itr1; > ++itr2; > } > > > Regards, > > > Luis > > > -------------------------------------------------------------------------------- > On Fri, Dec 4, 2009 at 3:43 AM, sacrif wrote: >> >> Hi, I finally found out what the problem is. The histogram is defined as >> const HistogramType * histogram; or HistogramType::ConstPointer >> histogram; >> >> However the SetFrequency method is a not const method. Therefore non of >> the >> 4 SetFrequency methods is applicable on it. >> >> The problem is that the GetOutput() method of the >> itk::Statistics::ScalarImageToHistogramGenerator class returns a "const >> HistogramType *" which I assign to my "const HistogramType* histogram" >> pointer. So I can only define the histogram as const. But then the >> SetFrequency would not work. (and results in the compilation error: error >> C2663: 'itk::Statistics::Histogram::SetFrequency' : 4 >> overloads have no legal conversion for 'this' pointer...<--as written in >> my >> previous post) >> >> Is it possible that a histogram as I defined it can't be changed as soon >> as >> it is created? Somehow I can't imagine this is the case. But at the >> moment I >> can only imagine to write the values in an std::vector to proceed working >> on >> it. >> I would appreciate any onther advice. >> >> Thank you & kind regards >> >> -- >> View this message in context: >> http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26635812.html >> Sent from the ITK - Users mailing list archive at Nabble.com. >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.html > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.itk.org/mailman/listinfo/insight-users > > -- View this message in context: http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26977713.html Sent from the ITK - Users mailing list archive at Nabble.com. From markus_m at gmx.net Thu Dec 31 09:31:43 2009 From: markus_m at gmx.net (sacrif) Date: Thu, 31 Dec 2009 06:31:43 -0800 (PST) Subject: [Insight-users] Histogram modification - troubles with SetFrequency In-Reply-To: <26977713.post@talk.nabble.com> References: <26615939.post@talk.nabble.com> <26977713.post@talk.nabble.com> Message-ID: <26978736.post@talk.nabble.com> Thank you, the question does not need to be answerd any more! It seems to work now. The following lines must be added before the for loop: HistogramType::SizeType size; size.Fill(initialHistogram_->Size()); HistogramType::MeasurementVectorType min; HistogramType::MeasurementVectorType max; min.Fill(intensityMin); max.Fill(intensityMax); testHist->Initialize(size,min,max); Regards sacrif wrote: > > Hello, thank you for your reply! > > In the meanwhile I worked arround with an std::vector. However I now came > to a point where I need the itk histogram again. So I tried to copy the > histogram, but unfortunately there seem to be some problems. > > What I did is I created a histogram using a histogram generator and now I > try to copy this const histogram into a not const histogram. My attemt to > do so is below: > > typedef itk::Image InputImageType; > typedef itk::Statistics::ScalarImageToHistogramGenerator< > InputImageType > > HistogramGeneratorType; > typedef HistogramGeneratorType::HistogramType HistogramType; > > ... > > const HistogramType * histogram1 = histogramGenerator->GetOutput(); > > HistogramType::Pointer testHist = HistogramType::New(); > > for(unsigned int i = 0; i < histogram1->Size(); i++) > { > testHist->SetBinMin(0,i,histogram1->GetBinMin(0,i)); > testHist->SetBinMax(0,i,histogram1->GetBinMax(0,i)); > testHist->SetFrequency(i,histogram1->GetFrequency(i,0)); > } > > This does unfortunately (and as I almost expected) not work(When I execute > the program I get the following message from the MS VC++ Debug Library: > Debug Assertion Failed ... Expression: vector subscript out of Range!). > However I can not find Methods for my testHist that allow to set the > values which I set for the histogramGenerator which created histogram1. > (Like ->SetNumberOfBins(), SetHistogramMin(), SetHistogramMax()) > The only method that could help I found was testHist->Initialize(), which > I assume I have to call before the for loop above. > > However I am not quite sure which values the method needs. > According to the description these are: > - const Histogram<...>::SizeType &size > and optionally: > - Histogram<...>::MeasurementVectorType &lowerBound > - Histogram<...>::MeasurementVectorType &upperBound > > For now I only entered the first value: > - histogram1->Size() > > When compiling this results in the following error: > > 1>..\Alpha_Histogramm\AlphaHistogram.cpp(288) : error C2664: 'void > itk::Statistics::Histogram::Initialize(const > itk::Size &)' : cannot convert parameter 1 from 'unsigned int' > to 'const itk::Size &' > 1> with > 1> [ > 1> TMeasurement=double, > 1> VMeasurementVectorSize=1, > 1> > TFrequencyContainer=itk::Statistics::DenseFrequencyContainer, > 1> VDimension=1 > 1> ] > 1> and > 1> [ > 1> VDimension=1 > 1> ] > 1> Reason: cannot convert from 'unsigned int' to 'const > itk::Size' > 1> with > 1> [ > 1> VDimension=1 > 1> ] > 1> No constructor could take the source type, or constructor > overload resolution was ambiguous > > > So my Questions are: > - What values do I have to enter in the Initialize() method. Is it right > that the first value (const Histogram<...>::SizeType &size) stands for the > number of bins? Or does this size stand for something else. > - Are the other two optional values the intensity minimum and the > intensity maximum of the histogram? And which methods from the histogram > which I want to copy do I have to enter for these parameters. > - Is the generall approach of copying the histogram correct? Or did I miss > some further steps to make this work? > > > Thank you for your help! > > Regards Sacrif > > > > > > > > > > > Luis Ibanez wrote: >> >> Hi Sacrif, >> >> Thanks for pointing this out. >> >> This is indeed the case, ITK filters own their output >> and they are the only ones that should change the >> output objects. >> >> This is a requirement for good-behavior when the >> filters are put into a pipeline. >> >> You are not supposed to modify the output of a >> filter. >> >> In your case, you could create a new Histogram >> manually, and copy the computed elements >> from the output of the Histogram that you get from >> the generator. >> >> Something similar to: >> >> const HistogramType * histogram1 = histogramGenerator->GetOutput(); >> >> HistogramType::Pointer histogram2 = HistogramType::New(); >> >> // Add here: >> // Copy lower, upper values of bins >> // Copy values of numbers of bins >> // Allocate size for the new historgram2 >> // >> >> // >> // Now copy the recomputed values >> // >> HistogramType::Iterator itr2 = historgram2->Begin(); >> HistogramType::ConstIterator itr1 = histogram1->Begin(); >> >> while( itr1 != histogram1->End() ) >> { >> *itr2 = pow( *itr1, 2.0 ) >> ++itr1; >> ++itr2; >> } >> >> >> Regards, >> >> >> Luis >> >> >> -------------------------------------------------------------------------------- >> On Fri, Dec 4, 2009 at 3:43 AM, sacrif wrote: >>> >>> Hi, I finally found out what the problem is. The histogram is defined as >>> const HistogramType * histogram; or HistogramType::ConstPointer >>> histogram; >>> >>> However the SetFrequency method is a not const method. Therefore non of >>> the >>> 4 SetFrequency methods is applicable on it. >>> >>> The problem is that the GetOutput() method of the >>> itk::Statistics::ScalarImageToHistogramGenerator class returns a "const >>> HistogramType *" which I assign to my "const HistogramType* histogram" >>> pointer. So I can only define the histogram as const. But then the >>> SetFrequency would not work. (and results in the compilation error: >>> error >>> C2663: 'itk::Statistics::Histogram::SetFrequency' : 4 >>> overloads have no legal conversion for 'this' pointer...<--as written in >>> my >>> previous post) >>> >>> Is it possible that a histogram as I defined it can't be changed as soon >>> as >>> it is created? Somehow I can't imagine this is the case. But at the >>> moment I >>> can only imagine to write the values in an std::vector to proceed >>> working on >>> it. >>> I would appreciate any onther advice. >>> >>> Thank you & kind regards >>> >>> -- >>> View this message in context: >>> http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26635812.html >>> Sent from the ITK - Users mailing list archive at Nabble.com. >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.html >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.itk.org/mailman/listinfo/insight-users >>> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.html >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://www.itk.org/mailman/listinfo/insight-users >> >> > > -- View this message in context: http://old.nabble.com/Histogram-modification---troubles-with-SetFrequency-tp26615939p26978736.html Sent from the ITK - Users mailing list archive at Nabble.com. From siqichensc at gmail.com Thu Dec 31 10:50:15 2009 From: siqichensc at gmail.com (siqi chen) Date: Thu, 31 Dec 2009 10:50:15 -0500 Subject: [Insight-users] return a smart pointer Message-ID: <5a74a9fd0912310750q58be0c0ajd81ae990c90f2b01@mail.gmail.com> Hi, What is the best way to return a smart pointer? I found the following discussion on the mailing list, but it was a couple of years ago. http://www.itk.org/pipermail/insight-users/2004-November/011095.html Thanks Siqi -------------- next part -------------- An HTML attachment was scrubbed... URL: From siqichensc at gmail.com Thu Dec 31 11:07:03 2009 From: siqichensc at gmail.com (siqi chen) Date: Thu, 31 Dec 2009 11:07:03 -0500 Subject: [Insight-users] return a smart pointer Message-ID: <5a74a9fd0912310807h48569779j47a3e766a8660310@mail.gmail.com> I dig into my old code and find that I used something like this before. Is this correct? How do I check the reference count? void main() { ImageType::Pointer image = fun(); } ImageType::Pointer fun() { FilterType::Pointer filter = FilterType::New(); ... ImageType::Pointer img = filter->GetOutput(); filter->Update(); return img; } Thanks Siqi -------------- next part -------------- An HTML attachment was scrubbed... URL: