From ivans at yahoo.co.jp Fri May 1 02:54:45 2015 From: ivans at yahoo.co.jp (Ivan Setiawan) Date: Fri, 1 May 2015 15:54:45 +0900 (JST) Subject: [ITK-users] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? Message-ID: <165816.81088.qm@web101307.mail.kks.yahoo.co.jp> Hi all, My name is Ivan, and currently I am developing an image registration software based on ITK. Thank you for providing such a good library! I think, I found a bug for determining the voxel's value range in?itkMattesMutualInformationImageToImageMetric.hxx. In the ::Initialize(void) method, the initial value of?this->m_FixedImageTrueMax and?this->m_MovingImageTrueMax should be set to ? ??std::numeric_limits::lowest() ?/* i.e., the most negative value, =?-340282346638528860000000000000000000000.000000 for float-type image */ instead of ? ? std::numeric_limits::min() /* =?1.17549e-038 for float-type image. */ The code lines are: ? ? this->m_FixedImageTrueMax = std::numeric_limits::min(); // should be lowest() instead of min()? ? ? this->m_MovingImageTrueMax = std::numeric_limits::min(); // should be lowest() instead of min()? Problem will not appear when using short-type image, but when a float-type image with all negative voxel's value is used as input,?then the initial m_FixedImageTrueMax will NOT be updated to the correct negative maximum value. Could you please tell me your opinion? Thank you very much for your attention. Best regards, Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Fri May 1 08:04:21 2015 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 1 May 2015 08:04:21 -0400 Subject: [ITK-users] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? In-Reply-To: <165816.81088.qm@web101307.mail.kks.yahoo.co.jp> References: <165816.81088.qm@web101307.mail.kks.yahoo.co.jp> Message-ID: Looks like you found a bug. Please submit a patch through gerrit: http://www.itk.org/Wiki/ITK/Git/Develop Thanks On Fri, May 1, 2015 at 2:54 AM, Ivan Setiawan wrote: > Hi all, > My name is Ivan, and currently I am developing an image registration > software based on ITK. > Thank you for providing such a good library! > > I think, I found a bug for determining the voxel's value range in > itkMattesMutualInformationImageToImageMetric.hxx. > > In the ::Initialize(void) method, the initial value of > this->m_FixedImageTrueMax and this->m_MovingImageTrueMax should be set to > std::numeric_limits::lowest() /* i.e., > the most negative value, = -340282346638528860000000000000000000000.000000 > for float-type image */ > instead of > std::numeric_limits::min() /* = > 1.17549e-038 for float-type image. */ > > The code lines are: > this->m_FixedImageTrueMax = std::numeric_limits TFixedImage::PixelType>::min(); // should be lowest() instead of min()? > this->m_MovingImageTrueMax = std::numeric_limits TMovingImage::PixelType>::min(); // should be lowest() instead of min()? > > Problem will not appear when using short-type image, but when a float-type > image with all negative voxel's value is used as input, then the initial > m_FixedImageTrueMax will NOT be updated to the correct negative maximum > value. > > Could you please tell me your opinion? > > Thank you very much for your attention. > > Best regards, > Ivan > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > -- Unpaid intern in BillsBasement at noware dot com From bill.lorensen at gmail.com Fri May 1 08:09:37 2015 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 1 May 2015 08:09:37 -0400 Subject: [ITK-users] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? In-Reply-To: References: <165816.81088.qm@web101307.mail.kks.yahoo.co.jp> Message-ID: Looks like the same error occurs in: Modules/Regsitration/Methricsv4/include/itkMattesMutualInformationImageToImageMetric.hxx Modules/Registration/Metricsv4/include/itkJointHistogramMutualInformationImageToImageMetricv4.hxx On Fri, May 1, 2015 at 8:04 AM, Bill Lorensen wrote: > Looks like you found a bug. Please submit a patch through gerrit: > http://www.itk.org/Wiki/ITK/Git/Develop > > Thanks > > > On Fri, May 1, 2015 at 2:54 AM, Ivan Setiawan wrote: >> Hi all, >> My name is Ivan, and currently I am developing an image registration >> software based on ITK. >> Thank you for providing such a good library! >> >> I think, I found a bug for determining the voxel's value range in >> itkMattesMutualInformationImageToImageMetric.hxx. >> >> In the ::Initialize(void) method, the initial value of >> this->m_FixedImageTrueMax and this->m_MovingImageTrueMax should be set to >> std::numeric_limits::lowest() /* i.e., >> the most negative value, = -340282346638528860000000000000000000000.000000 >> for float-type image */ >> instead of >> std::numeric_limits::min() /* = >> 1.17549e-038 for float-type image. */ >> >> The code lines are: >> this->m_FixedImageTrueMax = std::numeric_limits> TFixedImage::PixelType>::min(); // should be lowest() instead of min()? >> this->m_MovingImageTrueMax = std::numeric_limits> TMovingImage::PixelType>::min(); // should be lowest() instead of min()? >> >> Problem will not appear when using short-type image, but when a float-type >> image with all negative voxel's value is used as input, then the initial >> m_FixedImageTrueMax will NOT be updated to the correct negative maximum >> value. >> >> Could you please tell me your opinion? >> >> Thank you very much for your attention. >> >> Best regards, >> Ivan >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> > > > > -- > Unpaid intern in BillsBasement at noware dot com -- Unpaid intern in BillsBasement at noware dot com From blowekamp at mail.nih.gov Fri May 1 08:16:32 2015 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Fri, 1 May 2015 08:16:32 -0400 Subject: [ITK-users] [ITK] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? In-Reply-To: References: <165816.81088.qm@web101307.mail.kks.yahoo.co.jp> Message-ID: <1D606C38-8A3F-44B9-AE94-93FC83EEA2C2@mail.nih.gov> Hello, The numeric_limits::lowest() seems to be a new C++11 method [1]. I believe NumericTraits::NonpositiveMin() will work. Thanks for finding this issue! Please include a test :) Brad [1] http://en.cppreference.com/w/cpp/types/numeric_limits/lowest On May 1, 2015, at 8:04 AM, Bill Lorensen wrote: > Looks like you found a bug. Please submit a patch through gerrit: > http://www.itk.org/Wiki/ITK/Git/Develop > > Thanks > > > On Fri, May 1, 2015 at 2:54 AM, Ivan Setiawan wrote: >> Hi all, >> My name is Ivan, and currently I am developing an image registration >> software based on ITK. >> Thank you for providing such a good library! >> >> I think, I found a bug for determining the voxel's value range in >> itkMattesMutualInformationImageToImageMetric.hxx. >> >> In the ::Initialize(void) method, the initial value of >> this->m_FixedImageTrueMax and this->m_MovingImageTrueMax should be set to >> std::numeric_limits::lowest() /* i.e., >> the most negative value, = -340282346638528860000000000000000000000.000000 >> for float-type image */ >> instead of >> std::numeric_limits::min() /* = >> 1.17549e-038 for float-type image. */ >> >> The code lines are: >> this->m_FixedImageTrueMax = std::numeric_limits> TFixedImage::PixelType>::min(); // should be lowest() instead of min()? >> this->m_MovingImageTrueMax = std::numeric_limits> TMovingImage::PixelType>::min(); // should be lowest() instead of min()? >> >> Problem will not appear when using short-type image, but when a float-type >> image with all negative voxel's value is used as input, then the initial >> m_FixedImageTrueMax will NOT be updated to the correct negative maximum >> value. >> >> Could you please tell me your opinion? >> >> Thank you very much for your attention. >> >> Best regards, >> Ivan >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> > > > > -- > Unpaid intern in BillsBasement at noware dot 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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community From amir.khojaste at sunnybrook.ca Fri May 1 12:33:38 2015 From: amir.khojaste at sunnybrook.ca (Khojaste, Amir) Date: Fri, 1 May 2015 16:33:38 +0000 Subject: [ITK-users] Reading an Image in ITK, help plz!! Message-ID: <639C0C4CF854594E920361562A5266BB30BCC50A@SBXNG01.sw.ca> Hey guys, I am new to developping with ITK,VTK and will appreciate if someone can pull me off from this problem! Sorry I have included VTK mailing list here too, I have not gotten my answer in ITK mailing list yet so was thinking maybe VTK users faced the same problem too. The following is the simplest piece of code that is simply reading an Image using "itkImageFileReader". I have built my ITK in debug mode using Cmake and VS2008. The Hello World program is running just fine but when I try to add couple of lines of code to read an image I get the following error: Unhandled exception at 0x000000013fcedb03 in HelloWorld.exe: 0xC0000005: Access violation reading location 0xffffffffffffffff. I am confused and don't know if this is the problem with Linking/my Cmakelists.txt or whatever else! I can read the image if I build the ITK examples and then use the codes there. This has made me even more confused! In the Call Stack the code goes to the lines 118 to 120 of "itkImageFileReader.txx" if which I think should't. if ( m_UserSpecifiedImageIO == false ) //try creating via factory { m_ImageIO = ImageIOFactory::CreateImageIO( m_FileName.c_str(), ImageIOFactory::ReadMode ); } Any help?! /***** Code #include "itkImage.h" #include "itkImageFileWriter.h" #include "itkImageFileReader.h" #include "itkCropImageFilter.h" #include "itksys/SystemTools.hxx" typedef unsigned char PixelType; const unsigned int Dimension = 3; typedef itk::Image< PixelType, Dimension > ImageType; typedef itk::ImageFileReader ReaderType; int main(int argc, char *argv[]) { ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName( argv[1] ); reader->Update(); // This line will crash system("pause"); return EXIT_SUCCESS; } /*==== CMakeLists.txt # This is the root ITK CMakeLists file. CMAKE_MINIMUM_REQUIRED(VERSION 2.4) IF(COMMAND CMAKE_POLICY) CMAKE_POLICY(SET CMP0003 NEW) ENDIF(COMMAND CMAKE_POLICY) # This project is designed to be built outside the Insight source tree. PROJECT(HelloWorld) # Find ITK. FIND_PACKAGE(ITK REQUIRED) INCLUDE(${ITK_USE_FILE}) ADD_EXECUTABLE(HelloWorld HelloWorld.cxx ) TARGET_LINK_LIBRARIES(HelloWorld ${ITK_LIBRARIES}) This e-mail is intended only for the named recipient(s) and may contain confidential, personal and/or health information (information which may be subject to legal restrictions on use, retention and/or disclosure). No waiver of confidence is intended by virtue of communication via the internet. Any review or distribution by anyone other than the person(s) for whom it was originally intended is strictly prohibited. If you have received this e-mail in error, please contact the sender and destroy all copies. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jmatuteflores at gmail.com Fri May 1 19:23:50 2015 From: jmatuteflores at gmail.com (jose alejandro matute flores) Date: Sat, 2 May 2015 01:23:50 +0200 Subject: [ITK-users] Reading an Image in ITK, help plz!! In-Reply-To: <639C0C4CF854594E920361562A5266BB30BCC50A@SBXNG01.sw.ca> References: <639C0C4CF854594E920361562A5266BB30BCC50A@SBXNG01.sw.ca> Message-ID: Dear Amir, What image file format are you trying to read? I've been unable to replicate the error. "Normally just setting the FileName with the appropriate suffix is enough to get the reader to instantiate the correct ImageIO and read the file properly. However, some files (like raw binary format) have no accepted suffix, so you will have to manually create the ImageIO instance of the write type. " http://www.itk.org/Doxygen/html/classitk_1_1ImageFileReader.html Regards, Jose On Fri, May 1, 2015 at 6:33 PM, Khojaste, Amir wrote: > Hey guys, > > > > I am new to developping with ITK,VTK and will appreciate if someone can > pull me off from this problem! Sorry I have included VTK mailing list here > too, I have not gotten my answer in ITK mailing list yet so was thinking > maybe VTK users faced the same problem too. > > > > The following is the simplest piece of code that is simply reading an > Image using ?itkImageFileReader?. I have built my ITK in debug mode using > Cmake and VS2008. The Hello World program is running just fine but when I > try to add couple of lines of code to read an image I get the following > error: > > > > Unhandled exception at 0x000000013fcedb03 in HelloWorld.exe: 0xC0000005: > Access violation reading location 0xffffffffffffffff. > > > > I am confused and don?t know if this is the problem with Linking/my > Cmakelists.txt or whatever else! I can read the image if I build the ITK > examples and then use the codes there. This has made me even more confused! > > > > In the Call Stack the code goes to the lines 118 to 120 of > ?itkImageFileReader.txx? if which I think should?t. > > > > if ( m_UserSpecifiedImageIO == false ) //try creating via factory > > { > > m_ImageIO = ImageIOFactory::CreateImageIO( m_FileName.c_str(), > ImageIOFactory::ReadMode ); > > } > > > > > > Any help?! > > > > > > /***** Code > > > > #include "itkImage.h" > > #include "itkImageFileWriter.h" > > #include "itkImageFileReader.h" > > #include "itkCropImageFilter.h" > > #include "itksys/SystemTools.hxx" > > > > typedef unsigned char PixelType; > > const unsigned int Dimension = 3; > > > > typedef itk::Image< PixelType, Dimension > ImageType; > > typedef itk::ImageFileReader ReaderType; > > > > int main(int argc, char *argv[]) > > { > > > > ReaderType::Pointer reader = ReaderType::New(); > > reader->SetFileName( argv[1] ); > > > > reader->Update(); // This line will crash > > system("pause"); > > > > return EXIT_SUCCESS; > > > > } > > > > > > /*==== CMakeLists.txt > > > > # This is the root ITK CMakeLists file. > > CMAKE_MINIMUM_REQUIRED(VERSION 2.4) > > IF(COMMAND CMAKE_POLICY) > > CMAKE_POLICY(SET CMP0003 NEW) > > ENDIF(COMMAND CMAKE_POLICY) > > > > > > # This project is designed to be built outside the Insight source tree. > > PROJECT(HelloWorld) > > > > # Find ITK. > > FIND_PACKAGE(ITK REQUIRED) > > INCLUDE(${ITK_USE_FILE}) > > > > ADD_EXECUTABLE(HelloWorld HelloWorld.cxx ) > > > > TARGET_LINK_LIBRARIES(HelloWorld ${ITK_LIBRARIES}) > > > > *This e-mail is intended only for the named recipient(s) and may contain > confidential, personal and/or health information (information which may be > subject to legal restrictions on use, retention and/or disclosure). No > waiver of confidence is intended by virtue of communication via the > internet. Any review or distribution by anyone other than the person(s) > for whom it was originally intended is strictly prohibited. If you have > received this e-mail in error, please contact the sender and destroy all > copies.* > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at insightsoftwareconsortium.org Sat May 2 05:37:34 2015 From: noreply at insightsoftwareconsortium.org (Insight Journal) Date: Sat, 2 May 2015 05:37:34 -0400 (EDT) Subject: [ITK-users] New Submission: A Tutorial on Combining Nonlinear Optimization with CUDA Message-ID: <20150502093734.75A663D6C181@insightsoftwareconsortium.org> Hello, A new submission has been added to the Insight Journal. Title: A Tutorial on Combining Nonlinear Optimization with CUDA Authors: Hatt C. Abstract: Nonlinear optimization is a key component of many image registration algorithms. Improving registration speed is almost always desirable. One way to do this is to accelerate the optimization cost function using a parallel implementation. The purpose of this document is to provide a tutorial on how to combine the CUDA GPU computing framework with standard nonlinear optimization libraries (VNL) using CMake. The provided code can be used as a starting template for programmers looking for a relatively painless introduction to CUDA-accelerated medical image registration and other nonlinear optimization problems. Download and review this publication at: http://hdl.handle.net/10380/3515 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 visit http://insight-journal.org/ . From deu439 at gmail.com Sat May 2 10:12:55 2015 From: deu439 at gmail.com (Jan Dorazil) Date: Sat, 02 May 2015 16:12:55 +0200 Subject: [ITK-users] Building testing application for N3 implementation Message-ID: <1538950.EH7eYJ7PRD@clifford> Hello, I am currently working on some MRI images and, would like to test the ITK implementation of the N3 algorithm for MRI Bias Field correction. I have downloaded the source code for a testing application (http://www.insight-journal.org/browse/publication/640) but cant manage to compile it. As I try to configure the package using cmake I get this error: -- CMake Error at CMakeLists.txt:20 (INCLUDE): include could not find load file: /usr/share/cmake-3.2/Modules/FindITK.cmake -- I looked inside the supplied CMakeLists.txt and found out it is this portion thats causing the error. -- INCLUDE (${CMAKE_ROOT}/Modules/FindITK.cmake) IF (USE_ITK_FILE) INCLUDE(${USE_ITK_FILE}) ENDIF(USE_ITK_FILE) -- What's the problem here? Shouldnt ITK installation install the FindITK.cmake? I have not found it anywhere on my disc. Anyway, why dont other packages require this file - I have already built a lot of ITK applications. ITK version: 4.7.1-1 cmake version 3.2.2 #uname -a Linux Clifford 3.19.3-3-ARCH #1 SMP PREEMPT Wed Apr 8 14:10:00 CEST 2015 x86_64 GNU/Linux Regards, Jan Dorazil From bill.lorensen at gmail.com Sat May 2 11:02:23 2015 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Sat, 2 May 2015 11:02:23 -0400 Subject: [ITK-users] Building testing application for N3 implementation In-Reply-To: <1538950.EH7eYJ7PRD@clifford> References: <1538950.EH7eYJ7PRD@clifford> Message-ID: This is an older implementation. ITK currently has N4BiasFieldCorrectionImageFilter. I would try this instead. It is in Modules/Filtering/BiasCorrection/include/itkN4BiasFieldCorrectionImageFilte Bill On Sat, May 2, 2015 at 10:12 AM, Jan Dorazil wrote: > Hello, > I am currently working on some MRI images and, would like to > test the ITK implementation of the N3 algorithm for MRI Bias > Field correction. > I have downloaded the source code for a > testing application (http://www.insight-journal.org/browse/publication/640) > but cant manage to compile it. > As I try to configure the package using cmake I get this error: > -- > CMake Error at CMakeLists.txt:20 (INCLUDE): > include could not find load file: > > /usr/share/cmake-3.2/Modules/FindITK.cmake > -- > I looked inside the supplied CMakeLists.txt and found out it is this > portion thats causing the error. > -- > INCLUDE (${CMAKE_ROOT}/Modules/FindITK.cmake) > IF (USE_ITK_FILE) > INCLUDE(${USE_ITK_FILE}) > ENDIF(USE_ITK_FILE) > -- > What's the problem here? Shouldnt ITK installation > install the FindITK.cmake? I have not found it anywhere on > my disc. Anyway, why dont other packages require this > file - I have already built a lot of ITK applications. > > ITK version: 4.7.1-1 > cmake version 3.2.2 > #uname -a > Linux Clifford 3.19.3-3-ARCH #1 SMP PREEMPT Wed Apr 8 14:10:00 CEST 2015 > x86_64 GNU/Linux > > Regards, > Jan Dorazil > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users -- Unpaid intern in BillsBasement at noware dot com From matimontg at gmail.com Sat May 2 11:32:13 2015 From: matimontg at gmail.com (Matias Montroull) Date: Sat, 2 May 2015 12:32:13 -0300 Subject: [ITK-users] QuaternionRigidTransformGradientDescentOptimizer and QuaternionRigidTransform Message-ID: Hi, I'm trying to do 3D registration using the Quaternion Classes and for some reason I can't.. I get an error and I think it is because of the OptimizerScales.. I'm unable to find an example that shows the use of Quaternions transforms so I'm a little lost. The error I get is at this line of code within itkQuaternionRigidTransformGradientDescentOptimizer.cxx: const unsigned int spaceDimension = m_CostFunction->GetNumberOfParameters(); #include "itkAffineTransform.h" #include "itkQuaternionRigidTransform.h" #include "itkQuaternionRigidTransformGradientDescentOptimizer.h" #include "itkCenteredTransformInitializer.h" #include "itkMultiResolutionImageRegistrationMethod.h" #include "itkMattesMutualInformationImageToImageMetric.h" #include "itkRegularStepGradientDescentOptimizer.h" #include "itkRecursiveMultiResolutionPyramidImageFilter.h" #include "itkImage.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkResampleImageFilter.h" #include "itkCastImageFilter.h" #include "itkNormalizeImageFilter.h" #include "itkCheckerBoardImageFilter.h" #include "itkCommand.h" class CommandIterationUpdate : public itk::Command { public: typedef CommandIterationUpdate Self; typedef itk::Command Superclass; typedef itk::SmartPointer Pointer; itkNewMacro(Self); protected: CommandIterationUpdate() : m_CumulativeIterationIndex(0) {}; public: typedef itk::RegularStepGradientDescentOptimizer OptimizerType; typedef const OptimizerType * OptimizerPointer; void Execute(itk::Object *caller, const itk::EventObject & event) ITK_OVERRIDE { Execute((const itk::Object *)caller, event); } void Execute(const itk::Object * object, const itk::EventObject & event) ITK_OVERRIDE { OptimizerPointer optimizer = static_cast(object); if (!(itk::IterationEvent().CheckEvent(&event))) { return; } std::cout << optimizer->GetCurrentIteration() << " "; std::cout << optimizer->GetValue() << " "; std::cout << optimizer->GetCurrentPosition() << " " << m_CumulativeIterationIndex++ << std::endl; } private: unsigned int m_CumulativeIterationIndex; }; template class RegistrationInterfaceCommand : public itk::Command { public: typedef RegistrationInterfaceCommand Self; typedef itk::Command Superclass; typedef itk::SmartPointer Pointer; itkNewMacro(Self); protected: RegistrationInterfaceCommand() {}; public: typedef TRegistration RegistrationType; typedef RegistrationType * RegistrationPointer; typedef itk::RegularStepGradientDescentOptimizer OptimizerType; typedef OptimizerType * OptimizerPointer; void Execute(itk::Object * object, const itk::EventObject & event) ITK_OVERRIDE { if (!(itk::IterationEvent().CheckEvent(&event))) { return; } RegistrationPointer registration = static_cast(object); OptimizerPointer optimizer = static_cast(registration->GetModifiableOptimizer()); std::cout << "-------------------------------------" << std::endl; std::cout << "MultiResolution Level : " << registration->GetCurrentLevel() << std::endl; std::cout << std::endl; if (registration->GetCurrentLevel() == 0) { optimizer->SetMaximumStepLength(1.00); optimizer->SetMinimumStepLength(0.01); } else { optimizer->SetMaximumStepLength(optimizer->GetMaximumStepLength() / 4.0); optimizer->SetMinimumStepLength(optimizer->GetMinimumStepLength() / 10.0); } } void Execute(const itk::Object *, const itk::EventObject &) ITK_OVERRIDE { return; } }; int main(int argc, char *argv[]) { if (argc < 4) { std::cerr << "Missing Parameters " << std::endl; std::cerr << "Usage: " << argv[0]; std::cerr << " imagenfija imagenflotante "; std::cerr << " salida"; return EXIT_FAILURE; } const unsigned int Dimension = 3; typedef signed short PixelType; typedef itk::Image< PixelType, Dimension > FixedImageType; typedef itk::Image< PixelType, Dimension > MovingImageType; typedef float InternalPixelType; typedef itk::Image< InternalPixelType, Dimension > InternalImageType; typedef itk::QuaternionRigidTransform< double> TransformType; typedef itk::QuaternionRigidTransformGradientDescentOptimizer OptimizerType; typedef itk::LinearInterpolateImageFunction< InternalImageType, double > InterpolatorType; typedef itk::MattesMutualInformationImageToImageMetric< InternalImageType, InternalImageType > MetricType; typedef OptimizerType::ScalesType OptimizerScalesType; typedef itk::MultiResolutionImageRegistrationMethod< InternalImageType, InternalImageType > RegistrationType; typedef itk::ImageFileReader< FixedImageType > FixedImageReaderType; typedef itk::ImageFileReader< MovingImageType > MovingImageReaderType; typedef itk::NormalizeImageFilter NormalizeFilterType; typedef itk::DiscreteGaussianImageFilter GaussianFilterType; typedef itk::CenteredTransformInitializer TransformInitializerType; OptimizerType::Pointer optimizer = OptimizerType::New(); InterpolatorType::Pointer interpolator = InterpolatorType::New(); RegistrationType::Pointer registration = RegistrationType::New(); MetricType::Pointer metric = MetricType::New(); TransformType::Pointer transform = TransformType::New(); FixedImageReaderType::Pointer fixedImageReader = FixedImageReaderType::New(); MovingImageReaderType::Pointer movingImageReader = MovingImageReaderType::New(); NormalizeFilterType::Pointer fixedNormalizer = NormalizeFilterType::New(); NormalizeFilterType::Pointer movingNormalizer = NormalizeFilterType::New(); GaussianFilterType::Pointer fixedSmoother = GaussianFilterType::New(); GaussianFilterType::Pointer movingSmoother = GaussianFilterType::New(); TransformInitializerType::Pointer initializer = TransformInitializerType::New(); fixedImageReader->SetFileName(argv[1]); movingImageReader->SetFileName(argv[2]); registration->SetOptimizer(optimizer); registration->SetInterpolator(interpolator); registration->SetMetric(metric); registration->SetTransform(transform); fixedNormalizer->SetInput(fixedImageReader->GetOutput()); movingNormalizer->SetInput(movingImageReader->GetOutput()); fixedSmoother->SetVariance(2.0); movingSmoother->SetVariance(2.0); fixedSmoother->SetInput(fixedNormalizer->GetOutput()); movingSmoother->SetInput(movingNormalizer->GetOutput()); registration->SetFixedImage(fixedSmoother->GetOutput()); registration->SetMovingImage(movingSmoother->GetOutput()); fixedNormalizer->Update(); registration->SetFixedImageRegion(fixedNormalizer->GetOutput()->GetBufferedRegion()); initializer->SetTransform(transform); initializer->SetFixedImage(fixedImageReader->GetOutput()); initializer->SetMovingImage(movingImageReader->GetOutput()); initializer->MomentsOn(); initializer->InitializeTransform(); //transform->SetIdentity(); //Esto gener? Too Many Samples outside mapping.. registration->SetInitialTransformParameters(transform->GetParameters()); OptimizerScalesType optimizerScales(transform->GetNumberOfParameters()); if (Dimension == 3) { optimizerScales[0] = 1.0; optimizerScales[1] = 1.0; optimizerScales[2] = 1.0; optimizerScales[3] = 1.0; optimizerScales[4] = 0.0001; optimizerScales[5] = 0.0001; optimizerScales[6] = 0.0001; optimizerScales[7] = 0.0001; } optimizer->SetScales(optimizerScales); optimizer->SetNumberOfIterations(20); optimizer->MaximizeOn(); metric->SetNumberOfSpatialSamples(50); CommandIterationUpdate::Pointer observer = CommandIterationUpdate::New(); optimizer->AddObserver(itk::IterationEvent(), observer); typedef RegistrationInterfaceCommand CommandType; CommandType::Pointer command = CommandType::New(); registration->AddObserver(itk::IterationEvent(), command); try { registration->Update(); std::cout << "Optimizer stop condition: " << registration->GetOptimizer()->GetStopConditionDescription() << std::endl; } catch (itk::ExceptionObject & err) { std::cout << "ExceptionObject caught !" << std::endl; std::cout << err << std::endl; return EXIT_FAILURE; } std::cout << "Optimizer Stopping Condition = " << optimizer->GetStopCondition() << std::endl; typedef RegistrationType::ParametersType ParametersType; ParametersType finalParameters = registration->GetLastTransformParameters(); double TranslationAlongX = finalParameters[4]; double TranslationAlongY = finalParameters[5]; unsigned int numberOfIterations = optimizer->GetCurrentIteration(); double bestValue = optimizer->GetValue(); std::cout << "Result = " << std::endl; std::cout << " Translation X = " << TranslationAlongX << std::endl; std::cout << " Translation Y = " << TranslationAlongY << std::endl; std::cout << " Iterations = " << numberOfIterations << std::endl; std::cout << " Metric value = " << bestValue << std::endl; typedef itk::ResampleImageFilter< MovingImageType, FixedImageType > ResampleFilterType; TransformType::Pointer finalTransform = TransformType::New(); finalTransform->SetParameters(finalParameters); finalTransform->SetFixedParameters(transform->GetFixedParameters()); ResampleFilterType::Pointer resample = ResampleFilterType::New(); resample->SetTransform(finalTransform); resample->SetInput(movingImageReader->GetOutput()); FixedImageType::Pointer fixedImage = fixedImageReader->GetOutput(); PixelType backgroundGrayLevel = 0; resample->SetSize(fixedImage->GetLargestPossibleRegion().GetSize()); resample->SetOutputOrigin(fixedImage->GetOrigin()); resample->SetOutputSpacing(fixedImage->GetSpacing()); resample->SetOutputDirection(fixedImage->GetDirection()); resample->SetDefaultPixelValue(backgroundGrayLevel); typedef signed short OutputPixelType; typedef itk::Image< OutputPixelType, Dimension > OutputImageType; typedef itk::CastImageFilter< FixedImageType, OutputImageType > CastFilterType; typedef itk::ImageFileWriter< OutputImageType > WriterType; WriterType::Pointer writer = WriterType::New(); CastFilterType::Pointer caster = CastFilterType::New(); writer->SetFileName(argv[3]); caster->SetInput(resample->GetOutput()); writer->SetInput(caster->GetOutput()); writer->Update(); typedef itk::CheckerBoardImageFilter< FixedImageType > CheckerBoardFilterType; CheckerBoardFilterType::Pointer checker = CheckerBoardFilterType::New(); checker->SetInput1(fixedImage); checker->SetInput2(resample->GetOutput()); caster->SetInput(checker->GetOutput()); writer->SetInput(caster->GetOutput()); resample->SetDefaultPixelValue(0); resample->SetTransform(finalTransform); if (argc > 4) { writer->SetFileName(argv[11]); writer->Update(); } return EXIT_SUCCESS; } -------------- next part -------------- An HTML attachment was scrubbed... URL: From ntustison at gmail.com Sat May 2 11:38:35 2015 From: ntustison at gmail.com (Nicholas Tustison) Date: Sat, 2 May 2015 08:38:35 -0700 Subject: [ITK-users] Building testing application for N3 implementation In-Reply-To: References: <1538950.EH7eYJ7PRD@clifford> Message-ID: Thanks Bill. Also, Jan, I know I should probably should keep that submission updated, but we?re all busy and things like that fall through the cracks of my to-do list. However, in addition to the ITK class being updated and tested continually by the wonderful ITK folk, we keep both the N3 and N4 programs updated in our ANTs repository, in case you?re interested. https://github.com/stnava/ANTs/blob/master/Examples/N3BiasFieldCorrection.cxx https://github.com/stnava/ANTs/blob/master/Examples/N4BiasFieldCorrection.cxx Nick > On May 2, 2015, at 8:02 AM, Bill Lorensen wrote: > > This is an older implementation. ITK currently has > N4BiasFieldCorrectionImageFilter. I would try this instead. It is in > Modules/Filtering/BiasCorrection/include/itkN4BiasFieldCorrectionImageFilte > > Bill > > On Sat, May 2, 2015 at 10:12 AM, Jan Dorazil wrote: >> Hello, >> I am currently working on some MRI images and, would like to >> test the ITK implementation of the N3 algorithm for MRI Bias >> Field correction. >> I have downloaded the source code for a >> testing application (http://www.insight-journal.org/browse/publication/640) >> but cant manage to compile it. >> As I try to configure the package using cmake I get this error: >> -- >> CMake Error at CMakeLists.txt:20 (INCLUDE): >> include could not find load file: >> >> /usr/share/cmake-3.2/Modules/FindITK.cmake >> -- >> I looked inside the supplied CMakeLists.txt and found out it is this >> portion thats causing the error. >> -- >> INCLUDE (${CMAKE_ROOT}/Modules/FindITK.cmake) >> IF (USE_ITK_FILE) >> INCLUDE(${USE_ITK_FILE}) >> ENDIF(USE_ITK_FILE) >> -- >> What's the problem here? Shouldnt ITK installation >> install the FindITK.cmake? I have not found it anywhere on >> my disc. Anyway, why dont other packages require this >> file - I have already built a lot of ITK applications. >> >> ITK version: 4.7.1-1 >> cmake version 3.2.2 >> #uname -a >> Linux Clifford 3.19.3-3-ARCH #1 SMP PREEMPT Wed Apr 8 14:10:00 CEST 2015 >> x86_64 GNU/Linux >> >> Regards, >> Jan Dorazil >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users > > > > -- > Unpaid intern in BillsBasement at noware dot 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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users From deu439 at gmail.com Sun May 3 09:02:14 2015 From: deu439 at gmail.com (Jan Dorazil) Date: Sun, 03 May 2015 15:02:14 +0200 Subject: [ITK-users] Iteration order 3d, 4d image Message-ID: <1687808.kgvaVVS06n@clifford> Hello, I have a question on usage of iterators in ITK. I have 4d MRI image 255x255x21x5 where the 4th dimension is time. I would like to extract 5 features (only pixel intenzities) for each voxel in XxYxZ subvolume, ( along T axis). Then I need to supply these feature sets into a prediction model and as i receive predictions for each feature set I would like to reconstruct the image from these predictions. What kind of iterator shall I use to make sure that the feature extraction step (on 4d image) will iterate in the same order as the reconstruction step (on 3d image)? Regards, Jan Dorazil From jmatuteflores at gmail.com Sun May 3 16:41:35 2015 From: jmatuteflores at gmail.com (jose alejandro matute flores) Date: Sun, 3 May 2015 22:41:35 +0200 Subject: [ITK-users] Iteration order 3d, 4d image In-Reply-To: <1687808.kgvaVVS06n@clifford> References: <1687808.kgvaVVS06n@clifford> Message-ID: Dear Jan, I'm not sure if there is a iterator that does that, but there are two other methods which could be used for what you desire. 1. Using vector images, http://www.itk.org/Doxygen/html/classitk_1_1VectorImage.html http://itk.org/Wiki/ITK/Examples/VectorImages/VectorImage 2. if the fourth dimension is fixed, then declare an image whose PixelType is a CovariantVector. http://www.itk.org/Doxygen/html/classitk_1_1CovariantVector.html both will then 3d iterators. Hopefully this can be useful, Regards, Jose On Sun, May 3, 2015 at 3:02 PM, Jan Dorazil wrote: > Hello, > I have a question on usage of iterators in ITK. > > I have 4d MRI image 255x255x21x5 where the 4th > dimension is time. > I would like to extract 5 features (only pixel intenzities) > for each voxel in XxYxZ subvolume, ( along T axis). > Then I need to supply these feature sets into a prediction > model and as i receive predictions for each feature set I > would like to reconstruct the image from these > predictions. > > What kind of iterator shall I use to make sure that the > feature extraction step (on 4d image) will iterate in the > same order as the reconstruction step (on 3d image)? > > Regards, > Jan Dorazil > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From deu439 at gmail.com Sun May 3 19:07:23 2015 From: deu439 at gmail.com (Jan Dorazil) Date: Mon, 04 May 2015 01:07:23 +0200 Subject: [ITK-users] Iteration order 3d, 4d image In-Reply-To: References: <1687808.kgvaVVS06n@clifford> Message-ID: <3555924.srac3jLSaq@clifford> Thank you, I finally solved this problem using an iterator with index from which I calculate x and y coordinates into the output feature matrix. Iteration might be a little slow, but it looks as the simplest solution. Regards, Jan Dorazil On Sunday 03 of May 2015 22:41:35 you wrote: > Dear Jan, > > I'm not sure if there is a iterator that does that, but there are two other > methods which could be used for what you desire. > > 1. Using vector images, > http://www.itk.org/Doxygen/html/classitk_1_1VectorImage.html > http://itk.org/Wiki/ITK/Examples/VectorImages/VectorImage > > 2. if the fourth dimension is fixed, then declare an image whose PixelType > is a CovariantVector. > http://www.itk.org/Doxygen/html/classitk_1_1CovariantVector.html > > both will then 3d iterators. > > Hopefully this can be useful, > Regards, > Jose > > On Sun, May 3, 2015 at 3:02 PM, Jan Dorazil wrote: > > Hello, > > I have a question on usage of iterators in ITK. > > > > I have 4d MRI image 255x255x21x5 where the 4th > > dimension is time. > > > > I would like to extract 5 features (only pixel intenzities) > > > > for each voxel in XxYxZ subvolume, ( along T axis). > > Then I need to supply these feature sets into a prediction > > model and as i receive predictions for each feature set I > > would like to reconstruct the image from these > > predictions. > > > > What kind of iterator shall I use to make sure that the > > feature extraction step (on 4d image) will iterate in the > > same order as the reconstruction step (on 3d image)? > > > > Regards, > > Jan Dorazil > > > > > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.php > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/insight-users From matt.mccormick at kitware.com Mon May 4 09:50:09 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 4 May 2015 09:50:09 -0400 Subject: [ITK-users] [ANNOUNCE] ITK 4.7.2 has been released! Message-ID: On behalf of the Insight Toolkit Community, we are happy to announce the release of ITK 4.7.2! Release files can be downloaded from: http://itk.org/ITK/resources/software.html This is a patch release that fixes critical issues, regressions, important documentation, and compiler support. The 4.7.2 release addresses use of the LevelSetsv4 framework with libc++, which is now the default C++ standard library when building with MacOSX Xcode. A long standing convergence bug in the LBFGSB optimizer has been resolved. Improved support for building with VTK 6.2.0 and VTK Git master was also added. A number of other issues were addressed -- see the changelog below for details. Congratulations and thanks to everyone who contributed to this release. Questions and comments are welcome on the ITK mailing lists. The next feature release of 4.8.0 is scheduled for the end of June, and it will feature many exciting enhancements! Enjoy ITK! Changes from v4.7.1 to v4.7.2: Arnaud Gelas (2): COMP: fix warning with non default template parameter for OutputImage BUG: fix BinaryImageToLabelMapFilter with negative OutputBackgroundValue Bill Lorensen (1): COMP: Only require the minimal VTK modules Bradley Lowekamp (4): BUG: Move LBFGSB callback helper to parent BUG: Update AmoebaOptimizer NumberOfIterations BUG: Use base's NumberOfIterations for stopping condition BUG: Correct convergence string check Ga?tan Lehmann (1): BUG: fix runtime information for cross correlation filters Hans Johnson (1): COMP: VTK and ITK H5 build program collision Jon Haitz Legarreta (1): ENH: Increase code coverage for itkCustomColormapFunction Matthew McCormick (9): BUG: Export ITK_FFTW_INCLUDE_PATH as CMake path. COMP: Fix LevelSetsv4 tests with libc++. BUG: Set ITK_BUILD_SHARED in ITKConfig.cmake on Windows. COMP: Address quoted MSVC variable in GDCM. COMP: Remove duplicate InternalLabelType typedef. BUG: Link to VTK 6 rendering backend modules. BUG: Add VTK modules for annotation rendering. BUG: Link vtkRenderingFreeType in the VTK modules. From matt.mccormick at kitware.com Mon May 4 14:25:39 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 4 May 2015 14:25:39 -0400 Subject: [ITK-users] Convert 2D itkImage to vnl_matrix In-Reply-To: References: Message-ID: Hi Marco, Make sure to call extractor->UpdateLargestPossibleRegion(); before trying to examine its output. HTH, Matt On Wed, Apr 29, 2015 at 8:46 AM, Marco Ulgelmo wrote: > Hello, > > I was trying to get a matrix out of a 2D image as i need to perform > particular calculations. At first i open a 3D image and using > ExtractImageFilter i extract the 2D image collapsing the 3rd dimension. > There must be something wrong in the code as every time i try to perform any > kind of operation on the newly created matrix i get a segfault. It might be > really stupid but i haven't been able to spot it. > > Code: > > typedef float OutputPixelType; > > typedef itk::Image< OutputPixelType, 4 > InputImageType; > typedef itk::Image< OutputPixelType, 3 > OutputImageType; > typedef itk::Image< OutputPixelType, 2 > BidimensionalImageType; > > typedef itk::ImageFileReader< InputImageType > ReaderType; > typedef itk::ImageFileReader< OutputImageType > OutputReaderType; > typedef itk::ImageFileWriter< OutputImageType > WriterType; > > //mediaFilePath is the path to a 3D image (mha extension) > > char* MediaFileName = (char*)mediaFilePath.c_str(); > > OutputReaderType::Pointer reader = OutputReaderType::New(); > reader->SetFileName(MediaFileName); > reader->Update(); > > typedef itk::ExtractImageFilter< OutputImageType, BidimensionalImageType >> BidimensionalExtractorType; > > BidimensionalExtractorType::Pointer extractor = > BidimensionalExtractorType::New(); > > extractor->InPlaceOn(); > extractor->SetDirectionCollapseToSubmatrix(); > try{ > reader->UpdateOutputInformation(); > } > catch ( itk::ExceptionObject & exp ){ > return 0;// "Couldn't read selected Subject, format not supported."; > } > > OutputImageType::RegionType inputRegion3 = > reader->GetOutput()->GetLargestPossibleRegion(); > OutputImageType::SizeType size3 = inputRegion3.GetSize(); > size3[2] = 0; > > OutputImageType::IndexType start3 = inputRegion3.GetIndex(); > start3[2] = 0; > OutputImageType::RegionType desiredRegion3; > desiredRegion3.SetSize( size3 ); > desiredRegion3.SetIndex( start3 ); > > extractor->SetExtractionRegion( desiredRegion3 ); > > extractor->SetInput( reader->GetOutput() ); > //writer->SetInput( extractor->GetOutput() ); > > int width = > reader->GetOutput()->GetLargestPossibleRegion().GetSize()[0]; > int height = > reader->GetOutput()->GetLargestPossibleRegion().GetSize()[1]; > > const unsigned int rows = height; > const unsigned int cols = width; > > typedef vnl_matrix_ref< OutputPixelType > MatrixType; > > BidimensionalImageType::Pointer image = extractor->GetOutput(); > > MatrixType matrix( rows, cols, image->GetBufferPointer()); > > matrix.data_array(); > > std::cout << matrix[1][1] << std::endl; > > Thanks, > Marco > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > From ivans at yahoo.co.jp Tue May 5 07:05:55 2015 From: ivans at yahoo.co.jp (Ivan Setiawan) Date: Tue, 5 May 2015 20:05:55 +0900 (JST) Subject: [ITK-users] [ITK] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? In-Reply-To: <1D606C38-8A3F-44B9-AE94-93FC83EEA2C2@mail.nih.gov> References: <165816.81088.qm@web101307.mail.kks.yahoo.co.jp> <1D606C38-8A3F-44B9-AE94-93FC83EEA2C2@mail.nih.gov> Message-ID: <537582.87141.qm@web101318.mail.kks.yahoo.co.jp> Hi Brad, Bill, Following your suggestions, I've changed the initial ImageTrueMin to NumericTraits::NonpositiveMin(). Also, I've change the initial ImageTrueMax to NumericeTraits::max(), to unify it with the above. Three files were modified. This is the first time for me to submit a patch, and I don't know the best-fit reviewers, so I chose both of you. Thank you and best regards, Ivan Setiawan ----- Original Message ----- >From: Bradley Lowekamp >To: Bill Lorensen >Cc: Ivan Setiawan ; insight-users >Date: 2015/5/1, Fri 21:16 >Subject: Re: [ITK] [ITK-users] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? > >Hello, > >The numeric_limits::lowest() seems to be a new C++11 method [1]. > >I believe NumericTraits::NonpositiveMin() will work. > >Thanks for finding this issue! Please include a test :) > >Brad > > >[1] http://en.cppreference.com/w/cpp/types/numeric_limits/lowest > >On May 1, 2015, at 8:04 AM, Bill Lorensen wrote: > >> Looks like you found a bug. Please submit a patch through gerrit: >> http://www.itk.org/Wiki/ITK/Git/Develop >> >> Thanks >> >> >> On Fri, May 1, 2015 at 2:54 AM, Ivan Setiawan wrote: >>> Hi all, >>> My name is Ivan, and currently I am developing an image registration >>> software based on ITK. >>> Thank you for providing such a good library! >>> >>> I think, I found a bug for determining the voxel's value range in >>> itkMattesMutualInformationImageToImageMetric.hxx. >>> >>> In the ::Initialize(void) method, the initial value of >>> this->m_FixedImageTrueMax and this->m_MovingImageTrueMax should be set to >>>? ? std::numeric_limits::lowest()? /* i.e., >>> the most negative value, = -340282346638528860000000000000000000000.000000 >>> for float-type image */ >>> instead of >>>? ? std::numeric_limits::min() /* = >>> 1.17549e-038 for float-type image. */ >>> >>> The code lines are: >>>? ? this->m_FixedImageTrueMax = std::numeric_limits>> TFixedImage::PixelType>::min(); // should be lowest() instead of min()? >>>? ? this->m_MovingImageTrueMax = std::numeric_limits>> TMovingImage::PixelType>::min(); // should be lowest() instead of min()? >>> >>> Problem will not appear when using short-type image, but when a float-type >>> image with all negative voxel's value is used as input, then the initial >>> m_FixedImageTrueMax will NOT be updated to the correct negative maximum >>> value. >>> >>> Could you please tell me your opinion? >>> >>> Thank you very much for your attention. >>> >>> Best regards, >>> Ivan >>> >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.php >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/insight-users >>> >> >> >> >> -- >> Unpaid intern in BillsBasement at noware dot 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.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> _______________________________________________ >> Community mailing list >> Community at itk.org >> http://public.kitware.com/mailman/listinfo/community > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ivans at yahoo.co.jp Tue May 5 07:09:56 2015 From: ivans at yahoo.co.jp (Ivan Setiawan) Date: Tue, 5 May 2015 20:09:56 +0900 (JST) Subject: [ITK-users] [ITK] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? In-Reply-To: <537582.87141.qm@web101318.mail.kks.yahoo.co.jp> References: <165816.81088.qm@web101307.mail.kks.yahoo.co.jp> <1D606C38-8A3F-44B9-AE94-93FC83EEA2C2@mail.nih.gov> <537582.87141.qm@web101318.mail.kks.yahoo.co.jp> Message-ID: <573314.99324.qm@web101308.mail.kks.yahoo.co.jp> Sorry, I meant: "Following your suggestions, I've changed the initial ImageTrueMax to NumericTraits::NonpositiveMin(). Also, I've change the initial ImageTrueMin to NumericeTraits::max(), to unify it with the above. Three files were modified." Best regards, Ivan ----- Original Message ----- >From: Ivan Setiawan >To: Bradley Lowekamp ; Bill Lorensen >Cc: insight-users >Date: 2015/5/5, Tue 20:05 >Subject: Re: [ITK-users] [ITK] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? > > >Hi Brad, Bill, > > >Following your suggestions, I've changed the initial ImageTrueMin to NumericTraits::NonpositiveMin(). >Also, I've change the initial ImageTrueMax to NumericeTraits::max(), to unify it with the above. >Three files were modified. > > > >This is the first time for me to submit a patch, and I don't know the best-fit reviewers, so I chose both of you. > > >Thank you and best regards, >Ivan Setiawan > > >----- Original Message ----- >>From: Bradley Lowekamp >>To: Bill Lorensen >>Cc: Ivan Setiawan ; insight-users >>Date: 2015/5/1, Fri 21:16 >>Subject: Re: [ITK] [ITK-users] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? >> >>Hello, >> >>The numeric_limits::lowest() seems to be a new C++11 method [1]. >> >>I believe NumericTraits::NonpositiveMin() will work. >> >>Thanks for finding this issue! Please include a test :) >> >>Brad >> >> >>[1] http://en.cppreference.com/w/cpp/types/numeric_limits/lowest >> >>On May 1, 2015, at 8:04 AM, Bill Lorensen wrote: >> >>> Looks like you found a bug. Please submit a patch through gerrit: >>> http://www.itk.org/Wiki/ITK/Git/Develop >>> >>> Thanks >>> >>> >>> On Fri, May 1, 2015 at 2:54 AM, Ivan Setiawan wrote: >>>> Hi all, >>>> My name is Ivan, and currently I am developing an image registration >>>> software based on ITK. >>>> Thank you for providing such a good library! >>>> >>>> I think, I found a bug for determining the voxel's value range in >>>> itkMattesMutualInformationImageToImageMetric.hxx. >>>> >>>> In the ::Initialize(void) method, the initial value of >>>> this->m_FixedImageTrueMax and this->m_MovingImageTrueMax should be set to >>>>? ? std::numeric_limits::lowest()? /* i.e., >>>> the most negative value, = -340282346638528860000000000000000000000.000000 >>>> for float-type image */ >>>> instead of >>>>? ? std::numeric_limits::min() /* = >>>> 1.17549e-038 for float-type image. */ >>>> >>>> The code lines are: >>>>? ? this->m_FixedImageTrueMax = std::numeric_limits>>> TFixedImage::PixelType>::min(); // should be lowest() instead of min()? >>>>? ? this->m_MovingImageTrueMax = std::numeric_limits>>> TMovingImage::PixelType>::min(); // should be lowest() instead of min()? >>>> >>>> Problem will not appear when using short-type image, but when a float-type >>>> image with all negative voxel's value is used as input, then the initial >>>> m_FixedImageTrueMax will NOT be updated to the correct negative maximum >>>> value. >>>> >>>> Could you please tell me your opinion? >>>> >>>> Thank you very much for your attention. >>>> >>>> Best regards, >>>> Ivan >>>> >>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.php >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://public.kitware.com/mailman/listinfo/insight-users >>>> >>> >>> >>> >>> -- >>> Unpaid intern in BillsBasement at noware dot 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.php >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/insight-users >>> _______________________________________________ >>> Community mailing list >>> Community at itk.org >>> http://public.kitware.com/mailman/listinfo/community >> >> >> >> >_____________________________________ >Powered by www.kitware.com > >Visit other Kitware open-source projects at >http://www.kitware.com/opensource/opensource.html > >Kitware offers ITK Training Courses, for more information visit: >http://www.kitware.com/products/protraining.php > >Please keep messages on-topic and check the ITK FAQ at: >http://www.itk.org/Wiki/ITK_FAQ > >Follow this link to subscribe/unsubscribe: >http://public.kitware.com/mailman/listinfo/insight-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bakkari.abdelkhalek at hotmail.fr Tue May 5 07:13:47 2015 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Tue, 5 May 2015 12:13:47 +0100 Subject: [ITK-users] Volume measurment ITK Message-ID: Dear ITK users, I am seeking for a method for volume measurement of a Volume of Interest in a CT 3D Image.Thank you in advance. Best regards, Abdelkhalek BakkariPh.D candidate in Computer ScienceInstitute of Applied Computer ScienceLodz University of Technology, Poland -------------- next part -------------- An HTML attachment was scrubbed... URL: From drcjaudet at gmail.com Tue May 5 07:54:29 2015 From: drcjaudet at gmail.com (Cyril Jaudet) Date: Tue, 5 May 2015 13:54:29 +0200 Subject: [ITK-users] Volume measurment ITK In-Reply-To: References: Message-ID: Hello Abdelkhalek, Once you have created a label map corresponding to the volume you can use itk label geometry image filter: http://www.itk.org/Doxygen/html/classitk_1_1LabelGeometryImageFilter.html best regards, Cyril Jaudet 2015-05-05 13:13 GMT+02:00 Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr>: > > Dear ITK users, > > I am seeking for a method for volume measurement of a Volume of Interest > in a CT 3D Image. > Thank you in advance. > > Best regards, > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bakkari.abdelkhalek at hotmail.fr Tue May 5 08:53:32 2015 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Tue, 5 May 2015 13:53:32 +0100 Subject: [ITK-users] Volume measurment ITK In-Reply-To: References: , Message-ID: Dear Cyril , Thank you soo much for your answer. I will try with it ;) Kind regards, Abdelkhalek BakkariPh.D candidate in Computer ScienceInstitute of Applied Computer ScienceLodz University of Technology, Poland Fuzzy image processing is the collection of all approaches that understand, represent and process the images, their segments and features as fuzzy sets. The representation and processing depend on selected fuzzy technique and on the problem to be solved. Date: Tue, 5 May 2015 13:54:29 +0200 Subject: Re: [ITK-users] Volume measurment ITK From: drcjaudet at gmail.com To: bakkari.abdelkhalek at hotmail.fr CC: insight-users at itk.org Hello Abdelkhalek, Once you have created a label map corresponding to the volume you can use itk label geometry image filter: http://www.itk.org/Doxygen/html/classitk_1_1LabelGeometryImageFilter.html best regards, Cyril Jaudet 2015-05-05 13:13 GMT+02:00 Abdelkhalek Bakkari : Dear ITK users, I am seeking for a method for volume measurement of a Volume of Interest in a CT 3D Image.Thank you in advance. Best regards, Abdelkhalek BakkariPh.D candidate in Computer ScienceInstitute of Applied Computer ScienceLodz University of Technology, Poland _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From deu439 at gmail.com Tue May 5 10:40:28 2015 From: deu439 at gmail.com (Jan Dorazil) Date: Tue, 05 May 2015 16:40:28 +0200 Subject: [ITK-users] Building testing application for N3 implementation In-Reply-To: References: <1538950.EH7eYJ7PRD@clifford> Message-ID: <5116046.CTgSWIfySM@clifford> Thank you Nicholas, I followed your advice, and cloned the ANTs repository, although I was not able to compile it with my ITK version (4.7.1-1) so I let cmake clone and compile another version of ITK to get it working. Now all the examples are working. I used the N4BiasFieldCorrection.cxx example from ANTs to implement bias correction into my application and it's working even with my ITK version. The only problem I got is that when I try to add observer to the N4BiasFieldCorrectionFilter using the same bunch of calls as in the example application: -- typedef itk::CommandIterationUpdate CommandType; CommandType::Pointer observer = CommandType::New(); corrector->AddObserver( itk::IterationEvent(), observer ); -- I get a lot of errors during compilation complaining about non-existence of methods 'GetCurrentIteration()', 'GetValue()', 'GetCurrentPosition()', 'GetStopCondition()' -- /usr/include/ITK-4.7/itkCommandIterationUpdate.h:74:17: error: ?itk::WeakPointer, itk::Image > >::ObjectType? has no member named ?GetCurrentIteration? std::cout << m_Optimizer->GetCurrentIteration() << " = "; -- Has anything changed in the interface, or am I doing something wrong? Regards, Jan Dorazil On Saturday 02 of May 2015 08:38:35 you wrote: > Thanks Bill. > > Also, Jan, I know I should probably should keep that submission > updated, but we?re all busy and things like that fall through the > cracks of my to-do list. However, in addition to the ITK class being > updated and tested continually by the wonderful ITK folk, we keep > both the N3 and N4 programs updated in our ANTs repository, in > case you?re interested. > > https://github.com/stnava/ANTs/blob/master/Examples/N3BiasFieldCorrection.cx > x > https://github.com/stnava/ANTs/blob/master/Examples/N4BiasFieldCorrection.c > xx > > Nick > > > On May 2, 2015, at 8:02 AM, Bill Lorensen wrote: > > > > This is an older implementation. ITK currently has > > N4BiasFieldCorrectionImageFilter. I would try this instead. It is in > > Modules/Filtering/BiasCorrection/include/itkN4BiasFieldCorrectionImageFilt > > e > > > > Bill > > > > On Sat, May 2, 2015 at 10:12 AM, Jan Dorazil wrote: > >> Hello, > >> I am currently working on some MRI images and, would like to > >> test the ITK implementation of the N3 algorithm for MRI Bias > >> Field correction. > >> I have downloaded the source code for a > >> testing application > >> (http://www.insight-journal.org/browse/publication/640) > >> but cant manage to compile it. > >> As I try to configure the package using cmake I get this error: > >> -- > >> > >> CMake Error at CMakeLists.txt:20 (INCLUDE): > >> include could not find load file: > >> /usr/share/cmake-3.2/Modules/FindITK.cmake > >> > >> -- > >> I looked inside the supplied CMakeLists.txt and found out it is this > >> portion thats causing the error. > >> -- > >> INCLUDE (${CMAKE_ROOT}/Modules/FindITK.cmake) > >> IF (USE_ITK_FILE) > >> > >> INCLUDE(${USE_ITK_FILE}) > >> > >> ENDIF(USE_ITK_FILE) > >> -- > >> What's the problem here? Shouldnt ITK installation > >> install the FindITK.cmake? I have not found it anywhere on > >> my disc. Anyway, why dont other packages require this > >> file - I have already built a lot of ITK applications. > >> > >> ITK version: 4.7.1-1 > >> cmake version 3.2.2 > >> #uname -a > >> Linux Clifford 3.19.3-3-ARCH #1 SMP PREEMPT Wed Apr 8 14:10:00 CEST 2015 > >> x86_64 GNU/Linux > >> > >> Regards, > >> Jan Dorazil > >> _____________________________________ > >> Powered by www.kitware.com > >> > >> Visit other Kitware open-source projects at > >> http://www.kitware.com/opensource/opensource.html > >> > >> Kitware offers ITK Training Courses, for more information visit: > >> http://www.kitware.com/products/protraining.php > >> > >> Please keep messages on-topic and check the ITK FAQ at: > >> http://www.itk.org/Wiki/ITK_FAQ > >> > >> Follow this link to subscribe/unsubscribe: > >> http://public.kitware.com/mailman/listinfo/insight-users From blowekamp at mail.nih.gov Wed May 6 10:50:08 2015 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Wed, 6 May 2015 10:50:08 -0400 Subject: [ITK-users] SimpleITK 0.9 Registration Release Candidate 1 Message-ID: <9AC672A9-E68F-4401-AFE1-166C716E1CDD@mail.nih.gov> We are pleased to announce the SimpleITK 0.9 Release Candidate 1! NOW WITH REGISTRATION We encourage the community to download and test these binary packages. Thank you to those who tested the Beta release and provided feedback. We expect to be releasing 0.9 next week! This release features the ImageRegistrationMethod which brings a SimpleITK style interface to the modular ITKv4 registration framework. This adds support for a variety of transforms including rigid, affine, b-spline, and deformation fields. The metrics supported include correlation, means squares, ANTS neighborhood correlation, and mutual information. A variety of optimizers are available along with scales estimators for the optimized transformation parameters and built in multi-scale registration support. Additionally, a number of registration filters have been added: DemonsRegistrationFilter, DiffeomorphicDemonsRegistrationFilter, FastSymmetricForcesDemonsRegistrationFilter, LevelSetMotionRegistrationFilter and SymmetricForcesDemonsRegistrationFilter. Several examples can be found in the examples directory to help you get started. These examples include Affine registration, BSpline, Demons and Displacement fields. http://www.itk.org/SimpleITKDoxygen/html/examples.html There are several IPython/Jupyter Notebooks to illustrate using the registration framework: http://www.itk.org/Wiki/SimpleITK/ReleaseNotes#Release_Candidate_Announcement We have also added the following filters: AdditiveGaussianNoiseImageFilter, AggregateLabelMapFilter, BinaryImageToLabelMapFilter, ChangeLabelLabelMapFilter, CollidingFrontsImageFilter, DisplacementFieldJacobianDeterminantFilter, FastMarchingBaseImageFilter, FastMarchingUpwindGradientImageFilter, InverseDisplacementFieldImageFilter, InvertDisplacementFieldImageFilter, LabelImageToLabelMapFilter, LabelShapeStatisticsImageFilter, LabelStatisticsImageFilter, LabelUniqueLabelMapFilter, MergeLabelMapFilter, RelabelLabelMapFilter, SaltAndPepperNoiseImageFilter, ShotNoiseImageFilter, SpeckleNoiseImageFilter and TransformToDisplacementFieldFilter Before the final release we will work on improving documentation, and fixing critical bugs. You will need to manually download the beta binaries, then explicitly install the downloaded beta file. Information on how to get started and download the binaries: http://www.itk.org/Wiki/SimpleITK/GettingStarted#Binaries Binary distributions for many platforms and languages are available for downloading: https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.9rc1/ Nightly Doxygen Documentation: http://www.itk.org/SimpleITKDoxygen/html/index.html Additional Release Notes: http://www.itk.org/Wiki/SimpleITK/ReleaseNotes#Release_Candidate_Announcement Enjoy! From JohannesWeber at gmx.at Wed May 6 12:40:30 2015 From: JohannesWeber at gmx.at (JohannesWeber at gmx.at) Date: Wed, 6 May 2015 18:40:30 +0200 Subject: [ITK-users] itk::StatisticsImageFilter Message-ID: An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Wed May 6 13:44:52 2015 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Wed, 6 May 2015 13:44:52 -0400 Subject: [ITK-users] itk::StatisticsImageFilter In-Reply-To: References: Message-ID: Hello, You should look into using the LabelStatisticsImageFilter[1]. You should be able to create a mask of the non-zero pixels and pass that to the filter. HTH, Brad [1] http://www.itk.org/Doxygen/html/classitk_1_1LabelStatisticsImageFilter.html On May 6, 2015, at 12:40 PM, JohannesWeber at gmx.at wrote: > Hi! > > The itk::StatisticsImageFilter does what I need except for the fact, that I want the statistic made only for voxels bigger than 0. Structure voxels (bigger than 0) should be taken into account but the background voxels (=0) should be ignored. Is this possible with this filter? If not I guess I could just adapt this filter and add at the right positions a if>0? > > thank you! > > best regards, > Johannes > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From Denis.Abu-Sammour at medma.uni-heidelberg.de Thu May 7 07:38:05 2015 From: Denis.Abu-Sammour at medma.uni-heidelberg.de (Abu-Sammour, Denis) Date: Thu, 7 May 2015 13:38:05 +0200 Subject: [ITK-users] Help Message-ID: <5E843F0B86B47846B72559B57A54F96217C721D494@MBX02.ad.uni-heidelberg.de> Hello, Based on Example: ImageRegistration6.cxx (or any other registration example) how can I get the elapsed time for the evaluation of each iteration step of the registration process? Thanks Denis -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.lemaitre58 at gmail.com Thu May 7 08:36:02 2015 From: g.lemaitre58 at gmail.com (=?UTF-8?Q?Guillaume_Lema=C3=AEtre?=) Date: Thu, 7 May 2015 14:36:02 +0200 Subject: [ITK-users] Help In-Reply-To: <5E843F0B86B47846B72559B57A54F96217C721D494@MBX02.ad.uni-heidelberg.de> References: <5E843F0B86B47846B72559B57A54F96217C721D494@MBX02.ad.uni-heidelberg.de> Message-ID: Hi, I am not 100% sure since that I didn't put the hand in the code but the function Execute() seems to be call at each iteration since that they show the parameter values. Maybe put a timer there. Cheers, On 7 May 2015 at 13:38, Abu-Sammour, Denis < Denis.Abu-Sammour at medma.uni-heidelberg.de> wrote: > Hello, > > Based on Example: ImageRegistration6.cxx (or any other registration > example) how can I get the elapsed time for the evaluation of each > iteration step of the registration process? > > Thanks > > Denis > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > -- *LEMA?TRE GuillaumePhD CandiateMSc Erasmus Mundus ViBOT (Vision-roBOTic)MSc Business Innovation and Technology Management* g.lemaitre58 at gmail.com *ViCOROB - Computer Vision and Robotic Team* Universitat de Girona, Campus Montilivi, Edifici P-IV 17071 Girona Tel. +34 972 41 98 12 - Fax. +34 972 41 82 59 http://vicorob.udg.es/ *LE2I - Le Creusot*IUT Le Creusot, Laboratoire LE2I, 12 rue de la Fonderie, 71200 Le Creusot Tel. +33 3 85 73 10 90 - Fax. +33 3 85 73 10 97 http://le2i.cnrs.fr https://sites.google.com/site/glemaitre58/ Vice - Chairman of A.S.C. Fours UFOLEP Chairman of A.S.C. Fours FFC Webmaster of http://ascfours.free.fr -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Thu May 7 10:14:03 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 7 May 2015 10:14:03 -0400 Subject: [ITK-users] Help In-Reply-To: References: <5E843F0B86B47846B72559B57A54F96217C721D494@MBX02.ad.uni-heidelberg.de> Message-ID: Hi, The TimeProbe [1] and RealTimeClock [2] classes could be useful here. Matt [1] http://itk.org/ITKExamples/src/Core/Common/ComputeTimeBetweenPoints/Documentation.html [2] http://www.itk.org/Doxygen/html/classitk_1_1RealTimeClock.html On Thu, May 7, 2015 at 8:36 AM, Guillaume Lema?tre wrote: > Hi, > > I am not 100% sure since that I didn't put the hand in the code but the > function Execute() seems to be call at each iteration since that they show > the parameter values. Maybe put a timer there. > > Cheers, > > On 7 May 2015 at 13:38, Abu-Sammour, Denis < > Denis.Abu-Sammour at medma.uni-heidelberg.de> wrote: > >> Hello, >> >> Based on Example: ImageRegistration6.cxx (or any other registration >> example) how can I get the elapsed time for the evaluation of each >> iteration step of the registration process? >> >> Thanks >> >> Denis >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> >> > > > -- > > > > > *LEMA?TRE GuillaumePhD CandiateMSc Erasmus Mundus ViBOT > (Vision-roBOTic)MSc Business Innovation and Technology Management* > g.lemaitre58 at gmail.com > > *ViCOROB - Computer Vision and Robotic Team* > Universitat de Girona, Campus Montilivi, Edifici P-IV 17071 Girona > Tel. +34 972 41 98 12 - Fax. +34 972 41 82 59 > http://vicorob.udg.es/ > > *LE2I - Le Creusot*IUT Le Creusot, Laboratoire LE2I, 12 rue de la > Fonderie, 71200 Le Creusot > Tel. +33 3 85 73 10 90 - Fax. +33 3 85 73 10 97 > http://le2i.cnrs.fr > > https://sites.google.com/site/glemaitre58/ > Vice - Chairman of A.S.C. Fours UFOLEP > Chairman of A.S.C. Fours FFC > Webmaster of http://ascfours.free.fr > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From coyarzunlaura at googlemail.com Thu May 7 10:57:50 2015 From: coyarzunlaura at googlemail.com (Cristina Oyarzun) Date: Thu, 7 May 2015 16:57:50 +0200 Subject: [ITK-users] CFP: MICCAI CLIP 2015 Workshop on Clinical Image-based Procedures: Translational Research in Medical Imaging Message-ID: CALL FOR PAPERS MICCAI 2015 Workshop on Clinical Image-based Procedures: Translational Research in Medical Imaging October 5, 2015 Munich, Germany Website:http://miccai-clip.org/ ============================== ========================================== SCOPE The outstanding proliferation of medical image applications has created a need for greater study and scrutiny of the clinical application and validation of such methods. New strategies are essential to ensure a smooth and effective translation of computational image-based techniques into the clinic. For these reasons CLIP 2015?s major focus is on *translational research *filling the gaps between basic science and clinical applications. A highlight of the workshop is the subject of *strategies for personalized medicine *to enhance diagnosis, treatment and interventions. Authors are encouraged to submit work centered on specific clinical applications, including techniques and procedures based on comprehensive clinical image data. Submissions related to applications already in use and evaluated by clinical users are particularly encouraged. The event will bring together world-class specialists to present ways to strengthen links between computer scientists and engineers, and clinicians. TOPICS *Strategies for patient-specific and anatomical modeling to support planning and interventions *Clinical studies employing advanced image-guided methods *Clinical translation and validation of image-guided systems *Current challenges and emerging techniques in image-based procedures *Identification of parameters and error analysis in image-based procedures *Multimodal image integration for modeling, planning and guidance *Clinical applications in open and minimally invasive procedures PAPER SUBMISSION Papers will be limited to eight pages following the MICCAI submission guidelines. Prospective authors should refer to the Paper Submission section on the workshop website for details on how to submit papers to be presented at the workshop. All submissions will be peer-reviewed by at least 2 members of the program committee. The selection of the papers will be based on the significance of results, novelty, technical merit, relevance and clarity of presentation. Papers will be presented in a day long single track workshop starting with plenary sessions. Accepted papers will be published as a post-proceedings volume in the Springer Lecture Notes in Computer Science (LNCS) series after the workshop. WORKSHOP FORMAT Accepted papers will be presented in a day long single track workshop. The final program will consist of invited speakers and original papers with time allocated for discussions. Electronic proceedings will be arranged for all of the papers presented at the workshop. IMPORTANT DATES * June 19, 2015: Paper submission due date * July 17, 2015: Notification of acceptance CONTACT Inquires about the workshop should be sent to the Information Desk (info@ miccai-clip.org). ORGANIZERS (in alphabetical order) Klaus Drechsler (Fraunhofer IGD, Germany) Marius Erdt (Fraunhofer IDM at NTU, Singapore) Miguel Gonz?lez Ballester (ICREA - Universitat Pompeu Fabra, Spain) Marius George Linguraru (Children's National Medical Center, USA) Cristina Oyarzun Laura (Fraunhofer IGD, Germany) Yoshinobu Sato (Nara Institute of Science and Technology, Japan) Raj Shekhar (Children's National Medical Center, USA) Stefan Wesarg (Fraunhofer IGD, Germany) ======================================================================== -------------- next part -------------- An HTML attachment was scrubbed... URL: From Denis.Abu-Sammour at medma.uni-heidelberg.de Thu May 7 10:59:38 2015 From: Denis.Abu-Sammour at medma.uni-heidelberg.de (Abu-Sammour, Denis) Date: Thu, 7 May 2015 16:59:38 +0200 Subject: [ITK-users] Help In-Reply-To: References: <5E843F0B86B47846B72559B57A54F96217C721D494@MBX02.ad.uni-heidelberg.de> Message-ID: <5E843F0B86B47846B72559B57A54F96217C721D4D1@MBX02.ad.uni-heidelberg.de> Thanks for the reply. My exact problem is where to put the TimeProbe functions. So I tried to place the ?clock.Start()? and ?clock.Stop()? methods around ?registration->Update()? as follows itk::TimeProbe clock; try { clock.Start(); registration->Update(); clock.Stop(); ? And in this case I got a total computation time for the registration process of about 6.8 seconds. Now given that there are 22 iterations until convergence for that particular case the average time per iteration would be 6.8/22= 0.31 seconds per iteration. Now I tried placing the ?clock.Start()? and ?clock.Stop()? inside the body of the ?Execute()? function as suggested by Guillaume and got numbers ranging between 0.004 to 0.007 per iteration so its much lower than the anticipated 0.31 sec per iteration. Please advise. Thanks. Denis Von: Matt McCormick [mailto:matt.mccormick at kitware.com] Gesendet: Donnerstag, 7. Mai 2015 16:14 An: Guillaume Lema?tre Cc: Abu-Sammour, Denis; insight-users at itk.org Betreff: Re: [ITK-users] Help Hi, The TimeProbe [1] and RealTimeClock [2] classes could be useful here. Matt [1] http://itk.org/ITKExamples/src/Core/Common/ComputeTimeBetweenPoints/Documentation.html [2] http://www.itk.org/Doxygen/html/classitk_1_1RealTimeClock.html On Thu, May 7, 2015 at 8:36 AM, Guillaume Lema?tre > wrote: Hi, I am not 100% sure since that I didn't put the hand in the code but the function Execute() seems to be call at each iteration since that they show the parameter values. Maybe put a timer there. Cheers, On 7 May 2015 at 13:38, Abu-Sammour, Denis > wrote: Hello, Based on Example: ImageRegistration6.cxx (or any other registration example) how can I get the elapsed time for the evaluation of each iteration step of the registration process? Thanks Denis _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users -- LEMA?TRE Guillaume PhD Candiate MSc Erasmus Mundus ViBOT (Vision-roBOTic) MSc Business Innovation and Technology Management g.lemaitre58 at gmail.com ViCOROB - Computer Vision and Robotic Team Universitat de Girona, Campus Montilivi, Edifici P-IV 17071 Girona Tel. +34 972 41 98 12 - Fax. +34 972 41 82 59 http://vicorob.udg.es/ LE2I - Le Creusot IUT Le Creusot, Laboratoire LE2I, 12 rue de la Fonderie, 71200 Le Creusot Tel. +33 3 85 73 10 90 - Fax. +33 3 85 73 10 97 http://le2i.cnrs.fr [https://sites.google.com/site/glemaitre58/_/rsrc/1340103962984/config/le2i.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340103388011/config/vico.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340103887254/config/ub.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340103809482/config/udg.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340104225210/config/vibot.png] https://sites.google.com/site/glemaitre58/ Vice - Chairman of A.S.C. Fours UFOLEP Chairman of A.S.C. Fours FFC Webmaster of http://ascfours.free.fr _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From aqualiquid1 at gmail.com Thu May 7 11:10:42 2015 From: aqualiquid1 at gmail.com (Wookyung An) Date: Thu, 7 May 2015 10:10:42 -0500 Subject: [ITK-users] SimpleITK | BinaryMorphologicalClosing, filter noise Message-ID: Hi ITK users, I am pretty fresh of SimpleItk. I tried to use BinaryMorphologicalClosing to filter some noises that are smaller than the structuring element. I noticed that the default kernel type is "ball" which is ok. However, after I applied the function, there is no change at all. For example, I tried to filter which smaller than 10(radius). *after_morp = SimpleITK.BinaryMorphologicalClosing(binarized_img, 10); * But I found that nothing changed at all. Do you have any idea what was the problem? Thank you in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Thu May 7 11:21:48 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 7 May 2015 11:21:48 -0400 Subject: [ITK-users] Help In-Reply-To: <5E843F0B86B47846B72559B57A54F96217C721D4D1@MBX02.ad.uni-heidelberg.de> References: <5E843F0B86B47846B72559B57A54F96217C721D494@MBX02.ad.uni-heidelberg.de> <5E843F0B86B47846B72559B57A54F96217C721D4D1@MBX02.ad.uni-heidelberg.de> Message-ID: Hi Denis, An itk::Command class can be created to observe the IterationEvent [1]. Many of the registration examples have code that uses a Command to print out status at each iteration. Hope this helps, Matt [1] http://itk.org/ITKExamples/src/Core/Common/ObserveAnEvent/Documentation.html On Thu, May 7, 2015 at 10:59 AM, Abu-Sammour, Denis < Denis.Abu-Sammour at medma.uni-heidelberg.de> wrote: > Thanks for the reply. > > > > My exact problem is where to put the TimeProbe functions. So I tried to > place the ?clock.Start()? and ?clock.Stop()? methods around > ?registration->Update()? as follows > > > > itk::TimeProbe clock; > > try > > { > > clock.Start(); > > registration->Update(); > > clock.Stop(); > > ? > > > > And in this case I got a total computation time for the registration > process of about 6.8 seconds. Now given that there are 22 iterations until > convergence for that particular case the average time per iteration would > be 6.8/22= 0.31 seconds per iteration. Now I tried placing the > ?clock.Start()? and ?clock.Stop()? inside the body of the ?Execute()? > function as suggested by Guillaume and got numbers ranging between 0.004 > to 0.007 per iteration so its much lower than the anticipated 0.31 sec per > iteration. Please advise. > > > > Thanks. > > > > Denis > > > > > > *Von:* Matt McCormick [mailto:matt.mccormick at kitware.com] > *Gesendet:* Donnerstag, 7. Mai 2015 16:14 > *An:* Guillaume Lema?tre > *Cc:* Abu-Sammour, Denis; insight-users at itk.org > *Betreff:* Re: [ITK-users] Help > > > > Hi, > > > > The TimeProbe [1] and RealTimeClock [2] classes could be useful here. > > > > Matt > > > > [1] > http://itk.org/ITKExamples/src/Core/Common/ComputeTimeBetweenPoints/Documentation.html > > > > [2] http://www.itk.org/Doxygen/html/classitk_1_1RealTimeClock.html > > > > On Thu, May 7, 2015 at 8:36 AM, Guillaume Lema?tre > wrote: > > Hi, > > I am not 100% sure since that I didn't put the hand in the code but the > function Execute() seems to be call at each iteration since that they show > the parameter values. Maybe put a timer there. > > Cheers, > > > > On 7 May 2015 at 13:38, Abu-Sammour, Denis < > Denis.Abu-Sammour at medma.uni-heidelberg.de> wrote: > > Hello, > > > > Based on Example: ImageRegistration6.cxx (or any other registration > example) how can I get the elapsed time for the evaluation of each > iteration step of the registration process? > > > > Thanks > > > > Denis > > > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > > > > -- > > *LEMA?TRE Guillaume* > > > *PhD CandiateMSc Erasmus Mundus ViBOT (Vision-roBOTic)* > *MSc Business Innovation and Technology Management* > g.lemaitre58 at gmail.com > > *ViCOROB - Computer Vision and Robotic Team* > Universitat de Girona, Campus Montilivi, Edifici P-IV 17071 Girona > Tel. +34 972 41 98 12 - Fax. +34 972 41 82 59 > http://vicorob.udg.es/ > *LE2I - Le Creusot* > IUT Le Creusot, Laboratoire LE2I, 12 rue de la Fonderie, 71200 Le Creusot > Tel. +33 3 85 73 10 90 - Fax. +33 3 85 73 10 97 > http://le2i.cnrs.fr > > > > https://sites.google.com/site/glemaitre58/ > Vice - Chairman of A.S.C. Fours UFOLEP > Chairman of A.S.C. Fours FFC > Webmaster of http://ascfours.free.fr > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Thu May 7 11:24:08 2015 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Thu, 7 May 2015 11:24:08 -0400 Subject: [ITK-users] SimpleITK | BinaryMorphologicalClosing, filter noise In-Reply-To: References: Message-ID: <32B85D36-C03D-46E3-A2DA-4E8ABEFAE5B5@mail.nih.gov> Hello, This is likely due to how you are defining a binary image. SimpleITK has the established convention that for binary images/ masks, that 0 are the background and 1 is the foreground [1]. This is reflected in the default parameters of many filters, including the binary morphological filters. Most likely you need to check the value of the ForegroundValue. HTH, Brad [1] http://www.itk.org/SimpleITKDoxygen/html/ConventionsPage.html On May 7, 2015, at 11:10 AM, Wookyung An wrote: > Hi ITK users, > > I am pretty fresh of SimpleItk. I tried to use BinaryMorphologicalClosing to filter some noises that are smaller than the structuring element. I noticed that the default kernel type is "ball" which is ok. However, after I applied the function, there is no change at all. > For example, I tried to filter which smaller than 10(radius). > after_morp = SimpleITK.BinaryMorphologicalClosing(binarized_img, 10); > > > > But I found that nothing changed at all. Do you have any idea what was the problem? > > > > Thank you in advance. > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From ivans at yahoo.co.jp Thu May 7 12:14:39 2015 From: ivans at yahoo.co.jp (Ivan Setiawan) Date: Fri, 8 May 2015 01:14:39 +0900 (JST) Subject: [ITK-users] [ITK] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? In-Reply-To: <573314.99324.qm@web101308.mail.kks.yahoo.co.jp> References: <165816.81088.qm@web101307.mail.kks.yahoo.co.jp> <1D606C38-8A3F-44B9-AE94-93FC83EEA2C2@mail.nih.gov> <537582.87141.qm@web101318.mail.kks.yahoo.co.jp> <573314.99324.qm@web101308.mail.kks.yahoo.co.jp> Message-ID: <893061.14062.qm@web101314.mail.kks.yahoo.co.jp> Brad, Bill, hi again. I've added test case itkImageRegistrationMethodTest_17.cxx to verify the fix of initial ImageTrueMax which is already merged. Without the fix, this test case will fail. But with the fix, this test case will pass. This test case is based on itkImageRegistrationMethodTest_15.cxx. However, the image value for both fixed and moving image are subtracted by 24000.0, i.e., all negative image values. Without the fix, the image value range's upper limit will be around zero, which will produce a histogram with all zero, except for the leftmost bin. The registration will not move in this case because both fixed and moving image histogram is already similar. With the fix, the image value range will be correct, then the histogram will be correct, and we have a good registration result. Thank you and best regards, Ivan Setiawan ----- Original Message ----- >From: Ivan Setiawan >To: Ivan Setiawan ; Bradley Lowekamp ; Bill Lorensen >Cc: insight-users >Date: 2015/5/5, Tue 20:09 >Subject: Re: [ITK-users] [ITK] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? > > >Sorry, I meant: > > >"Following your suggestions, I've changed the initial ImageTrueMax to NumericTraits::NonpositiveMin(). >Also, I've change the initial ImageTrueMin to NumericeTraits::max(), to unify it with the above. >Three files were modified." > > >Best regards, >Ivan > > >----- Original Message ----- >>From: Ivan Setiawan >>To: Bradley Lowekamp ; Bill Lorensen >>Cc: insight-users >>Date: 2015/5/5, Tue 20:05 >>Subject: Re: [ITK-users] [ITK] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? >> >> >>Hi Brad, Bill, >> >> >>Following your suggestions, I've changed the initial ImageTrueMin to NumericTraits::NonpositiveMin(). >>Also, I've change the initial ImageTrueMax to NumericeTraits::max(), to unify it with the above. >>Three files were modified. >> >> >> >>This is the first time for me to submit a patch, and I don't know the best-fit reviewers, so I chose both of you. >> >> >>Thank you and best regards, >>Ivan Setiawan >> >> >>----- Original Message ----- >>>From: Bradley Lowekamp >>>To: Bill Lorensen >>>Cc: Ivan Setiawan ; insight-users >>>Date: 2015/5/1, Fri 21:16 >>>Subject: Re: [ITK] [ITK-users] Bug in itkMattesMutualInformationImageToImageMetric.hxx ? >>> >>>Hello, >>> >>>The numeric_limits::lowest() seems to be a new C++11 method [1]. >>> >>>I believe NumericTraits::NonpositiveMin() will work. >>> >>>Thanks for finding this issue! Please include a test :) >>> >>>Brad >>> >>> >>>[1] http://en.cppreference.com/w/cpp/types/numeric_limits/lowest >>> >>>On May 1, 2015, at 8:04 AM, Bill Lorensen wrote: >>> >>>> Looks like you found a bug. Please submit a patch through gerrit: >>>> http://www.itk.org/Wiki/ITK/Git/Develop >>>> >>>> Thanks >>>> >>>> >>>> On Fri, May 1, 2015 at 2:54 AM, Ivan Setiawan wrote: >>>>> Hi all, >>>>> My name is Ivan, and currently I am developing an image registration >>>>> software based on ITK. >>>>> Thank you for providing such a good library! >>>>> >>>>> I think, I found a bug for determining the voxel's value range in >>>>> itkMattesMutualInformationImageToImageMetric.hxx. >>>>> >>>>> In the ::Initialize(void) method, the initial value of >>>>> this->m_FixedImageTrueMax and this->m_MovingImageTrueMax should be set to >>>>>? ? std::numeric_limits::lowest()? /* i.e., >>>>> the most negative value, = -340282346638528860000000000000000000000.000000 >>>>> for float-type image */ >>>>> instead of >>>>>? ? std::numeric_limits::min() /* = >>>>> 1.17549e-038 for float-type image. */ >>>>> >>>>> The code lines are: >>>>>? ? this->m_FixedImageTrueMax = std::numeric_limits>>>> TFixedImage::PixelType>::min(); // should be lowest() instead of min()? >>>>>? ? this->m_MovingImageTrueMax = std::numeric_limits>>>> TMovingImage::PixelType>::min(); // should be lowest() instead of min()? >>>>> >>>>> Problem will not appear when using short-type image, but when a float-type >>>>> image with all negative voxel's value is used as input, then the initial >>>>> m_FixedImageTrueMax will NOT be updated to the correct negative maximum >>>>> value. >>>>> >>>>> Could you please tell me your opinion? >>>>> >>>>> Thank you very much for your attention. >>>>> >>>>> Best regards, >>>>> Ivan >>>>> >>>>> >>>>> _____________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>>> http://www.kitware.com/products/protraining.php >>>>> >>>>> Please keep messages on-topic and check the ITK FAQ at: >>>>> http://www.itk.org/Wiki/ITK_FAQ >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://public.kitware.com/mailman/listinfo/insight-users >>>>> >>>> >>>> >>>> >>>> -- >>>> Unpaid intern in BillsBasement at noware dot 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.php >>>> >>>> Please keep messages on-topic and check the ITK FAQ at: >>>> http://www.itk.org/Wiki/ITK_FAQ >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://public.kitware.com/mailman/listinfo/insight-users >>>> _______________________________________________ >>>> Community mailing list >>>> Community at itk.org >>>> http://public.kitware.com/mailman/listinfo/community >>> >>> >>> >>> >>_____________________________________ >>Powered by www.kitware.com >> >>Visit other Kitware open-source projects at >>http://www.kitware.com/opensource/opensource.html >> >>Kitware offers ITK Training Courses, for more information visit: >>http://www.kitware.com/products/protraining.php >> >>Please keep messages on-topic and check the ITK FAQ at: >>http://www.itk.org/Wiki/ITK_FAQ >> >>Follow this link to subscribe/unsubscribe: >>http://public.kitware.com/mailman/listinfo/insight-users >> >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Denis.Abu-Sammour at medma.uni-heidelberg.de Fri May 8 08:55:50 2015 From: Denis.Abu-Sammour at medma.uni-heidelberg.de (Abu-Sammour, Denis) Date: Fri, 8 May 2015 14:55:50 +0200 Subject: [ITK-users] Help In-Reply-To: References: <5E843F0B86B47846B72559B57A54F96217C721D494@MBX02.ad.uni-heidelberg.de> <5E843F0B86B47846B72559B57A54F96217C721D4D1@MBX02.ad.uni-heidelberg.de> Message-ID: <5E843F0B86B47846B72559B57A54F96217C721D56E@MBX02.ad.uni-heidelberg.de> Hi Matt, Thanks for your reply. Yes indeed, all of the registration examples has this itk::Command class implemented and is used to print iteration number, metric value and the parameters at each iteration using std::cout << optimizer->GetCurrentIteration() << " "; std::cout << optimizer->GetValue() << " "; std::cout << optimizer->GetCurrentPosition() << std::endl ; Now I tried to find a method that gets the evaluation time from the optimizer as well, I used optimizer->GetTimeStamp(); and optimizer->GetMTime(); But both of them returned a fixed value of 942 which is independent from the evaluation time. Is there any other method that I can use to get the evaluation of each step from the optimizer? Thank you for your time Denis Von: Matt McCormick [mailto:matt.mccormick at kitware.com] Gesendet: Donnerstag, 7. Mai 2015 17:22 An: Abu-Sammour, Denis Cc: Guillaume Lema?tre; insight-users at itk.org Betreff: Re: [ITK-users] Help Hi Denis, An itk::Command class can be created to observe the IterationEvent [1]. Many of the registration examples have code that uses a Command to print out status at each iteration. Hope this helps, Matt [1] http://itk.org/ITKExamples/src/Core/Common/ObserveAnEvent/Documentation.html On Thu, May 7, 2015 at 10:59 AM, Abu-Sammour, Denis > wrote: Thanks for the reply. My exact problem is where to put the TimeProbe functions. So I tried to place the ?clock.Start()? and ?clock.Stop()? methods around ?registration->Update()? as follows itk::TimeProbe clock; try { clock.Start(); registration->Update(); clock.Stop(); ? And in this case I got a total computation time for the registration process of about 6.8 seconds. Now given that there are 22 iterations until convergence for that particular case the average time per iteration would be 6.8/22= 0.31 seconds per iteration. Now I tried placing the ?clock.Start()? and ?clock.Stop()? inside the body of the ?Execute()? function as suggested by Guillaume and got numbers ranging between 0.004 to 0.007 per iteration so its much lower than the anticipated 0.31 sec per iteration. Please advise. Thanks. Denis Von: Matt McCormick [mailto:matt.mccormick at kitware.com] Gesendet: Donnerstag, 7. Mai 2015 16:14 An: Guillaume Lema?tre Cc: Abu-Sammour, Denis; insight-users at itk.org Betreff: Re: [ITK-users] Help Hi, The TimeProbe [1] and RealTimeClock [2] classes could be useful here. Matt [1] http://itk.org/ITKExamples/src/Core/Common/ComputeTimeBetweenPoints/Documentation.html [2] http://www.itk.org/Doxygen/html/classitk_1_1RealTimeClock.html On Thu, May 7, 2015 at 8:36 AM, Guillaume Lema?tre > wrote: Hi, I am not 100% sure since that I didn't put the hand in the code but the function Execute() seems to be call at each iteration since that they show the parameter values. Maybe put a timer there. Cheers, On 7 May 2015 at 13:38, Abu-Sammour, Denis > wrote: Hello, Based on Example: ImageRegistration6.cxx (or any other registration example) how can I get the elapsed time for the evaluation of each iteration step of the registration process? Thanks Denis _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users -- LEMA?TRE Guillaume PhD Candiate MSc Erasmus Mundus ViBOT (Vision-roBOTic) MSc Business Innovation and Technology Management g.lemaitre58 at gmail.com ViCOROB - Computer Vision and Robotic Team Universitat de Girona, Campus Montilivi, Edifici P-IV 17071 Girona Tel. +34 972 41 98 12 - Fax. +34 972 41 82 59 http://vicorob.udg.es/ LE2I - Le Creusot IUT Le Creusot, Laboratoire LE2I, 12 rue de la Fonderie, 71200 Le Creusot Tel. +33 3 85 73 10 90 - Fax. +33 3 85 73 10 97 http://le2i.cnrs.fr [https://sites.google.com/site/glemaitre58/_/rsrc/1340103962984/config/le2i.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340103388011/config/vico.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340103887254/config/ub.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340103809482/config/udg.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340104225210/config/vibot.png] https://sites.google.com/site/glemaitre58/ Vice - Chairman of A.S.C. Fours UFOLEP Chairman of A.S.C. Fours FFC Webmaster of http://ascfours.free.fr _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From Denis.Abu-Sammour at medma.uni-heidelberg.de Fri May 8 09:41:57 2015 From: Denis.Abu-Sammour at medma.uni-heidelberg.de (Abu-Sammour, Denis) Date: Fri, 8 May 2015 15:41:57 +0200 Subject: [ITK-users] Getting computation time per iteration of registration process Message-ID: <5E843F0B86B47846B72559B57A54F96217C721D57E@MBX02.ad.uni-heidelberg.de> Hi Matt, So the problem was resolved by declaring the ? itk::TimeProbe Clock? as a global variable , then I put the ?Clock.Start()? method just before ? Registration->Update()? and then the Stopping point ?Clock.Stop()? was put just before the ?cout? statements in the ?itk::Command? class as below: class CommandIterationUpdate : public itk::Command {? Clock.Stop(); std::cout << Clock.GetMean() << " "; std::cout << optimizer->GetCurrentIteration() << " "; std::cout << optimizer->GetValue() << " "; std::cout << optimizer->GetCurrentPosition() << std::endl << std::endl; Clock.Start(); ?} Thanks Denis Von: Matt McCormick [mailto:matt.mccormick at kitware.com] Gesendet: Donnerstag, 7. Mai 2015 17:22 An: Abu-Sammour, Denis Cc: Guillaume Lema?tre; insight-users at itk.org Betreff: Re: [ITK-users] Help Hi Denis, An itk::Command class can be created to observe the IterationEvent [1]. Many of the registration examples have code that uses a Command to print out status at each iteration. Hope this helps, Matt [1] http://itk.org/ITKExamples/src/Core/Common/ObserveAnEvent/Documentation.html On Thu, May 7, 2015 at 10:59 AM, Abu-Sammour, Denis > wrote: Thanks for the reply. My exact problem is where to put the TimeProbe functions. So I tried to place the ?clock.Start()? and ?clock.Stop()? methods around ?registration->Update()? as follows itk::TimeProbe clock; try { clock.Start(); registration->Update(); clock.Stop(); ? And in this case I got a total computation time for the registration process of about 6.8 seconds. Now given that there are 22 iterations until convergence for that particular case the average time per iteration would be 6.8/22= 0.31 seconds per iteration. Now I tried placing the ?clock.Start()? and ?clock.Stop()? inside the body of the ?Execute()? function as suggested by Guillaume and got numbers ranging between 0.004 to 0.007 per iteration so its much lower than the anticipated 0.31 sec per iteration. Please advise. Thanks. Denis Von: Matt McCormick [mailto:matt.mccormick at kitware.com] Gesendet: Donnerstag, 7. Mai 2015 16:14 An: Guillaume Lema?tre Cc: Abu-Sammour, Denis; insight-users at itk.org Betreff: Re: [ITK-users] Help Hi, The TimeProbe [1] and RealTimeClock [2] classes could be useful here. Matt [1] http://itk.org/ITKExamples/src/Core/Common/ComputeTimeBetweenPoints/Documentation.html [2] http://www.itk.org/Doxygen/html/classitk_1_1RealTimeClock.html On Thu, May 7, 2015 at 8:36 AM, Guillaume Lema?tre > wrote: Hi, I am not 100% sure since that I didn't put the hand in the code but the function Execute() seems to be call at each iteration since that they show the parameter values. Maybe put a timer there. Cheers, On 7 May 2015 at 13:38, Abu-Sammour, Denis > wrote: Hello, Based on Example: ImageRegistration6.cxx (or any other registration example) how can I get the elapsed time for the evaluation of each iteration step of the registration process? Thanks Denis _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users -- LEMA?TRE Guillaume PhD Candiate MSc Erasmus Mundus ViBOT (Vision-roBOTic) MSc Business Innovation and Technology Management g.lemaitre58 at gmail.com ViCOROB - Computer Vision and Robotic Team Universitat de Girona, Campus Montilivi, Edifici P-IV 17071 Girona Tel. +34 972 41 98 12 - Fax. +34 972 41 82 59 http://vicorob.udg.es/ LE2I - Le Creusot IUT Le Creusot, Laboratoire LE2I, 12 rue de la Fonderie, 71200 Le Creusot Tel. +33 3 85 73 10 90 - Fax. +33 3 85 73 10 97 http://le2i.cnrs.fr [https://sites.google.com/site/glemaitre58/_/rsrc/1340103962984/config/le2i.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340103388011/config/vico.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340103887254/config/ub.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340103809482/config/udg.png] [https://sites.google.com/site/glemaitre58/_/rsrc/1340104225210/config/vibot.png] https://sites.google.com/site/glemaitre58/ Vice - Chairman of A.S.C. Fours UFOLEP Chairman of A.S.C. Fours FFC Webmaster of http://ascfours.free.fr _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From jose.de.paula at live.com Fri May 8 09:50:42 2015 From: jose.de.paula at live.com (JoseBarretoT) Date: Fri, 8 May 2015 06:50:42 -0700 (MST) Subject: [ITK-users] filters: unsharp mask, sharpen and blur Message-ID: <1431093042170-35658.post@n7.nabble.com> Good day users, First sorry for bad English. I am implementing ITK in my system now, I will use it to replace a filter of that used in another application. I wonder if the filters I mentioned above (unsharp mask, sharpen and blur), are found in ITK? If so someone could send me a link of the class or classes? If not, what classes I could use to create these filters? -- View this message in context: http://itk-users.7.n7.nabble.com/filters-unsharp-mask-sharpen-and-blur-tp35658.html Sent from the ITK - Users mailing list archive at Nabble.com. From matt.mccormick at kitware.com Fri May 8 14:48:29 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Fri, 8 May 2015 14:48:29 -0400 Subject: [ITK-users] filters: unsharp mask, sharpen and blur In-Reply-To: <1431093042170-35658.post@n7.nabble.com> References: <1431093042170-35658.post@n7.nabble.com> Message-ID: Hi Jose, There are number of filters to achieve those tasks. Take a look at the ITKSmoothing [1], ITKImageGradient [2], and ITKImageFeature [3] modules. HTH, Matt [1] http://www.itk.org/Doxygen/html/group__ITKSmoothing.html [2] http://www.itk.org/Doxygen/html/group__ITKImageGradient.html [3] http://www.itk.org/Doxygen/html/group__ITKImageFeature.html On Fri, May 8, 2015 at 9:50 AM, JoseBarretoT wrote: > Good day users, > First sorry for bad English. > > > > I am implementing ITK in my system now, I will use it to replace a filter of > that used in another application. > > I wonder if the filters I mentioned above (unsharp mask, sharpen and blur), > are found in ITK? > > If so someone could send me a link of the class or classes? > If not, what classes I could use to create these filters? > > > > -- > View this message in context: http://itk-users.7.n7.nabble.com/filters-unsharp-mask-sharpen-and-blur-tp35658.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users From chdorn at student.ethz.ch Sat May 9 10:50:54 2015 From: chdorn at student.ethz.ch (Student77) Date: Sat, 9 May 2015 07:50:54 -0700 (MST) Subject: [ITK-users] ITK Read a 4D Vectorimage from the Nifti File Format Message-ID: <1431183054440-7587328.post@n2.nabble.com> Hello, Well I am trying now for two days to read in a vector valued .nii file that contains 3D Vectors := (Vx,Vy,Vz) at each point in a 4D space [X, Y, Z , Time]. The ImageReader only detects Vx and ignores the rest. To illustrate what I am doing see the code as follows: typedef float PixelType; const unsigned int D=4; /a.)typedef itk::Vector< PixelType, 3 > InputPixelType; typedef Image ImageType;/ * OR* /b.)typedef itk::VectorImage ImageType;/ typedef ImageType::Pointer ImagePointerType; typedef ImageType::ConstPointer ImageConstPointerType; ImagePointerType Velocity4D = ImageUtils::readImage("4DVelocity.nii"); The values Velocity4D->GetNumberOfComponentsPerPixel(); AND Velocity4D->GetImageDimension(); are correct when I use option a.). However, it will write then in each of the 3 vector components the same value which is the value of Vx. In contrary, when I use option b.) the VectorImage will automatically become only a scalarimage and again only contain the values of Vx. I have checked so many searches in google but nothing seemed to help me. Thanks for any help! Best regards. -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/ITK-Read-a-4D-Vectorimage-from-the-Nifti-File-Format-tp7587328.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From matimontg at gmail.com Sat May 9 11:34:55 2015 From: matimontg at gmail.com (Matias Montroull) Date: Sat, 9 May 2015 12:34:55 -0300 Subject: [ITK-users] QuaternionRigidTransformGradientDescentOptimizer Message-ID: Hi, I'm doing 3D registration using QuaternionTransform and using the QuaternionRigidGradientDescentOptimizer. Now, after registering the images, the result is rotated abour 90 degrees. What's the best parameters for the optimizer? I'm using this: optimizerScales[0] = 1.0; optimizerScales[1] = 1.0; optimizerScales[2] = 1.0; optimizerScales[3] = 1.0; optimizerScales[4] = 0.1; optimizerScales[5] = 0.1; optimizerScales[6] = 0.1; I tried small scales but I get all mapped points outside image region so I'm wondering if there's a good document describing how to use the Quaternion Optimizer? Thank you, Matias. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ruiz1.gabriel at gmail.com Sat May 9 19:54:57 2015 From: ruiz1.gabriel at gmail.com (gruizz) Date: Sat, 9 May 2015 16:54:57 -0700 (MST) Subject: [ITK-users] Extract points from BinaryContourImageFilter Message-ID: <1431215697680-7587330.post@n2.nabble.com> Hello, I use BinaryContourImageFilter and it works great, but I want to be able to extract the points in the contour(s) it finds. For the time being, I have to iterate through the output of the filter and find the pixels that are in the foreground (the contour) in order to get the pixel coordinates. Here's a sample of what I am currently doing: binaryContourImageFilterType::Pointer binaryContourFilter = binaryContourImageFilterType::New(); binaryContourFilter->SetInput(someFilter->GetOutput()); binaryContourFilter->Update(); ImageType::Pointer im = binaryContourFilter->GetOutput(); ImageType::RegionType region = im->GetBufferedRegion(); ImageType::SizeType size = region.GetSize(); itk::ImageRegionConstIterator it(im, region); it.GoToBegin(); for (scroll through the region vertically ++) { for (scroll through the region horizontally ++) { if (it.Get() == 255) { points.append( this point(x,y) ); } ++it; } } //where points is a vector i used to store the points of the contour So, is there a way to get these points directly from BinaryContourImageFilter? Thank you for your time! -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Extract-points-from-BinaryContourImageFilter-tp7587330.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From matt.mccormick at kitware.com Tue May 12 13:18:57 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Tue, 12 May 2015 13:18:57 -0400 Subject: [ITK-users] Opportunities to share, discuss, design, and learn with other ITK community members Message-ID: There are a couple of upcoming opportunities to share, discuss, design, and learn with your fellow ITK community members. On Thursday (tomorrow), 1:00 PM Eastern USA time, there will be a Google+ Hangout where we will be doing code reviews: https://plus.google.com/events/c6g0t2lmomori9ccnptep9hssog On Friday, 11:00 AM Eastern USA time, an ITK development conference, https://plus.google.com/events/cth20a2augvkbauq1cadrkbqnrg For those that cannot join via Hangout, telephone call-in is also possible. Dial: 585-632-6296 Enter pin: 31423 To get regular invites to these events, join the ITK Bar Camp G+ Community: https://plus.google.com/u/0/communities/111375098792764998322 All are welcome. Hope to talk to you then! From matt.mccormick at kitware.com Wed May 13 14:48:26 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 13 May 2015 14:48:26 -0400 Subject: [ITK-users] Required CMake version bump to 2.8.9 Message-ID: Hi, We are looking at upgrading GDCM, which has a CMake required version of 2.8.9. We currently have a CMake minimum required version of 2.8.8. Debian 7.0 (wheezy), which is fairly old, has 2.8.9. Is anyone using CMake < 2.8.9? Thanks, Matt From bakkari.abdelkhalek at hotmail.fr Wed May 13 15:35:51 2015 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Wed, 13 May 2015 20:35:51 +0100 Subject: [ITK-users] ITK -GUI - Message-ID: Dear ITK users, I created an ITK source code for Image Processing and I would like to put it in a Graphic User Interface.How to create a GUI with IT? How to make the source code in this GUI ? Best regards, Abdelkhalek BakkariPh.D candidate in Computer ScienceInstitute of Applied Computer ScienceLodz University of Technology, Poland -------------- next part -------------- An HTML attachment was scrubbed... URL: From drescherjm at gmail.com Wed May 13 15:42:18 2015 From: drescherjm at gmail.com (John Drescher) Date: Wed, 13 May 2015 15:42:18 -0400 Subject: [ITK-users] ITK -GUI - In-Reply-To: References: Message-ID: > I created an ITK source code for Image Processing and I would like to put > it in a Graphic User Interface. > How to create a GUI with IT? > How to make the source code in this GUI ? > I use VTK + Qt for my GUI for most of my projects that use ITK. John From bakkari.abdelkhalek at hotmail.fr Wed May 13 16:32:47 2015 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek) Date: Wed, 13 May 2015 13:32:47 -0700 (MST) Subject: [ITK-users] segmentation with ITK+GUI interface In-Reply-To: References: Message-ID: <1431549167638-7587335.post@n2.nabble.com> Hi Kishore Mosaliganti, Could you please send me your program ? I need it to put my ITK souces code in a GUI. Kind regards, -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/segmentation-with-ITK-GUI-interface-tp4399234p7587335.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From chasank at gmail.com Wed May 13 17:48:25 2015 From: chasank at gmail.com (chasank) Date: Wed, 13 May 2015 14:48:25 -0700 (MST) Subject: [ITK-users] Building QT, VTK and ITK on windows 7 (x64) Message-ID: <1431553705565-35668.post@n7.nabble.com> Hi folks and beginners, I've written a step by step tutorial for building qt, vtk and itk from source 64 bit on a windows os. As I stated at my blog; versions may be a little outdated but as I tested this tutorial for myself for many times. I may say they are working together like a charm. You may replicate this tutorial to newer versions of these sdks. I have not tested with newer versions but approximately process should be same. Note that for building projects I did not use CMAKE. I have handled it with QT's pro files. Blog link: http://blog.chasank.com/building-qt-vtk-and-itk-on-windows-7-x64/ Best regards. May the force be with you. -- View this message in context: http://itk-users.7.n7.nabble.com/Building-QT-VTK-and-ITK-on-windows-7-x64-tp35668.html Sent from the ITK - Users mailing list archive at Nabble.com. From matt.mccormick at kitware.com Wed May 13 19:25:39 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 13 May 2015 19:25:39 -0400 Subject: [ITK-users] Building QT, VTK and ITK on windows 7 (x64) In-Reply-To: <1431553705565-35668.post@n7.nabble.com> References: <1431553705565-35668.post@n7.nabble.com> Message-ID: Hi chasank, I am feeling the force. Thanks for sharing! Matt On Wed, May 13, 2015 at 5:48 PM, chasank wrote: > Hi folks and beginners, > > I've written a step by step tutorial for building qt, vtk and itk from > source 64 bit on a windows os. As I stated at my blog; versions may be a > little outdated but as I tested this tutorial for myself for many times. I > may say they are working together like a charm. > You may replicate this tutorial to newer versions of these sdks. I have not > tested with newer versions but approximately process should be same. > > Note that for building projects I did not use CMAKE. I have handled it with > QT's pro files. > > Blog link: > http://blog.chasank.com/building-qt-vtk-and-itk-on-windows-7-x64/ > > > Best regards. > May the force be with you. > > > > -- > View this message in context: http://itk-users.7.n7.nabble.com/Building-QT-VTK-and-ITK-on-windows-7-x64-tp35668.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users From p.nardelli at umail.ucc.ie Thu May 14 11:21:18 2015 From: p.nardelli at umail.ucc.ie (Pietro Nardelli) Date: Thu, 14 May 2015 16:21:18 +0100 Subject: [ITK-users] Euler 2D transform and Fixed Center Of Rotation Affine Transform Message-ID: Hi guys, I have two 2D images that I would like to register using the center of the image as center of rotation. I found out that both the class Euler2DTransform and FixedCenterOfRotationAffineTransform would do what I need. What is the exact difference between the two? Is one better than the other? Also, how do I specify the center of the image in those classes? I haven't found any example doing that. Thank you very much for your help, Pietro -------------- next part -------------- An HTML attachment was scrubbed... URL: From amir.khojaste at sunnybrook.ca Thu May 14 16:15:48 2015 From: amir.khojaste at sunnybrook.ca (Khojaste, Amir) Date: Thu, 14 May 2015 20:15:48 +0000 Subject: [ITK-users] Building QT, VTK and ITK on windows 7 (x64) In-Reply-To: <1431553705565-35668.post@n7.nabble.com> References: <1431553705565-35668.post@n7.nabble.com> Message-ID: <639C0C4CF854594E920361562A5266BB30BCD281@SBXNG01.sw.ca> Hi Chasank, Thanks for sharing this. I was looking to find a way to use ITK, VTK libraries under Qt Creator too. This is great! However I was not able to run my project in Qt Creator with ITK and VTK libraries. I have followed all the steps of your tutorials with the exact same versions except that I have used CMake 3.1.3 instead of 2.8.11. ITK, VTK and Qt were built with no errors. After I have finished all the steps, I have created a project in Qt Creator, modified the ".pro" file as you mentioned. I am just trying to see if I can get the ITK to work. It might seem very stupid, but when the following code runs with no error. #include "mainwindow.h" #include "ui_mainwindow.h" #include "itkImage.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { typedef itk::Image ImageType; ImageType::Pointer image = ImageType::New(); } Everything runs with no error, however as soon as I add the RedaerType then everything is screwd! i.e. the following code will crash! #include "mainwindow.h" #include "ui_mainwindow.h" #include "itkImage.h" #include "itkImageFileReader.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { typedef itk::Image ImageType; ImageType::Pointer image = ImageType::New(); typedef itk::ImageFileReader ReaderType; ReaderType::Pointer reader = ReaderType::New(); } And that's the error that I get: itksys-4.4.lib(SystemTools.obj):-1: error: LNK2019: unresolved external symbol __imp_RegQueryValueExA referenced in function "public: static class std::basic_string,class std::allocator > __cdecl itksys::SystemTools::GetOperatingSystemNameAndVersion(void)" (?GetOperatingSystemNameAndVersion at SystemTools@itksys@@SA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@XZ) I am very confused! The interesting thing is that after I get the error, even the first version of my code (with only itkImage.h) will not work neither! Do you have any clue? Thanks, Amir -----Original Message----- From: Insight-users [mailto:insight-users-bounces at itk.org] On Behalf Of chasank Sent: May-13-15 5:48 PM To: insight-users at itk.org Subject: [ITK-users] Building QT, VTK and ITK on windows 7 (x64) Hi folks and beginners, I've written a step by step tutorial for building qt, vtk and itk from source 64 bit on a windows os. As I stated at my blog; versions may be a little outdated but as I tested this tutorial for myself for many times. I may say they are working together like a charm. You may replicate this tutorial to newer versions of these sdks. I have not tested with newer versions but approximately process should be same. Note that for building projects I did not use CMAKE. I have handled it with QT's pro files. Blog link: http://blog.chasank.com/building-qt-vtk-and-itk-on-windows-7-x64/ Best regards. May the force be with you. -- View this message in context: http://itk-users.7.n7.nabble.com/Building-QT-VTK-and-ITK-on-windows-7-x64-tp35668.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.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users This e-mail is intended only for the named recipient(s) and may contain confidential, personal and/or health information (information which may be subject to legal restrictions on use, retention and/or disclosure). No waiver of confidence is intended by virtue of communication via the internet. Any review or distribution by anyone other than the person(s) for whom it was originally intended is strictly prohibited. If you have received this e-mail in error, please contact the sender and destroy all copies. From chasank at gmail.com Thu May 14 17:50:03 2015 From: chasank at gmail.com (chasank) Date: Thu, 14 May 2015 14:50:03 -0700 (MST) Subject: [ITK-users] Building QT, VTK and ITK on windows 7 (x64) In-Reply-To: <639C0C4CF854594E920361562A5266BB30BCD281@SBXNG01.sw.ca> References: <1431553705565-35668.post@n7.nabble.com> <639C0C4CF854594E920361562A5266BB30BCD281@SBXNG01.sw.ca> Message-ID: <1431640203834-35673.post@n7.nabble.com> Hi Amir, Nothing seems wrong with your code as it is hello world of ITK. The problem is linker error. Are you sure that you have added the line -litksys-4.4 to your .pro file? Check your C:/itk/x64/4.4.0/install/lib/ folder carefully. Execute >dir *.lib command. Get the output to an text editor. Make the necessary replaces to convert the output following pattern. -litkBiasCorrection-4.4 \ -litkBioCell-4.4 \ ... Make sure you are not missing any of these files. Regards. -- View this message in context: http://itk-users.7.n7.nabble.com/Building-QT-VTK-and-ITK-on-windows-7-x64-tp35668p35673.html Sent from the ITK - Users mailing list archive at Nabble.com. From zagwin at gmail.com Thu May 14 20:46:40 2015 From: zagwin at gmail.com (Weldon) Date: Thu, 14 May 2015 17:46:40 -0700 Subject: [ITK-users] Pipeline crash when ReleaseDataFlagOn Message-ID: Hello All, I have a simple Canny Edge detection pipeline, since the data is very big, I used ReleaseDataFlag in the pipeline. However, it will crash with Flag on. The code runs ok when I comments the flagon two lines. My codes are as following, could anybody tell me why? thanks int main(int argc, char* argv[]) { typedef signed short InputPixelType; typedef unsigned char OutputPixelType; const unsigned int Dimension = 3; typedef itk::Image< InputPixelType, Dimension > InputImageType; typedef itk::Image< OutputPixelType, Dimension > OutputImageType; typedef itk::ImageFileReader< InputImageType > ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName( argv[1] ); typedef itk::GDCMImageIO ImageIOType; ImageIOType::Pointer gdcmImageIO = ImageIOType::New(); reader->SetImageIO( gdcmImageIO ); reader->update(); InputImageType::Pointer pimg = reader->GetOutput(); OutputImageType::Pointer pmask = OutputImageType::New(); CannyEdgeDetection(pimg.GetPointer(), pmask.GetPointer()); } template void CannyEdgeDetection(typename TInput *inImage, typename TOutput *outImage) { typedef float PixelType; const unsigned int Dimension = 3; typedef itk::Image< PixelType, Dimension > InternalImageType; typedef itk::CastImageFilter< TInput, InternalImageType> CastFilterType; typedef itk::CannyEdgeDetectionImageFilter FilterType; typedef itk::RescaleIntensityImageFilter< InternalImageType, TOutput > RescaleType; CastFilterType::Pointer castFilter = CastFilterType::New(); FilterType::Pointer cannyFilter = FilterType::New(); RescaleType::Pointer rescaler = RescaleType::New(); cannyFilter->SetVariance( 2.0 ); cannyFilter->SetUpperThreshold( 10.0); cannyFilter->SetLowerThreshold( 0.5); rescaler->SetOutputMinimum( 0 ); rescaler->SetOutputMaximum( 255 ); castFilter->ReleaseDataFlagOn(); cannyFilter->ReleaseDataFlagOn(); *//When **rescaler->Update() exec, it will crash* castFilter->SetInput(inImage); cannyFilter->SetInput(castFilter->GetOutput()); rescaler->SetInput( cannyFilter->GetOutput() ); rescaler->Update(); *//crash here* //deepcopy codes to copy data from rescaler to outImage } -- Yours sincerely, Weldon -------------- next part -------------- An HTML attachment was scrubbed... URL: From lsustc at mail.ustc.edu.cn Fri May 15 04:56:32 2015 From: lsustc at mail.ustc.edu.cn (Ais) Date: Fri, 15 May 2015 01:56:32 -0700 (MST) Subject: [ITK-users] cannot find -lITKNumerics Message-ID: <1431680192184-35675.post@n7.nabble.com> I'm a newer in ITK.When I run a MedicalAnalysis program ,this note: Linking CXX executable LinuxCutImage /usr/bin/ld: cannot find -lITKNumerics /usr/bin/ld: cannot find -lITKIO /usr/bin/ld: cannot find -lITKBasicFilters /usr/bin/ld: cannot find -lITKAlgorithms collect2: error: ld returned 1 exit status make[2]: *** [LinuxCutImage] Error 1 make[1]: *** [CMakeFiles/LinuxCutImage.dir/all] Error 2 make: *** [all] Error 2 I don't konw the reason,could anybody tell me why? -- View this message in context: http://itk-users.7.n7.nabble.com/cannot-find-lITKNumerics-tp35675.html Sent from the ITK - Users mailing list archive at Nabble.com. From lluna.nova at gmail.com Fri May 15 06:41:43 2015 From: lluna.nova at gmail.com (=?UTF-8?B?UG9sIE1vbnPDsyBQdXJ0w60=?=) Date: Fri, 15 May 2015 12:41:43 +0200 Subject: [ITK-users] cannot find -lITKNumerics In-Reply-To: <1431680192184-35675.post@n7.nabble.com> References: <1431680192184-35675.post@n7.nabble.com> Message-ID: Is this an old project? It sounds like the cmakelists.txt was based on ITK3.2 try removing those modules on the cmakelists or, better, check the latest versions of itk examples' cmakelists.txt and compare it to yours. You can also post the cmakelists.txt here. cheers, Pol 2015-05-15 10:56 GMT+02:00 Ais : > I'm a newer in ITK.When I run a MedicalAnalysis program ,this note: > Linking CXX executable LinuxCutImage > /usr/bin/ld: cannot find -lITKNumerics > /usr/bin/ld: cannot find -lITKIO > /usr/bin/ld: cannot find -lITKBasicFilters > /usr/bin/ld: cannot find -lITKAlgorithms > collect2: error: ld returned 1 exit status > make[2]: *** [LinuxCutImage] Error 1 > make[1]: *** [CMakeFiles/LinuxCutImage.dir/all] Error 2 > make: *** [all] Error 2 > I don't konw the reason,could anybody tell me why? > > > > > -- > View this message in context: > http://itk-users.7.n7.nabble.com/cannot-find-lITKNumerics-tp35675.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lsustc at mail.ustc.edu.cn Fri May 15 08:16:52 2015 From: lsustc at mail.ustc.edu.cn (Ais) Date: Fri, 15 May 2015 05:16:52 -0700 (MST) Subject: [ITK-users] cannot find -lITKNumerics In-Reply-To: References: <1431680192184-35675.post@n7.nabble.com> Message-ID: <1431692212015-35677.post@n7.nabble.com> Thanks for you help. Following my CMake.list: ROJECT( MedicalImageAnalysis ) FIND_PACKAGE(ITK) IF(ITK_FOUND) INCLUDE(${ITK_USE_FILE}) ELSE(ITK_FOUND) MESSAGE(FATAL_ERROR "Cannot build InsightApplications without ITK. Please set ITK_DIR.") ENDIF(ITK_FOUND) SET(LIB_SRCS ./libsrc/image3d.cxx ./libsrc/deformation3d.cxx ./libsrc/imagefunctions.cxx ./libsrc/point.cxx ./libsrc/globaltransformation.cxx ./libsrc/globaltransformationfunctions.cxx ./libsrc/image4d.cxx ./libsrc/image4dfunctions.cxx ./libsrc/commonfunctions.cxx ./libsrc/interpolationweight.cxx) INCLUDE_DIRECTORIES( ./include ) LINK_DIRECTORIES( ./libsrc ) ADD_DEFINITIONS(-Wall -O2 -static) ADD_LIBRARY(MedicalImageAnalysisLib ${LIB_SRCS}) ADD_EXECUTABLE(LinuxCutImage ./src/LinuxCutImage.cxx) TARGET_LINK_LIBRARIES(LinuxCutImage optimized MedicalImageAnalysisLib optimized ITKNumerics optimized ITKIO optimized ITKBasicFilters optimized ITKAlgorithms optimized m) ADD_EXECUTABLE(LinuxResaveImage ./src/LinuxResaveImage.cxx) TARGET_LINK_LIBRARIES(LinuxResaveImage optimized MedicalImageAnalysisLib optimized ITKNumerics optimized ITKIO optimized ITKBasicFilters optimized ITKAlgorithms optimized m) #INSTALL(TARGETS test DESTINATION /home/jon/bin/) Is there something wrong? -- View this message in context: http://itk-users.7.n7.nabble.com/cannot-find-lITKNumerics-tp35675p35677.html Sent from the ITK - Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Fri May 15 08:46:17 2015 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 15 May 2015 08:46:17 -0400 Subject: [ITK-users] cannot find -lITKNumerics In-Reply-To: <1431692212015-35677.post@n7.nabble.com> References: <1431680192184-35675.post@n7.nabble.com> <1431692212015-35677.post@n7.nabble.com> Message-ID: Instead of listing the the ITK libraries: ITKNumerics ITKIO ITKBasicFilters ITKAlgorithms use ${ITK_LIBRARIES}. The former libraries no longer exist in ITK. On Fri, May 15, 2015 at 8:16 AM, Ais wrote: > Thanks for you help. Following my CMake.list: > > > ROJECT( MedicalImageAnalysis ) > > FIND_PACKAGE(ITK) > IF(ITK_FOUND) > INCLUDE(${ITK_USE_FILE}) > ELSE(ITK_FOUND) > MESSAGE(FATAL_ERROR > "Cannot build InsightApplications without ITK. Please set > ITK_DIR.") > ENDIF(ITK_FOUND) > > SET(LIB_SRCS ./libsrc/image3d.cxx ./libsrc/deformation3d.cxx > ./libsrc/imagefunctions.cxx ./libsrc/point.cxx > ./libsrc/globaltransformation.cxx ./libsrc/globaltransformationfunctions.cxx > ./libsrc/image4d.cxx ./libsrc/image4dfunctions.cxx > ./libsrc/commonfunctions.cxx ./libsrc/interpolationweight.cxx) > > INCLUDE_DIRECTORIES( > ./include > ) > > LINK_DIRECTORIES( > ./libsrc > ) > > ADD_DEFINITIONS(-Wall -O2 -static) > > ADD_LIBRARY(MedicalImageAnalysisLib ${LIB_SRCS}) > > ADD_EXECUTABLE(LinuxCutImage ./src/LinuxCutImage.cxx) > > TARGET_LINK_LIBRARIES(LinuxCutImage optimized MedicalImageAnalysisLib > optimized ITKNumerics optimized ITKIO optimized ITKBasicFilters optimized > ITKAlgorithms optimized m) > > ADD_EXECUTABLE(LinuxResaveImage ./src/LinuxResaveImage.cxx) > > TARGET_LINK_LIBRARIES(LinuxResaveImage optimized MedicalImageAnalysisLib > optimized ITKNumerics optimized ITKIO optimized ITKBasicFilters optimized > ITKAlgorithms optimized m) > > #INSTALL(TARGETS test DESTINATION /home/jon/bin/) > Is there something wrong? > > > > -- > View this message in context: http://itk-users.7.n7.nabble.com/cannot-find-lITKNumerics-tp35675p35677.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users -- Unpaid intern in BillsBasement at noware dot com From amir.khojaste at sunnybrook.ca Fri May 15 09:33:12 2015 From: amir.khojaste at sunnybrook.ca (Khojaste, Amir) Date: Fri, 15 May 2015 13:33:12 +0000 Subject: [ITK-users] [ITK] Building QT, VTK and ITK on windows 7 (x64) In-Reply-To: References: <1431553705565-35668.post@n7.nabble.com> <639C0C4CF854594E920361562A5266BB30BCD281@SBXNG01.sw.ca> Message-ID: <639C0C4CF854594E920361562A5266BB30BCD2FA@SBXNG01.sw.ca> Hi there, Yes, I did but still the same error remains the same. It occurs when I include the ?itkImageFileReader.h? in my source code. Here is my ?.pro? contents: #------------------------------------------------- # # Project created by QtCreator 2015-05-14T15:50:25 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = testITK TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui DEFINES += ?vtkRenderingCore_AUTOINIT=4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)? DEFINES += ?vtkRenderingVolume_AUTOINIT=1(vtkRenderingVolumeOpenGL)? DEFINES += _CRT_SECURE_NO_WARNINGS win32: LIBS += ?advapi32.lib? ?ws2_32.lib? ?Rpcrt4.lib? win32: LIBS += -LC:/vtk/x64/6.0.0/install/lib \ -lvtkChartsCore-6.0 \ -lvtkCommonColor-6.0 \ -lvtkCommonComputationalGeometry-6.0 \ -lvtkCommonCore-6.0 \ -lvtkCommonDataModel-6.0 \ -lvtkCommonExecutionModel-6.0 \ -lvtkCommonMath-6.0 \ -lvtkCommonMisc-6.0 \ -lvtkCommonSystem-6.0 \ -lvtkCommonTransforms-6.0 \ -lvtkDICOMParser-6.0 \ -lvtkDomainsChemistry-6.0 \ -lvtkFiltersAMR-6.0 \ -lvtkFiltersCore-6.0 \ -lvtkFiltersExtraction-6.0 \ -lvtkFiltersFlowPaths-6.0 \ -lvtkFiltersGeneral-6.0 \ -lvtkFiltersGeneric-6.0 \ -lvtkFiltersGeometry-6.0 \ -lvtkFiltersHybrid-6.0 \ -lvtkFiltersHyperTree-6.0 \ -lvtkFiltersImaging-6.0 \ -lvtkFiltersModeling-6.0 \ -lvtkFiltersParallel-6.0 \ -lvtkFiltersParallelImaging-6.0 \ -lvtkFiltersProgrammable-6.0 \ -lvtkFiltersSelection-6.0 \ -lvtkFiltersSources-6.0 \ -lvtkFiltersStatistics-6.0 \ -lvtkFiltersTexture-6.0 \ -lvtkFiltersVerdict-6.0 \ -lvtkGUISupportQt-6.0 \ -lvtkGUISupportQtOpenGL-6.0 \ -lvtkGeovisCore-6.0 \ -lvtkIOAMR-6.0 \ -lvtkIOCore-6.0 \ -lvtkIOEnSight-6.0 \ -lvtkIOExodus-6.0 \ -lvtkIOExport-6.0 \ -lvtkIOGeometry-6.0 \ -lvtkIOImage-6.0 \ -lvtkIOImport-6.0 \ -lvtkIOInfovis-6.0 \ -lvtkIOLSDyna-6.0 \ -lvtkIOLegacy-6.0 \ -lvtkIOMINC-6.0 \ -lvtkIOMovie-6.0 \ -lvtkIONetCDF-6.0 \ -lvtkIOPLY-6.0 \ -lvtkIOParallel-6.0 \ -lvtkIOSQL-6.0 \ -lvtkIOVideo-6.0 \ -lvtkIOXML-6.0 \ -lvtkIOXMLParser-6.0 \ -lvtkImagingColor-6.0 \ -lvtkImagingCore-6.0 \ -lvtkImagingFourier-6.0 \ -lvtkImagingGeneral-6.0 \ -lvtkImagingHybrid-6.0 \ -lvtkImagingMath-6.0 \ -lvtkImagingMorphological-6.0 \ -lvtkImagingSources-6.0 \ -lvtkImagingStatistics-6.0 \ -lvtkImagingStencil-6.0 \ -lvtkInfovisCore-6.0 \ -lvtkInfovisLayout-6.0 \ -lvtkInteractionImage-6.0 \ -lvtkInteractionStyle-6.0 \ -lvtkInteractionWidgets-6.0 \ -lvtkNetCDF-6.0 \ -lvtkNetCDF_cxx-6.0 \ -lvtkParallelCore-6.0 \ -lvtkRenderingAnnotation-6.0 \ -lvtkRenderingContext2D-6.0 \ -lvtkRenderingCore-6.0 \ -lvtkRenderingFreeType-6.0 \ -lvtkRenderingFreeTypeOpenGL-6.0 \ -lvtkRenderingGL2PS-6.0 \ -lvtkRenderingHybridOpenGL-6.0 \ -lvtkRenderingImage-6.0 \ -lvtkRenderingLOD-6.0 \ -lvtkRenderingLabel-6.0 \ -lvtkRenderingOpenGL-6.0 \ -lvtkRenderingVolume-6.0 \ -lvtkRenderingVolumeAMR-6.0 \ -lvtkRenderingVolumeOpenGL-6.0 \ -lvtkViewsContext2D-6.0 \ -lvtkViewsCore-6.0 \ -lvtkViewsGeovis-6.0 \ -lvtkViewsInfovis-6.0 \ -lvtkalglib-6.0 \ -lvtkexoIIc-6.0 \ -lvtkexpat-6.0 \ -lvtkfreetype-6.0 \ -lvtkftgl-6.0 \ -lvtkgl2ps-6.0 \ -lvtkhdf5-6.0 \ -lvtkhdf5_hl-6.0 \ -lvtkjpeg-6.0 \ -lvtkjsoncpp-6.0 \ -lvtklibxml2-6.0 \ -lvtkmetaio-6.0 \ -lvtkoggtheora-6.0 \ -lvtkpng-6.0 \ -lvtkproj4-6.0 \ -lvtksqlite-6.0 \ -lvtksys-6.0 \ -lvtktiff-6.0 \ -lvtkverdict-6.0 \ -lvtkzlib-6.0 INCLUDEPATH += C:/vtk/x64/6.0.0/install/include/vtk-6.0 DEPENDPATH += C:/vtk/x64/6.0.0/install/include/vtk-6.0 win32: LIBS += -LC:/ITK/x64/4.4.0/install/lib \ -lITKBiasCorrection-4.4 \ -lITKBioCell-4.4 \ -lITKCommon-4.4 \ -lITKDICOMParser-4.4 \ -litkdouble-conversion-4.4 \ -lITKEXPAT-4.4 \ -lITKFEM-4.4 \ -litkgdcmCommon-4.4 \ -litkgdcmDICT-4.4 \ -litkgdcmDSED-4.4 \ -litkgdcmIOD-4.4 \ -litkgdcmjpeg12-4.4 \ -litkgdcmjpeg16-4.4 \ -litkgdcmjpeg8-4.4 \ -litkgdcmMSFF-4.4 \ -lITKgiftiio-4.4 \ -litkhdf5-4.4 \ -litkhdf5_cpp-4.4 \ -lITKIOBioRad-4.4 \ -lITKIOBMP-4.4 \ -lITKIOCSV-4.4 \ -lITKIOGDCM-4.4 \ -lITKIOGE-4.4 \ -lITKIOGIPL-4.4 \ -lITKIOHDF5-4.4 \ -lITKIOImageBase-4.4 \ -lITKIOIPL-4.4 \ -lITKIOJPEG-4.4 \ -lITKIOLSM-4.4 \ -lITKIOMesh-4.4 \ -lITKIOMeta-4.4 \ -lITKIONIFTI-4.4 \ -lITKIONRRD-4.4 \ -lITKIOPNG-4.4 \ -lITKIOSiemens-4.4 \ -lITKIOSpatialObjects-4.4 \ -lITKIOStimulate-4.4 \ -lITKIOTIFF-4.4 \ -lITKIOTransformBase-4.4 \ -lITKIOTransformHDF5-4.4 \ -lITKIOTransformInsightLegacy-4.4 \ -lITKIOTransformMatlab-4.4 \ -lITKIOVTK-4.4 \ -lITKIOXML-4.4 \ -litkjpeg-4.4 \ -lITKKLMRegionGrowing-4.4 \ -lITKLabelMap-4.4 \ -lITKMesh-4.4 \ -lITKMetaIO-4.4 \ -litkNetlibSlatec-4.4 \ -lITKniftiio-4.4 \ -lITKNrrdIO-4.4 \ -litkopenjpeg-4.4 \ -lITKOptimizers-4.4 \ -lITKOptimizersv4-4.4 \ -lITKPath-4.4 \ -litkpng-4.4 \ -lITKPolynomials-4.4 \ -lITKQuadEdgeMesh-4.4 \ -lITKReview-4.4 \ -lITKSpatialObjects-4.4 \ -lITKStatistics-4.4 \ -litksys-4.4 \ -litktiff-4.4 \ -litkv3p_lsqr-4.4 \ -litkv3p_netlib-4.4 \ -litkvcl-4.4 \ -lITKVideoCore-4.4 \ -lITKVideoIO-4.4 \ -litkvnl-4.4 \ -lITKVNLInstantiation-4.4 \ -litkvnl_algo-4.4 \ -lITKVTK-4.4 \ -lITKVtkGlue-4.4 \ -lITKWatersheds-4.4 \ -litkzlib-4.4 \ -lITKznz-4.4 INCLUDEPATH += C:/ITK/x64/4.4.0/install/include/ITK-4.4 DEPENDPATH += C:/ITK/x64/4.4.0/install/include/ITK-4.4 It is very confusing, I can see that the library is there but it is telling me that it can?t find itksys-4.4.lib!! Any clue? Thanks, Amir From: ???'?? ?????? [mailto:nekto1989 at gmail.com] Sent: May-14-15 5:01 PM To: Khojaste, Amir Cc: chasank; insight-users at itk.org Subject: Re: [ITK] [ITK-users] Building QT, VTK and ITK on windows 7 (x64) Hi, Are you sure you've added "advapi32.lib" to libs? win32: LIBS += ?advapi32.lib? ?ws2_32.lib? ?Rpcrt4.lib? 2015-05-14 23:15 GMT+03:00 Khojaste, Amir >: Hi Chasank, Thanks for sharing this. I was looking to find a way to use ITK, VTK libraries under Qt Creator too. This is great! However I was not able to run my project in Qt Creator with ITK and VTK libraries. I have followed all the steps of your tutorials with the exact same versions except that I have used CMake 3.1.3 instead of 2.8.11. ITK, VTK and Qt were built with no errors. After I have finished all the steps, I have created a project in Qt Creator, modified the ".pro" file as you mentioned. I am just trying to see if I can get the ITK to work. It might seem very stupid, but when the following code runs with no error. #include "mainwindow.h" #include "ui_mainwindow.h" #include "itkImage.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { typedef itk::Image ImageType; ImageType::Pointer image = ImageType::New(); } Everything runs with no error, however as soon as I add the RedaerType then everything is screwd! i.e. the following code will crash! #include "mainwindow.h" #include "ui_mainwindow.h" #include "itkImage.h" #include "itkImageFileReader.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { typedef itk::Image ImageType; ImageType::Pointer image = ImageType::New(); typedef itk::ImageFileReader ReaderType; ReaderType::Pointer reader = ReaderType::New(); } And that's the error that I get: itksys-4.4.lib(SystemTools.obj):-1: error: LNK2019: unresolved external symbol __imp_RegQueryValueExA referenced in function "public: static class std::basic_string,class std::allocator > __cdecl itksys::SystemTools::GetOperatingSystemNameAndVersion(void)" (?GetOperatingSystemNameAndVersion at SystemTools@itksys@@SA?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@XZ) I am very confused! The interesting thing is that after I get the error, even the first version of my code (with only itkImage.h) will not work neither! Do you have any clue? Thanks, Amir -----Original Message----- From: Insight-users [mailto:insight-users-bounces at itk.org] On Behalf Of chasank Sent: May-13-15 5:48 PM To: insight-users at itk.org Subject: [ITK-users] Building QT, VTK and ITK on windows 7 (x64) Hi folks and beginners, I've written a step by step tutorial for building qt, vtk and itk from source 64 bit on a windows os. As I stated at my blog; versions may be a little outdated but as I tested this tutorial for myself for many times. I may say they are working together like a charm. You may replicate this tutorial to newer versions of these sdks. I have not tested with newer versions but approximately process should be same. Note that for building projects I did not use CMAKE. I have handled it with QT's pro files. Blog link: http://blog.chasank.com/building-qt-vtk-and-itk-on-windows-7-x64/ Best regards. May the force be with you. -- View this message in context: http://itk-users.7.n7.nabble.com/Building-QT-VTK-and-ITK-on-windows-7-x64-tp35668.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.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users This e-mail is intended only for the named recipient(s) and may contain confidential, personal and/or health information (information which may be subject to legal restrictions on use, retention and/or disclosure). No waiver of confidence is intended by virtue of communication via the internet. Any review or distribution by anyone other than the person(s) for whom it was originally intended is strictly prohibited. If you have received this e-mail in error, please contact the sender and destroy all copies. _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users _______________________________________________ Community mailing list Community at itk.org http://public.kitware.com/mailman/listinfo/community This e-mail is intended only for the named recipient(s) and may contain confidential, personal and/or health information (information which may be subject to legal restrictions on use, retention and/or disclosure). No waiver of confidence is intended by virtue of communication via the internet. Any review or distribution by anyone other than the person(s) for whom it was originally intended is strictly prohibited. If you have received this e-mail in error, please contact the sender and destroy all copies. -------------- next part -------------- An HTML attachment was scrubbed... URL: From amir.khojaste at sunnybrook.ca Fri May 15 09:34:33 2015 From: amir.khojaste at sunnybrook.ca (Khojaste, Amir) Date: Fri, 15 May 2015 13:34:33 +0000 Subject: [ITK-users] =?utf-8?q?=5BPossible_spam_detected_by_TrendMicro=5DR?= =?utf-8?q?E=3A__Building_QT=2C_VTK_and_ITK_on_windows_7_=28x64=29?= In-Reply-To: <1431640203834-35673.post@n7.nabble.com> References: <1431553705565-35668.post@n7.nabble.com> <639C0C4CF854594E920361562A5266BB30BCD281@SBXNG01.sw.ca> <1431640203834-35673.post@n7.nabble.com> Message-ID: <639C0C4CF854594E920361562A5266BB30BCD30C@SBXNG01.sw.ca> Hi Chasank and thanks for your answer, Yes I did and I have checked it several times. Here is my ".pro" contents: #------------------------------------------------- # # Project created by QtCreator 2015-05-14T15:50:25 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = testITK TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui DEFINES += "vtkRenderingCore_AUTOINIT=4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)" DEFINES += "vtkRenderingVolume_AUTOINIT=1(vtkRenderingVolumeOpenGL)" DEFINES += _CRT_SECURE_NO_WARNINGS win32: LIBS += "advapi32.lib" "ws2_32.lib" "Rpcrt4.lib" win32: LIBS += -LC:/vtk/x64/6.0.0/install/lib \ -lvtkChartsCore-6.0 \ -lvtkCommonColor-6.0 \ -lvtkCommonComputationalGeometry-6.0 \ -lvtkCommonCore-6.0 \ -lvtkCommonDataModel-6.0 \ -lvtkCommonExecutionModel-6.0 \ -lvtkCommonMath-6.0 \ -lvtkCommonMisc-6.0 \ -lvtkCommonSystem-6.0 \ -lvtkCommonTransforms-6.0 \ -lvtkDICOMParser-6.0 \ -lvtkDomainsChemistry-6.0 \ -lvtkFiltersAMR-6.0 \ -lvtkFiltersCore-6.0 \ -lvtkFiltersExtraction-6.0 \ -lvtkFiltersFlowPaths-6.0 \ -lvtkFiltersGeneral-6.0 \ -lvtkFiltersGeneric-6.0 \ -lvtkFiltersGeometry-6.0 \ -lvtkFiltersHybrid-6.0 \ -lvtkFiltersHyperTree-6.0 \ -lvtkFiltersImaging-6.0 \ -lvtkFiltersModeling-6.0 \ -lvtkFiltersParallel-6.0 \ -lvtkFiltersParallelImaging-6.0 \ -lvtkFiltersProgrammable-6.0 \ -lvtkFiltersSelection-6.0 \ -lvtkFiltersSources-6.0 \ -lvtkFiltersStatistics-6.0 \ -lvtkFiltersTexture-6.0 \ -lvtkFiltersVerdict-6.0 \ -lvtkGUISupportQt-6.0 \ -lvtkGUISupportQtOpenGL-6.0 \ -lvtkGeovisCore-6.0 \ -lvtkIOAMR-6.0 \ -lvtkIOCore-6.0 \ -lvtkIOEnSight-6.0 \ -lvtkIOExodus-6.0 \ -lvtkIOExport-6.0 \ -lvtkIOGeometry-6.0 \ -lvtkIOImage-6.0 \ -lvtkIOImport-6.0 \ -lvtkIOInfovis-6.0 \ -lvtkIOLSDyna-6.0 \ -lvtkIOLegacy-6.0 \ -lvtkIOMINC-6.0 \ -lvtkIOMovie-6.0 \ -lvtkIONetCDF-6.0 \ -lvtkIOPLY-6.0 \ -lvtkIOParallel-6.0 \ -lvtkIOSQL-6.0 \ -lvtkIOVideo-6.0 \ -lvtkIOXML-6.0 \ -lvtkIOXMLParser-6.0 \ -lvtkImagingColor-6.0 \ -lvtkImagingCore-6.0 \ -lvtkImagingFourier-6.0 \ -lvtkImagingGeneral-6.0 \ -lvtkImagingHybrid-6.0 \ -lvtkImagingMath-6.0 \ -lvtkImagingMorphological-6.0 \ -lvtkImagingSources-6.0 \ -lvtkImagingStatistics-6.0 \ -lvtkImagingStencil-6.0 \ -lvtkInfovisCore-6.0 \ -lvtkInfovisLayout-6.0 \ -lvtkInteractionImage-6.0 \ -lvtkInteractionStyle-6.0 \ -lvtkInteractionWidgets-6.0 \ -lvtkNetCDF-6.0 \ -lvtkNetCDF_cxx-6.0 \ -lvtkParallelCore-6.0 \ -lvtkRenderingAnnotation-6.0 \ -lvtkRenderingContext2D-6.0 \ -lvtkRenderingCore-6.0 \ -lvtkRenderingFreeType-6.0 \ -lvtkRenderingFreeTypeOpenGL-6.0 \ -lvtkRenderingGL2PS-6.0 \ -lvtkRenderingHybridOpenGL-6.0 \ -lvtkRenderingImage-6.0 \ -lvtkRenderingLOD-6.0 \ -lvtkRenderingLabel-6.0 \ -lvtkRenderingOpenGL-6.0 \ -lvtkRenderingVolume-6.0 \ -lvtkRenderingVolumeAMR-6.0 \ -lvtkRenderingVolumeOpenGL-6.0 \ -lvtkViewsContext2D-6.0 \ -lvtkViewsCore-6.0 \ -lvtkViewsGeovis-6.0 \ -lvtkViewsInfovis-6.0 \ -lvtkalglib-6.0 \ -lvtkexoIIc-6.0 \ -lvtkexpat-6.0 \ -lvtkfreetype-6.0 \ -lvtkftgl-6.0 \ -lvtkgl2ps-6.0 \ -lvtkhdf5-6.0 \ -lvtkhdf5_hl-6.0 \ -lvtkjpeg-6.0 \ -lvtkjsoncpp-6.0 \ -lvtklibxml2-6.0 \ -lvtkmetaio-6.0 \ -lvtkoggtheora-6.0 \ -lvtkpng-6.0 \ -lvtkproj4-6.0 \ -lvtksqlite-6.0 \ -lvtksys-6.0 \ -lvtktiff-6.0 \ -lvtkverdict-6.0 \ -lvtkzlib-6.0 INCLUDEPATH += C:/vtk/x64/6.0.0/install/include/vtk-6.0 DEPENDPATH += C:/vtk/x64/6.0.0/install/include/vtk-6.0 win32: LIBS += -LC:/ITK/x64/4.4.0/install/lib \ -lITKBiasCorrection-4.4 \ -lITKBioCell-4.4 \ -lITKCommon-4.4 \ -lITKDICOMParser-4.4 \ -litkdouble-conversion-4.4 \ -lITKEXPAT-4.4 \ -lITKFEM-4.4 \ -litkgdcmCommon-4.4 \ -litkgdcmDICT-4.4 \ -litkgdcmDSED-4.4 \ -litkgdcmIOD-4.4 \ -litkgdcmjpeg12-4.4 \ -litkgdcmjpeg16-4.4 \ -litkgdcmjpeg8-4.4 \ -litkgdcmMSFF-4.4 \ -lITKgiftiio-4.4 \ -litkhdf5-4.4 \ -litkhdf5_cpp-4.4 \ -lITKIOBioRad-4.4 \ -lITKIOBMP-4.4 \ -lITKIOCSV-4.4 \ -lITKIOGDCM-4.4 \ -lITKIOGE-4.4 \ -lITKIOGIPL-4.4 \ -lITKIOHDF5-4.4 \ -lITKIOImageBase-4.4 \ -lITKIOIPL-4.4 \ -lITKIOJPEG-4.4 \ -lITKIOLSM-4.4 \ -lITKIOMesh-4.4 \ -lITKIOMeta-4.4 \ -lITKIONIFTI-4.4 \ -lITKIONRRD-4.4 \ -lITKIOPNG-4.4 \ -lITKIOSiemens-4.4 \ -lITKIOSpatialObjects-4.4 \ -lITKIOStimulate-4.4 \ -lITKIOTIFF-4.4 \ -lITKIOTransformBase-4.4 \ -lITKIOTransformHDF5-4.4 \ -lITKIOTransformInsightLegacy-4.4 \ -lITKIOTransformMatlab-4.4 \ -lITKIOVTK-4.4 \ -lITKIOXML-4.4 \ -litkjpeg-4.4 \ -lITKKLMRegionGrowing-4.4 \ -lITKLabelMap-4.4 \ -lITKMesh-4.4 \ -lITKMetaIO-4.4 \ -litkNetlibSlatec-4.4 \ -lITKniftiio-4.4 \ -lITKNrrdIO-4.4 \ -litkopenjpeg-4.4 \ -lITKOptimizers-4.4 \ -lITKOptimizersv4-4.4 \ -lITKPath-4.4 \ -litkpng-4.4 \ -lITKPolynomials-4.4 \ -lITKQuadEdgeMesh-4.4 \ -lITKReview-4.4 \ -lITKSpatialObjects-4.4 \ -lITKStatistics-4.4 \ -litksys-4.4 \ -litktiff-4.4 \ -litkv3p_lsqr-4.4 \ -litkv3p_netlib-4.4 \ -litkvcl-4.4 \ -lITKVideoCore-4.4 \ -lITKVideoIO-4.4 \ -litkvnl-4.4 \ -lITKVNLInstantiation-4.4 \ -litkvnl_algo-4.4 \ -lITKVTK-4.4 \ -lITKVtkGlue-4.4 \ -lITKWatersheds-4.4 \ -litkzlib-4.4 \ -lITKznz-4.4 INCLUDEPATH += C:/ITK/x64/4.4.0/install/include/ITK-4.4 DEPENDPATH += C:/ITK/x64/4.4.0/install/include/ITK-4.4 Do you see anything that I might have been missing? Thanks for your answer again, Amir -----Original Message----- From: Insight-users [mailto:insight-users-bounces at itk.org] On Behalf Of chasank Sent: May-14-15 5:50 PM To: insight-users at itk.org Subject: Re: [ITK-users] Building QT, VTK and ITK on windows 7 (x64) Hi Amir, Nothing seems wrong with your code as it is hello world of ITK. The problem is linker error. Are you sure that you have added the line -litksys-4.4 to your .pro file? Check your C:/itk/x64/4.4.0/install/lib/ folder carefully. Execute >dir *.lib command. Get the output to an text editor. Make the necessary replaces to convert the output following pattern. -litkBiasCorrection-4.4 \ -litkBioCell-4.4 \ ... Make sure you are not missing any of these files. Regards. -- View this message in context: http://itk-users.7.n7.nabble.com/Building-QT-VTK-and-ITK-on-windows-7-x64-tp35668p35673.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.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users This e-mail is intended only for the named recipient(s) and may contain confidential, personal and/or health information (information which may be subject to legal restrictions on use, retention and/or disclosure). No waiver of confidence is intended by virtue of communication via the internet. Any review or distribution by anyone other than the person(s) for whom it was originally intended is strictly prohibited. If you have received this e-mail in error, please contact the sender and destroy all copies. From lsustc at mail.ustc.edu.cn Fri May 15 09:46:03 2015 From: lsustc at mail.ustc.edu.cn (Ais) Date: Fri, 15 May 2015 06:46:03 -0700 (MST) Subject: [ITK-users] cannot find -lITKNumerics In-Reply-To: References: <1431680192184-35675.post@n7.nabble.com> <1431692212015-35677.post@n7.nabble.com> Message-ID: <1431697563588-35681.post@n7.nabble.com> I have changed the CMakeList.txt as you say, then I cmake it and creat a makefile,when I make ,taht notes: CMakeFiles/LinuxCutImage.dir/src/LinuxCutImage.o: In function `main': LinuxCutImage.cxx:(.text.startup+0x126): undefined reference to `C3DImage::C3DImage()' LinuxCutImage.cxx:(.text.startup+0x13e): undefined reference to `C3DImage::C3DImage()' LinuxCutImage.cxx:(.text.startup+0x14e): undefined reference to `C3DImage::ReadFromITKFile(char*)' LinuxCutImage.cxx:(.text.startup+0x1c4): undefined reference to `C3DImage::set_size(int, int, int)' LinuxCutImage.cxx:(.text.startup+0x1e5): undefined reference to `C3DImage::set_spacing(float, float, float)' LinuxCutImage.cxx:(.text.startup+0x357): undefined reference to `C3DImage::WriteToITKFile(char*)' collect2: error: ld returned 1 exit status make[2]: *** [LinuxCutImage] Error 1 make[1]: *** [CMakeFiles/LinuxCutImage.dir/all] Error 2 make: *** [all] Error 2 following my LinuxCutImage.cxx #include #include #include #include //#include "SimpleApp.h" #include "itkExceptionObject.h" #include "globaldefinition.h" #include "commonfunctions.h" #include "image3d.h" extern int optopt; extern int optind; extern char *optarg; extern int opterr; using namespace std; void showUsage(char *filename) { std::cout << "This program cuts an image." << std::endl; std::cout << std::endl; std::cout << "Usage: "<ReadFromITKFile(inputimagefilename); int XX,YY,ZZ; XX = ex-bx+1; YY = ey-by+1; ZZ = ez-bz+1; if ((XX<1)||(YY<1)||(ZZ<1)) { cout<<"The small image size you input is not correct."<set_size(XX,YY,ZZ); outputimage->set_spacing(inputimage->vsX, inputimage->vsY, inputimage->vsZ); int x,y,z; int nx,ny,nz; for (z=0;z=0)&&(ny>=0)&&(nz>=0)&&(nxX)&&(nyY)&&(nzZ)) { outputimage->img[nz][ny][nx] = inputimage->img[z][y][x]; } else outputimage->img[nz][ny][nx] = -2000; } outputimage->WriteToITKFile(outputimagefilename); return 0; } -- View this message in context: http://itk-users.7.n7.nabble.com/cannot-find-lITKNumerics-tp35675p35681.html Sent from the ITK - Users mailing list archive at Nabble.com. From bakkari.abdelkhalek at hotmail.fr Fri May 15 10:28:38 2015 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Fri, 15 May 2015 15:28:38 +0100 Subject: [ITK-users] ITK-QT-VTK Message-ID: Dear Insight users and community, I am in an emergency case. I need someone who can help me to start with VTK and QT and create a new interface for 3D Image segmentation or execute the ITK-SNAP. Best regards, Abdelkhalek Bakkari -------------- next part -------------- An HTML attachment was scrubbed... URL: From chinander at gmail.com Fri May 15 10:36:47 2015 From: chinander at gmail.com (Mike Chinander) Date: Fri, 15 May 2015 09:36:47 -0500 Subject: [ITK-users] [Possible spam detected by TrendMicro]RE: Building QT, VTK and ITK on windows 7 (x64) In-Reply-To: <639C0C4CF854594E920361562A5266BB30BCD30C@SBXNG01.sw.ca> References: <1431553705565-35668.post@n7.nabble.com> <639C0C4CF854594E920361562A5266BB30BCD281@SBXNG01.sw.ca> <1431640203834-35673.post@n7.nabble.com> <639C0C4CF854594E920361562A5266BB30BCD30C@SBXNG01.sw.ca> Message-ID: It's much easier to just use CMake and CMakeLists.txt instead of .pro project files. Qt/QtCreator supports using them: http://doc.qt.io/qt-5/cmake-manual.html On Fri, May 15, 2015 at 8:34 AM, Khojaste, Amir wrote: > Hi Chasank and thanks for your answer, > > Yes I did and I have checked it several times. Here is my ".pro" contents: > > #------------------------------------------------- > # > # Project created by QtCreator 2015-05-14T15:50:25 > # > #------------------------------------------------- > > QT += core gui > > greaterThan(QT_MAJOR_VERSION, 4): QT += widgets > > TARGET = testITK > TEMPLATE = app > > > SOURCES += main.cpp\ > mainwindow.cpp > > HEADERS += mainwindow.h > > FORMS += mainwindow.ui > > DEFINES += > "vtkRenderingCore_AUTOINIT=4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)" > DEFINES += "vtkRenderingVolume_AUTOINIT=1(vtkRenderingVolumeOpenGL)" > DEFINES += _CRT_SECURE_NO_WARNINGS > > win32: LIBS += "advapi32.lib" "ws2_32.lib" "Rpcrt4.lib" > > win32: LIBS += -LC:/vtk/x64/6.0.0/install/lib \ > -lvtkChartsCore-6.0 \ > -lvtkCommonColor-6.0 \ > -lvtkCommonComputationalGeometry-6.0 \ > -lvtkCommonCore-6.0 \ > -lvtkCommonDataModel-6.0 \ > -lvtkCommonExecutionModel-6.0 \ > -lvtkCommonMath-6.0 \ > -lvtkCommonMisc-6.0 \ > -lvtkCommonSystem-6.0 \ > -lvtkCommonTransforms-6.0 \ > -lvtkDICOMParser-6.0 \ > -lvtkDomainsChemistry-6.0 \ > -lvtkFiltersAMR-6.0 \ > -lvtkFiltersCore-6.0 \ > -lvtkFiltersExtraction-6.0 \ > -lvtkFiltersFlowPaths-6.0 \ > -lvtkFiltersGeneral-6.0 \ > -lvtkFiltersGeneric-6.0 \ > -lvtkFiltersGeometry-6.0 \ > -lvtkFiltersHybrid-6.0 \ > -lvtkFiltersHyperTree-6.0 \ > -lvtkFiltersImaging-6.0 \ > -lvtkFiltersModeling-6.0 \ > -lvtkFiltersParallel-6.0 \ > -lvtkFiltersParallelImaging-6.0 \ > -lvtkFiltersProgrammable-6.0 \ > -lvtkFiltersSelection-6.0 \ > -lvtkFiltersSources-6.0 \ > -lvtkFiltersStatistics-6.0 \ > -lvtkFiltersTexture-6.0 \ > -lvtkFiltersVerdict-6.0 \ > -lvtkGUISupportQt-6.0 \ > -lvtkGUISupportQtOpenGL-6.0 \ > -lvtkGeovisCore-6.0 \ > -lvtkIOAMR-6.0 \ > -lvtkIOCore-6.0 \ > -lvtkIOEnSight-6.0 \ > -lvtkIOExodus-6.0 \ > -lvtkIOExport-6.0 \ > -lvtkIOGeometry-6.0 \ > -lvtkIOImage-6.0 \ > -lvtkIOImport-6.0 \ > -lvtkIOInfovis-6.0 \ > -lvtkIOLSDyna-6.0 \ > -lvtkIOLegacy-6.0 \ > -lvtkIOMINC-6.0 \ > -lvtkIOMovie-6.0 \ > -lvtkIONetCDF-6.0 \ > -lvtkIOPLY-6.0 \ > -lvtkIOParallel-6.0 \ > -lvtkIOSQL-6.0 \ > -lvtkIOVideo-6.0 \ > -lvtkIOXML-6.0 \ > -lvtkIOXMLParser-6.0 \ > -lvtkImagingColor-6.0 \ > -lvtkImagingCore-6.0 \ > -lvtkImagingFourier-6.0 \ > -lvtkImagingGeneral-6.0 \ > -lvtkImagingHybrid-6.0 \ > -lvtkImagingMath-6.0 \ > -lvtkImagingMorphological-6.0 \ > -lvtkImagingSources-6.0 \ > -lvtkImagingStatistics-6.0 \ > -lvtkImagingStencil-6.0 \ > -lvtkInfovisCore-6.0 \ > -lvtkInfovisLayout-6.0 \ > -lvtkInteractionImage-6.0 \ > -lvtkInteractionStyle-6.0 \ > -lvtkInteractionWidgets-6.0 \ > -lvtkNetCDF-6.0 \ > -lvtkNetCDF_cxx-6.0 \ > -lvtkParallelCore-6.0 \ > -lvtkRenderingAnnotation-6.0 \ > -lvtkRenderingContext2D-6.0 \ > -lvtkRenderingCore-6.0 \ > -lvtkRenderingFreeType-6.0 \ > -lvtkRenderingFreeTypeOpenGL-6.0 \ > -lvtkRenderingGL2PS-6.0 \ > -lvtkRenderingHybridOpenGL-6.0 \ > -lvtkRenderingImage-6.0 \ > -lvtkRenderingLOD-6.0 \ > -lvtkRenderingLabel-6.0 \ > -lvtkRenderingOpenGL-6.0 \ > -lvtkRenderingVolume-6.0 \ > -lvtkRenderingVolumeAMR-6.0 \ > -lvtkRenderingVolumeOpenGL-6.0 \ > -lvtkViewsContext2D-6.0 \ > -lvtkViewsCore-6.0 \ > -lvtkViewsGeovis-6.0 \ > -lvtkViewsInfovis-6.0 \ > -lvtkalglib-6.0 \ > -lvtkexoIIc-6.0 \ > -lvtkexpat-6.0 \ > -lvtkfreetype-6.0 \ > -lvtkftgl-6.0 \ > -lvtkgl2ps-6.0 \ > -lvtkhdf5-6.0 \ > -lvtkhdf5_hl-6.0 \ > -lvtkjpeg-6.0 \ > -lvtkjsoncpp-6.0 \ > -lvtklibxml2-6.0 \ > -lvtkmetaio-6.0 \ > -lvtkoggtheora-6.0 \ > -lvtkpng-6.0 \ > -lvtkproj4-6.0 \ > -lvtksqlite-6.0 \ > -lvtksys-6.0 \ > -lvtktiff-6.0 \ > -lvtkverdict-6.0 \ > -lvtkzlib-6.0 > > INCLUDEPATH += C:/vtk/x64/6.0.0/install/include/vtk-6.0 > DEPENDPATH += C:/vtk/x64/6.0.0/install/include/vtk-6.0 > > win32: LIBS += -LC:/ITK/x64/4.4.0/install/lib \ > -lITKBiasCorrection-4.4 \ > -lITKBioCell-4.4 \ > -lITKCommon-4.4 \ > -lITKDICOMParser-4.4 \ > -litkdouble-conversion-4.4 \ > -lITKEXPAT-4.4 \ > -lITKFEM-4.4 \ > -litkgdcmCommon-4.4 \ > -litkgdcmDICT-4.4 \ > -litkgdcmDSED-4.4 \ > -litkgdcmIOD-4.4 \ > -litkgdcmjpeg12-4.4 \ > -litkgdcmjpeg16-4.4 \ > -litkgdcmjpeg8-4.4 \ > -litkgdcmMSFF-4.4 \ > -lITKgiftiio-4.4 \ > -litkhdf5-4.4 \ > -litkhdf5_cpp-4.4 \ > -lITKIOBioRad-4.4 \ > -lITKIOBMP-4.4 \ > -lITKIOCSV-4.4 \ > -lITKIOGDCM-4.4 \ > -lITKIOGE-4.4 \ > -lITKIOGIPL-4.4 \ > -lITKIOHDF5-4.4 \ > -lITKIOImageBase-4.4 \ > -lITKIOIPL-4.4 \ > -lITKIOJPEG-4.4 \ > -lITKIOLSM-4.4 \ > -lITKIOMesh-4.4 \ > -lITKIOMeta-4.4 \ > -lITKIONIFTI-4.4 \ > -lITKIONRRD-4.4 \ > -lITKIOPNG-4.4 \ > -lITKIOSiemens-4.4 \ > -lITKIOSpatialObjects-4.4 \ > -lITKIOStimulate-4.4 \ > -lITKIOTIFF-4.4 \ > -lITKIOTransformBase-4.4 \ > -lITKIOTransformHDF5-4.4 \ > -lITKIOTransformInsightLegacy-4.4 \ > -lITKIOTransformMatlab-4.4 \ > -lITKIOVTK-4.4 \ > -lITKIOXML-4.4 \ > -litkjpeg-4.4 \ > -lITKKLMRegionGrowing-4.4 \ > -lITKLabelMap-4.4 \ > -lITKMesh-4.4 \ > -lITKMetaIO-4.4 \ > -litkNetlibSlatec-4.4 \ > -lITKniftiio-4.4 \ > -lITKNrrdIO-4.4 \ > -litkopenjpeg-4.4 \ > -lITKOptimizers-4.4 \ > -lITKOptimizersv4-4.4 \ > -lITKPath-4.4 \ > -litkpng-4.4 \ > -lITKPolynomials-4.4 \ > -lITKQuadEdgeMesh-4.4 \ > -lITKReview-4.4 \ > -lITKSpatialObjects-4.4 \ > -lITKStatistics-4.4 \ > -litksys-4.4 \ > -litktiff-4.4 \ > -litkv3p_lsqr-4.4 \ > -litkv3p_netlib-4.4 \ > -litkvcl-4.4 \ > -lITKVideoCore-4.4 \ > -lITKVideoIO-4.4 \ > -litkvnl-4.4 \ > -lITKVNLInstantiation-4.4 \ > -litkvnl_algo-4.4 \ > -lITKVTK-4.4 \ > -lITKVtkGlue-4.4 \ > -lITKWatersheds-4.4 \ > -litkzlib-4.4 \ > -lITKznz-4.4 > > INCLUDEPATH += C:/ITK/x64/4.4.0/install/include/ITK-4.4 > DEPENDPATH += C:/ITK/x64/4.4.0/install/include/ITK-4.4 > > Do you see anything that I might have been missing? > > Thanks for your answer again, > Amir > > -----Original Message----- > From: Insight-users [mailto:insight-users-bounces at itk.org] On Behalf Of > chasank > Sent: May-14-15 5:50 PM > To: insight-users at itk.org > Subject: Re: [ITK-users] Building QT, VTK and ITK on windows 7 (x64) > > Hi Amir, > > Nothing seems wrong with your code as it is hello world of ITK. The > problem is linker error. Are you sure that you have added the line > -litksys-4.4 to your .pro file? > > Check your C:/itk/x64/4.4.0/install/lib/ folder carefully. > Execute >dir *.lib command. Get the output to an text editor. > Make the necessary replaces to convert the output following pattern. > -litkBiasCorrection-4.4 \ > -litkBioCell-4.4 \ > ... > > Make sure you are not missing any of these files. > > Regards. > > > > -- > View this message in context: > http://itk-users.7.n7.nabble.com/Building-QT-VTK-and-ITK-on-windows-7-x64-tp35668p35673.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > This e-mail is intended only for the named recipient(s) and may contain > confidential, personal and/or health information (information which may be > subject to legal restrictions on use, retention and/or disclosure). No > waiver of confidence is intended by virtue of communication via the > internet. Any review or distribution by anyone other than the person(s) > for whom it was originally intended is strictly prohibited. If you have > received this e-mail in error, please contact the sender and destroy all > copies. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bakkari.abdelkhalek at hotmail.fr Fri May 15 10:40:20 2015 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Fri, 15 May 2015 15:40:20 +0100 Subject: [ITK-users] ITK-QT-VTK In-Reply-To: <639C0C4CF854594E920361562A5266BB30BCD367@SBXNG01.sw.ca> References: , <639C0C4CF854594E920361562A5266BB30BCD367@SBXNG01.sw.ca> Message-ID: Hi Amir,For my case, I created three methods for 3D Image Segmentation with ITK and they are working quite good. Although, I would like to create an interface which can load the 3D CT/MRI Dicom images and put them in the interface and segment them and visualize it by VTK.But I have no idea about VTK and QT. From: amir.khojaste at sunnybrook.ca To: bakkari.abdelkhalek at hotmail.fr Subject: RE: [ITK-users] ITK-QT-VTK Date: Fri, 15 May 2015 14:36:17 +0000 Hi Abdelkhalek, I am struggling to do the same! All I want to do is to have a simple interface for my code that uses ITK! I have followed this link for using ITK and VTK libraries inside Qt Creator: http://blog.chasank.com/building-qt-vtk-and-itk-on-windows-7-x64/ Everything went fine except that I could not read a simple image. When I included ?itkImageFileReader.h? I had all these Linker problems. Whats your status? Could you build ITK, VTK and Qt successfully? Cheers, Amir From: Insight-users [mailto:insight-users-bounces at itk.org] On Behalf Of Abdelkhalek Bakkari Sent: May-15-15 10:29 AM To: insight-users; community at itk.org Subject: [ITK-users] ITK-QT-VTK Dear Insight users and community, I am in an emergency case. I need someone who can help me to start with VTK and QT and create a new interface for 3D Image segmentation or execute the ITK-SNAP. Best regards, Abdelkhalek Bakkari This e-mail is intended only for the named recipient(s) and may contain confidential, personal and/or health information (information which may be subject to legal restrictions on use, retention and/or disclosure). No waiver of confidence is intended by virtue of communication via the internet. Any review or distribution by anyone other than the person(s) for whom it was originally intended is strictly prohibited. If you have received this e-mail in error, please contact the sender and destroy all copies. -------------- next part -------------- An HTML attachment was scrubbed... URL: From lasso at queensu.ca Fri May 15 11:02:05 2015 From: lasso at queensu.ca (Andras Lasso) Date: Fri, 15 May 2015 15:02:05 +0000 Subject: [ITK-users] [ITK] ITK-QT-VTK In-Reply-To: References: , <639C0C4CF854594E920361562A5266BB30BCD367@SBXNG01.sw.ca> Message-ID: Amir, I would strongly advise against implementing medical image computing applications from scratch. There are many good platforms to choose from (3D Slicer, MITK, etc). It is a better investment to learn application development using these platforms than spending time with trying to solve basic problems. Also, ITK is an algorithm toolkit, so ITK mailing lists are not ideal forums for discussing application development issues. Andras From: Community [mailto:community-bounces at itk.org] On Behalf Of Abdelkhalek Bakkari Sent: Friday, May 15, 2015 10:40 AM To: Khojaste, Amir; insight-users Subject: Re: [ITK] [ITK-users] ITK-QT-VTK Hi Amir, For my case, I created three methods for 3D Image Segmentation with ITK and they are working quite good. Although, I would like to create an interface which can load the 3D CT/MRI Dicom images and put them in the interface and segment them and visualize it by VTK. But I have no idea about VTK and QT. ________________________________ From: amir.khojaste at sunnybrook.ca To: bakkari.abdelkhalek at hotmail.fr Subject: RE: [ITK-users] ITK-QT-VTK Date: Fri, 15 May 2015 14:36:17 +0000 Hi Abdelkhalek, I am struggling to do the same! All I want to do is to have a simple interface for my code that uses ITK! I have followed this link for using ITK and VTK libraries inside Qt Creator: http://blog.chasank.com/building-qt-vtk-and-itk-on-windows-7-x64/ Everything went fine except that I could not read a simple image. When I included "itkImageFileReader.h" I had all these Linker problems. Whats your status? Could you build ITK, VTK and Qt successfully? Cheers, Amir From: Insight-users [mailto:insight-users-bounces at itk.org] On Behalf Of Abdelkhalek Bakkari Sent: May-15-15 10:29 AM To: insight-users; community at itk.org Subject: [ITK-users] ITK-QT-VTK Dear Insight users and community, I am in an emergency case. I need someone who can help me to start with VTK and QT and create a new interface for 3D Image segmentation or execute the ITK-SNAP. Best regards, Abdelkhalek Bakkari This e-mail is intended only for the named recipient(s) and may contain confidential, personal and/or health information (information which may be subject to legal restrictions on use, retention and/or disclosure). No waiver of confidence is intended by virtue of communication via the internet. Any review or distribution by anyone other than the person(s) for whom it was originally intended is strictly prohibited. If you have received this e-mail in error, please contact the sender and destroy all copies. -------------- next part -------------- An HTML attachment was scrubbed... URL: From scapegoat.sarthak at gmail.com Fri May 15 13:29:28 2015 From: scapegoat.sarthak at gmail.com (Scapegoat Sarthak) Date: Fri, 15 May 2015 13:29:28 -0400 Subject: [ITK-users] [ITK] ITK-QT-VTK In-Reply-To: References: <639C0C4CF854594E920361562A5266BB30BCD367@SBXNG01.sw.ca> Message-ID: There are a ton of tutorials out there integrating Qt with either VTK or ITK or both. I would suggest to start off with trying to integrate the former 2 since they are similar. Going from VTK to ITK wouldn't be too much of an issue because of good data structure compatibility between them ( http://www.itk.org/Doxygen/html/group__ITKVtkGlue.html). Some links to start you off: http://www.qtforum.org/article/18473/tutorial-for-using-qt-with-vtk.html http://qtitkvtkhelp.blogspot.in/2013/07/itk-reader-vtk-viewer-qt-gui.html http://www.vtk.org/Wiki/VTK/Examples/Cxx/Qt/RenderWindowUIMultipleInheritance Cheers! On 15 May 2015 at 11:02, Andras Lasso wrote: > Amir, I would strongly advise against implementing medical image > computing applications from scratch. There are many good platforms to > choose from (3D Slicer, MITK, etc). It is a better investment to learn > application development using these platforms than spending time with > trying to solve basic problems. > > > > Also, ITK is an algorithm toolkit, so ITK mailing lists are not ideal > forums for discussing application development issues. > > > > Andras > > > > *From:* Community [mailto:community-bounces at itk.org] *On Behalf Of *Abdelkhalek > Bakkari > *Sent:* Friday, May 15, 2015 10:40 AM > *To:* Khojaste, Amir; insight-users > *Subject:* Re: [ITK] [ITK-users] ITK-QT-VTK > > > > > Hi Amir, > > For my case, I created three methods for 3D Image Segmentation with ITK > and they are working quite good. Although, I would like to create an > interface which can load the 3D CT/MRI Dicom images and put them in the > interface and segment them and visualize it by VTK. > > But I have no idea about VTK and QT. > > > > ------------------------------ > > From: amir.khojaste at sunnybrook.ca > To: bakkari.abdelkhalek at hotmail.fr > Subject: RE: [ITK-users] ITK-QT-VTK > Date: Fri, 15 May 2015 14:36:17 +0000 > > Hi Abdelkhalek, > > > > I am struggling to do the same! All I want to do is to have a simple > interface for my code that uses ITK! I have followed this link for using > ITK and VTK libraries inside Qt Creator: > > > > http://blog.chasank.com/building-qt-vtk-and-itk-on-windows-7-x64/ > > > > Everything went fine except that I could not read a simple image. When I > included ?itkImageFileReader.h? I had all these Linker problems. > > > > Whats your status? Could you build ITK, VTK and Qt successfully? > > > > Cheers, > > Amir > > > > *From:* Insight-users [mailto:insight-users-bounces at itk.org > ] *On Behalf Of *Abdelkhalek Bakkari > *Sent:* May-15-15 10:29 AM > *To:* insight-users; community at itk.org > *Subject:* [ITK-users] ITK-QT-VTK > > > > > Dear Insight users and community, > > > > I am in an emergency case. I need someone who can help me to start with > VTK and QT and create a new interface for 3D Image segmentation or execute > the ITK-SNAP. > > > > Best regards, > > Abdelkhalek Bakkari > > > > *This e-mail is intended only for the named recipient(s) and may contain > confidential, personal and/or health information (information which may be > subject to legal restrictions on use, retention and/or disclosure). No > waiver of confidence is intended by virtue of communication via the > internet. Any review or distribution by anyone other than the person(s) > for whom it was originally intended is strictly prohibited. If you have > received this e-mail in error, please contact the sender and destroy all > copies.* > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From p.nardelli at umail.ucc.ie Fri May 15 14:13:01 2015 From: p.nardelli at umail.ucc.ie (Pietro Nardelli) Date: Fri, 15 May 2015 19:13:01 +0100 Subject: [ITK-users] 2D rigid transformation Message-ID: Hello guys, is there a way to have a 2D rigid registration that uses a specific number of rotations and chooses the best one? I have two images that are simply rotated with respect to each other, and I would like to register them using for example 36 rotations (therefore computing the mean squared error every 10 degrees). At the moment I am using the 2DRigidTransform with a specified center, with a regular step descent optimizer and the ImageRegistrationMethodv4. I saw that the transform has the function SetFixedParameters() but I am not really sure whether I understand correctly that that would tell the optimizer the angles (and translations) to use at every iteration. Could anyone please clarify this? Thank you very much, Pietro -------------- next part -------------- An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Fri May 15 14:39:22 2015 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Fri, 15 May 2015 14:39:22 -0400 Subject: [ITK-users] 2D rigid transformation In-Reply-To: References: Message-ID: <42B9650A-1F5F-499F-9CAB-CE4826098968@mail.nih.gov> Hello, You should be able to use the ExhaustiveOptimizer to do this. Here is a SimpleITK examples which does it [1], I it should be easy enough to write it into native C++ ITK code as needed. HTH, Brad [1] http://www.itk.org/SimpleITKDoxygen/html/ImageRegistrationMethodExhaustive_8py-example.html On May 15, 2015, at 2:13 PM, Pietro Nardelli wrote: > Hello guys, > > is there a way to have a 2D rigid registration that uses a specific number of rotations and chooses the best one? I have two images that are simply rotated with respect to each other, and I would like to register them using for example 36 rotations (therefore computing the mean squared error every 10 degrees). At the moment I am using the 2DRigidTransform with a specified center, with a regular step descent optimizer and the ImageRegistrationMethodv4. I saw that the transform has the function SetFixedParameters() but I am not really sure whether I understand correctly that that would tell the optimizer the angles (and translations) to use at every iteration. Could anyone please clarify this? > > Thank you very much, > Pietro > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users From zivrafael.yaniv at nih.gov Fri May 15 14:21:35 2015 From: zivrafael.yaniv at nih.gov (Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]) Date: Fri, 15 May 2015 18:21:35 +0000 Subject: [ITK-users] 2D rigid transformation In-Reply-To: References: Message-ID: Hello Pietro, You should use the ExhaustiveOptimizerv4 (http://www.itk.org/Doxygen/html/classitk_1_1ExhaustiveOptimizerv4.html) which allows you to set a grid on which the similarity metric is evaluated. If you are familiar with python, then the following SimpleITK notebook may be of use to you (see last section): https://github.com/zivy/SimpleITK-Notebook-Staging/blob/master/registration3.ipynb regards Ziv From: Pietro Nardelli > Date: Friday, May 15, 2015 at 2:13 PM To: "insight-users at itk.org" > Subject: [ITK-users] 2D rigid transformation Hello guys, is there a way to have a 2D rigid registration that uses a specific number of rotations and chooses the best one? I have two images that are simply rotated with respect to each other, and I would like to register them using for example 36 rotations (therefore computing the mean squared error every 10 degrees). At the moment I am using the 2DRigidTransform with a specified center, with a regular step descent optimizer and the ImageRegistrationMethodv4. I saw that the transform has the function SetFixedParameters() but I am not really sure whether I understand correctly that that would tell the optimizer the angles (and translations) to use at every iteration. Could anyone please clarify this? Thank you very much, Pietro From blowekamp at mail.nih.gov Fri May 15 15:57:06 2015 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Fri, 15 May 2015 15:57:06 -0400 Subject: [ITK-users] [ANNOUNCE] SimpleITK 0.9.0 Release Message-ID: We are pleased to announce the release of SimpleITK 0.9.0! NOW WITH REGISTRATION Here is a quick overview of the ITKv4's registration in SimpleITK via IPython/Jupiter notebook: http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/60_RegistrationIntroduction.html This release features the ImageRegistrationMethod which brings a SimpleITK style interface to the modular ITKv4 registration framework. This adds support for a variety of transforms including rigid, affine, b-spline, and deformation fields. The metrics supported include correlation, means squares, ANTS neighborhood correlation, and mutual information. A variety of optimizers are available along with scales estimators for the optimized transformation parameters and built in multi-scale registration support. Additionally, a number of registration filters have been added: DemonsRegistrationFilter, DiffeomorphicDemonsRegistrationFilter, FastSymmetricForcesDemonsRegistrationFilter, LevelSetMotionRegistrationFilter and SymmetricForcesDemonsRegistrationFilter. Several examples can be found in the examples directory to help you get started. These examples include Affine registration, BSpline, Demons and Displacement fields. http://www.itk.org/SimpleITKDoxygen/html/examples.html We have also added the following filters: AdditiveGaussianNoiseImageFilter, AggregateLabelMapFilter, BinaryImageToLabelMapFilter, ChangeLabelLabelMapFilter, CollidingFrontsImageFilter, DisplacementFieldJacobianDeterminantFilter, FastMarchingBaseImageFilter, FastMarchingUpwindGradientImageFilter, InverseDisplacementFieldImageFilter, InvertDisplacementFieldImageFilter, LabelImageToLabelMapFilter, LabelShapeStatisticsImageFilter, LabelStatisticsImageFilter, LabelUniqueLabelMapFilter, MergeLabelMapFilter, RelabelLabelMapFilter, SaltAndPepperNoiseImageFilter, ShotNoiseImageFilter, SpeckleNoiseImageFilter and TransformToDisplacementFieldFilter Information on how to get started and download the binaries: http://www.itk.org/Wiki/SimpleITK/GettingStarted#Binaries Binary distributions for many platforms and languages are available for downloading: https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.9rc1/ Release Doxygen Documentation: http://www.itk.org/SimpleITKDoxygen09/html/index.html Additional Release Notes: http://www.itk.org/Wiki/SimpleITK/ReleaseNotes#SimpleITK_-_Version_0.9.0_Release Enjoy! From lluna.nova at gmail.com Fri May 15 16:22:40 2015 From: lluna.nova at gmail.com (=?UTF-8?B?UG9sIE1vbnPDsyBQdXJ0w60=?=) Date: Fri, 15 May 2015 22:22:40 +0200 Subject: [ITK-users] cannot find -lITKNumerics In-Reply-To: <1431697563588-35681.post@n7.nabble.com> References: <1431680192184-35675.post@n7.nabble.com> <1431692212015-35677.post@n7.nabble.com> <1431697563588-35681.post@n7.nabble.com> Message-ID: I don't know what C3DImage, I believe it isn't related to ITK. You have missing dependencies. Probably where the header image3d.h is, there is also a library that you have to link to. 2015-05-15 15:46 GMT+02:00 Ais : > I have changed the CMakeList.txt as you say, then I cmake it and creat a > makefile,when I make ,taht notes: > CMakeFiles/LinuxCutImage.dir/src/LinuxCutImage.o: In function `main': > LinuxCutImage.cxx:(.text.startup+0x126): undefined reference to > `C3DImage::C3DImage()' > LinuxCutImage.cxx:(.text.startup+0x13e): undefined reference to > `C3DImage::C3DImage()' > LinuxCutImage.cxx:(.text.startup+0x14e): undefined reference to > `C3DImage::ReadFromITKFile(char*)' > LinuxCutImage.cxx:(.text.startup+0x1c4): undefined reference to > `C3DImage::set_size(int, int, int)' > LinuxCutImage.cxx:(.text.startup+0x1e5): undefined reference to > `C3DImage::set_spacing(float, float, float)' > LinuxCutImage.cxx:(.text.startup+0x357): undefined reference to > `C3DImage::WriteToITKFile(char*)' > collect2: error: ld returned 1 exit status > make[2]: *** [LinuxCutImage] Error 1 > make[1]: *** [CMakeFiles/LinuxCutImage.dir/all] Error 2 > make: *** [all] Error 2 > following my LinuxCutImage.cxx > #include > #include > #include > #include > > //#include "SimpleApp.h" > #include "itkExceptionObject.h" > > #include "globaldefinition.h" > #include "commonfunctions.h" > > #include "image3d.h" > > extern int optopt; > extern int optind; > extern char *optarg; > extern int opterr; > > using namespace std; > > void showUsage(char *filename) > { > std::cout << "This program cuts an image." << std::endl; > std::cout << std::endl; > std::cout << "Usage: "< std::cout<<std::endl; > std::cout<<"program inputimage outputimage bx ex by ey bz > ez"<<std::endl; > std::cout<<std::endl; > std::cout<<"contact: zxue"<<std::endl; > } > > // main program > > int main(int argc, char *argv[]) > { > char inputimagefilename[200], outputimagefilename[200]; > int bx,ex,by,ey,bz,ez; > > if (argc==9) > { > strcpy(inputimagefilename, argv[1]); > strcpy(outputimagefilename, argv[2]); > sscanf(argv[3], "%d", &bx); > sscanf(argv[4], "%d", &ex); > sscanf(argv[5], "%d", &by); > sscanf(argv[6], "%d", &ey); > sscanf(argv[7], "%d", &bz); > sscanf(argv[8], "%d", &ez); > } > else > { > showUsage(argv[0]); > exit(1); > } > > C3DImage *inputimage, *outputimage; > inputimage = new C3DImage; > outputimage = new C3DImage; > inputimage->ReadFromITKFile(inputimagefilename); > > int XX,YY,ZZ; > > XX = ex-bx+1; > YY = ey-by+1; > ZZ = ez-bz+1; > > if ((XX<1)||(YY<1)||(ZZ<1)) > { > cout<<"The small image size you input is not correct."< showUsage(argv[0]); > exit(1); > } > > outputimage->set_size(XX,YY,ZZ); > outputimage->set_spacing(inputimage->vsX, inputimage->vsY, > inputimage->vsZ); > > int x,y,z; > int nx,ny,nz; > > for (z=0;z for (y=0;y<YY;y++) > for (x=0;x<XX;x++) > { > nx = x+bx; > ny = y+by; > nz = z+bz; > if > > ((nx>=0)&&(ny>=0)&&(nz>=0)&&(nxX)&&(nyY)&&(nzZ)) > { > outputimage->img[nz][ny][nx] = inputimage->img[z][y][x]; > } > else > outputimage->img[nz][ny][nx] = -2000; > } > > outputimage->WriteToITKFile(outputimagefilename); > return 0; > } > > > > > > -- > View this message in context: > http://itk-users.7.n7.nabble.com/cannot-find-lITKNumerics-tp35675p35681.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matimontg at gmail.com Sat May 16 20:05:46 2015 From: matimontg at gmail.com (Matias Montroull) Date: Sat, 16 May 2015 21:05:46 -0300 Subject: [ITK-users] Euler 2D transform and Fixed Center Of Rotation Affine Transform In-Reply-To: References: Message-ID: You could modify one of the examples out there using another transform and modify the parameters so that you end up with this: The first parameter is the angle in radians and the last two parameters are the translation in each dimension. On Thu, May 14, 2015 at 12:21 PM, Pietro Nardelli wrote: > Hi guys, > > I have two 2D images that I would like to register using the center of the > image as center of rotation. I found out that both the class > Euler2DTransform and FixedCenterOfRotationAffineTransform would do what I > need. What is the exact difference between the two? Is one better than the > other? Also, how do I specify the center of the image in those classes? I > haven't found any example doing that. > > Thank you very much for your help, > Pietro > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lsustc at mail.ustc.edu.cn Mon May 18 03:38:49 2015 From: lsustc at mail.ustc.edu.cn (Ais) Date: Mon, 18 May 2015 00:38:49 -0700 (MST) Subject: [ITK-users] cannot find -lITKNumerics In-Reply-To: References: <1431680192184-35675.post@n7.nabble.com> <1431692212015-35677.post@n7.nabble.com> <1431697563588-35681.post@n7.nabble.com> Message-ID: <1431934729551-35693.post@n7.nabble.com> My image3d.h is in the folder /include ,the header has defined the class C3DImage -- View this message in context: http://itk-users.7.n7.nabble.com/cannot-find-lITKNumerics-tp35675p35693.html Sent from the ITK - Users mailing list archive at Nabble.com. From p.nardelli at umail.ucc.ie Tue May 19 05:41:58 2015 From: p.nardelli at umail.ucc.ie (Pietro Nardelli) Date: Tue, 19 May 2015 10:41:58 +0100 Subject: [ITK-users] 2D rigid transformation In-Reply-To: References: Message-ID: Hi guys, thank you very much for your help. I was trying to follow the examples you sent me (converting it in native C++ ITK code), but it seems that the optimizer does not work properly. In particular, no matter the number of angles and the step length I choose, it always gives me the same result. It seems to me that the optimizer is never updating the angles, therefore it is not following the grid I create. Also the metric is always 0. There is definitely something wrong! Here is part of the script I am using and the result I always get. Am I overlooking anything? typedef itk::Euler2DTransform< double > TransformType; typedef itk::ExhaustiveOptimizerv4< double > OptimizerType; typedef itk::MeanSquaresImageToImageMetricv4< FixedInputImageType, MovingInputImageType > MetricType; typedef itk::CenteredTransformInitializer< TransformType, FixedInputImageType, MovingInputImageType > TransformInitializerType; typedef itk::ImageRegistrationMethodv4< FixedInputImageType, MovingInputImageType, TransformType > RegistrationType; typename TransformType::Pointer transform = TransformType::New(); typename MetricType::Pointer metric = MetricType::New(); typename OptimizerType::Pointer optimizer = OptimizerType::New(); typename RegistrationType::Pointer registration = RegistrationType::New(); typename TransformInitializerType::Pointer initializer = TransformInitializerType::New(); unsigned int angles = 12; OptimizerType::StepsType steps( transform->GetNumberOfParameters() ); steps[0] = int(angles/2); steps[1] = 0; steps[2] = 0; optimizer->SetNumberOfSteps( steps ); OptimizerType::ScalesType scales( transform->GetNumberOfParameters() ); scales[0] = 2.0 * vnl_math::pi / angles; scales[1] = 1.0; scales[2] = 1.0; optimizer->SetScales( scales ); initializer->SetTransform( transform ); initializer->SetFixedImage( fixImage ); initializer->SetMovingImage( movImage ); //initializer->GeometryOn(); initializer->InitializeTransform(); // Initialize registration registration->SetMetric( metric ); registration->SetOptimizer( optimizer ); registration->SetFixedImage( fixedImage ); registration->SetMovingImage( movingImage ); registration->SetInitialTransform( transform ); try { registration->Update(); } catch( itk::ExceptionObject & err ) { std::cerr << "ExceptionObject caught !" << std::endl; std::cerr << err << std::endl; return EXIT_FAILURE; } Result: Final parameters: [-1.8849555921538759, -40, 40] Result = Metric value = 0 Angle (rad) = -1.88496 Angle (degrees) = -108 Iterations = 13 Rotation Center = [225.5, 185.5] ExhaustiveOptimizerv4: Completed sampling of parametric space of size 3 Thank you very much, Pietro Pietro Nardelli*, MEngSc, BE* Ph.D Candidate School of Engineering Electrical & Electronic Engineering University College Cork College Road Cork, Ireland On Fri, May 15, 2015 at 7:21 PM, Yaniv, Ziv Rafael (NIH/NLM/LHC) [C] < zivrafael.yaniv at nih.gov> wrote: > Hello Pietro, > > You should use the ExhaustiveOptimizerv4 ( > http://www.itk.org/Doxygen/html/classitk_1_1ExhaustiveOptimizerv4.html) > which allows you to set a grid on which the similarity metric is evaluated. > > If you are familiar with python, then the following SimpleITK notebook may > be of use to you (see last section): > https://github.com/zivy/SimpleITK-Notebook-Staging/blob/master/registration3.ipynb > > regards > Ziv > > From: Pietro Nardelli p.nardelli at umail.ucc.ie>> > Date: Friday, May 15, 2015 at 2:13 PM > To: "insight-users at itk.org" < > insight-users at itk.org> > Subject: [ITK-users] 2D rigid transformation > > Hello guys, > > is there a way to have a 2D rigid registration that uses a specific number > of rotations and chooses the best one? I have two images that are simply > rotated with respect to each other, and I would like to register them using > for example 36 rotations (therefore computing the mean squared error every > 10 degrees). At the moment I am using the 2DRigidTransform with a specified > center, with a regular step descent optimizer and the > ImageRegistrationMethodv4. I saw that the transform has the function > SetFixedParameters() but I am not really sure whether I understand > correctly that that would tell the optimizer the angles (and translations) > to use at every iteration. Could anyone please clarify this? > > Thank you very much, > Pietro > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at insightsoftwareconsortium.org Tue May 19 09:34:07 2015 From: noreply at insightsoftwareconsortium.org (Insight Journal) Date: Tue, 19 May 2015 09:34:07 -0400 (EDT) Subject: [ITK-users] New Submission: Anisotropic Diffusion in ITK Message-ID: <20150519133407.A2F8A3D620C6@insight-journal.org> Hello, A new submission has been added to the Insight Journal. Title: Anisotropic Diffusion in ITK Authors: Mirebeau J., Fehrenbach J., Risser L., Tobji S. Abstract: Anisotropic Non-Linear Diffusion is a powerful image processing technique, which allows to simultaneously remove the noise and enhance sharp features in two or three dimensional images. Anisotropic Diffusion is understood here in the sense of Weickert, meaning that diffusion tensors are anisotropic and reflect the local orientation of image features. This is in contrast with the non-linear diffusion filter of Perona and Malik, which only involves scalar diffusion coefficients, in other words isotropic diffusion tensors. In this paper, we present an anisotropic non-linear diffusion technique we implemented in ITK. This technique is based on a recent adaptive scheme making the diffusion stable and requiring limited numerical resources. Download and review this publication at: http://hdl.handle.net/10380/3505 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 visit http://www.insight-journal.org/ . From noreply at insightsoftwareconsortium.org Tue May 19 09:35:41 2015 From: noreply at insightsoftwareconsortium.org (Insight Journal) Date: Tue, 19 May 2015 09:35:41 -0400 (EDT) Subject: [ITK-users] New Submission: N-Dimensional Phase Unwrapping Message-ID: <20150519133541.8D4373D621EE@insight-journal.org> Hello, A new submission has been added to the Insight Journal. Title: N-Dimensional Phase Unwrapping Authors: Vigneault D., Wang W., Tee M., Bluemke D., Noble A. Abstract: Although phase data can take on any value, it is generally only possible to measure phase as a principle value, i.e., wrapped within the range (-pi,pi]. Determining the unwrapped phase from its principle value is a topic of considerable interest in magnetic resonance imaging (MRI), as well as many non-medical disciplines. Despite their importance in image analysis, filters for manipulating phase information have not been incorporated into ITK. This article introduces the ITKPhase module, containing filters useful for understanding, analyzing, and unwrapping n-dimensional phase data, and also serves as a practical introduction to phase unwrapping. Download and review this publication at: http://hdl.handle.net/10380/3516 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 visit http://www.insight-journal.org/ . From bill.lorensen at gmail.com Tue May 19 11:20:06 2015 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Tue, 19 May 2015 11:20:06 -0400 Subject: [ITK-users] 2D rigid transformation In-Reply-To: References: Message-ID: It would be useful if you included a compilable, minimal example. I include your code snippet in a small program that reads two files and performs the optimization. I ran it with the fixed and moving set to the same image. Here are my results: InitialPosition = [-6.283185307179586, 0, 0] CurrentValue = 3528.15 NumberOfSteps = [6, 0, 0] Stop = 1 StepLength = 1 CurrentIndex = [0, 0, 0] MaximumMetricValue = 3528.15 MinimumMetricValue = 4.50585e-27 MinimumMetricValuePosition = [-6.283185307179586, 0, 0] MaximumMetricValuePosition = [-3.141592653589793, 0, 0] I suspect that your images are filled with zeroes. You do not show how you populate the images. Here is my code: #include "itkImageFileReader.h" #include "itkEuler2DTransform.h" #include "itkExhaustiveOptimizerv4.h" #include "itkMeanSquaresImageToImageMetricv4.h" #include "itkCenteredTransformInitializer.h" #include "itkImageRegistrationMethodv4.h" #include "itkImage.h" int main (int argc, char *argv[]) { if (argc < 3) { std::cout << "Usage: " << argv[0] << " fixedImage movingImage" << std::endl; return EXIT_FAILURE; } typedef itk::Image FixedImageType; typedef itk::Image MovingImageType; typedef itk::ImageFileReader FixedImageReaderType; typedef itk::ImageFileReader MovingImageReaderType; typedef itk::Euler2DTransform< double > TransformType; typedef itk::ExhaustiveOptimizerv4< double > OptimizerType; typedef itk::MeanSquaresImageToImageMetricv4< FixedImageType, MovingImageType > MetricType; typedef itk::CenteredTransformInitializer< TransformType, FixedImageType, MovingImageType > TransformInitializerType; typedef itk::ImageRegistrationMethodv4< FixedImageType, MovingImageType, TransformType > RegistrationType; FixedImageReaderType::Pointer fixedImageReader = FixedImageReaderType::New(); MovingImageReaderType::Pointer movingImageReader = MovingImageReaderType::New(); FixedImageType::Pointer fixedImage = FixedImageType::New(); MovingImageType::Pointer movingImage = MovingImageType::New(); TransformType::Pointer transform = TransformType::New(); MetricType::Pointer metric = MetricType::New(); OptimizerType::Pointer optimizer = OptimizerType::New(); RegistrationType::Pointer registration = RegistrationType::New(); TransformInitializerType::Pointer initializer = TransformInitializerType::New(); fixedImageReader->SetFileName (argv[1]); fixedImageReader->Update(); fixedImage = fixedImageReader->GetOutput(); movingImageReader->SetFileName (argv[2]); movingImageReader->Update(); movingImage = movingImageReader->GetOutput(); unsigned int angles = 12; OptimizerType::StepsType steps( transform->GetNumberOfParameters() ); steps[0] = int(angles/2); steps[1] = 0; steps[2] = 0; optimizer->SetNumberOfSteps( steps ); OptimizerType::ScalesType scales( transform->GetNumberOfParameters() ); scales[0] = 2.0 * vnl_math::pi / angles; scales[1] = 1.0; scales[2] = 1.0; optimizer->SetScales( scales ); initializer->SetTransform( transform ); initializer->SetFixedImage( fixedImage ); initializer->SetMovingImage( movingImage ); initializer->InitializeTransform(); // Initialize registration registration->SetMetric( metric ); registration->SetOptimizer( optimizer ); registration->SetFixedImage( fixedImage ); registration->SetMovingImage( movingImage ); registration->SetInitialTransform( transform ); try { registration->Update(); optimizer->Print(std::cout); } catch( itk::ExceptionObject & err ) { std::cerr << "ExceptionObject caught !" << std::endl; std::cerr << err << std::endl; return EXIT_FAILURE; } return EXIT_SUCCESS; } On Tue, May 19, 2015 at 5:41 AM, Pietro Nardelli wrote: > Hi guys, > > thank you very much for your help. I was trying to follow the examples you > sent me (converting it in native C++ ITK code), but it seems that the > optimizer does not work properly. In particular, no matter the number of > angles and the step length I choose, it always gives me the same result. It > seems to me that the optimizer is never updating the angles, therefore it is > not following the grid I create. Also the metric is always 0. There is > definitely something wrong! Here is part of the script I am using and the > result I always get. Am I overlooking anything? > > typedef itk::Euler2DTransform< double > > TransformType; > typedef itk::ExhaustiveOptimizerv4< double > > OptimizerType; > typedef itk::MeanSquaresImageToImageMetricv4< FixedInputImageType, > MovingInputImageType > MetricType; > typedef itk::CenteredTransformInitializer< TransformType, > FixedInputImageType, MovingInputImageType > TransformInitializerType; > typedef itk::ImageRegistrationMethodv4< FixedInputImageType, > MovingInputImageType, TransformType > RegistrationType; > > typename TransformType::Pointer transform = > TransformType::New(); > typename MetricType::Pointer metric = > MetricType::New(); > typename OptimizerType::Pointer optimizer = > OptimizerType::New(); > typename RegistrationType::Pointer registration = > RegistrationType::New(); > typename TransformInitializerType::Pointer initializer = > TransformInitializerType::New(); > > unsigned int angles = 12; > OptimizerType::StepsType steps( transform->GetNumberOfParameters() ); > steps[0] = int(angles/2); > steps[1] = 0; > steps[2] = 0; > optimizer->SetNumberOfSteps( steps ); > > OptimizerType::ScalesType scales( transform->GetNumberOfParameters() ); > scales[0] = 2.0 * vnl_math::pi / angles; > scales[1] = 1.0; > scales[2] = 1.0; > > optimizer->SetScales( scales ); > > initializer->SetTransform( transform ); > initializer->SetFixedImage( fixImage ); > initializer->SetMovingImage( movImage ); > //initializer->GeometryOn(); > initializer->InitializeTransform(); > > // Initialize registration > registration->SetMetric( metric ); > registration->SetOptimizer( optimizer ); > registration->SetFixedImage( fixedImage ); > registration->SetMovingImage( movingImage ); > registration->SetInitialTransform( transform ); > > try > { > registration->Update(); > } > catch( itk::ExceptionObject & err ) > { > std::cerr << "ExceptionObject caught !" << std::endl; > std::cerr << err << std::endl; > return EXIT_FAILURE; > } > > Result: > > Final parameters: [-1.8849555921538759, -40, 40] > Result = > Metric value = 0 > Angle (rad) = -1.88496 > Angle (degrees) = -108 > Iterations = 13 > Rotation Center = [225.5, 185.5] > ExhaustiveOptimizerv4: Completed sampling of parametric space of size 3 > > > Thank you very much, > Pietro > > Pietro Nardelli, MEngSc, BE > > Ph.D Candidate > > School of Engineering > > Electrical & Electronic Engineering > > University College Cork > > College Road > > Cork, Ireland > > > On Fri, May 15, 2015 at 7:21 PM, Yaniv, Ziv Rafael (NIH/NLM/LHC) [C] > wrote: >> >> Hello Pietro, >> >> You should use the ExhaustiveOptimizerv4 >> (http://www.itk.org/Doxygen/html/classitk_1_1ExhaustiveOptimizerv4.html) >> which allows you to set a grid on which the similarity metric is evaluated. >> >> If you are familiar with python, then the following SimpleITK notebook may >> be of use to you (see last section): >> https://github.com/zivy/SimpleITK-Notebook-Staging/blob/master/registration3.ipynb >> >> regards >> Ziv >> >> From: Pietro Nardelli >> > >> Date: Friday, May 15, 2015 at 2:13 PM >> To: "insight-users at itk.org" >> > >> Subject: [ITK-users] 2D rigid transformation >> >> Hello guys, >> >> is there a way to have a 2D rigid registration that uses a specific number >> of rotations and chooses the best one? I have two images that are simply >> rotated with respect to each other, and I would like to register them using >> for example 36 rotations (therefore computing the mean squared error every >> 10 degrees). At the moment I am using the 2DRigidTransform with a specified >> center, with a regular step descent optimizer and the >> ImageRegistrationMethodv4. I saw that the transform has the function >> SetFixedParameters() but I am not really sure whether I understand correctly >> that that would tell the optimizer the angles (and translations) to use at >> every iteration. Could anyone please clarify this? >> >> Thank you very much, >> Pietro >> >> > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > -- Unpaid intern in BillsBasement at noware dot com From blowekamp at mail.nih.gov Tue May 19 14:05:40 2015 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Tue, 19 May 2015 14:05:40 -0400 Subject: [ITK-users] [ITK] Pipeline crash when ReleaseDataFlagOn In-Reply-To: References: Message-ID: <0961C73C-A8B2-486C-AF79-8E2B97357D23@mail.nih.gov> Hello, I am not sure what you mean by crash. Segfault? Exception? I believe I have fixed the issue in the patch I have submitted to gerrit for review [1]. The CannyEdgeDectionImageFilter is unfortunately not very memory efficient in ITK. Brad [1] http://review.source.kitware.com/#/c/19795/ On May 14, 2015, at 8:46 PM, Weldon wrote: > Hello All, > > I have a simple Canny Edge detection pipeline, since the data is very big, I used ReleaseDataFlag in the pipeline. However, it will crash with Flag on. The code runs ok when I comments the flagon two lines. My codes are as following, could anybody tell me why? thanks > > int main(int argc, char* argv[]) > { > typedef signed short InputPixelType; > typedef unsigned char OutputPixelType; > const unsigned int Dimension = 3; > typedef itk::Image< InputPixelType, Dimension > InputImageType; > typedef itk::Image< OutputPixelType, Dimension > OutputImageType; > typedef itk::ImageFileReader< InputImageType > ReaderType; > ReaderType::Pointer reader = ReaderType::New(); > reader->SetFileName( argv[1] ); > typedef itk::GDCMImageIO ImageIOType; > ImageIOType::Pointer gdcmImageIO = ImageIOType::New(); > reader->SetImageIO( gdcmImageIO ); > reader->update(); > > InputImageType::Pointer pimg = reader->GetOutput(); > > OutputImageType::Pointer pmask = OutputImageType::New(); > > CannyEdgeDetection(pimg.GetPointer(), pmask.GetPointer()); > } > > template > void CannyEdgeDetection(typename TInput *inImage, typename TOutput *outImage) > { > typedef float PixelType; > const unsigned int Dimension = 3; > typedef itk::Image< PixelType, Dimension > InternalImageType; > typedef itk::CastImageFilter< TInput, InternalImageType> CastFilterType; > typedef itk::CannyEdgeDetectionImageFilter FilterType; > typedef itk::RescaleIntensityImageFilter< InternalImageType, TOutput > RescaleType; > > CastFilterType::Pointer castFilter = CastFilterType::New(); > FilterType::Pointer cannyFilter = FilterType::New(); > RescaleType::Pointer rescaler = RescaleType::New(); > > cannyFilter->SetVariance( 2.0 ); > cannyFilter->SetUpperThreshold( 10.0); > cannyFilter->SetLowerThreshold( 0.5); > > rescaler->SetOutputMinimum( 0 ); > rescaler->SetOutputMaximum( 255 ); > > castFilter->ReleaseDataFlagOn(); > cannyFilter->ReleaseDataFlagOn(); //When rescaler->Update() exec, it will crash > > castFilter->SetInput(inImage); > cannyFilter->SetInput(castFilter->GetOutput()); > rescaler->SetInput( cannyFilter->GetOutput() ); > > rescaler->Update(); //crash here > > //deepcopy codes to copy data from rescaler to outImage > } > > > -- > Yours sincerely, > Weldon > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community -------------- next part -------------- An HTML attachment was scrubbed... URL: From mel88 at pitt.edu Tue May 19 20:44:10 2015 From: mel88 at pitt.edu (Lefkowitz, Matthew E) Date: Wed, 20 May 2015 00:44:10 +0000 Subject: [ITK-users] sitk::ERROR Unable to determine ImageIO Reader Message-ID: ? I recently upgraded my SimpleITK version up to the newest version, version .9.0rc1. Since the upgrade, I have not been able to load .tiff images into simpleITK and I cannot figure out why. It is worth noting that it is not a memory issue as I have used test images in the .tiff format and I still obtained the same errors. Furthermore, I am running SimpleITK in 64 bit python as I needed the extra memory in past projects I worked on. In order to test finally whether the issue originates from the code or from SimpleITK errors, I ran a set of old code (which I know worked) and it gave me the same error. I attached a screenshot of the error below. As you can (or cannot) see, I receive the error: sitk::ERROR: Unable to determine ImageIO reader for ?C:\MIIA\Kim_Lab\Liver\test.tiff?. [cid:Image753.png at 14d6ec543872f2] I would greatly appreciate any help. If any more information is needed from me in order to resolve the problem, please let me know. Sincerely, Matt Lefkowitz -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Image753.png Type: image/png Size: 165110 bytes Desc: Image753.png URL: From g.bogle at auckland.ac.nz Wed May 20 00:49:19 2015 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Wed, 20 May 2015 04:49:19 +0000 Subject: [ITK-users] Link ITK libraries statically Message-ID: I am using cmake and VS2010 to build an ITK application on Windows (also using Qt, but that is not relevant I think). I want to give the executable to a colleague, but I'd rather not have to transfer the 16 ITK DLLs as well. Is there a way to build my application so that the ITK libraries are linked statically? A related question: I am using ITK in this program only to read and write tiff images. Is there a way to limit the libraries that are linked to just those that are needed? Thanks Gib -------------- next part -------------- An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Wed May 20 09:38:20 2015 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Wed, 20 May 2015 09:38:20 -0400 Subject: [ITK-users] Link ITK libraries statically In-Reply-To: References: Message-ID: <4A82B801-D864-4973-9343-694E5B0327D0@mail.nih.gov> Hello, Does the CMake variable BUILD_SHARED_LIBS meet your needs? Brad On May 20, 2015, at 12:49 AM, Gib Bogle wrote: > I am using cmake and VS2010 to build an ITK application on Windows (also using Qt, but that is not relevant I think). I want to give the executable to a colleague, but I'd rather not have to transfer the 16 ITK DLLs as well. Is there a way to build my application so that the ITK libraries are linked statically? > A related question: I am using ITK in this program only to read and write tiff images. Is there a way to limit the libraries that are linked to just those that are needed? > > Thanks > Gib > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From fedorov at bwh.harvard.edu Wed May 20 09:39:30 2015 From: fedorov at bwh.harvard.edu (Andriy Fedorov) Date: Wed, 20 May 2015 13:39:30 +0000 Subject: [ITK-users] Fwd: Regularizing b-spline deformation in ITKv4 In-Reply-To: References: Message-ID: (this was sent to community@ list yesterday, but apparently it does not get forwarded to itk-users@ list) Hi, we are in the process of evaluating the possibility of migrating workflows from ITKv3 to ITKv4 b-spline based registration (see details here [1]). One issue that is becoming apparent is that sometime the deformations we are getting with ITKv4 lack are a lot more irregular and unrealistic than what we used to get in ITKv3 (see case 9 on the page referenced). At the ITK community hangout last week it was suggested that there are some ways in ITKv4 to add regularization to b-spline transformation. Is there an example of b-spline regularization we could follow to see how this should be done? Is there a significant performance hit if this regularization is used? Thanks AF [1] http://www.na-mic.org/Wiki/index.php/BRAINSFit_prostate_registration The information in this e-mail is intended only for the person to whom it is addressed. If you believe this e-mail was sent to you in error and the e-mail contains patient information, please contact the Partners Compliance HelpLine at http://www.partners.org/complianceline . If the e-mail was sent to you in error but does not contain patient information, please contact the sender and properly dispose of the e-mail. -------------- next part -------------- An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Wed May 20 10:01:34 2015 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Wed, 20 May 2015 10:01:34 -0400 Subject: [ITK-users] sitk::ERROR Unable to determine ImageIO Reader In-Reply-To: References: Message-ID: <29CC222C-671B-443D-8E66-AB4ABAB20714@mail.nih.gov> Hello, This error message may need to be improved [1]. I think your file name does not exist. Try assigning your filename string to a variable. This will enable inspection of the variable's value and checking os.path.isfile() to determine if it exists. You may want to look into using Python raw strings for windows paths [2]. I think that if you pass a filename to SimpleITK with forward slashes it should still work too. Also SimpleITK 0.9.0 is now out :) HTH, Brad [1] https://issues.itk.org/jira/browse/SIMPLEITK-638 [2] https://docs.python.org/2/tutorial/introduction.html#strings Also your filename string contains python escaped sequences. Using the Windows contentions of backslashes for filenames is very problematic. On May 19, 2015, at 8:44 PM, Lefkowitz, Matthew E wrote: > ? > > I recently upgraded my SimpleITK version up to the newest version, version .9.0rc1. Since the upgrade, I have not been able to load .tiff images into simpleITK and I cannot figure out why. It is worth noting that it is not a memory issue as I have used test images in the .tiff format and I still obtained the same errors. Furthermore, I am running SimpleITK in 64 bit python as I needed the extra memory in past projects I worked on. In order to test finally whether the issue originates from the code or from SimpleITK errors, I ran a set of old code (which I know worked) and it gave me the same error. I attached a screenshot of the error below. As you can (or cannot) see, I receive the error: sitk::ERROR: Unable to determine ImageIO reader for ?C:\MIIA\Kim_Lab\Liver\test.tiff?. > > > > I would greatly appreciate any help. If any more information is needed from me in order to resolve the problem, please let me know. > > Sincerely, > Matt Lefkowitz > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From davis.vigneault at gmail.com Wed May 20 12:04:41 2015 From: davis.vigneault at gmail.com (DVigneault) Date: Wed, 20 May 2015 09:04:41 -0700 (MST) Subject: [ITK-users] EuclideanDistancePointMetric: Error when comparing Mesh to QuadEdgeMesh Message-ID: <1432137881391-7587372.post@n2.nabble.com> All-- I'm attempting to use itk::EuclideanDistancePointMetric to compare an itk::Mesh to an itk::QuadEdgeMesh. This works as expected if templated over two meshes of the same type (i.e., itk::Mesh and itk::Mesh or itk::QuadEdgeMesh and itk::QuadEdgeMesh). However, if I attempt to mix the two, and compare an itk::Mesh and an itk::QuadEdgeMesh, I get a build error, copied below, along with a minimal example of the problem. I'm having some trouble decoding the error, but it looks to me as though the filter is having trouble converting between iterator types. Does this have something to do with a difference between how itk::Mesh and itk::QuadEdgeMesh define their iterators? Thank you in advance for your help! Best, --Davis #include "itkQuadEdgeMesh.h" #include "itkRegularSphereMeshSource.h" #include "itkEuclideanDistancePointMetric.h" #include "itkIdentityTransform.h" typedef itk::Mesh< double, 3 > TFMesh; // If you change this to itk::QuadEdgeMesh, it works typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change this to itk::Mesh, it also works typedef itk::RegularSphereMeshSource< TFMesh > TFSource; typedef itk::RegularSphereMeshSource< TMMesh > TMSource; typedef itk::EuclideanDistancePointMetric< TFMesh, TMMesh > TMetric; typedef itk::IdentityTransform< double, 3 > TIdentity; int main(int argc, char ** argv) { TFSource::Pointer fixed = TFSource::New(); fixed->Update(); TMSource::Pointer moving = TMSource::New(); moving->Update(); TIdentity::Pointer identity = TIdentity::New(); TMetric::Pointer metric = TMetric::New(); metric->SetFixedPointSet( fixed->GetOutput() ); metric->SetMovingPointSet( moving->GetOutput() ); metric->SetTransform( identity ); std::cout << metric->GetValue(identity->GetParameters()) << std::endl; return EXIT_SUCCESS; } $ make Scanning dependencies of target AmoebaOptimization [100%] Building CXX object CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o In file included from /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.h:125:0, from /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:3: /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx: In instantiation of ?itk::EuclideanDistancePointMetric::MeasureType itk::EuclideanDistancePointMetric::GetValue(const TransformParametersType&) const [with TFixedPointSet = itk::Mesh; TMovingPointSet = itk::QuadEdgeMesh; TDistanceMap = itk::Image; itk::EuclideanDistancePointMetric::MeasureType = itk::Array; itk::EuclideanDistancePointMetric::TransformParametersType = itk::OptimizerParameters]?: /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:28:58: required from here /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:74:63: error: conversion from ?itk::MapContainer > >::ConstIterator? to non-scalar type ?itk::EuclideanDistancePointMetric, itk::QuadEdgeMesh >::PointIterator {aka itk::VectorContainer >::ConstIterator}? requested PointIterator pointItr = movingPointSet->GetPoints()->Begin(); ^ /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:75:61: error: conversion from ?itk::MapContainer > >::ConstIterator? to non-scalar type ?itk::EuclideanDistancePointMetric, itk::QuadEdgeMesh >::PointIterator {aka itk::VectorContainer >::ConstIterator}? requested PointIterator pointEnd = movingPointSet->GetPoints()->End(); ^ make[2]: *** [CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o] Error 1 make[1]: *** [CMakeFiles/AmoebaOptimization.dir/all] Error 2 make: *** [all] Error 2 -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/EuclideanDistancePointMetric-Error-when-comparing-Mesh-to-QuadEdgeMesh-tp7587372.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From p.nardelli at umail.ucc.ie Wed May 20 12:33:33 2015 From: p.nardelli at umail.ucc.ie (Pietro Nardelli) Date: Wed, 20 May 2015 17:33:33 +0100 Subject: [ITK-users] Video frame capture in itk Message-ID: Hello, I was wondering if it exists in ITK a class to capture a video frame, that is if I have a live video coming from a camera connected to my PC, can I capture a frame of that video using an ITK class? I know that there is something in OpenCV that enables that and I was wondering if there was something similar in ITK. Thank you very much, Pietro -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Wed May 20 15:27:00 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 20 May 2015 15:27:00 -0400 Subject: [ITK-users] Video frame capture in itk In-Reply-To: References: Message-ID: Hi Pietro, ITK has video processing abilities and bridges to both OpenCV and VXL. See: http://www.itk.org/Doxygen/html/group__Group-Video.html here is material from a tutorial: https://github.com/InsightSoftwareConsortium/ITK-OpenCV-Bridge-Tutorial http://www.kitware.com/blog/home/post/144 Hope this helps, Matt On Wed, May 20, 2015 at 12:33 PM, Pietro Nardelli wrote: > Hello, > > I was wondering if it exists in ITK a class to capture a video frame, that > is if I have a live video coming from a camera connected to my PC, can I > capture a frame of that video using an ITK class? I know that there is > something in OpenCV that enables that and I was wondering if there was > something similar in ITK. > > Thank you very much, > Pietro > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Wed May 20 16:42:24 2015 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Wed, 20 May 2015 20:42:24 +0000 Subject: [ITK-users] Link ITK libraries statically In-Reply-To: <4A82B801-D864-4973-9343-694E5B0327D0@mail.nih.gov> References: , <4A82B801-D864-4973-9343-694E5B0327D0@mail.nih.gov> Message-ID: Hi Brad, Maybe it does, but not the way I'm doing it. I am building with Qt Creator. In CMakeLists.txt I have: OPTION(BUILD_SHARED_LIBS "Build package with shared libraries." OFF) and in CMakeCache.txt I see: BUILD_SHARED_LIBS:BOOL=OFF but the executable is still built using all shared libraries. I also set OPTION(CMAKE_EXE_LINKER_FLAGS "-static") but this seems to have no effect as well. Is this something to do with Qt Creator, which under the hood uses qmake? Thanks Gib ________________________________ From: Bradley Lowekamp [blowekamp at mail.nih.gov] Sent: Thursday, 21 May 2015 1:38 a.m. To: Gib Bogle Cc: insight-users at itk.org Subject: Re: [ITK-users] Link ITK libraries statically Hello, Does the CMake variable BUILD_SHARED_LIBS meet your needs? Brad On May 20, 2015, at 12:49 AM, Gib Bogle > wrote: I am using cmake and VS2010 to build an ITK application on Windows (also using Qt, but that is not relevant I think). I want to give the executable to a colleague, but I'd rather not have to transfer the 16 ITK DLLs as well. Is there a way to build my application so that the ITK libraries are linked statically? A related question: I am using ITK in this program only to read and write tiff images. Is there a way to limit the libraries that are linked to just those that are needed? Thanks Gib _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From drescherjm at gmail.com Wed May 20 16:45:24 2015 From: drescherjm at gmail.com (John Drescher) Date: Wed, 20 May 2015 16:45:24 -0400 Subject: [ITK-users] Link ITK libraries statically In-Reply-To: References: <4A82B801-D864-4973-9343-694E5B0327D0@mail.nih.gov> Message-ID: > Maybe it does, but not the way I'm doing it. I am building with Qt Creator. > In CMakeLists.txt I have: > OPTION(BUILD_SHARED_LIBS "Build package with shared libraries." OFF) > and in CMakeCache.txt I see: > BUILD_SHARED_LIBS:BOOL=OFF > but the executable is still built using all shared libraries. Are you talking about building ITK here or your application? ITK is what needs to be rebuilt with the shared libs off. John From drescherjm at gmail.com Wed May 20 17:00:43 2015 From: drescherjm at gmail.com (John Drescher) Date: Wed, 20 May 2015 17:00:43 -0400 Subject: [ITK-users] Link ITK libraries statically In-Reply-To: References: <4A82B801-D864-4973-9343-694E5B0327D0@mail.nih.gov> Message-ID: > I'm talking about building my application, hence my confusion. > > I observe that when BUILD_SHARED_LIBS is ticked in the ITK build both .dlls and .libs are built. Am I missing something? The .libs built are import libraries needed for the dlls not static libraries. You need to rebuild ITK with BUILD_SHARED_LIBS off. John From g.bogle at auckland.ac.nz Wed May 20 17:06:59 2015 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Wed, 20 May 2015 21:06:59 +0000 Subject: [ITK-users] Link ITK libraries statically In-Reply-To: References: <4A82B801-D864-4973-9343-694E5B0327D0@mail.nih.gov> , Message-ID: Thanks John. I think I knew this once... Considering that in some situations I will want to use the DLLs, overall it might be simpler to stick with what I have and copy the DLLs. Cheers Gib ________________________________________ From: John Drescher [drescherjm at gmail.com] Sent: Thursday, 21 May 2015 9:00 a.m. To: Gib Bogle; Insight-Users Subject: Re: [ITK-users] Link ITK libraries statically > I'm talking about building my application, hence my confusion. > > I observe that when BUILD_SHARED_LIBS is ticked in the ITK build both .dlls and .libs are built. Am I missing something? The .libs built are import libraries needed for the dlls not static libraries. You need to rebuild ITK with BUILD_SHARED_LIBS off. John From fedorov at bwh.harvard.edu Wed May 20 17:08:00 2015 From: fedorov at bwh.harvard.edu (Andriy Fedorov) Date: Wed, 20 May 2015 17:08:00 -0400 Subject: [ITK-users] Regularizing b-spline deformation in ITKv4 In-Reply-To: <0823CE06-7979-463C-B936-C9A7CE0D416C@gmail.com> References: <0823CE06-7979-463C-B936-C9A7CE0D416C@gmail.com> Message-ID: Nick, we are comparing BRAINSFit in Slicer3 that was based on ITKv3 vs BRAINSFit in Slicer4 based on ITKv4. We have been using BRAINSFit/Slicer3 for a long time on a large number of clinical research cases and we've been reasonably happy with the results. We need something that is integrated in Slicer, or can be implemented in SimpleITK relatively easily. We need a tool that produces a reasonable result within 2 minutes of computation, without the need to change parameters depending on the dataset. So these are basically our constraints. We were hoping we could improve BRAINSFit/Slicer4 by adding a regularizer, or implement a subset of BRAINSFit functionality in SimpleITK. AF On Wed, May 20, 2015 at 11:39 AM, Nicholas Tustison wrote: > Hi Andriy, > > How are you comparing ITKv3 with ITKv4? I assume you?re running > ITKv3 through BRAINSFit but how are you running ITKv4? > > There are a couple of alternative B-spline methods if you?re interested. > There?s B-spline SyN which is described here > > http://www.ncbi.nlm.nih.gov/pubmed/24409140 > > and > > a Demon?s like B-spline algorithm described here > > http://www.ncbi.nlm.nih.gov/pubmed/19171516 > > which both offer different regularization options that are available in > ITKv4. However, alternative explicit regularization models, such as > thin plate splines, are not available in ITKv4. > > Nick > > > > > > On May 19, 2015, at 5:38 PM, Andriy Fedorov wrote: > > Hi, > > we are in the process of evaluating the possibility of migrating > workflows from ITKv3 to ITKv4 b-spline based registration (see details > here [1]). > > One issue that is becoming apparent is that sometime the deformations > we are getting with ITKv4 lack are a lot more irregular and > unrealistic than what we used to get in ITKv3 (see case 9 on the page > referenced). > > At the ITK community hangout last week it was suggested that there are > some ways in ITKv4 to add regularization to b-spline transformation. > > Is there an example of b-spline regularization we could follow to see > how this should be done? Is there a significant performance hit if > this regularization is used? > > Thanks > > AF > > [1] http://www.na-mic.org/Wiki/index.php/BRAINSFit_prostate_registration > > > The information in this e-mail is intended only for the person to whom it is > addressed. If you believe this e-mail was sent to you in error and the > e-mail > contains patient information, please contact the Partners Compliance > HelpLine at > http://www.partners.org/complianceline . If the e-mail was sent to you in > error > but does not contain patient information, please contact the sender and > properly > dispose of the e-mail. > > From arnaudgelas at gmail.com Thu May 21 02:55:34 2015 From: arnaudgelas at gmail.com (Arnaud Gelas) Date: Thu, 21 May 2015 08:55:34 +0200 Subject: [ITK-users] EuclideanDistancePointMetric: Error when comparing Mesh to QuadEdgeMesh In-Reply-To: <1432137881391-7587372.post@n2.nabble.com> References: <1432137881391-7587372.post@n2.nabble.com> Message-ID: Hi Davis, If you use the ITKv4 version of Metric, it compiles and works fine! ? Here is the code #include "itkQuadEdgeMesh.h" #include "itkRegularSphereMeshSource.h" #include "itkEuclideanDistancePointSetToPointSetMetricv4.h" #include "itkIdentityTransform.h" typedef itk::Mesh< double, 3 > TFMesh; // If you change this to itk::QuadEdgeMesh, it works typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change this to itk::Mesh, it also works typedef itk::RegularSphereMeshSource< TFMesh > TFSource; typedef itk::RegularSphereMeshSource< TMMesh > TMSource; typedef itk::EuclideanDistancePointSetToPointSetMetricv4< TFMesh, TMMesh > TMetric; typedef itk::IdentityTransform< double, 3 > TIdentity; int main(int argc, char ** argv) { TFSource::Pointer fixed = TFSource::New(); fixed->Update(); TMSource::Pointer moving = TMSource::New(); moving->Update(); TIdentity::Pointer identity = TIdentity::New(); TMetric::Pointer metric = TMetric::New(); metric->SetFixedPointSet( fixed->GetOutput() ); metric->SetMovingPointSet( moving->GetOutput() ); metric->SetTransform( identity ); std::cout << metric->GetValue() << std::endl; return EXIT_SUCCESS; } > On 20 May 2015, at 18:04, DVigneault wrote: > > All-- > > I'm attempting to use itk::EuclideanDistancePointMetric to compare an > itk::Mesh to an itk::QuadEdgeMesh. This works as expected if templated over > two meshes of the same type (i.e., itk::Mesh and itk::Mesh or > itk::QuadEdgeMesh and itk::QuadEdgeMesh). However, if I attempt to mix the > two, and compare an itk::Mesh and an itk::QuadEdgeMesh, I get a build error, > copied below, along with a minimal example of the problem. > > I'm having some trouble decoding the error, but it looks to me as though the > filter is having trouble converting between iterator types. Does this have > something to do with a difference between how itk::Mesh and > itk::QuadEdgeMesh define their iterators? > > Thank you in advance for your help! > > Best, > > --Davis > > #include "itkQuadEdgeMesh.h" > #include "itkRegularSphereMeshSource.h" > #include "itkEuclideanDistancePointMetric.h" > #include "itkIdentityTransform.h" > > typedef itk::Mesh< double, 3 > TFMesh; // If you change this to > itk::QuadEdgeMesh, it works > typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change this to > itk::Mesh, it also works > typedef itk::RegularSphereMeshSource< TFMesh > TFSource; > typedef itk::RegularSphereMeshSource< TMMesh > TMSource; > typedef itk::EuclideanDistancePointMetric< TFMesh, TMMesh > TMetric; > typedef itk::IdentityTransform< double, 3 > TIdentity; > > int main(int argc, char ** argv) > { > > TFSource::Pointer fixed = TFSource::New(); > fixed->Update(); > > TMSource::Pointer moving = TMSource::New(); > moving->Update(); > > TIdentity::Pointer identity = TIdentity::New(); > > TMetric::Pointer metric = TMetric::New(); > metric->SetFixedPointSet( fixed->GetOutput() ); > metric->SetMovingPointSet( moving->GetOutput() ); > metric->SetTransform( identity ); > std::cout << metric->GetValue(identity->GetParameters()) << std::endl; > > return EXIT_SUCCESS; > > } > > > $ make > Scanning dependencies of target AmoebaOptimization > [100%] Building CXX object > CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o > In file included from > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.h:125:0, > from > /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:3: > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx: In > instantiation of ?itk::EuclideanDistancePointMetric TMovingPointSet, TDistanceMap>::MeasureType > itk::EuclideanDistancePointMetric TDistanceMap>::GetValue(const TransformParametersType&) const [with > TFixedPointSet = itk::Mesh; TMovingPointSet = > itk::QuadEdgeMesh; TDistanceMap = itk::Image 3u>; itk::EuclideanDistancePointMetric TDistanceMap>::MeasureType = itk::Array; > itk::EuclideanDistancePointMetric TDistanceMap>::TransformParametersType = itk::OptimizerParameters]?: > /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:28:58: > required from here > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:74:63: error: > conversion from ?itk::MapContainer itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long > unsigned int, long unsigned int, bool, bool, true> > >::ConstIterator? to > non-scalar type ?itk::EuclideanDistancePointMetric, > itk::QuadEdgeMesh >::PointIterator {aka > itk::VectorContainer >> ::ConstIterator}? requested > PointIterator pointItr = movingPointSet->GetPoints()->Begin(); > ^ > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:75:61: error: > conversion from ?itk::MapContainer itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long > unsigned int, long unsigned int, bool, bool, true> > >::ConstIterator? to > non-scalar type ?itk::EuclideanDistancePointMetric, > itk::QuadEdgeMesh >::PointIterator {aka > itk::VectorContainer >> ::ConstIterator}? requested > PointIterator pointEnd = movingPointSet->GetPoints()->End(); > ^ > make[2]: *** [CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o] > Error 1 > make[1]: *** [CMakeFiles/AmoebaOptimization.dir/all] Error 2 > make: *** [all] Error 2 > > > > > -- > View this message in context: http://itk-insight-users.2283740.n2.nabble.com/EuclideanDistancePointMetric-Error-when-comparing-Mesh-to-QuadEdgeMesh-tp7587372.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users From davis.vigneault at gmail.com Thu May 21 05:43:22 2015 From: davis.vigneault at gmail.com (Davis Vigneault) Date: Thu, 21 May 2015 10:43:22 +0100 Subject: [ITK-users] EuclideanDistancePointMetric: Error when comparing Mesh to QuadEdgeMesh In-Reply-To: References: <1432137881391-7587372.post@n2.nabble.com> Message-ID: Thanks very much for the reply, Arnaud! Yes, I had originally begin with the v4 version, but ran into trouble when I tried to use it with LevenbergMarquardtOptimizer. EuclideanDistancePointMetric inherits from MultipleValuedCostFunction, wherease EuclideanDistancePointSetToPointSetMetricv4 inherits from SingleValuedCostFunctionv4. To the best that I can tell, LevenbergMarquardtOptimizer expects its cost function to inherit from MultipleValuedCostFunction. I tried wrapping EuclideanDistancePointSetToPointSetMetricv4 in an adapter class inheriting from MultipleValuedCostFunction, where I returned 1 from GetNumberOfValues() and wrapped the return of GetValue() in an itk::Array length 1. However, when I did this, I got a warning saying (if I remember correctly) that there was a mismatch between the number of unknowns and residuals. I realized that wrapping a "new" cost function class in an "old" cost function class was a hacky way to go about it in the first place, so I abandoned this method a while ago. Is there a way to use the v4 version with LevenbergMarquardtOptimizer? Is there a reason that the v3 EuclideanDistanceMetric is multiple valued, whereas the v4 metric is single valued? Is a v4 LevenbergOptimizer in development, and will it be single valued or multiple valued? Apologies in advance if I've been going about this the wrong way--I've been using ITK for a while, but am only just beginning to learn about optimization/registration. On Thu, May 21, 2015 at 7:55 AM, Arnaud Gelas wrote: > Hi Davis, > > If you use the ITKv4 version of Metric, it compiles and works fine! > > ? > > Here is the code > > #include "itkQuadEdgeMesh.h" > #include "itkRegularSphereMeshSource.h" > #include "itkEuclideanDistancePointSetToPointSetMetricv4.h" > #include "itkIdentityTransform.h" > > typedef itk::Mesh< double, 3 > TFMesh; // If you change this to > itk::QuadEdgeMesh, it works > typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change this to > itk::Mesh, it also works > typedef itk::RegularSphereMeshSource< TFMesh > TFSource; > typedef itk::RegularSphereMeshSource< TMMesh > TMSource; > typedef itk::EuclideanDistancePointSetToPointSetMetricv4< TFMesh, TMMesh > > TMetric; > typedef itk::IdentityTransform< double, 3 > TIdentity; > > int main(int argc, char ** argv) > { > > TFSource::Pointer fixed = TFSource::New(); > fixed->Update(); > > TMSource::Pointer moving = TMSource::New(); > moving->Update(); > > TIdentity::Pointer identity = TIdentity::New(); > > TMetric::Pointer metric = TMetric::New(); > metric->SetFixedPointSet( fixed->GetOutput() ); > metric->SetMovingPointSet( moving->GetOutput() ); > metric->SetTransform( identity ); > std::cout << metric->GetValue() << std::endl; > > return EXIT_SUCCESS; > > } > > > > On 20 May 2015, at 18:04, DVigneault wrote: > > > > All-- > > > > I'm attempting to use itk::EuclideanDistancePointMetric to compare an > > itk::Mesh to an itk::QuadEdgeMesh. This works as expected if templated > over > > two meshes of the same type (i.e., itk::Mesh and itk::Mesh or > > itk::QuadEdgeMesh and itk::QuadEdgeMesh). However, if I attempt to mix > the > > two, and compare an itk::Mesh and an itk::QuadEdgeMesh, I get a build > error, > > copied below, along with a minimal example of the problem. > > > > I'm having some trouble decoding the error, but it looks to me as though > the > > filter is having trouble converting between iterator types. Does this > have > > something to do with a difference between how itk::Mesh and > > itk::QuadEdgeMesh define their iterators? > > > > Thank you in advance for your help! > > > > Best, > > > > --Davis > > > > #include "itkQuadEdgeMesh.h" > > #include "itkRegularSphereMeshSource.h" > > #include "itkEuclideanDistancePointMetric.h" > > #include "itkIdentityTransform.h" > > > > typedef itk::Mesh< double, 3 > TFMesh; // If you change this to > > itk::QuadEdgeMesh, it works > > typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change this > to > > itk::Mesh, it also works > > typedef itk::RegularSphereMeshSource< TFMesh > TFSource; > > typedef itk::RegularSphereMeshSource< TMMesh > TMSource; > > typedef itk::EuclideanDistancePointMetric< TFMesh, TMMesh > TMetric; > > typedef itk::IdentityTransform< double, 3 > TIdentity; > > > > int main(int argc, char ** argv) > > { > > > > TFSource::Pointer fixed = TFSource::New(); > > fixed->Update(); > > > > TMSource::Pointer moving = TMSource::New(); > > moving->Update(); > > > > TIdentity::Pointer identity = TIdentity::New(); > > > > TMetric::Pointer metric = TMetric::New(); > > metric->SetFixedPointSet( fixed->GetOutput() ); > > metric->SetMovingPointSet( moving->GetOutput() ); > > metric->SetTransform( identity ); > > std::cout << metric->GetValue(identity->GetParameters()) << std::endl; > > > > return EXIT_SUCCESS; > > > > } > > > > > > $ make > > Scanning dependencies of target AmoebaOptimization > > [100%] Building CXX object > > CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o > > In file included from > > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.h:125:0, > > from > > > /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:3: > > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx: In > > instantiation of ?itk::EuclideanDistancePointMetric > TMovingPointSet, TDistanceMap>::MeasureType > > itk::EuclideanDistancePointMetric > TDistanceMap>::GetValue(const TransformParametersType&) const [with > > TFixedPointSet = itk::Mesh; TMovingPointSet = > > itk::QuadEdgeMesh; TDistanceMap = itk::Image int, > > 3u>; itk::EuclideanDistancePointMetric > TDistanceMap>::MeasureType = itk::Array; > > itk::EuclideanDistancePointMetric > TDistanceMap>::TransformParametersType = > itk::OptimizerParameters]?: > > > /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:28:58: > > required from here > > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:74:63: > error: > > conversion from ?itk::MapContainer > itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long > > unsigned int, long unsigned int, bool, bool, true> > >::ConstIterator? to > > non-scalar type ?itk::EuclideanDistancePointMetric 3u>, > > itk::QuadEdgeMesh >::PointIterator {aka > > itk::VectorContainer > >> ::ConstIterator}? requested > > PointIterator pointItr = movingPointSet->GetPoints()->Begin(); > > ^ > > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:75:61: > error: > > conversion from ?itk::MapContainer > itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long > > unsigned int, long unsigned int, bool, bool, true> > >::ConstIterator? to > > non-scalar type ?itk::EuclideanDistancePointMetric 3u>, > > itk::QuadEdgeMesh >::PointIterator {aka > > itk::VectorContainer > >> ::ConstIterator}? requested > > PointIterator pointEnd = movingPointSet->GetPoints()->End(); > > ^ > > make[2]: *** [CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o] > > Error 1 > > make[1]: *** [CMakeFiles/AmoebaOptimization.dir/all] Error 2 > > make: *** [all] Error 2 > > > > > > > > > > -- > > View this message in context: > http://itk-insight-users.2283740.n2.nabble.com/EuclideanDistancePointMetric-Error-when-comparing-Mesh-to-QuadEdgeMesh-tp7587372.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.php > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From davis.vigneault at gmail.com Thu May 21 06:11:04 2015 From: davis.vigneault at gmail.com (Davis Vigneault) Date: Thu, 21 May 2015 11:11:04 +0100 Subject: [ITK-users] EuclideanDistancePointMetric: Error when comparing Mesh to QuadEdgeMesh In-Reply-To: References: <1432137881391-7587372.post@n2.nabble.com> Message-ID: An update: the problem here seems to be that itkPointSetToPointSetMetric only defines one iterator, which it uses on both the fixed and moving pointsets. If I add fixed- and moving-specific iterators and change EuclideanDistancePointMetric accordingly, the original example compiles and gives the correct answer. Is this, in fact, a bug? If so, I'd be happy to attempt a patch. On Thu, May 21, 2015 at 10:43 AM, Davis Vigneault wrote: > Thanks very much for the reply, Arnaud! Yes, I had originally begin with > the v4 version, but ran into trouble when I tried to use it with > LevenbergMarquardtOptimizer. > > EuclideanDistancePointMetric inherits from MultipleValuedCostFunction, > wherease EuclideanDistancePointSetToPointSetMetricv4 inherits from > SingleValuedCostFunctionv4. To the best that I can tell, > LevenbergMarquardtOptimizer expects its cost function to inherit from > MultipleValuedCostFunction. I tried wrapping > EuclideanDistancePointSetToPointSetMetricv4 in an adapter class inheriting > from MultipleValuedCostFunction, where I returned 1 from > GetNumberOfValues() and wrapped the return of GetValue() in an itk::Array > length 1. However, when I did this, I got a warning saying (if I remember > correctly) that there was a mismatch between the number of unknowns and > residuals. I realized that wrapping a "new" cost function class in an > "old" cost function class was a hacky way to go about it in the first > place, so I abandoned this method a while ago. > > Is there a way to use the v4 version with LevenbergMarquardtOptimizer? Is > there a reason that the v3 EuclideanDistanceMetric is multiple valued, > whereas the v4 metric is single valued? Is a v4 LevenbergOptimizer in > development, and will it be single valued or multiple valued? > > Apologies in advance if I've been going about this the wrong way--I've > been using ITK for a while, but am only just beginning to learn about > optimization/registration. > > On Thu, May 21, 2015 at 7:55 AM, Arnaud Gelas > wrote: > >> Hi Davis, >> >> If you use the ITKv4 version of Metric, it compiles and works fine! >> >> ? >> >> Here is the code >> >> #include "itkQuadEdgeMesh.h" >> #include "itkRegularSphereMeshSource.h" >> #include "itkEuclideanDistancePointSetToPointSetMetricv4.h" >> #include "itkIdentityTransform.h" >> >> typedef itk::Mesh< double, 3 > TFMesh; // If you change this to >> itk::QuadEdgeMesh, it works >> typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change this >> to itk::Mesh, it also works >> typedef itk::RegularSphereMeshSource< TFMesh > TFSource; >> typedef itk::RegularSphereMeshSource< TMMesh > TMSource; >> typedef itk::EuclideanDistancePointSetToPointSetMetricv4< TFMesh, TMMesh >> > TMetric; >> typedef itk::IdentityTransform< double, 3 > TIdentity; >> >> int main(int argc, char ** argv) >> { >> >> TFSource::Pointer fixed = TFSource::New(); >> fixed->Update(); >> >> TMSource::Pointer moving = TMSource::New(); >> moving->Update(); >> >> TIdentity::Pointer identity = TIdentity::New(); >> >> TMetric::Pointer metric = TMetric::New(); >> metric->SetFixedPointSet( fixed->GetOutput() ); >> metric->SetMovingPointSet( moving->GetOutput() ); >> metric->SetTransform( identity ); >> std::cout << metric->GetValue() << std::endl; >> >> return EXIT_SUCCESS; >> >> } >> >> >> > On 20 May 2015, at 18:04, DVigneault wrote: >> > >> > All-- >> > >> > I'm attempting to use itk::EuclideanDistancePointMetric to compare an >> > itk::Mesh to an itk::QuadEdgeMesh. This works as expected if templated >> over >> > two meshes of the same type (i.e., itk::Mesh and itk::Mesh or >> > itk::QuadEdgeMesh and itk::QuadEdgeMesh). However, if I attempt to mix >> the >> > two, and compare an itk::Mesh and an itk::QuadEdgeMesh, I get a build >> error, >> > copied below, along with a minimal example of the problem. >> > >> > I'm having some trouble decoding the error, but it looks to me as >> though the >> > filter is having trouble converting between iterator types. Does this >> have >> > something to do with a difference between how itk::Mesh and >> > itk::QuadEdgeMesh define their iterators? >> > >> > Thank you in advance for your help! >> > >> > Best, >> > >> > --Davis >> > >> > #include "itkQuadEdgeMesh.h" >> > #include "itkRegularSphereMeshSource.h" >> > #include "itkEuclideanDistancePointMetric.h" >> > #include "itkIdentityTransform.h" >> > >> > typedef itk::Mesh< double, 3 > TFMesh; // If you change this to >> > itk::QuadEdgeMesh, it works >> > typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change this >> to >> > itk::Mesh, it also works >> > typedef itk::RegularSphereMeshSource< TFMesh > TFSource; >> > typedef itk::RegularSphereMeshSource< TMMesh > TMSource; >> > typedef itk::EuclideanDistancePointMetric< TFMesh, TMMesh > TMetric; >> > typedef itk::IdentityTransform< double, 3 > TIdentity; >> > >> > int main(int argc, char ** argv) >> > { >> > >> > TFSource::Pointer fixed = TFSource::New(); >> > fixed->Update(); >> > >> > TMSource::Pointer moving = TMSource::New(); >> > moving->Update(); >> > >> > TIdentity::Pointer identity = TIdentity::New(); >> > >> > TMetric::Pointer metric = TMetric::New(); >> > metric->SetFixedPointSet( fixed->GetOutput() ); >> > metric->SetMovingPointSet( moving->GetOutput() ); >> > metric->SetTransform( identity ); >> > std::cout << metric->GetValue(identity->GetParameters()) << std::endl; >> > >> > return EXIT_SUCCESS; >> > >> > } >> > >> > >> > $ make >> > Scanning dependencies of target AmoebaOptimization >> > [100%] Building CXX object >> > CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o >> > In file included from >> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.h:125:0, >> > from >> > >> /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:3: >> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx: In >> > instantiation of ?itk::EuclideanDistancePointMetric> > TMovingPointSet, TDistanceMap>::MeasureType >> > itk::EuclideanDistancePointMetric> > TDistanceMap>::GetValue(const TransformParametersType&) const [with >> > TFixedPointSet = itk::Mesh; TMovingPointSet = >> > itk::QuadEdgeMesh; TDistanceMap = itk::Image> int, >> > 3u>; itk::EuclideanDistancePointMetric> > TDistanceMap>::MeasureType = itk::Array; >> > itk::EuclideanDistancePointMetric> > TDistanceMap>::TransformParametersType = >> itk::OptimizerParameters]?: >> > >> /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:28:58: >> > required from here >> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:74:63: >> error: >> > conversion from ?itk::MapContainer> > itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long >> > unsigned int, long unsigned int, bool, bool, true> > >::ConstIterator? >> to >> > non-scalar type ?itk::EuclideanDistancePointMetric> 3u>, >> > itk::QuadEdgeMesh >::PointIterator {aka >> > itk::VectorContainer >> >> ::ConstIterator}? requested >> > PointIterator pointItr = movingPointSet->GetPoints()->Begin(); >> > ^ >> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:75:61: >> error: >> > conversion from ?itk::MapContainer> > itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long >> > unsigned int, long unsigned int, bool, bool, true> > >::ConstIterator? >> to >> > non-scalar type ?itk::EuclideanDistancePointMetric> 3u>, >> > itk::QuadEdgeMesh >::PointIterator {aka >> > itk::VectorContainer >> >> ::ConstIterator}? requested >> > PointIterator pointEnd = movingPointSet->GetPoints()->End(); >> > ^ >> > make[2]: *** >> [CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o] >> > Error 1 >> > make[1]: *** [CMakeFiles/AmoebaOptimization.dir/all] Error 2 >> > make: *** [all] Error 2 >> > >> > >> > >> > >> > -- >> > View this message in context: >> http://itk-insight-users.2283740.n2.nabble.com/EuclideanDistancePointMetric-Error-when-comparing-Mesh-to-QuadEdgeMesh-tp7587372.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.php >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/insight-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From arnaudgelas at gmail.com Thu May 21 06:44:57 2015 From: arnaudgelas at gmail.com (Arnaud Gelas) Date: Thu, 21 May 2015 12:44:57 +0200 Subject: [ITK-users] EuclideanDistancePointMetric: Error when comparing Mesh to QuadEdgeMesh In-Reply-To: References: <1432137881391-7587372.post@n2.nabble.com> Message-ID: <6C4A995F-45AC-4B61-8015-631A131551A5@gmail.com> Hi Davis, Sounds like a bug to me (not an expert on the registration part though). You can definitively submit a patch on gerrit http://review.source.kitware.com In such a case, convert your examples into one test to be included and make sure your patch fixes this test and does not break the rest of the toolkit. Looking forward to seeing your patch on gerrit Best Arnaud > On 21 May 2015, at 12:11, Davis Vigneault wrote: > > An update: the problem here seems to be that itkPointSetToPointSetMetric only defines one iterator, which it uses on both the fixed and moving pointsets. If I add fixed- and moving-specific iterators and change EuclideanDistancePointMetric accordingly, the original example compiles and gives the correct answer. Is this, in fact, a bug? If so, I'd be happy to attempt a patch. > > On Thu, May 21, 2015 at 10:43 AM, Davis Vigneault > wrote: > Thanks very much for the reply, Arnaud! Yes, I had originally begin with the v4 version, but ran into trouble when I tried to use it with LevenbergMarquardtOptimizer. > > EuclideanDistancePointMetric inherits from MultipleValuedCostFunction, wherease EuclideanDistancePointSetToPointSetMetricv4 inherits from SingleValuedCostFunctionv4. To the best that I can tell, LevenbergMarquardtOptimizer expects its cost function to inherit from MultipleValuedCostFunction. I tried wrapping EuclideanDistancePointSetToPointSetMetricv4 in an adapter class inheriting from MultipleValuedCostFunction, where I returned 1 from GetNumberOfValues() and wrapped the return of GetValue() in an itk::Array length 1. However, when I did this, I got a warning saying (if I remember correctly) that there was a mismatch between the number of unknowns and residuals. I realized that wrapping a "new" cost function class in an "old" cost function class was a hacky way to go about it in the first place, so I abandoned this method a while ago. > > Is there a way to use the v4 version with LevenbergMarquardtOptimizer? Is there a reason that the v3 EuclideanDistanceMetric is multiple valued, whereas the v4 metric is single valued? Is a v4 LevenbergOptimizer in development, and will it be single valued or multiple valued? > > Apologies in advance if I've been going about this the wrong way--I've been using ITK for a while, but am only just beginning to learn about optimization/registration. > > On Thu, May 21, 2015 at 7:55 AM, Arnaud Gelas > wrote: > Hi Davis, > > If you use the ITKv4 version of Metric, it compiles and works fine! > > ? > > Here is the code > > #include "itkQuadEdgeMesh.h" > #include "itkRegularSphereMeshSource.h" > #include "itkEuclideanDistancePointSetToPointSetMetricv4.h" > #include "itkIdentityTransform.h" > > typedef itk::Mesh< double, 3 > TFMesh; // If you change this to itk::QuadEdgeMesh, it works > typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change this to itk::Mesh, it also works > typedef itk::RegularSphereMeshSource< TFMesh > TFSource; > typedef itk::RegularSphereMeshSource< TMMesh > TMSource; > typedef itk::EuclideanDistancePointSetToPointSetMetricv4< TFMesh, TMMesh > TMetric; > typedef itk::IdentityTransform< double, 3 > TIdentity; > > int main(int argc, char ** argv) > { > > TFSource::Pointer fixed = TFSource::New(); > fixed->Update(); > > TMSource::Pointer moving = TMSource::New(); > moving->Update(); > > TIdentity::Pointer identity = TIdentity::New(); > > TMetric::Pointer metric = TMetric::New(); > metric->SetFixedPointSet( fixed->GetOutput() ); > metric->SetMovingPointSet( moving->GetOutput() ); > metric->SetTransform( identity ); > std::cout << metric->GetValue() << std::endl; > > return EXIT_SUCCESS; > > } > > > > On 20 May 2015, at 18:04, DVigneault > wrote: > > > > All-- > > > > I'm attempting to use itk::EuclideanDistancePointMetric to compare an > > itk::Mesh to an itk::QuadEdgeMesh. This works as expected if templated over > > two meshes of the same type (i.e., itk::Mesh and itk::Mesh or > > itk::QuadEdgeMesh and itk::QuadEdgeMesh). However, if I attempt to mix the > > two, and compare an itk::Mesh and an itk::QuadEdgeMesh, I get a build error, > > copied below, along with a minimal example of the problem. > > > > I'm having some trouble decoding the error, but it looks to me as though the > > filter is having trouble converting between iterator types. Does this have > > something to do with a difference between how itk::Mesh and > > itk::QuadEdgeMesh define their iterators? > > > > Thank you in advance for your help! > > > > Best, > > > > --Davis > > > > #include "itkQuadEdgeMesh.h" > > #include "itkRegularSphereMeshSource.h" > > #include "itkEuclideanDistancePointMetric.h" > > #include "itkIdentityTransform.h" > > > > typedef itk::Mesh< double, 3 > TFMesh; // If you change this to > > itk::QuadEdgeMesh, it works > > typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change this to > > itk::Mesh, it also works > > typedef itk::RegularSphereMeshSource< TFMesh > TFSource; > > typedef itk::RegularSphereMeshSource< TMMesh > TMSource; > > typedef itk::EuclideanDistancePointMetric< TFMesh, TMMesh > TMetric; > > typedef itk::IdentityTransform< double, 3 > TIdentity; > > > > int main(int argc, char ** argv) > > { > > > > TFSource::Pointer fixed = TFSource::New(); > > fixed->Update(); > > > > TMSource::Pointer moving = TMSource::New(); > > moving->Update(); > > > > TIdentity::Pointer identity = TIdentity::New(); > > > > TMetric::Pointer metric = TMetric::New(); > > metric->SetFixedPointSet( fixed->GetOutput() ); > > metric->SetMovingPointSet( moving->GetOutput() ); > > metric->SetTransform( identity ); > > std::cout << metric->GetValue(identity->GetParameters()) << std::endl; > > > > return EXIT_SUCCESS; > > > > } > > > > > > $ make > > Scanning dependencies of target AmoebaOptimization > > [100%] Building CXX object > > CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o > > In file included from > > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.h:125:0, > > from > > /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:3: > > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx: In > > instantiation of ?itk::EuclideanDistancePointMetric > TMovingPointSet, TDistanceMap>::MeasureType > > itk::EuclideanDistancePointMetric > TDistanceMap>::GetValue(const TransformParametersType&) const [with > > TFixedPointSet = itk::Mesh; TMovingPointSet = > > itk::QuadEdgeMesh; TDistanceMap = itk::Image > 3u>; itk::EuclideanDistancePointMetric > TDistanceMap>::MeasureType = itk::Array; > > itk::EuclideanDistancePointMetric > TDistanceMap>::TransformParametersType = itk::OptimizerParameters]?: > > /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:28:58: > > required from here > > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:74:63: error: > > conversion from ?itk::MapContainer > itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long > > unsigned int, long unsigned int, bool, bool, true> > >::ConstIterator? to > > non-scalar type ?itk::EuclideanDistancePointMetric, > > itk::QuadEdgeMesh >::PointIterator {aka > > itk::VectorContainer > >> ::ConstIterator}? requested > > PointIterator pointItr = movingPointSet->GetPoints()->Begin(); > > ^ > > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:75:61: error: > > conversion from ?itk::MapContainer > itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long > > unsigned int, long unsigned int, bool, bool, true> > >::ConstIterator? to > > non-scalar type ?itk::EuclideanDistancePointMetric, > > itk::QuadEdgeMesh >::PointIterator {aka > > itk::VectorContainer > >> ::ConstIterator}? requested > > PointIterator pointEnd = movingPointSet->GetPoints()->End(); > > ^ > > make[2]: *** [CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o] > > Error 1 > > make[1]: *** [CMakeFiles/AmoebaOptimization.dir/all] Error 2 > > make: *** [all] Error 2 > > > > > > > > > > -- > > View this message in context: http://itk-insight-users.2283740.n2.nabble.com/EuclideanDistancePointMetric-Error-when-comparing-Mesh-to-QuadEdgeMesh-tp7587372.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.php > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/insight-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fedorov at bwh.harvard.edu Thu May 21 16:32:14 2015 From: fedorov at bwh.harvard.edu (Andriy Fedorov) Date: Thu, 21 May 2015 16:32:14 -0400 Subject: [ITK-users] [ITK] Regularizing b-spline deformation in ITKv4 In-Reply-To: <7C41B7569649A140AFBC0BDB59E932183A9956DB@EXCH-RX03.erasmusmc.nl> References: <0823CE06-7979-463C-B936-C9A7CE0D416C@gmail.com> <7C41B7569649A140AFBC0BDB59E932183A9956DB@EXCH-RX03.erasmusmc.nl> Message-ID: Stefan, didn't know about SimpleElastix, but I am well-aware of the elastix powers! This solution is not ideal for us, since elastix is not integrated with 3D Slicer, and also if I recall correctly, the format used by elastix for deformable transforms is not the same as the one used by ITK. It is definitely a good idea to compare other deformable registration tools, but I was just wondering if there is a regularization in ITKv4 we can add to the Slicer/ITKv4 registration tool already integrated into our workflows. >From the responses I am getting so far, it looks like the answer is either "no" or adding such regularization is not straightforward. AF On Wed, May 20, 2015 at 6:35 PM, S. Klein wrote: > Hi Andriy, > > Not sure if it is what you are looking for, but you could also try SimpleElastix: > https://github.com/kaspermarstal/SimpleElastix > It builds with ITK v4, and is based on simpleITK. It includes B-spline registration with plenty of options for tuning (perhaps too many ;) ) > > Best, > Stefan > ________________________________________ > From: Community [community-bounces at itk.org] on behalf of Andriy Fedorov [fedorov at bwh.harvard.edu] > Sent: Wednesday, May 20, 2015 23:08 > To: Nicholas Tustison > Cc: Community at itk.org; ITK Users > Subject: Re: [ITK] Regularizing b-spline deformation in ITKv4 > > Nick, > > we are comparing BRAINSFit in Slicer3 that was based on ITKv3 vs > BRAINSFit in Slicer4 based on ITKv4. > > We have been using BRAINSFit/Slicer3 for a long time on a large number > of clinical research cases and we've been reasonably happy with the > results. > > We need something that is integrated in Slicer, or can be implemented > in SimpleITK relatively easily. We need a tool that produces a > reasonable result within 2 minutes of computation, without the need to > change parameters depending on the dataset. So these are basically our > constraints. We were hoping we could improve BRAINSFit/Slicer4 by > adding a regularizer, or implement a subset of BRAINSFit functionality > in SimpleITK. > > AF > > On Wed, May 20, 2015 at 11:39 AM, Nicholas Tustison wrote: >> Hi Andriy, >> >> How are you comparing ITKv3 with ITKv4? I assume you?re running >> ITKv3 through BRAINSFit but how are you running ITKv4? >> >> There are a couple of alternative B-spline methods if you?re interested. >> There?s B-spline SyN which is described here >> >> http://www.ncbi.nlm.nih.gov/pubmed/24409140 >> >> and >> >> a Demon?s like B-spline algorithm described here >> >> http://www.ncbi.nlm.nih.gov/pubmed/19171516 >> >> which both offer different regularization options that are available in >> ITKv4. However, alternative explicit regularization models, such as >> thin plate splines, are not available in ITKv4. >> >> Nick >> >> >> >> >> >> On May 19, 2015, at 5:38 PM, Andriy Fedorov wrote: >> >> Hi, >> >> we are in the process of evaluating the possibility of migrating >> workflows from ITKv3 to ITKv4 b-spline based registration (see details >> here [1]). >> >> One issue that is becoming apparent is that sometime the deformations >> we are getting with ITKv4 lack are a lot more irregular and >> unrealistic than what we used to get in ITKv3 (see case 9 on the page >> referenced). >> >> At the ITK community hangout last week it was suggested that there are >> some ways in ITKv4 to add regularization to b-spline transformation. >> >> Is there an example of b-spline regularization we could follow to see >> how this should be done? Is there a significant performance hit if >> this regularization is used? >> >> Thanks >> >> AF >> >> [1] http://www.na-mic.org/Wiki/index.php/BRAINSFit_prostate_registration >> >> >> The information in this e-mail is intended only for the person to whom it is >> addressed. If you believe this e-mail was sent to you in error and the >> e-mail >> contains patient information, please contact the Partners Compliance >> HelpLine at >> http://www.partners.org/complianceline . If the e-mail was sent to you in >> error >> but does not contain patient information, please contact the sender and >> properly >> dispose of the e-mail. >> >> > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community From zagwin at gmail.com Thu May 21 17:13:35 2015 From: zagwin at gmail.com (zagwin) Date: Thu, 21 May 2015 14:13:35 -0700 (MST) Subject: [ITK-users] [ITK] Pipeline crash when ReleaseDataFlagOn In-Reply-To: <0961C73C-A8B2-486C-AF79-8E2B97357D23@mail.nih.gov> References: <0961C73C-A8B2-486C-AF79-8E2B97357D23@mail.nih.gov> Message-ID: <1432242815281-7587386.post@n2.nabble.com> Hello Thanks for your reply, and sorry for my late reply. Actually, it is a Segfault with access violation. I did more test, and found that if I comment the lines with ReleaseDataFlagOn(), it will works ok Thanks for any input. -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/ITK-users-Pipeline-crash-when-ReleaseDataFlagOn-tp7587341p7587386.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From zagwin at gmail.com Thu May 21 17:26:55 2015 From: zagwin at gmail.com (zagwin) Date: Thu, 21 May 2015 14:26:55 -0700 (MST) Subject: [ITK-users] [ITK] Pipeline crash when ReleaseDataFlagOn In-Reply-To: <0961C73C-A8B2-486C-AF79-8E2B97357D23@mail.nih.gov> References: <0961C73C-A8B2-486C-AF79-8E2B97357D23@mail.nih.gov> Message-ID: <1432243615974-7587387.post@n2.nabble.com> Thanks for your reply, and sorry for the late reply. I think you are right, the "original" Canny filter has problem with releasedataflagon. I did more test, whenever I turn the flag for the canny filter (I also tried to add more filter behind the canny filter such as binarymorphy filters), the pipeline will gives a Segfault. I also tried to add more filters before canny filters, and only turn on the flags for filters before canny filter, the pipeline will work fine. So, I think canny has problem. I hope your revision submit will fix this. Thanks -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/ITK-users-Pipeline-crash-when-ReleaseDataFlagOn-tp7587341p7587387.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From m.peroni at gmail.com Thu May 21 19:45:03 2015 From: m.peroni at gmail.com (Marta Peroni) Date: Fri, 22 May 2015 01:45:03 +0200 Subject: [ITK-users] call for papers Imaging and Computer Assistance in Radiation Therapy workshop 2015 Message-ID: //apologies for multiple copies Imaging and Computer Assistance in Radiation Therapy Workshop MICCAI 2015 October 9. 2015, Munich, Germany We gladly announce the workshop for Imaging and Computer Assistance in Radiation Therapy (ICART), which is held in conjunction with the Medical Image Computing and Computer Assisted Interventions (MICCAI) conference in M?nchen. As with the previous workshop we will invite scientists with a research focus on methods and technology and particularly researchers with a strong clinical background. Why Radiation Therapy at MICCAI? Radiation Therapy has been a key clinical application scenario for image guidance, image processing and motion compensation. It remains one of the most prominent clinical application fields for new imaging and image processing methods and it is highly computerized. Recent advances in fast and integrated imaging lead to image guided setup and inter-fractional plan adaptation. Current trends point to real-time image guidance and compensation of intra-fractional motion and deformation as well as continuous monitoring of macro- and microscopic changes in the tumor environment. Aims of the workshop Presenting current work on medical image processing in image-guided radiotherapy (IGRT), including adaptive treatment planning, motion compensated dose delivery, and dose verification. Exchanging experiences and ideas on clinical and technical challenges. Discussing recent trends in research and clinical application, including 4D imaging, real-time image guidance, and plan adaptation. For more information please see the workshop website: http://spotscan.ch/MICCAI-ICART2015/index.html If you should have any additional questions, please send an e-mail to: A. Schlaefer, schlaefer at tuhh.de M. Peroni,marta.peroni at psi.ch Important dates Submission: May 29, 2015 Notification of acceptance: July 1, 2015 Workshop day: October 9, 2015 Organizing committee A. Schlaefer, Institute of Medical Technology, Hamburg University of Technology M. Peroni, Center for Proton Therapy, Paul Scherrer Institut< http://www.psi.ch/protontherapy/> W. Birkenfeller, Center for Medical Physics and Biomedical Engineering, Medical University Vienna C. Gianoli, Experimental Physics and Medical Physics, Ludwig-Maximilians Universit?t M?nchen A. C. Knopf, Joint Department of Physics at The Institute of Cancer Research and The Royal Marsden NHS Foundation Trust< http://www.royalmarsden.nhs.uk/consultants-teams-wards/clinical-services/pages/physics.aspx > M. Riboldi, Dipartimento di Elettronica, Informazione e Bioingegneria, Politecnico di Milano J. McClelland, Centre for medical image computing, Dept. Medical Physics and Bioengineering, University College London S. Rit, Universit? de Lyon - CREATIS -- ******************************************************************* Marta Peroni, PhD ******************************************************************** -------------- next part -------------- An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Thu May 21 20:28:06 2015 From: blowekamp at mail.nih.gov (Bradley Lowekamp) Date: Thu, 21 May 2015 20:28:06 -0400 Subject: [ITK-users] [ITK] Pipeline crash when ReleaseDataFlagOn In-Reply-To: <1432243615974-7587387.post@n2.nabble.com> References: <0961C73C-A8B2-486C-AF79-8E2B97357D23@mail.nih.gov> <1432243615974-7587387.post@n2.nabble.com> Message-ID: <5167C1F9-4098-42C4-A5CB-FBDADB5D4112@mail.nih.gov> The patch in gerit has been merged into ITK master in git. Please download and let us know if it resolves your issue. Brad On May 21, 2015, at 5:26 PM, zagwin wrote: > Thanks for your reply, and sorry for the late reply. > > I think you are right, the "original" Canny filter has problem with > releasedataflagon. > > I did more test, whenever I turn the flag for the canny filter (I also tried > to add more filter behind the canny filter such as binarymorphy filters), > the pipeline will gives a Segfault. > > I also tried to add more filters before canny filters, and only turn on the > flags for filters before canny filter, the pipeline will work fine. > > So, I think canny has problem. > I hope your revision submit will fix this. > > Thanks > > > > -- > View this message in context: http://itk-insight-users.2283740.n2.nabble.com/ITK-users-Pipeline-crash-when-ReleaseDataFlagOn-tp7587341p7587387.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users From davis.vigneault at gmail.com Fri May 22 05:34:43 2015 From: davis.vigneault at gmail.com (Davis Vigneault) Date: Fri, 22 May 2015 10:34:43 +0100 Subject: [ITK-users] EuclideanDistancePointMetric: Error when comparing Mesh to QuadEdgeMesh In-Reply-To: <6C4A995F-45AC-4B61-8015-631A131551A5@gmail.com> References: <1432137881391-7587372.post@n2.nabble.com> <6C4A995F-45AC-4B61-8015-631A131551A5@gmail.com> Message-ID: I've put together a patch including a test which now passes. However, when I run ctest, the following test fails: 590 - ITKRegistrationCommonKWStyleTest (Failed) However, the test doesn't output any information on what caused it to fail. I tried rerunning with the ctest option --output-on-failure, but no additional output was given. How can I find out why this test is failing, and what I might do to fix it before submitting the patch? On Thu, May 21, 2015 at 11:44 AM, Arnaud Gelas wrote: > Hi Davis, > > Sounds like a bug to me (not an expert on the registration part though). > > You can definitively submit a patch on gerrit > > http://review.source.kitware.com > > In such a case, convert your examples into one test to be included and > make sure your patch fixes this test and does not break the rest of the > toolkit. > > Looking forward to seeing your patch on gerrit > > Best > Arnaud > > On 21 May 2015, at 12:11, Davis Vigneault > wrote: > > An update: the problem here seems to be that itkPointSetToPointSetMetric > only defines one iterator, which it uses on both the fixed and moving > pointsets. If I add fixed- and moving-specific iterators and change > EuclideanDistancePointMetric accordingly, the original example compiles and > gives the correct answer. Is this, in fact, a bug? If so, I'd be happy to > attempt a patch. > > On Thu, May 21, 2015 at 10:43 AM, Davis Vigneault < > davis.vigneault at gmail.com> wrote: > >> Thanks very much for the reply, Arnaud! Yes, I had originally begin with >> the v4 version, but ran into trouble when I tried to use it with >> LevenbergMarquardtOptimizer. >> >> EuclideanDistancePointMetric inherits from MultipleValuedCostFunction, >> wherease EuclideanDistancePointSetToPointSetMetricv4 inherits from >> SingleValuedCostFunctionv4. To the best that I can tell, >> LevenbergMarquardtOptimizer expects its cost function to inherit from >> MultipleValuedCostFunction. I tried wrapping >> EuclideanDistancePointSetToPointSetMetricv4 in an adapter class inheriting >> from MultipleValuedCostFunction, where I returned 1 from >> GetNumberOfValues() and wrapped the return of GetValue() in an itk::Array >> length 1. However, when I did this, I got a warning saying (if I remember >> correctly) that there was a mismatch between the number of unknowns and >> residuals. I realized that wrapping a "new" cost function class in an >> "old" cost function class was a hacky way to go about it in the first >> place, so I abandoned this method a while ago. >> >> Is there a way to use the v4 version with LevenbergMarquardtOptimizer? >> Is there a reason that the v3 EuclideanDistanceMetric is multiple valued, >> whereas the v4 metric is single valued? Is a v4 LevenbergOptimizer in >> development, and will it be single valued or multiple valued? >> >> Apologies in advance if I've been going about this the wrong way--I've >> been using ITK for a while, but am only just beginning to learn about >> optimization/registration. >> >> On Thu, May 21, 2015 at 7:55 AM, Arnaud Gelas >> wrote: >> >>> Hi Davis, >>> >>> If you use the ITKv4 version of Metric, it compiles and works fine! >>> >>> ? >>> >>> Here is the code >>> >>> #include "itkQuadEdgeMesh.h" >>> #include "itkRegularSphereMeshSource.h" >>> #include "itkEuclideanDistancePointSetToPointSetMetricv4.h" >>> #include "itkIdentityTransform.h" >>> >>> typedef itk::Mesh< double, 3 > TFMesh; // If you change this to >>> itk::QuadEdgeMesh, it works >>> typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change this >>> to itk::Mesh, it also works >>> typedef itk::RegularSphereMeshSource< TFMesh > TFSource; >>> typedef itk::RegularSphereMeshSource< TMMesh > TMSource; >>> typedef itk::EuclideanDistancePointSetToPointSetMetricv4< TFMesh, TMMesh >>> > TMetric; >>> typedef itk::IdentityTransform< double, 3 > TIdentity; >>> >>> int main(int argc, char ** argv) >>> { >>> >>> TFSource::Pointer fixed = TFSource::New(); >>> fixed->Update(); >>> >>> TMSource::Pointer moving = TMSource::New(); >>> moving->Update(); >>> >>> TIdentity::Pointer identity = TIdentity::New(); >>> >>> TMetric::Pointer metric = TMetric::New(); >>> metric->SetFixedPointSet( fixed->GetOutput() ); >>> metric->SetMovingPointSet( moving->GetOutput() ); >>> metric->SetTransform( identity ); >>> std::cout << metric->GetValue() << std::endl; >>> >>> return EXIT_SUCCESS; >>> >>> } >>> >>> >>> > On 20 May 2015, at 18:04, DVigneault >>> wrote: >>> > >>> > All-- >>> > >>> > I'm attempting to use itk::EuclideanDistancePointMetric to compare an >>> > itk::Mesh to an itk::QuadEdgeMesh. This works as expected if >>> templated over >>> > two meshes of the same type (i.e., itk::Mesh and itk::Mesh or >>> > itk::QuadEdgeMesh and itk::QuadEdgeMesh). However, if I attempt to >>> mix the >>> > two, and compare an itk::Mesh and an itk::QuadEdgeMesh, I get a build >>> error, >>> > copied below, along with a minimal example of the problem. >>> > >>> > I'm having some trouble decoding the error, but it looks to me as >>> though the >>> > filter is having trouble converting between iterator types. Does this >>> have >>> > something to do with a difference between how itk::Mesh and >>> > itk::QuadEdgeMesh define their iterators? >>> > >>> > Thank you in advance for your help! >>> > >>> > Best, >>> > >>> > --Davis >>> > >>> > #include "itkQuadEdgeMesh.h" >>> > #include "itkRegularSphereMeshSource.h" >>> > #include "itkEuclideanDistancePointMetric.h" >>> > #include "itkIdentityTransform.h" >>> > >>> > typedef itk::Mesh< double, 3 > TFMesh; // If you change this to >>> > itk::QuadEdgeMesh, it works >>> > typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change >>> this to >>> > itk::Mesh, it also works >>> > typedef itk::RegularSphereMeshSource< TFMesh > TFSource; >>> > typedef itk::RegularSphereMeshSource< TMMesh > TMSource; >>> > typedef itk::EuclideanDistancePointMetric< TFMesh, TMMesh > TMetric; >>> > typedef itk::IdentityTransform< double, 3 > TIdentity; >>> > >>> > int main(int argc, char ** argv) >>> > { >>> > >>> > TFSource::Pointer fixed = TFSource::New(); >>> > fixed->Update(); >>> > >>> > TMSource::Pointer moving = TMSource::New(); >>> > moving->Update(); >>> > >>> > TIdentity::Pointer identity = TIdentity::New(); >>> > >>> > TMetric::Pointer metric = TMetric::New(); >>> > metric->SetFixedPointSet( fixed->GetOutput() ); >>> > metric->SetMovingPointSet( moving->GetOutput() ); >>> > metric->SetTransform( identity ); >>> > std::cout << metric->GetValue(identity->GetParameters()) << std::endl; >>> > >>> > return EXIT_SUCCESS; >>> > >>> > } >>> > >>> > >>> > $ make >>> > Scanning dependencies of target AmoebaOptimization >>> > [100%] Building CXX object >>> > CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o >>> > In file included from >>> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.h:125:0, >>> > from >>> > >>> /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:3: >>> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx: In >>> > instantiation of ?itk::EuclideanDistancePointMetric>> > TMovingPointSet, TDistanceMap>::MeasureType >>> > itk::EuclideanDistancePointMetric>> > TDistanceMap>::GetValue(const TransformParametersType&) const [with >>> > TFixedPointSet = itk::Mesh; TMovingPointSet = >>> > itk::QuadEdgeMesh; TDistanceMap = itk::Image>> unsigned int, >>> > 3u>; itk::EuclideanDistancePointMetric>> > TDistanceMap>::MeasureType = itk::Array; >>> > itk::EuclideanDistancePointMetric>> > TDistanceMap>::TransformParametersType = >>> itk::OptimizerParameters]?: >>> > >>> /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:28:58: >>> > required from here >>> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:74:63: >>> error: >>> > conversion from ?itk::MapContainer>> > itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long >>> > unsigned int, long unsigned int, bool, bool, true> > >::ConstIterator? >>> to >>> > non-scalar type >>> ?itk::EuclideanDistancePointMetric, >>> > itk::QuadEdgeMesh >::PointIterator {aka >>> > itk::VectorContainer >>> >> ::ConstIterator}? requested >>> > PointIterator pointItr = movingPointSet->GetPoints()->Begin(); >>> > ^ >>> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:75:61: >>> error: >>> > conversion from ?itk::MapContainer>> > itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long >>> > unsigned int, long unsigned int, bool, bool, true> > >::ConstIterator? >>> to >>> > non-scalar type >>> ?itk::EuclideanDistancePointMetric, >>> > itk::QuadEdgeMesh >::PointIterator {aka >>> > itk::VectorContainer >>> >> ::ConstIterator}? requested >>> > PointIterator pointEnd = movingPointSet->GetPoints()->End(); >>> > ^ >>> > make[2]: *** >>> [CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o] >>> > Error 1 >>> > make[1]: *** [CMakeFiles/AmoebaOptimization.dir/all] Error 2 >>> > make: *** [all] Error 2 >>> > >>> > >>> > >>> > >>> > -- >>> > View this message in context: >>> http://itk-insight-users.2283740.n2.nabble.com/EuclideanDistancePointMetric-Error-when-comparing-Mesh-to-QuadEdgeMesh-tp7587372.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.php >>> > >>> > Please keep messages on-topic and check the ITK FAQ at: >>> > http://www.itk.org/Wiki/ITK_FAQ >>> > >>> > Follow this link to subscribe/unsubscribe: >>> > http://public.kitware.com/mailman/listinfo/insight-users >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vianamp at gmail.com Fri May 22 15:36:38 2015 From: vianamp at gmail.com (viana) Date: Fri, 22 May 2015 12:36:38 -0700 (MST) Subject: [ITK-users] Error converting ITK to VTK Message-ID: <1432323398231-7587392.post@n2.nabble.com> Hi guys, I am trying to convert a ITK image into a vtkImageData using ImageToVTKImageFilter. However, when I try to compile the example code, I got these error messages. Do you have any idea what could be wrong? FYI, the Module ITKVtkGlue is properly installed. Thanks -m Undefined symbols for architecture x86_64: "vtable for itk::VTKImageExportBase", referenced from: itk::VTKImageExport >::~VTKImageExport()in ccUR0yiA.o itk::VTKImageExport >::~VTKImageExport()in ccUR0yiA.o itk::VTKImageExport >::VTKImageExport()in ccUR0yiA.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "itk::VTKImageExportBase::PrintSelf(std::basic_ostream >&, itk::Indent) const", referenced from: itk::VTKImageExport >::PrintSelf(std::basic_ostream >&, itk::Indent) constin ccUR0yiA.o "itk::VTKImageExportBase::VTKImageExportBase()", referenced from: itk::VTKImageExport >::VTKImageExport()in ccUR0yiA.o "itk::VTKImageExportBase::GetUpdateInformationCallback() const", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "itk::VTKImageExportBase::GetPipelineModifiedCallback() const", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "itk::VTKImageExportBase::GetWholeExtentCallback() const", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "itk::VTKImageExportBase::GetSpacingCallback() const", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "itk::VTKImageExportBase::GetOriginCallback() const", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "itk::VTKImageExportBase::GetScalarTypeCallback() const", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "itk::VTKImageExportBase::GetNumberOfComponentsCallback() const", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "itk::VTKImageExportBase::GetPropagateUpdateExtentCallback() const", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "itk::VTKImageExportBase::GetUpdateDataCallback() const", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "itk::VTKImageExportBase::GetDataExtentCallback() const", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "itk::VTKImageExportBase::GetBufferPointerCallback() const", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "itk::VTKImageExportBase::GetCallbackUserData()", referenced from: itk::ImageToVTKImageFilter >::ImageToVTKImageFilter()in ccUR0yiA.o "typeinfo for itk::VTKImageExportBase", referenced from: typeinfo for itk::VTKImageExport >in ccUR0yiA.o "itk::VTKImageExportBase::UpdateInformationCallback()", referenced from: vtable for itk::VTKImageExport >in ccUR0yiA.o "itk::VTKImageExportBase::PipelineModifiedCallback()", referenced from: vtable for itk::VTKImageExport >in ccUR0yiA.o "itk::VTKImageExportBase::UpdateDataCallback()", referenced from: vtable for itk::VTKImageExport >in ccUR0yiA.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make: *** [debug] Error 1 -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Fri May 22 15:39:34 2015 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 22 May 2015 15:39:34 -0400 Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: <1432323398231-7587392.post@n2.nabble.com> References: <1432323398231-7587392.post@n2.nabble.com> Message-ID: Which example? On Fri, May 22, 2015 at 3:36 PM, viana wrote: > Hi guys, I am trying to convert a ITK image into a vtkImageData using > ImageToVTKImageFilter. However, when I try to compile the example code, I > got these error messages. Do you have any idea what could be wrong? > > FYI, the Module ITKVtkGlue is properly installed. > > Thanks > -m > > Undefined symbols for architecture x86_64: > "vtable for itk::VTKImageExportBase", referenced from: > itk::VTKImageExport >>::~VTKImageExport()in ccUR0yiA.o > itk::VTKImageExport >>::~VTKImageExport()in ccUR0yiA.o > itk::VTKImageExport >>::VTKImageExport()in ccUR0yiA.o > NOTE: a missing vtable usually means the first non-inline virtual member > function has no definition. > "itk::VTKImageExportBase::PrintSelf(std::basic_ostream std::char_traits<char> >&, itk::Indent) const", referenced from: > itk::VTKImageExport >>::PrintSelf(std::basic_ostream >&, > itk::Indent) constin ccUR0yiA.o > "itk::VTKImageExportBase::VTKImageExportBase()", referenced from: > itk::VTKImageExport >>::VTKImageExport()in ccUR0yiA.o > "itk::VTKImageExportBase::GetUpdateInformationCallback() const", > referenced from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "itk::VTKImageExportBase::GetPipelineModifiedCallback() const", referenced > from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "itk::VTKImageExportBase::GetWholeExtentCallback() const", referenced > from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "itk::VTKImageExportBase::GetSpacingCallback() const", referenced from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "itk::VTKImageExportBase::GetOriginCallback() const", referenced from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "itk::VTKImageExportBase::GetScalarTypeCallback() const", referenced from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "itk::VTKImageExportBase::GetNumberOfComponentsCallback() const", > referenced from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "itk::VTKImageExportBase::GetPropagateUpdateExtentCallback() const", > referenced from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "itk::VTKImageExportBase::GetUpdateDataCallback() const", referenced from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "itk::VTKImageExportBase::GetDataExtentCallback() const", referenced from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "itk::VTKImageExportBase::GetBufferPointerCallback() const", referenced > from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "itk::VTKImageExportBase::GetCallbackUserData()", referenced from: > itk::ImageToVTKImageFilter >>::ImageToVTKImageFilter()in ccUR0yiA.o > "typeinfo for itk::VTKImageExportBase", referenced from: > typeinfo for itk::VTKImageExport >in > ccUR0yiA.o > "itk::VTKImageExportBase::UpdateInformationCallback()", referenced from: > vtable for itk::VTKImageExport >in > ccUR0yiA.o > "itk::VTKImageExportBase::PipelineModifiedCallback()", referenced from: > vtable for itk::VTKImageExport >in > ccUR0yiA.o > "itk::VTKImageExportBase::UpdateDataCallback()", referenced from: > vtable for itk::VTKImageExport >in > ccUR0yiA.o > ld: symbol(s) not found for architecture x86_64 > collect2: ld returned 1 exit status > make: *** [debug] Error 1 > > > > -- > View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users -- Unpaid intern in BillsBasement at noware dot com From vianamp at gmail.com Fri May 22 15:43:27 2015 From: vianamp at gmail.com (viana) Date: Fri, 22 May 2015 12:43:27 -0700 (MST) Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: References: <1432323398231-7587392.post@n2.nabble.com> Message-ID: <1432323807512-7587394.post@n2.nabble.com> This is what my current code looks like: #include #include #include #include #include #include #include #include #include #include #include #include int main(int argc, char*argv[]) { const int dim = 3; typedef unsigned char PType; typedef itk::Image< PType, dim > IType; typedef itk::ImageToVTKImageFilter ITK2VTK; typedef itk::ImageFileReader< IType > ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName( argv[1] ); ReaderType::Pointer reader2 = ReaderType::New(); reader2->SetFileName( argv[2] ); typedef itk::FFTConvolutionImageFilter< IType > FFTConvolutionType; FFTConvolutionType::Pointer conv = FFTConvolutionType::New(); conv->SetInput( reader->GetOutput() ); conv->SetKernelImage( reader2->GetOutput() ); ITK2VTK::Pointer Filter = ITK2VTK::New(); Filter -> SetInput(conv->GetOutput()); Filter -> Update(); return 0; } -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587394.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Fri May 22 15:46:02 2015 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 22 May 2015 15:46:02 -0400 Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: <1432323807512-7587394.post@n2.nabble.com> References: <1432323398231-7587392.post@n2.nabble.com> <1432323807512-7587394.post@n2.nabble.com> Message-ID: What does your CMakeLists.txt look like? On Fri, May 22, 2015 at 3:43 PM, viana wrote: > This is what my current code looks like: > > #include > #include > #include > #include > #include > #include > #include > #include > #include > #include > #include > #include > > > int main(int argc, char*argv[]) { > > const int dim = 3; > > typedef unsigned char PType; > typedef itk::Image< PType, dim > IType; > typedef itk::ImageToVTKImageFilter ITK2VTK; > > typedef itk::ImageFileReader< IType > ReaderType; > ReaderType::Pointer reader = ReaderType::New(); > reader->SetFileName( argv[1] ); > > ReaderType::Pointer reader2 = ReaderType::New(); > reader2->SetFileName( argv[2] ); > > typedef itk::FFTConvolutionImageFilter< IType > FFTConvolutionType; > FFTConvolutionType::Pointer conv = FFTConvolutionType::New(); > conv->SetInput( reader->GetOutput() ); > conv->SetKernelImage( reader2->GetOutput() ); > > ITK2VTK::Pointer Filter = ITK2VTK::New(); > Filter -> SetInput(conv->GetOutput()); > Filter -> Update(); > > return 0; > > } > > > > -- > View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587394.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users -- Unpaid intern in BillsBasement at noware dot com From vianamp at gmail.com Fri May 22 15:49:52 2015 From: vianamp at gmail.com (viana) Date: Fri, 22 May 2015 12:49:52 -0700 (MST) Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: References: <1432323398231-7587392.post@n2.nabble.com> <1432323807512-7587394.post@n2.nabble.com> Message-ID: <1432324192515-7587396.post@n2.nabble.com> Sorry, I am not using CMake. This is my make file. It compiles and runs fine if I comment the lines: // ITK2VTK::Pointer Filter = ITK2VTK::New(); // Filter -> SetInput(conv->GetOutput()); // Filter -> Update(); -m Makefile: ---------- CC = g++ DFLAG = -DDEBUG CFLAGS = -O1 -O2 -O3 -Os VTK_LIBS_DIR = /usr/local/lib/ VTK_INCLUDE_DIR = /usr/local/include/vtk-6.2/ ITK_INCLUDE_DIR = /usr/local/include/ITK-4.7/ VTK_DYN_LIBS = -lvtkImagingCore-6.2 -lvtkCommonMisc-6.2 -lvtkFiltersSources-6.2 -lvtkFiltersCore-6.2 -lvtkImagingFourier-6.2 -lvtkImagingGeneral-6.2 -lvtkCommonDataModel-6.2 -lvtkCommonCore-6.2 -lvtkCommonTransforms-6.2 -lvtkIOLegacy-6.2 -lvtkCommonExecutionModel-6.2 -lvtkIOCore-6.2 -lvtkIOImage-6.2 -lvtkRenderingFreeType-6.2 -lvtkFiltersGeneral-6.2 ITK_DYN_LIBS = -lITKIOVTK-4.7 -lITKIOStimulate-4.7 -lITKIOBioRad-4.7 -lITKIOLSM-4.7 -lITKIOGDCM-4.7 -litkgdcmMSFF-4.7 -litkgdcmDSED-4.7 -litkgdcmDICT-4.7 -litkgdcmIOD-4.7 -lITKIOHDF5-4.7 -lITKIOTransformHDF5-4.7 -litkhdf5_cpp-4.7 -lITKIOMeta-4.7 -lITKIONIFTI-4.7 -lITKIOImageBase-4.7 -lITKDICOMParser-4.7 -lITKIOGE-4.7 -lITKIOBMP-4.7 -lITKIOPNG-4.7 -lITKIOGIPL-4.7 -litkgdcmjpeg12-4.7 -litkgdcmjpeg16-4.7 -litkgdcmjpeg8-4.7 -lITKIOJPEG-4.7 -lITKIOTIFF-4.7 -lITKSpatialObjects-4.7 -lITKMetaIO-4.7 -lITKEXPAT-4.7 -lITKniftiio-4.7 -lITKgiftiio-4.7 -lITKznz-4.7 -litkgdcmCommon-4.7 -litkjpeg-4.7 -litkopenjpeg-4.7 -litkpng-4.7 -litktiff-4.7 -litkhdf5-4.7 -litkzlib-4.7 -lITKIONRRD-4.7 -lITKCommon-4.7 -lITKNrrdIO-4.7 -lITKVNLInstantiation-4.7 -litkvnl_algo-4.7 -litkv3p_netlib-4.7 -litkv3p_lsqr-4.7 -litkvnl-4.7 -litkvcl-4.7 -litksys-4.7 -lITKStatistics-4.7 debug: test.cpp @$(CC) $(DFLAG) $(CFLAGS) test.cpp -o test $(VTK_DYN_LIBS) $(ITK_DYN_LIBS) -I$(VTK_INCLUDE_DIR) -I$(ITK_INCLUDE_DIR) -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587396.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From fbudin at email.unc.edu Fri May 22 15:59:21 2015 From: fbudin at email.unc.edu (Francois Budin) Date: Fri, 22 May 2015 15:59:21 -0400 Subject: [ITK-users] SpatialOrientationAdapter Message-ID: <555F8A99.3040505@email.unc.edu> Hello Everybody, I was trying to use itk::SpatialOrientationAdapter. As a simple example, I wrote the following code: #include #include #include #include int main( int argc, char* argv[] ) { typedef itk::Image< float , 3 > ImageType ; typedef ImageType::DirectionType DirectionType ; DirectionType direction ; direction.SetIdentity() ; typedef itk::SpatialOrientation::ValidCoordinateOrientationFlags CoordinateOrientationCode ; CoordinateOrientationCode orientation ; orientation = itk::SpatialOrientationAdapter().FromDirectionCosines( direction ) ; if( orientation == itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_LPS ) { std::cout << "LPS" << std::endl ; } else if( orientation == itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RAI ) { std::cout << "RAI" << std::endl ; } else { std::cout << "Unknown" << std::endl ; } return 0 ; } I wanted to make sure that since ITK is using LPS as its default orientation, if I were to give the identity matrix as an orientation matrix to itk::SpatialOrientationAdapter().FromDirectionCosines, I would obtain LPS as a result. However, I obtain RAI which is exactly the opposite of what I was expecting. Could somebody help me to understand what is happening and why I don't get LPS as a result? Thank you, Francois From bill.lorensen at gmail.com Fri May 22 16:40:27 2015 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 22 May 2015 16:40:27 -0400 Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: <1432324192515-7587396.post@n2.nabble.com> References: <1432323398231-7587392.post@n2.nabble.com> <1432323807512-7587394.post@n2.nabble.com> <1432324192515-7587396.post@n2.nabble.com> Message-ID: Why not use cmake? On May 22, 2015 3:49 PM, "viana" wrote: > Sorry, I am not using CMake. This is my make file. It compiles and runs > fine > if I comment the lines: > > // ITK2VTK::Pointer Filter = ITK2VTK::New(); > // Filter -> SetInput(conv->GetOutput()); > // Filter -> Update(); > > -m > > Makefile: > ---------- > > CC = g++ > > DFLAG = -DDEBUG > > CFLAGS = -O1 -O2 -O3 -Os > > VTK_LIBS_DIR = /usr/local/lib/ > > VTK_INCLUDE_DIR = /usr/local/include/vtk-6.2/ > > ITK_INCLUDE_DIR = /usr/local/include/ITK-4.7/ > > VTK_DYN_LIBS = -lvtkImagingCore-6.2 -lvtkCommonMisc-6.2 > -lvtkFiltersSources-6.2 -lvtkFiltersCore-6.2 -lvtkImagingFourier-6.2 > -lvtkImagingGeneral-6.2 -lvtkCommonDataModel-6.2 -lvtkCommonCore-6.2 > -lvtkCommonTransforms-6.2 -lvtkIOLegacy-6.2 -lvtkCommonExecutionModel-6.2 > -lvtkIOCore-6.2 -lvtkIOImage-6.2 -lvtkRenderingFreeType-6.2 > -lvtkFiltersGeneral-6.2 > > ITK_DYN_LIBS = -lITKIOVTK-4.7 -lITKIOStimulate-4.7 -lITKIOBioRad-4.7 > -lITKIOLSM-4.7 -lITKIOGDCM-4.7 -litkgdcmMSFF-4.7 -litkgdcmDSED-4.7 > -litkgdcmDICT-4.7 -litkgdcmIOD-4.7 -lITKIOHDF5-4.7 -lITKIOTransformHDF5-4.7 > -litkhdf5_cpp-4.7 -lITKIOMeta-4.7 -lITKIONIFTI-4.7 -lITKIOImageBase-4.7 > -lITKDICOMParser-4.7 -lITKIOGE-4.7 -lITKIOBMP-4.7 -lITKIOPNG-4.7 > -lITKIOGIPL-4.7 -litkgdcmjpeg12-4.7 -litkgdcmjpeg16-4.7 -litkgdcmjpeg8-4.7 > -lITKIOJPEG-4.7 -lITKIOTIFF-4.7 -lITKSpatialObjects-4.7 -lITKMetaIO-4.7 > -lITKEXPAT-4.7 -lITKniftiio-4.7 -lITKgiftiio-4.7 -lITKznz-4.7 > -litkgdcmCommon-4.7 -litkjpeg-4.7 -litkopenjpeg-4.7 -litkpng-4.7 > -litktiff-4.7 -litkhdf5-4.7 -litkzlib-4.7 -lITKIONRRD-4.7 -lITKCommon-4.7 > -lITKNrrdIO-4.7 -lITKVNLInstantiation-4.7 -litkvnl_algo-4.7 > -litkv3p_netlib-4.7 -litkv3p_lsqr-4.7 -litkvnl-4.7 -litkvcl-4.7 > -litksys-4.7 > -lITKStatistics-4.7 > > debug: test.cpp > @$(CC) $(DFLAG) $(CFLAGS) test.cpp -o test $(VTK_DYN_LIBS) > $(ITK_DYN_LIBS) > -I$(VTK_INCLUDE_DIR) -I$(ITK_INCLUDE_DIR) > > > > > -- > View this message in context: > http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587396.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill.lorensen at gmail.com Fri May 22 16:43:48 2015 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 22 May 2015 16:43:48 -0400 Subject: [ITK-users] SpatialOrientationAdapter In-Reply-To: <555F8A99.3040505@email.unc.edu> References: <555F8A99.3040505@email.unc.edu> Message-ID: It is possible that the adaptor uses a different notation. I'll have to check. On May 22, 2015 3:59 PM, "Francois Budin" wrote: > Hello Everybody, > > I was trying to use itk::SpatialOrientationAdapter. As a simple example, I > wrote the following code: > > #include > #include > #include > #include > > int main( int argc, char* argv[] ) > { > typedef itk::Image< float , 3 > ImageType ; > typedef ImageType::DirectionType DirectionType ; > DirectionType direction ; > direction.SetIdentity() ; > typedef itk::SpatialOrientation::ValidCoordinateOrientationFlags > CoordinateOrientationCode ; > CoordinateOrientationCode orientation ; > orientation = itk::SpatialOrientationAdapter().FromDirectionCosines( > direction ) ; > if( orientation == > itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_LPS ) > { > std::cout << "LPS" << std::endl ; > } > else if( orientation == > itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RAI ) > { > std::cout << "RAI" << std::endl ; > } > else > { > std::cout << "Unknown" << std::endl ; > } > return 0 ; > } > > I wanted to make sure that since ITK is using LPS as its default > orientation, if I were to give the identity matrix as an orientation matrix > to itk::SpatialOrientationAdapter().FromDirectionCosines, I would obtain > LPS as a result. However, I obtain RAI which is exactly the opposite of > what I was expecting. Could somebody help me to understand what is > happening and why I don't get LPS as a result? > Thank you, > > Francois > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vianamp at gmail.com Fri May 22 16:46:04 2015 From: vianamp at gmail.com (viana) Date: Fri, 22 May 2015 13:46:04 -0700 (MST) Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: References: <1432323398231-7587392.post@n2.nabble.com> <1432323807512-7587394.post@n2.nabble.com> <1432324192515-7587396.post@n2.nabble.com> Message-ID: <1432327564771-7587400.post@n2.nabble.com> I will try on CMake and let you know. -m -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587400.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From vianamp at gmail.com Fri May 22 16:53:40 2015 From: vianamp at gmail.com (viana) Date: Fri, 22 May 2015 13:53:40 -0700 (MST) Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: <1432327564771-7587400.post@n2.nabble.com> References: <1432323398231-7587392.post@n2.nabble.com> <1432323807512-7587394.post@n2.nabble.com> <1432324192515-7587396.post@n2.nabble.com> <1432327564771-7587400.post@n2.nabble.com> Message-ID: <1432328020121-7587401.post@n2.nabble.com> Hi Bill. I just tried to compile the example in this page using the given CMakeLists.txt file. I got this error. Any idea? Scanning dependencies of target ImageToVTKImageFilter [100%] Building CXX object CMakeFiles/ImageToVTKImageFilter.dir/ImageToVTKImageFilter.cxx.o /Users/matheusviana/Desktop/ImageToVTKImageFilter/ImageToVTKImageFilter.cxx:7:28: error: vtkImageViewer.h: No such file or directory /Users/matheusviana/Desktop/ImageToVTKImageFilter/ImageToVTKImageFilter.cxx: In function ?int main(int, char**)?: /Users/matheusviana/Desktop/ImageToVTKImageFilter/ImageToVTKImageFilter.cxx:49: error: invalid use of incomplete type ?struct vtkRenderWindow? /Users/matheusviana/Desktop/VTK-master/Rendering/Core/vtkRenderWindowInteractor.h:62: error: forward declaration of ?struct vtkRenderWindow? /Users/matheusviana/Desktop/VTK-master/Common/Core/vtkSmartPointer.h: In static member function ?static vtkSmartPointer vtkSmartPointer::New() [with T = vtkRenderWindow]?: /Users/matheusviana/Desktop/ImageToVTKImageFilter/ImageToVTKImageFilter.cxx:48: instantiated from here /Users/matheusviana/Desktop/VTK-master/Common/Core/vtkSmartPointer.h:117: error: incomplete type ?vtkRenderWindow? used in nested name specifier /Users/matheusviana/Desktop/VTK-master/Common/Core/vtkSmartPointer.h: In member function ?T* vtkSmartPointer::operator->() const [with T = vtkRenderWindow]?: /Users/matheusviana/Desktop/ImageToVTKImageFilter/ImageToVTKImageFilter.cxx:49: instantiated from here /Users/matheusviana/Desktop/VTK-master/Common/Core/vtkSmartPointer.h:94: error: invalid static_cast from type ?vtkObjectBase* const? to type ?vtkRenderWindow*? /Users/matheusviana/Desktop/VTK-master/Common/Core/vtkSmartPointer.h: In member function ?vtkSmartPointer::operator T*() const [with T = vtkRenderWindow]?: /Users/matheusviana/Desktop/ImageToVTKImageFilter/ImageToVTKImageFilter.cxx:58: instantiated from here /Users/matheusviana/Desktop/VTK-master/Common/Core/vtkSmartPointer.h:79: error: invalid static_cast from type ?vtkObjectBase* const? to type ?vtkRenderWindow*? make[2]: *** [CMakeFiles/ImageToVTKImageFilter.dir/ImageToVTKImageFilter.cxx.o] Error 1 make[1]: *** [CMakeFiles/ImageToVTKImageFilter.dir/all] Error 2 make: *** [all] Error 2 -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587401.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From vianamp at gmail.com Fri May 22 16:54:10 2015 From: vianamp at gmail.com (viana) Date: Fri, 22 May 2015 13:54:10 -0700 (MST) Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: <1432328020121-7587401.post@n2.nabble.com> References: <1432323398231-7587392.post@n2.nabble.com> <1432323807512-7587394.post@n2.nabble.com> <1432324192515-7587396.post@n2.nabble.com> <1432327564771-7587400.post@n2.nabble.com> <1432328020121-7587401.post@n2.nabble.com> Message-ID: <1432328050751-7587402.post@n2.nabble.com> this is the example I tried: http://itk.org/Wiki/ITK/Examples/IO/ImageToVTKImageFilter -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587402.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Fri May 22 16:59:09 2015 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 22 May 2015 16:59:09 -0400 Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: <1432328050751-7587402.post@n2.nabble.com> References: <1432323398231-7587392.post@n2.nabble.com> <1432323807512-7587394.post@n2.nabble.com> <1432324192515-7587396.post@n2.nabble.com> <1432327564771-7587400.post@n2.nabble.com> <1432328020121-7587401.post@n2.nabble.com> <1432328050751-7587402.post@n2.nabble.com> Message-ID: When you run CMake you need to specify the ITK_DIR and the VTK_DIR. On May 22, 2015 4:54 PM, "viana" wrote: > this is the example I tried: > > http://itk.org/Wiki/ITK/Examples/IO/ImageToVTKImageFilter > > > > -- > View this message in context: > http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587402.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From vianamp at gmail.com Fri May 22 17:07:11 2015 From: vianamp at gmail.com (viana) Date: Fri, 22 May 2015 14:07:11 -0700 (MST) Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: References: <1432323398231-7587392.post@n2.nabble.com> <1432323807512-7587394.post@n2.nabble.com> <1432324192515-7587396.post@n2.nabble.com> <1432327564771-7587400.post@n2.nabble.com> <1432328020121-7587401.post@n2.nabble.com> <1432328050751-7587402.post@n2.nabble.com> Message-ID: <1432328831926-7587404.post@n2.nabble.com> ITK_DIR is already there. It says: ITK_DIR /usr/local/lib/cmake/ITK-4.7. I included VTK_DIR /usr/local/lib/cmake/VTK-6.2, but I got same error. Do these paths look correct for you? Or should they be the /include/xx? Feeling stupid... lol -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587404.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From bill.lorensen at gmail.com Fri May 22 17:22:17 2015 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 22 May 2015 17:22:17 -0400 Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: <1432328831926-7587404.post@n2.nabble.com> References: <1432323398231-7587392.post@n2.nabble.com> <1432323807512-7587394.post@n2.nabble.com> <1432324192515-7587396.post@n2.nabble.com> <1432327564771-7587400.post@n2.nabble.com> <1432328020121-7587401.post@n2.nabble.com> <1432328050751-7587402.post@n2.nabble.com> <1432328831926-7587404.post@n2.nabble.com> Message-ID: Yes, they look OK. How are you running cmake? On Fri, May 22, 2015 at 5:07 PM, viana wrote: > ITK_DIR is already there. It says: ITK_DIR /usr/local/lib/cmake/ITK-4.7. > > I included VTK_DIR /usr/local/lib/cmake/VTK-6.2, but I got same error. > > Do these paths look correct for you? Or should they be the /include/xx? > > Feeling stupid... lol > > > > -- > View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587404.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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users -- Unpaid intern in BillsBasement at noware dot com From vianamp at gmail.com Fri May 22 17:32:41 2015 From: vianamp at gmail.com (viana) Date: Fri, 22 May 2015 14:32:41 -0700 (MST) Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: References: <1432323807512-7587394.post@n2.nabble.com> <1432324192515-7587396.post@n2.nabble.com> <1432327564771-7587400.post@n2.nabble.com> <1432328020121-7587401.post@n2.nabble.com> <1432328050751-7587402.post@n2.nabble.com> <1432328831926-7587404.post@n2.nabble.com> Message-ID: <1432330361470-7587406.post@n2.nabble.com> 1. Unzip the example files in "source" folder 2. Open CMake and use the folder source as source 3. Use another folder "bin" as the folder to build the binaries 4. Configure [Unix makefiles] 5. Add entry VTK_DIR 6. Generate 7. In the folder "bin" in the terminal: make What do you think? -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587406.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From vianamp at gmail.com Fri May 22 18:13:14 2015 From: vianamp at gmail.com (viana) Date: Fri, 22 May 2015 15:13:14 -0700 (MST) Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: <1432330361470-7587406.post@n2.nabble.com> References: <1432324192515-7587396.post@n2.nabble.com> <1432327564771-7587400.post@n2.nabble.com> <1432328020121-7587401.post@n2.nabble.com> <1432328050751-7587402.post@n2.nabble.com> <1432328831926-7587404.post@n2.nabble.com> <1432330361470-7587406.post@n2.nabble.com> Message-ID: <1432332794716-7587407.post@n2.nabble.com> I guess I found the problem. The variable VTK_DIR was set wrong when ITK was built. I fixed it and re-compiled ITK and the example is running fine now. I will try now my original code to see if the problem was also solved there. Many thanks, -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587407.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From vianamp at gmail.com Fri May 22 18:28:59 2015 From: vianamp at gmail.com (viana) Date: Fri, 22 May 2015 15:28:59 -0700 (MST) Subject: [ITK-users] Error converting ITK to VTK In-Reply-To: <1432332794716-7587407.post@n2.nabble.com> References: <1432324192515-7587396.post@n2.nabble.com> <1432327564771-7587400.post@n2.nabble.com> <1432328020121-7587401.post@n2.nabble.com> <1432328050751-7587402.post@n2.nabble.com> <1432328831926-7587404.post@n2.nabble.com> <1432330361470-7587406.post@n2.nabble.com> <1432332794716-7587407.post@n2.nabble.com> Message-ID: <1432333739916-7587408.post@n2.nabble.com> It does solve the original problem only when I use CMake. If I try to compile through my makefile, I got the same error. Thanks Bill. -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Error-converting-ITK-to-VTK-tp7587392p7587408.html Sent from the ITK Insight Users mailing list archive at Nabble.com. From gaetan.lehmann at gmail.com Sat May 23 22:05:08 2015 From: gaetan.lehmann at gmail.com (Gaetan Lehmann) Date: Sun, 24 May 2015 04:05:08 +0200 Subject: [ITK-users] EuclideanDistancePointMetric: Error when comparing Mesh to QuadEdgeMesh In-Reply-To: References: <1432137881391-7587372.post@n2.nabble.com> <6C4A995F-45AC-4B61-8015-631A131551A5@gmail.com> Message-ID: Hi, You should be able to see the test output by running ctest -R ITKRegistrationCommonKWStyleTest -V This test only checks the coding style, so you should submit your changes to gerrit even if you can't find what is wrong. Regards, Ga?tan 2015-05-22 11:34 GMT+02:00 Davis Vigneault : > I've put together a patch including a test which now passes. However, > when I run ctest, the following test fails: > > 590 - ITKRegistrationCommonKWStyleTest (Failed) > > However, the test doesn't output any information on what caused it to > fail. I tried rerunning with the ctest option --output-on-failure, but no > additional output was given. How can I find out why this test is failing, > and what I might do to fix it before submitting the patch? > > > > On Thu, May 21, 2015 at 11:44 AM, Arnaud Gelas > wrote: > >> Hi Davis, >> >> Sounds like a bug to me (not an expert on the registration part though). >> >> You can definitively submit a patch on gerrit >> >> http://review.source.kitware.com >> >> In such a case, convert your examples into one test to be included and >> make sure your patch fixes this test and does not break the rest of the >> toolkit. >> >> Looking forward to seeing your patch on gerrit >> >> Best >> Arnaud >> >> On 21 May 2015, at 12:11, Davis Vigneault >> wrote: >> >> An update: the problem here seems to be that itkPointSetToPointSetMetric >> only defines one iterator, which it uses on both the fixed and moving >> pointsets. If I add fixed- and moving-specific iterators and change >> EuclideanDistancePointMetric accordingly, the original example compiles and >> gives the correct answer. Is this, in fact, a bug? If so, I'd be happy to >> attempt a patch. >> >> On Thu, May 21, 2015 at 10:43 AM, Davis Vigneault < >> davis.vigneault at gmail.com> wrote: >> >>> Thanks very much for the reply, Arnaud! Yes, I had originally begin >>> with the v4 version, but ran into trouble when I tried to use it with >>> LevenbergMarquardtOptimizer. >>> >>> EuclideanDistancePointMetric inherits from MultipleValuedCostFunction, >>> wherease EuclideanDistancePointSetToPointSetMetricv4 inherits from >>> SingleValuedCostFunctionv4. To the best that I can tell, >>> LevenbergMarquardtOptimizer expects its cost function to inherit from >>> MultipleValuedCostFunction. I tried wrapping >>> EuclideanDistancePointSetToPointSetMetricv4 in an adapter class inheriting >>> from MultipleValuedCostFunction, where I returned 1 from >>> GetNumberOfValues() and wrapped the return of GetValue() in an itk::Array >>> length 1. However, when I did this, I got a warning saying (if I remember >>> correctly) that there was a mismatch between the number of unknowns and >>> residuals. I realized that wrapping a "new" cost function class in an >>> "old" cost function class was a hacky way to go about it in the first >>> place, so I abandoned this method a while ago. >>> >>> Is there a way to use the v4 version with LevenbergMarquardtOptimizer? >>> Is there a reason that the v3 EuclideanDistanceMetric is multiple valued, >>> whereas the v4 metric is single valued? Is a v4 LevenbergOptimizer in >>> development, and will it be single valued or multiple valued? >>> >>> Apologies in advance if I've been going about this the wrong way--I've >>> been using ITK for a while, but am only just beginning to learn about >>> optimization/registration. >>> >>> On Thu, May 21, 2015 at 7:55 AM, Arnaud Gelas >>> wrote: >>> >>>> Hi Davis, >>>> >>>> If you use the ITKv4 version of Metric, it compiles and works fine! >>>> >>>> ? >>>> >>>> Here is the code >>>> >>>> #include "itkQuadEdgeMesh.h" >>>> #include "itkRegularSphereMeshSource.h" >>>> #include "itkEuclideanDistancePointSetToPointSetMetricv4.h" >>>> #include "itkIdentityTransform.h" >>>> >>>> typedef itk::Mesh< double, 3 > TFMesh; // If you change this to >>>> itk::QuadEdgeMesh, it works >>>> typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change this >>>> to itk::Mesh, it also works >>>> typedef itk::RegularSphereMeshSource< TFMesh > TFSource; >>>> typedef itk::RegularSphereMeshSource< TMMesh > TMSource; >>>> typedef itk::EuclideanDistancePointSetToPointSetMetricv4< TFMesh, >>>> TMMesh > TMetric; >>>> typedef itk::IdentityTransform< double, 3 > TIdentity; >>>> >>>> int main(int argc, char ** argv) >>>> { >>>> >>>> TFSource::Pointer fixed = TFSource::New(); >>>> fixed->Update(); >>>> >>>> TMSource::Pointer moving = TMSource::New(); >>>> moving->Update(); >>>> >>>> TIdentity::Pointer identity = TIdentity::New(); >>>> >>>> TMetric::Pointer metric = TMetric::New(); >>>> metric->SetFixedPointSet( fixed->GetOutput() ); >>>> metric->SetMovingPointSet( moving->GetOutput() ); >>>> metric->SetTransform( identity ); >>>> std::cout << metric->GetValue() << std::endl; >>>> >>>> return EXIT_SUCCESS; >>>> >>>> } >>>> >>>> >>>> > On 20 May 2015, at 18:04, DVigneault >>>> wrote: >>>> > >>>> > All-- >>>> > >>>> > I'm attempting to use itk::EuclideanDistancePointMetric to compare an >>>> > itk::Mesh to an itk::QuadEdgeMesh. This works as expected if >>>> templated over >>>> > two meshes of the same type (i.e., itk::Mesh and itk::Mesh or >>>> > itk::QuadEdgeMesh and itk::QuadEdgeMesh). However, if I attempt to >>>> mix the >>>> > two, and compare an itk::Mesh and an itk::QuadEdgeMesh, I get a build >>>> error, >>>> > copied below, along with a minimal example of the problem. >>>> > >>>> > I'm having some trouble decoding the error, but it looks to me as >>>> though the >>>> > filter is having trouble converting between iterator types. Does >>>> this have >>>> > something to do with a difference between how itk::Mesh and >>>> > itk::QuadEdgeMesh define their iterators? >>>> > >>>> > Thank you in advance for your help! >>>> > >>>> > Best, >>>> > >>>> > --Davis >>>> > >>>> > #include "itkQuadEdgeMesh.h" >>>> > #include "itkRegularSphereMeshSource.h" >>>> > #include "itkEuclideanDistancePointMetric.h" >>>> > #include "itkIdentityTransform.h" >>>> > >>>> > typedef itk::Mesh< double, 3 > TFMesh; // If you change this to >>>> > itk::QuadEdgeMesh, it works >>>> > typedef itk::QuadEdgeMesh< double, 3 > TMMesh; // Or if you change >>>> this to >>>> > itk::Mesh, it also works >>>> > typedef itk::RegularSphereMeshSource< TFMesh > TFSource; >>>> > typedef itk::RegularSphereMeshSource< TMMesh > TMSource; >>>> > typedef itk::EuclideanDistancePointMetric< TFMesh, TMMesh > TMetric; >>>> > typedef itk::IdentityTransform< double, 3 > TIdentity; >>>> > >>>> > int main(int argc, char ** argv) >>>> > { >>>> > >>>> > TFSource::Pointer fixed = TFSource::New(); >>>> > fixed->Update(); >>>> > >>>> > TMSource::Pointer moving = TMSource::New(); >>>> > moving->Update(); >>>> > >>>> > TIdentity::Pointer identity = TIdentity::New(); >>>> > >>>> > TMetric::Pointer metric = TMetric::New(); >>>> > metric->SetFixedPointSet( fixed->GetOutput() ); >>>> > metric->SetMovingPointSet( moving->GetOutput() ); >>>> > metric->SetTransform( identity ); >>>> > std::cout << metric->GetValue(identity->GetParameters()) << >>>> std::endl; >>>> > >>>> > return EXIT_SUCCESS; >>>> > >>>> > } >>>> > >>>> > >>>> > $ make >>>> > Scanning dependencies of target AmoebaOptimization >>>> > [100%] Building CXX object >>>> > CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o >>>> > In file included from >>>> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.h:125:0, >>>> > from >>>> > >>>> /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:3: >>>> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx: In >>>> > instantiation of ?itk::EuclideanDistancePointMetric>>> > TMovingPointSet, TDistanceMap>::MeasureType >>>> > itk::EuclideanDistancePointMetric>>> > TDistanceMap>::GetValue(const TransformParametersType&) const [with >>>> > TFixedPointSet = itk::Mesh; TMovingPointSet = >>>> > itk::QuadEdgeMesh; TDistanceMap = itk::Image>>> unsigned int, >>>> > 3u>; itk::EuclideanDistancePointMetric>>> TMovingPointSet, >>>> > TDistanceMap>::MeasureType = itk::Array; >>>> > itk::EuclideanDistancePointMetric>>> > TDistanceMap>::TransformParametersType = >>>> itk::OptimizerParameters]?: >>>> > >>>> /home/davis/Developer/oxford/Stebbing_Method/Test/src/AmoebaOptimization.cxx:28:58: >>>> > required from here >>>> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:74:63: >>>> error: >>>> > conversion from ?itk::MapContainer>>> > itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long >>>> > unsigned int, long unsigned int, bool, bool, true> > >>>> >::ConstIterator? to >>>> > non-scalar type >>>> ?itk::EuclideanDistancePointMetric, >>>> > itk::QuadEdgeMesh >::PointIterator {aka >>>> > itk::VectorContainer >>>> >> ::ConstIterator}? requested >>>> > PointIterator pointItr = movingPointSet->GetPoints()->Begin(); >>>> > ^ >>>> > /usr/local/include/ITK-4.7/itkEuclideanDistancePointMetric.hxx:75:61: >>>> error: >>>> > conversion from ?itk::MapContainer>>> > itk::QuadEdgeMeshPoint<float, 3u, itk::GeometricalQuadEdge<long >>>> > unsigned int, long unsigned int, bool, bool, true> > >>>> >::ConstIterator? to >>>> > non-scalar type >>>> ?itk::EuclideanDistancePointMetric, >>>> > itk::QuadEdgeMesh >::PointIterator {aka >>>> > itk::VectorContainer >>>> >> ::ConstIterator}? requested >>>> > PointIterator pointEnd = movingPointSet->GetPoints()->End(); >>>> > ^ >>>> > make[2]: *** >>>> [CMakeFiles/AmoebaOptimization.dir/AmoebaOptimization.cxx.o] >>>> > Error 1 >>>> > make[1]: *** [CMakeFiles/AmoebaOptimization.dir/all] Error 2 >>>> > make: *** [all] Error 2 >>>> > >>>> > >>>> > >>>> > >>>> > -- >>>> > View this message in context: >>>> http://itk-insight-users.2283740.n2.nabble.com/EuclideanDistancePointMetric-Error-when-comparing-Mesh-to-QuadEdgeMesh-tp7587372.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.php >>>> > >>>> > Please keep messages on-topic and check the ITK FAQ at: >>>> > http://www.itk.org/Wiki/ITK_FAQ >>>> > >>>> > Follow this link to subscribe/unsubscribe: >>>> > http://public.kitware.com/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.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matimontg at gmail.com Sun May 24 14:42:03 2015 From: matimontg at gmail.com (Matias Montroull) Date: Sun, 24 May 2015 15:42:03 -0300 Subject: [ITK-users] Success Story of CT / RM registration | Where can I Upload Code Message-ID: Hi, I have a success code for registering 2 sets of multimodality images. A CT study and a RM study. Is there a place I can upload the code I used so it can be shared with the community? Thanks, Matias. -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Mon May 25 09:53:08 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 25 May 2015 09:53:08 -0400 Subject: [ITK-users] Success Story of CT / RM registration | Where can I Upload Code In-Reply-To: References: Message-ID: Hi Matias, Excellent! Thank you for offering to share your code! You could contribute an example as described here [1]. Please let the list know if you have any questions. Thanks, Matt [1] http://itk.org/ITKExamples/Documentation/Contribute/index.html On Sun, May 24, 2015 at 2:42 PM, Matias Montroull wrote: > Hi, > > I have a success code for registering 2 sets of multimodality images. A CT > study and a RM study. > > Is there a place I can upload the code I used so it can be shared with the > community? > > Thanks, > > Matias. > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > From matimontg at gmail.com Mon May 25 20:21:40 2015 From: matimontg at gmail.com (Matias Montroull) Date: Mon, 25 May 2015 21:21:40 -0300 Subject: [ITK-users] Success Story of CT / RM registration | Where can I Upload Code In-Reply-To: References: Message-ID: Thanks Matt, It seems the instructions for uploading through Web are not listed, is there any instructions I can follow to do so? Thanks, Matias. On Mon, May 25, 2015 at 10:53 AM, Matt McCormick wrote: > Hi Matias, > > Excellent! Thank you for offering to share your code! You could > contribute an example as described here [1]. Please let the list know > if you have any questions. > > Thanks, > Matt > > [1] http://itk.org/ITKExamples/Documentation/Contribute/index.html > > On Sun, May 24, 2015 at 2:42 PM, Matias Montroull > wrote: > > Hi, > > > > I have a success code for registering 2 sets of multimodality images. A > CT > > study and a RM study. > > > > Is there a place I can upload the code I used so it can be shared with > the > > community? > > > > Thanks, > > > > Matias. > > > > _____________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.php > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/insight-users > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Mon May 25 21:18:07 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 25 May 2015 21:18:07 -0400 Subject: [ITK-users] Success Story of CT / RM registration | Where can I Upload Code In-Reply-To: References: Message-ID: The upload of code is still a work in progress. It is possible to upload your input and output images through the web, though. Please let me know when you have registered for the ITK Midas community [1], and I will add upload permissions to your account. Thanks, Matt [1] http://midas3.kitware.com/midas/community/12 On Mon, May 25, 2015 at 8:21 PM, Matias Montroull wrote: > Thanks Matt, It seems the instructions for uploading through Web are not > listed, is there any instructions I can follow to do so? > Thanks, > Matias. > > On Mon, May 25, 2015 at 10:53 AM, Matt McCormick > wrote: >> >> Hi Matias, >> >> Excellent! Thank you for offering to share your code! You could >> contribute an example as described here [1]. Please let the list know >> if you have any questions. >> >> Thanks, >> Matt >> >> [1] http://itk.org/ITKExamples/Documentation/Contribute/index.html >> >> On Sun, May 24, 2015 at 2:42 PM, Matias Montroull >> wrote: >> > Hi, >> > >> > I have a success code for registering 2 sets of multimodality images. A >> > CT >> > study and a RM study. >> > >> > Is there a place I can upload the code I used so it can be shared with >> > the >> > community? >> > >> > Thanks, >> > >> > Matias. >> > >> > _____________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.php >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/insight-users >> > > > From npate012 at odu.edu Mon May 25 21:41:52 2015 From: npate012 at odu.edu (Nirmal Patel) Date: Mon, 25 May 2015 21:41:52 -0400 Subject: [ITK-users] Registration of images with varying topology Message-ID: Dear ITK users, I would like to perform registration on two images with varying topology. I have tried the diffeomorphic demons filter to do this. Can someone please tell me how to calculate which pixel in the fixed image corresponds to which pixel in the moving image? I do not understand how to use the displacement field generated by the diffeomorphic demons filter. Thank you. Sincerely, Nirmal -------------- next part -------------- An HTML attachment was scrubbed... URL: From maudette at odu.edu Mon May 25 21:46:52 2015 From: maudette at odu.edu (Audette, Michel A.) Date: Tue, 26 May 2015 01:46:52 +0000 Subject: [ITK-users] [Spam:7.0 SpamScore] Registration of images with varying topology In-Reply-To: References: Message-ID: <22EC75E8215562428ACADFA35877A25A261CD32D@JANEWAY.ts.odu.edu> Dear ITK users, just to further motivate your intervention, Nirmal and I are trying to track 2D contours at different longitudinal coordinates in order to stack atlas slices as well as interpolate between them between consecutive slices. Any deformation that we do has to deal with topological variation as well as produce a deformation function that can be interpolated based on fractional values of these function values. Thanks for your kind consideration. Michel Michel Audette, Ph.D. Assistant Professor, Department of Modeling, Simulation and Visualization Engineering, Old Dominion University, Norfolk, VA. ________________________________ From: Insight-users [insight-users-bounces at itk.org] on behalf of Nirmal Patel [npate012 at odu.edu] Sent: Monday, May 25, 2015 9:41 PM To: insight-users at itk.org Subject: [Spam:7.0 SpamScore] [ITK-users] Registration of images with varying topology Dear ITK users, I would like to perform registration on two images with varying topology. I have tried the diffeomorphic demons filter to do this. Can someone please tell me how to calculate which pixel in the fixed image corresponds to which pixel in the moving image? I do not understand how to use the displacement field generated by the diffeomorphic demons filter. Thank you. Sincerely, Nirmal ________________________________ Spam Not spam Forget previous vote -------------- next part -------------- An HTML attachment was scrubbed... URL: From fbudin at email.unc.edu Tue May 26 09:55:34 2015 From: fbudin at email.unc.edu (Budin, Francois) Date: Tue, 26 May 2015 13:55:34 +0000 Subject: [ITK-users] SpatialOrientationAdapter In-Reply-To: References: <555F8A99.3040505@email.unc.edu> Message-ID: Thank you Bill. Let me know if you find anything. Francois On May 22, 2015, at 4:43 PM, Bill Lorensen > wrote: It is possible that the adaptor uses a different notation. I'll have to check. On May 22, 2015 3:59 PM, "Francois Budin" > wrote: Hello Everybody, I was trying to use itk::SpatialOrientationAdapter. As a simple example, I wrote the following code: #include #include #include #include int main( int argc, char* argv[] ) { typedef itk::Image< float , 3 > ImageType ; typedef ImageType::DirectionType DirectionType ; DirectionType direction ; direction.SetIdentity() ; typedef itk::SpatialOrientation::ValidCoordinateOrientationFlags CoordinateOrientationCode ; CoordinateOrientationCode orientation ; orientation = itk::SpatialOrientationAdapter().FromDirectionCosines( direction ) ; if( orientation == itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_LPS ) { std::cout << "LPS" << std::endl ; } else if( orientation == itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RAI ) { std::cout << "RAI" << std::endl ; } else { std::cout << "Unknown" << std::endl ; } return 0 ; } I wanted to make sure that since ITK is using LPS as its default orientation, if I were to give the identity matrix as an orientation matrix to itk::SpatialOrientationAdapter().FromDirectionCosines, I would obtain LPS as a result. However, I obtain RAI which is exactly the opposite of what I was expecting. Could somebody help me to understand what is happening and why I don't get LPS as a result? Thank you, Francois _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From matimontg at gmail.com Tue May 26 10:54:06 2015 From: matimontg at gmail.com (Matias Montroull) Date: Tue, 26 May 2015 11:54:06 -0300 Subject: [ITK-users] Success Story of CT / RM registration | Where can I Upload Code In-Reply-To: References: Message-ID: Hi Matt, I already registered into the Midas community. Regards, Matias. On Mon, May 25, 2015 at 10:18 PM, Matt McCormick wrote: > The upload of code is still a work in progress. It is possible to > upload your input and output images through the web, though. Please > let me know when you have registered for the ITK Midas community [1], > and I will add upload permissions to your account. > > Thanks, > Matt > > [1] http://midas3.kitware.com/midas/community/12 > > On Mon, May 25, 2015 at 8:21 PM, Matias Montroull > wrote: > > Thanks Matt, It seems the instructions for uploading through Web are not > > listed, is there any instructions I can follow to do so? > > Thanks, > > Matias. > > > > On Mon, May 25, 2015 at 10:53 AM, Matt McCormick > > wrote: > >> > >> Hi Matias, > >> > >> Excellent! Thank you for offering to share your code! You could > >> contribute an example as described here [1]. Please let the list know > >> if you have any questions. > >> > >> Thanks, > >> Matt > >> > >> [1] http://itk.org/ITKExamples/Documentation/Contribute/index.html > >> > >> On Sun, May 24, 2015 at 2:42 PM, Matias Montroull > >> wrote: > >> > Hi, > >> > > >> > I have a success code for registering 2 sets of multimodality images. > A > >> > CT > >> > study and a RM study. > >> > > >> > Is there a place I can upload the code I used so it can be shared with > >> > the > >> > community? > >> > > >> > Thanks, > >> > > >> > Matias. > >> > > >> > _____________________________________ > >> > Powered by www.kitware.com > >> > > >> > Visit other Kitware open-source projects at > >> > http://www.kitware.com/opensource/opensource.html > >> > > >> > Kitware offers ITK Training Courses, for more information visit: > >> > http://www.kitware.com/products/protraining.php > >> > > >> > Please keep messages on-topic and check the ITK FAQ at: > >> > http://www.itk.org/Wiki/ITK_FAQ > >> > > >> > Follow this link to subscribe/unsubscribe: > >> > http://public.kitware.com/mailman/listinfo/insight-users > >> > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Tue May 26 11:29:01 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Tue, 26 May 2015 11:29:01 -0400 Subject: [ITK-users] Success Story of CT / RM registration | Where can I Upload Code In-Reply-To: References: Message-ID: Hi Matias, After registering on the server, you must "join" the "ITK community". Go to this URL: http://midas3.kitware.com/midas/community/12 When logged in, there should be a gray button "Join this community". Sorry for any confusion. Matt On Tue, May 26, 2015 at 10:54 AM, Matias Montroull wrote: > Hi Matt, > > I already registered into the Midas community. > > Regards, > > Matias. > > On Mon, May 25, 2015 at 10:18 PM, Matt McCormick > wrote: >> >> The upload of code is still a work in progress. It is possible to >> upload your input and output images through the web, though. Please >> let me know when you have registered for the ITK Midas community [1], >> and I will add upload permissions to your account. >> >> Thanks, >> Matt >> >> [1] http://midas3.kitware.com/midas/community/12 >> >> On Mon, May 25, 2015 at 8:21 PM, Matias Montroull >> wrote: >> > Thanks Matt, It seems the instructions for uploading through Web are >> > not >> > listed, is there any instructions I can follow to do so? >> > Thanks, >> > Matias. >> > >> > On Mon, May 25, 2015 at 10:53 AM, Matt McCormick >> > wrote: >> >> >> >> Hi Matias, >> >> >> >> Excellent! Thank you for offering to share your code! You could >> >> contribute an example as described here [1]. Please let the list know >> >> if you have any questions. >> >> >> >> Thanks, >> >> Matt >> >> >> >> [1] http://itk.org/ITKExamples/Documentation/Contribute/index.html >> >> >> >> On Sun, May 24, 2015 at 2:42 PM, Matias Montroull >> >> wrote: >> >> > Hi, >> >> > >> >> > I have a success code for registering 2 sets of multimodality images. >> >> > A >> >> > CT >> >> > study and a RM study. >> >> > >> >> > Is there a place I can upload the code I used so it can be shared >> >> > with >> >> > the >> >> > community? >> >> > >> >> > Thanks, >> >> > >> >> > Matias. >> >> > >> >> > _____________________________________ >> >> > Powered by www.kitware.com >> >> > >> >> > Visit other Kitware open-source projects at >> >> > http://www.kitware.com/opensource/opensource.html >> >> > >> >> > Kitware offers ITK Training Courses, for more information visit: >> >> > http://www.kitware.com/products/protraining.php >> >> > >> >> > Please keep messages on-topic and check the ITK FAQ at: >> >> > http://www.itk.org/Wiki/ITK_FAQ >> >> > >> >> > Follow this link to subscribe/unsubscribe: >> >> > http://public.kitware.com/mailman/listinfo/insight-users >> >> > >> > >> > > > From Denis.Abu-Sammour at medma.uni-heidelberg.de Tue May 26 12:00:54 2015 From: Denis.Abu-Sammour at medma.uni-heidelberg.de (Abu-Sammour, Denis) Date: Tue, 26 May 2015 18:00:54 +0200 Subject: [ITK-users] Neighborhood Iterators Starting and Ending point Message-ID: <5E843F0B86B47846B72559B57A54F96217C721DD21@MBX02.ad.uni-heidelberg.de> Hello, Is there a way to force the neighborhood iterator to start iterating in a defined point rather than using GoToBegin() which moves the center of the neighborhood iterator to the 1st pixel in the iteration region? For example, is it possible to start iterating (i.e. the 1st neighborhood is centered) at say (x=5,y=5) with a neighborhood radius of 5 pixels then move with a step (offset) of 10 pixels stopping the iteration at (x= end - 5, y= end - 5) rather than IsAtEnd() ? Thank you. Denis -------------- next part -------------- An HTML attachment was scrubbed... URL: From matimontg at gmail.com Tue May 26 12:32:42 2015 From: matimontg at gmail.com (Matias Montroull) Date: Tue, 26 May 2015 13:32:42 -0300 Subject: [ITK-users] Success Story of CT / RM registration | Where can I Upload Code In-Reply-To: References: Message-ID: Thanks for clarifyin, I just joined the ITK community. Regards, Matias. On Tue, May 26, 2015 at 12:29 PM, Matt McCormick wrote: > Hi Matias, > > After registering on the server, you must "join" the "ITK community". > Go to this URL: > > http://midas3.kitware.com/midas/community/12 > > When logged in, there should be a gray button "Join this community". > > Sorry for any confusion. > > Matt > > On Tue, May 26, 2015 at 10:54 AM, Matias Montroull > wrote: > > Hi Matt, > > > > I already registered into the Midas community. > > > > Regards, > > > > Matias. > > > > On Mon, May 25, 2015 at 10:18 PM, Matt McCormick > > wrote: > >> > >> The upload of code is still a work in progress. It is possible to > >> upload your input and output images through the web, though. Please > >> let me know when you have registered for the ITK Midas community [1], > >> and I will add upload permissions to your account. > >> > >> Thanks, > >> Matt > >> > >> [1] http://midas3.kitware.com/midas/community/12 > >> > >> On Mon, May 25, 2015 at 8:21 PM, Matias Montroull > >> wrote: > >> > Thanks Matt, It seems the instructions for uploading through Web are > >> > not > >> > listed, is there any instructions I can follow to do so? > >> > Thanks, > >> > Matias. > >> > > >> > On Mon, May 25, 2015 at 10:53 AM, Matt McCormick > >> > wrote: > >> >> > >> >> Hi Matias, > >> >> > >> >> Excellent! Thank you for offering to share your code! You could > >> >> contribute an example as described here [1]. Please let the list > know > >> >> if you have any questions. > >> >> > >> >> Thanks, > >> >> Matt > >> >> > >> >> [1] http://itk.org/ITKExamples/Documentation/Contribute/index.html > >> >> > >> >> On Sun, May 24, 2015 at 2:42 PM, Matias Montroull < > matimontg at gmail.com> > >> >> wrote: > >> >> > Hi, > >> >> > > >> >> > I have a success code for registering 2 sets of multimodality > images. > >> >> > A > >> >> > CT > >> >> > study and a RM study. > >> >> > > >> >> > Is there a place I can upload the code I used so it can be shared > >> >> > with > >> >> > the > >> >> > community? > >> >> > > >> >> > Thanks, > >> >> > > >> >> > Matias. > >> >> > > >> >> > _____________________________________ > >> >> > Powered by www.kitware.com > >> >> > > >> >> > Visit other Kitware open-source projects at > >> >> > http://www.kitware.com/opensource/opensource.html > >> >> > > >> >> > Kitware offers ITK Training Courses, for more information visit: > >> >> > http://www.kitware.com/products/protraining.php > >> >> > > >> >> > Please keep messages on-topic and check the ITK FAQ at: > >> >> > http://www.itk.org/Wiki/ITK_FAQ > >> >> > > >> >> > Follow this link to subscribe/unsubscribe: > >> >> > http://public.kitware.com/mailman/listinfo/insight-users > >> >> > > >> > > >> > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Tue May 26 12:51:14 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Tue, 26 May 2015 12:51:14 -0400 Subject: [ITK-users] Success Story of CT / RM registration | Where can I Upload Code In-Reply-To: References: Message-ID: Thanks! Your account has been added to the uploader's group. On Tue, May 26, 2015 at 12:32 PM, Matias Montroull wrote: > Thanks for clarifyin, I just joined the ITK community. > > Regards, > > Matias. > > On Tue, May 26, 2015 at 12:29 PM, Matt McCormick > wrote: >> >> Hi Matias, >> >> After registering on the server, you must "join" the "ITK community". >> Go to this URL: >> >> http://midas3.kitware.com/midas/community/12 >> >> When logged in, there should be a gray button "Join this community". >> >> Sorry for any confusion. >> >> Matt >> >> On Tue, May 26, 2015 at 10:54 AM, Matias Montroull >> wrote: >> > Hi Matt, >> > >> > I already registered into the Midas community. >> > >> > Regards, >> > >> > Matias. >> > >> > On Mon, May 25, 2015 at 10:18 PM, Matt McCormick >> > wrote: >> >> >> >> The upload of code is still a work in progress. It is possible to >> >> upload your input and output images through the web, though. Please >> >> let me know when you have registered for the ITK Midas community [1], >> >> and I will add upload permissions to your account. >> >> >> >> Thanks, >> >> Matt >> >> >> >> [1] http://midas3.kitware.com/midas/community/12 >> >> >> >> On Mon, May 25, 2015 at 8:21 PM, Matias Montroull >> >> wrote: >> >> > Thanks Matt, It seems the instructions for uploading through Web are >> >> > not >> >> > listed, is there any instructions I can follow to do so? >> >> > Thanks, >> >> > Matias. >> >> > >> >> > On Mon, May 25, 2015 at 10:53 AM, Matt McCormick >> >> > wrote: >> >> >> >> >> >> Hi Matias, >> >> >> >> >> >> Excellent! Thank you for offering to share your code! You could >> >> >> contribute an example as described here [1]. Please let the list >> >> >> know >> >> >> if you have any questions. >> >> >> >> >> >> Thanks, >> >> >> Matt >> >> >> >> >> >> [1] http://itk.org/ITKExamples/Documentation/Contribute/index.html >> >> >> >> >> >> On Sun, May 24, 2015 at 2:42 PM, Matias Montroull >> >> >> >> >> >> wrote: >> >> >> > Hi, >> >> >> > >> >> >> > I have a success code for registering 2 sets of multimodality >> >> >> > images. >> >> >> > A >> >> >> > CT >> >> >> > study and a RM study. >> >> >> > >> >> >> > Is there a place I can upload the code I used so it can be shared >> >> >> > with >> >> >> > the >> >> >> > community? >> >> >> > >> >> >> > Thanks, >> >> >> > >> >> >> > Matias. >> >> >> > >> >> >> > _____________________________________ >> >> >> > Powered by www.kitware.com >> >> >> > >> >> >> > Visit other Kitware open-source projects at >> >> >> > http://www.kitware.com/opensource/opensource.html >> >> >> > >> >> >> > Kitware offers ITK Training Courses, for more information visit: >> >> >> > http://www.kitware.com/products/protraining.php >> >> >> > >> >> >> > Please keep messages on-topic and check the ITK FAQ at: >> >> >> > http://www.itk.org/Wiki/ITK_FAQ >> >> >> > >> >> >> > Follow this link to subscribe/unsubscribe: >> >> >> > http://public.kitware.com/mailman/listinfo/insight-users >> >> >> > >> >> > >> >> > >> > >> > > > From matimontg at gmail.com Tue May 26 12:52:18 2015 From: matimontg at gmail.com (Matias Montroull) Date: Tue, 26 May 2015 13:52:18 -0300 Subject: [ITK-users] Success Story of CT / RM registration | Where can I Upload Code In-Reply-To: References: Message-ID: Thanks so I guess I can upload the code now? Any instructions on how to do it or I just follow the guidelines and that's all? On Tue, May 26, 2015 at 1:51 PM, Matt McCormick wrote: > Thanks! Your account has been added to the uploader's group. > > On Tue, May 26, 2015 at 12:32 PM, Matias Montroull > wrote: > > Thanks for clarifyin, I just joined the ITK community. > > > > Regards, > > > > Matias. > > > > On Tue, May 26, 2015 at 12:29 PM, Matt McCormick > > wrote: > >> > >> Hi Matias, > >> > >> After registering on the server, you must "join" the "ITK community". > >> Go to this URL: > >> > >> http://midas3.kitware.com/midas/community/12 > >> > >> When logged in, there should be a gray button "Join this community". > >> > >> Sorry for any confusion. > >> > >> Matt > >> > >> On Tue, May 26, 2015 at 10:54 AM, Matias Montroull > > >> wrote: > >> > Hi Matt, > >> > > >> > I already registered into the Midas community. > >> > > >> > Regards, > >> > > >> > Matias. > >> > > >> > On Mon, May 25, 2015 at 10:18 PM, Matt McCormick > >> > wrote: > >> >> > >> >> The upload of code is still a work in progress. It is possible to > >> >> upload your input and output images through the web, though. Please > >> >> let me know when you have registered for the ITK Midas community [1], > >> >> and I will add upload permissions to your account. > >> >> > >> >> Thanks, > >> >> Matt > >> >> > >> >> [1] http://midas3.kitware.com/midas/community/12 > >> >> > >> >> On Mon, May 25, 2015 at 8:21 PM, Matias Montroull < > matimontg at gmail.com> > >> >> wrote: > >> >> > Thanks Matt, It seems the instructions for uploading through Web > are > >> >> > not > >> >> > listed, is there any instructions I can follow to do so? > >> >> > Thanks, > >> >> > Matias. > >> >> > > >> >> > On Mon, May 25, 2015 at 10:53 AM, Matt McCormick > >> >> > wrote: > >> >> >> > >> >> >> Hi Matias, > >> >> >> > >> >> >> Excellent! Thank you for offering to share your code! You could > >> >> >> contribute an example as described here [1]. Please let the list > >> >> >> know > >> >> >> if you have any questions. > >> >> >> > >> >> >> Thanks, > >> >> >> Matt > >> >> >> > >> >> >> [1] > http://itk.org/ITKExamples/Documentation/Contribute/index.html > >> >> >> > >> >> >> On Sun, May 24, 2015 at 2:42 PM, Matias Montroull > >> >> >> > >> >> >> wrote: > >> >> >> > Hi, > >> >> >> > > >> >> >> > I have a success code for registering 2 sets of multimodality > >> >> >> > images. > >> >> >> > A > >> >> >> > CT > >> >> >> > study and a RM study. > >> >> >> > > >> >> >> > Is there a place I can upload the code I used so it can be > shared > >> >> >> > with > >> >> >> > the > >> >> >> > community? > >> >> >> > > >> >> >> > Thanks, > >> >> >> > > >> >> >> > Matias. > >> >> >> > > >> >> >> > _____________________________________ > >> >> >> > Powered by www.kitware.com > >> >> >> > > >> >> >> > Visit other Kitware open-source projects at > >> >> >> > http://www.kitware.com/opensource/opensource.html > >> >> >> > > >> >> >> > Kitware offers ITK Training Courses, for more information visit: > >> >> >> > http://www.kitware.com/products/protraining.php > >> >> >> > > >> >> >> > Please keep messages on-topic and check the ITK FAQ at: > >> >> >> > http://www.itk.org/Wiki/ITK_FAQ > >> >> >> > > >> >> >> > Follow this link to subscribe/unsubscribe: > >> >> >> > http://public.kitware.com/mailman/listinfo/insight-users > >> >> >> > > >> >> > > >> >> > > >> > > >> > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Tue May 26 13:09:20 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Tue, 26 May 2015 13:09:20 -0400 Subject: [ITK-users] Success Story of CT / RM registration | Where can I Upload Code In-Reply-To: References: Message-ID: Any images required can be uploaded to the Midas server. Since we use Git for version control, which is distributed, this prevents local repository clones from bloating in size due to the large images. The code can be uploaded as instructed here: http://itk.org/ITKExamples/Documentation/Contribute/ContributeWithGit.html Essentially, run a Python script that creates a template, plug in your code, and submit it. Please let us know if anything is unclear. Thanks, Matt On Tue, May 26, 2015 at 12:52 PM, Matias Montroull wrote: > Thanks so I guess I can upload the code now? Any instructions on how to do > it or I just follow the guidelines and that's all? > > On Tue, May 26, 2015 at 1:51 PM, Matt McCormick > wrote: >> >> Thanks! Your account has been added to the uploader's group. >> >> On Tue, May 26, 2015 at 12:32 PM, Matias Montroull >> wrote: >> > Thanks for clarifyin, I just joined the ITK community. >> > >> > Regards, >> > >> > Matias. >> > >> > On Tue, May 26, 2015 at 12:29 PM, Matt McCormick >> > wrote: >> >> >> >> Hi Matias, >> >> >> >> After registering on the server, you must "join" the "ITK community". >> >> Go to this URL: >> >> >> >> http://midas3.kitware.com/midas/community/12 >> >> >> >> When logged in, there should be a gray button "Join this community". >> >> >> >> Sorry for any confusion. >> >> >> >> Matt >> >> >> >> On Tue, May 26, 2015 at 10:54 AM, Matias Montroull >> >> >> >> wrote: >> >> > Hi Matt, >> >> > >> >> > I already registered into the Midas community. >> >> > >> >> > Regards, >> >> > >> >> > Matias. >> >> > >> >> > On Mon, May 25, 2015 at 10:18 PM, Matt McCormick >> >> > wrote: >> >> >> >> >> >> The upload of code is still a work in progress. It is possible to >> >> >> upload your input and output images through the web, though. Please >> >> >> let me know when you have registered for the ITK Midas community >> >> >> [1], >> >> >> and I will add upload permissions to your account. >> >> >> >> >> >> Thanks, >> >> >> Matt >> >> >> >> >> >> [1] http://midas3.kitware.com/midas/community/12 >> >> >> >> >> >> On Mon, May 25, 2015 at 8:21 PM, Matias Montroull >> >> >> >> >> >> wrote: >> >> >> > Thanks Matt, It seems the instructions for uploading through Web >> >> >> > are >> >> >> > not >> >> >> > listed, is there any instructions I can follow to do so? >> >> >> > Thanks, >> >> >> > Matias. >> >> >> > >> >> >> > On Mon, May 25, 2015 at 10:53 AM, Matt McCormick >> >> >> > wrote: >> >> >> >> >> >> >> >> Hi Matias, >> >> >> >> >> >> >> >> Excellent! Thank you for offering to share your code! You could >> >> >> >> contribute an example as described here [1]. Please let the list >> >> >> >> know >> >> >> >> if you have any questions. >> >> >> >> >> >> >> >> Thanks, >> >> >> >> Matt >> >> >> >> >> >> >> >> [1] >> >> >> >> http://itk.org/ITKExamples/Documentation/Contribute/index.html >> >> >> >> >> >> >> >> On Sun, May 24, 2015 at 2:42 PM, Matias Montroull >> >> >> >> >> >> >> >> wrote: >> >> >> >> > Hi, >> >> >> >> > >> >> >> >> > I have a success code for registering 2 sets of multimodality >> >> >> >> > images. >> >> >> >> > A >> >> >> >> > CT >> >> >> >> > study and a RM study. >> >> >> >> > >> >> >> >> > Is there a place I can upload the code I used so it can be >> >> >> >> > shared >> >> >> >> > with >> >> >> >> > the >> >> >> >> > community? >> >> >> >> > >> >> >> >> > Thanks, >> >> >> >> > >> >> >> >> > Matias. >> >> >> >> > >> >> >> >> > _____________________________________ >> >> >> >> > Powered by www.kitware.com >> >> >> >> > >> >> >> >> > Visit other Kitware open-source projects at >> >> >> >> > http://www.kitware.com/opensource/opensource.html >> >> >> >> > >> >> >> >> > Kitware offers ITK Training Courses, for more information >> >> >> >> > visit: >> >> >> >> > http://www.kitware.com/products/protraining.php >> >> >> >> > >> >> >> >> > Please keep messages on-topic and check the ITK FAQ at: >> >> >> >> > http://www.itk.org/Wiki/ITK_FAQ >> >> >> >> > >> >> >> >> > Follow this link to subscribe/unsubscribe: >> >> >> >> > http://public.kitware.com/mailman/listinfo/insight-users >> >> >> >> > >> >> >> > >> >> >> > >> >> > >> >> > >> > >> > > > From franciscolopezdelafranca at gmail.com Thu May 28 09:00:32 2015 From: franciscolopezdelafranca at gmail.com (Francisco Lopez de la Franca) Date: Thu, 28 May 2015 15:00:32 +0200 Subject: [ITK-users] Octree doc and spatial occupancy matrix? Message-ID: Hi all, Is there in ITK any way to represent a 3D image as a spatial occupancy matrix? I mean, I'd like to represent a 3D image as a set of sub-volumes (like cubes, for instance). And, in the end, is there any document or link explaining deeply how itk::Octree works or should be used? Thanks a lot in advance. MBR. /Francisco -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Thu May 28 12:28:35 2015 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 28 May 2015 12:28:35 -0400 Subject: [ITK-users] Neighborhood Iterators Starting and Ending point In-Reply-To: <5E843F0B86B47846B72559B57A54F96217C721DD21@MBX02.ad.uni-heidelberg.de> References: <5E843F0B86B47846B72559B57A54F96217C721DD21@MBX02.ad.uni-heidelberg.de> Message-ID: Hi Denis, Depending on your goals, working with a std::slice on the neighborhood may help or just defining the neighborhood over the desired region could be an alternative. The documentation on NeighborhoodIterators may help [1]. HTH, Matt [1] http://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch6.html#x47-1110006.4 On Tue, May 26, 2015 at 12:00 PM, Abu-Sammour, Denis wrote: > Hello, > > Is there a way to force the neighborhood iterator to start iterating in a > defined point rather than using GoToBegin() which moves the center of the > neighborhood iterator to the 1st pixel in the iteration region? For example, > is it possible to start iterating (i.e. the 1st neighborhood is centered) > at say (x=5,y=5) with a neighborhood radius of 5 pixels then move with a > step (offset) of 10 pixels stopping the iteration at (x= end ? 5, y= end ? > 5) rather than IsAtEnd() ? > > Thank you. > > Denis > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > From Denis.Abu-Sammour at medma.uni-heidelberg.de Fri May 29 05:23:34 2015 From: Denis.Abu-Sammour at medma.uni-heidelberg.de (Abu-Sammour, Denis) Date: Fri, 29 May 2015 11:23:34 +0200 Subject: [ITK-users] Neighborhood Iterators moving at constant intervals Message-ID: <5E843F0B86B47846B72559B57A54F96217C759C90D@MBX02.ad.uni-heidelberg.de> Hello Matt, Thanks for your reply. So what I am trying to do is to iterate through the region of the image with a neighborhood iterator but instead of letting the center pixel of the neighborhood iterator visit all image pixels I want it sort of jump to pixels spaced at constant intervals. So say I force the Neighborhood iterator to start at pixel (10,10) by using " Iterator.SetLocation() " and assuming a constant step of 10, how can I force the neighborhood iterator to jump to pixel (20,10) for the 2nd iteration then to pixel (30,10) at the 3rd iteration and so on.. ? I tried defining an Offset " itk::Offset <2> BlockOffset " such that " BlockOffset[0] = 10 " and " BlockOffset[1] = 10 ". Plugging that into the Neighborhood Iterator for loop " BlockIterator += (BlockOffset) " I found out that the neighborhood will jump in a diagonal manner through the image. Afterwards, I redefined " BlockOffset[0] = 10 " while " BlockOffset[1] = 0 ", the iterator moved as planned in the x-direction jumping at regular steps of 10 pixels as needed however, it did not move to the next row of the image i.e. the neighborhood iterator kept moving in the x-direction even after exceeding the image x-dimension until a RunTime error occurred! I tried to introduce " NeedToUseBoundaryConditionOn() " and a Face Calculator " itk::ImageBoundaryFacesCalculator " with no success. Please note the region supplied to the iterator is well defined ( as a OutputImage->GetLargestPossibleRegion() ) and the problem did not occur when I used the regular Neighborhood Iterator which starts at " BlockIterator.GoToBegin() " and incremented 1 pixel at a time (BlockIterator++). It appears that the Neighborhood iterator algorithm moves to the next row only if it encounters the pixel that is just outside the required region, therefore, when jumping at particular steps this pixel is almost never visited instead the iterator jumps to a pixel that is some distance outside the requested region and thus it does not go to the next row. So far I was forced to use the latter approach (starting at the 1st pixel in the image and incrementing by 1 pixel at each neighborhood iteration) with Getting the Image Index of the center of the Neighborhood iterator at the current iteration, checking wither it is at the desired location, and proceeding with computations if it is the case: for (BlockIterator.GoToBegin(); !BlockIterator.IsAtEnd(); BlockIterator++) { BlockCenter = BlockIt.GetIndex(); if (BlockCenter[0] % StepSize == 0 && BlockCenter[1] % StepSize == 0 && BlockCenter[0] != 0 && BlockCenter[1] != 0) { //Proceed with computations } } However, this approach is hardly efficient. Please Advise. Regards Denis -----Urspr?ngliche Nachricht----- Von: Matt McCormick [mailto:matt.mccormick at kitware.com] Gesendet: Donnerstag, 28. Mai 2015 18:29 An: Abu-Sammour, Denis Cc: insight-users at itk.org Betreff: Re: [ITK-users] Neighborhood Iterators Starting and Ending point Hi Denis, Depending on your goals, working with a std::slice on the neighborhood may help or just defining the neighborhood over the desired region could be an alternative. The documentation on NeighborhoodIterators may help [1]. HTH, Matt [1] http://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch6.html#x47-1110006.4 On Tue, May 26, 2015 at 12:00 PM, Abu-Sammour, Denis wrote: > Hello, > > Is there a way to force the neighborhood iterator to start iterating > in a defined point rather than using GoToBegin() which moves the > center of the neighborhood iterator to the 1st pixel in the iteration > region? For example, is it possible to start iterating (i.e. the 1st > neighborhood is centered) at say (x=5,y=5) with a neighborhood radius > of 5 pixels then move with a step (offset) of 10 pixels stopping the > iteration at (x= end ? 5, y= end ? > 5) rather than IsAtEnd() ? > > Thank you. > > Denis > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > From noreply at insightsoftwareconsortium.org Sat May 30 03:31:53 2015 From: noreply at insightsoftwareconsortium.org (Insight Journal) Date: Sat, 30 May 2015 03:31:53 -0400 (EDT) Subject: [ITK-users] New Submission: Probabilistic Tissue Characterization for Ultrasound Images Message-ID: <20150530073153.9F92B3D62280@insight-journal.org> Hello, A new submission has been added to the Insight Journal. Title: Probabilistic Tissue Characterization for Ultrasound Images Authors: Curiale A.H., Vegas-S??nchez-Ferrero G., Aja-Fern??ndez S. Abstract: This document describes the derivation of the mixture models commonly used in the literature to describe the probabilistic nature of speckle: The Gaussian Mixture Model, the Rayleigh Mixture Model, the Gamma Mixture Model and the Generalized Gamma Mixture Model. New algorithms were implemented using the Insight Toolkit ITK for tissue characterization by means of a mixture model. The source code is composed of a set of reusable ITK filters and classes. In addition to an overview of our implementation, we provide the source code, input data, parameters and output data that the authors used for validating the different probabilistic tissue characterization variants described in this paper. This adheres to the fundamental principle that scientific publications must facilitate reproducibility of the reported results. Download and review this publication at: http://hdl.handle.net/10380/3517 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 visit http://www.insight-journal.org/ .