From filippo.brogi at topic.nl Mon May 1 05:43:04 2017 From: filippo.brogi at topic.nl (Filippo Brogi) Date: Mon, 1 May 2017 02:43:04 -0700 (MST) Subject: [ITK] [ITK-users] image position Message-ID: <1493631784790-38165.post@n7.nabble.com> Hello folks, I'm reading a dicom series using ImageSeriesReader. I can retrieve all the parameters that I need but lloks liken is not possible to retrieve the physical image position of the images forming the dicom volume. Should I used a specific filter for that? Thanks in advance -- View this message in context: http://itk-users.7.n7.nabble.com/image-position-tp38165.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 agubernmerida at gmail.com Mon May 1 08:59:11 2017 From: agubernmerida at gmail.com (=?UTF-8?Q?Albert_Gubern_M=C3=A9rida?=) Date: Mon, 1 May 2017 14:59:11 +0200 Subject: [ITK] [ITK-users] Ignore background pixels for gaussian filter computations Message-ID: Hi, I want to compute voxel features using Gaussian filters such as LaplacianRecursiveGaussianImageFilter in breast x-ray images. However, I get very strong responses at the skin line due to the large intensity difference between tissue and backgound. I do have the segmentation of the background. Is there anyway to exclude/ignore the background voxels from the computation using a mask or setting a specific intensity value? Thanks! Best, Albert -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 filippo.brogi at topic.nl Mon May 1 10:52:26 2017 From: filippo.brogi at topic.nl (Filippo Brogi) Date: Mon, 1 May 2017 07:52:26 -0700 (MST) Subject: [ITK] [ITK-users] DICOM Dataset GetOrigin Message-ID: <1493650346854-38167.post@n7.nabble.com> Hello guys, I'm reading a dicom dataset formed by 17 MR images using ITK 4.9.1. According to the documentation "Origin" is the physical position of the pixel whose "Index" is all zeros, but the GetOrigin() method is returning the physical position of index = {0, 0, 16}. Here a simplified code snippet SeriesReaderType::Pointer reader = SeriesReaderType::New(); ImageIOType::Pointer dicomIO = ImageIOType::New(); reader->SetImageIO( dicomIO ); // mFilenames contains the list of dicom files reader->SetFileNames ( mFileNames ); try { reader->Update(); auto pImage = reader->GetOutput(); ShortImageType3D::PointType point1; ShortImageType3D::IndexType index1 = {0, 0, 0}; pImage->TransformIndexToPhysicalPoint( index1, point1 ); double imgPos[3]; imgPos[0] = dicomIO->GetOrigin(0); imgPos[1] = dicomIO->GetOrigin(1); imgPos[2] = dicomIO->GetOrigin(2); ShortImageType3D::IndexType indexOfOrigin; ShortImageType3D::PointType point2; point2[0] = imgPos[0]; point2[1] = imgPos[1]; point2[2] = imgPos[2]; pImage->TransformPhysicalPointToIndex(point2, indexOfOrigin); } catch(itk::ExceptionObject &) { std::cout << "ERROR" << std::endl; return res; } This is the console output: GetOrigin (-172.9, -116.666, 55.594) [-99.3719, -182.98, -25.5239] - index = [0, 0, 0] [-172.9, -116.666, 55.594] - index = [0, 0, 16] Am I doing something wrong? Thanks in advance -- View this message in context: http://itk-users.7.n7.nabble.com/DICOM-Dataset-GetOrigin-tp38167.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 matt.mccormick at kitware.com Mon May 1 11:18:12 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 1 May 2017 11:18:12 -0400 Subject: [ITK] [ITK-users] DICOM Dataset GetOrigin In-Reply-To: <1493650346854-38167.post@n7.nabble.com> References: <1493650346854-38167.post@n7.nabble.com> Message-ID: Hi Filippo, Yes, those results are odd. What is the resulting Spacing and Direction of the itk::Image? Thanks, Matt On Mon, May 1, 2017 at 10:52 AM, Filippo Brogi wrote: > > Hello guys, > I'm reading a dicom dataset formed by 17 MR images using ITK 4.9.1. > > According to the documentation "Origin" is the physical position of the > pixel whose "Index" is all zeros, but the GetOrigin() method is returning > the physical position of index = {0, 0, 16}. > > > Here a simplified code snippet > > SeriesReaderType::Pointer reader = SeriesReaderType::New(); > ImageIOType::Pointer dicomIO = ImageIOType::New(); > reader->SetImageIO( dicomIO ); > > // mFilenames contains the list of dicom files > reader->SetFileNames ( mFileNames ); > try > { > reader->Update(); > > auto pImage = reader->GetOutput(); > > ShortImageType3D::PointType point1; > ShortImageType3D::IndexType index1 = {0, 0, 0}; > > pImage->TransformIndexToPhysicalPoint( index1, point1 ); > > double imgPos[3]; > imgPos[0] = dicomIO->GetOrigin(0); > imgPos[1] = dicomIO->GetOrigin(1); > imgPos[2] = dicomIO->GetOrigin(2); > > ShortImageType3D::IndexType indexOfOrigin; > ShortImageType3D::PointType point2; > point2[0] = imgPos[0]; > point2[1] = imgPos[1]; > point2[2] = imgPos[2]; > pImage->TransformPhysicalPointToIndex(point2, > indexOfOrigin); > } > catch(itk::ExceptionObject &) > { > std::cout << "ERROR" << std::endl; > return res; > } > > This is the console output: > > GetOrigin (-172.9, -116.666, 55.594) > [-99.3719, -182.98, -25.5239] - index = [0, 0, 0] > [-172.9, -116.666, 55.594] - index = [0, 0, 16] > > Am I doing something wrong? > Thanks in advance > > > > > -- > View this message in context: http://itk-users.7.n7.nabble. > com/DICOM-Dataset-GetOrigin-tp38167.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 1 11:20:18 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 1 May 2017 11:20:18 -0400 Subject: [ITK] [ITK-users] image position In-Reply-To: <1493631784790-38165.post@n7.nabble.com> References: <1493631784790-38165.post@n7.nabble.com> Message-ID: Hi Filippo, The physical position of the image is stored in the Spacing, Origin, and Direction metadata of the resulting itk::Image. More information can be found in section 4.1 of the ITK Software Guide: https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch4.html#x38-450004.1 Hope this helps, Matt On Mon, May 1, 2017 at 5:43 AM, Filippo Brogi wrote: > Hello folks, > > I'm reading a dicom series using ImageSeriesReader. I can retrieve all the > parameters that I need but lloks liken is not possible to retrieve the > physical image position of the images forming the dicom volume. > Should I used a specific filter for that? > > Thanks in advance > > > > -- > View this message in context: http://itk-users.7.n7.nabble. > com/image-position-tp38165.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 1 11:22:26 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 1 May 2017 11:22:26 -0400 Subject: [ITK] [ITK-users] Ignore background pixels for gaussian filter computations In-Reply-To: References: Message-ID: Hi Albert, The result could be masked. Here's an example of one approach: https://itk.org/ITKExamples/src/Filtering/LabelMap/MaskOneImageGivenLabelMap/Documentation.html HTH, Matt On Mon, May 1, 2017 at 8:59 AM, Albert Gubern M?rida < agubernmerida at gmail.com> wrote: > Hi, > > I want to compute voxel features using Gaussian filters such as > LaplacianRecursiveGaussianImageFilter in breast x-ray images. However, I > get very strong responses at the skin line due to the large intensity > difference between tissue and backgound. I do have the segmentation of the > background. Is there anyway to exclude/ignore the background voxels from > the computation using a mask or setting a specific intensity value? > > Thanks! > > Best, > > Albert > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 filippo.brogi at topic.nl Mon May 1 11:37:48 2017 From: filippo.brogi at topic.nl (Filippo Brogi) Date: Mon, 1 May 2017 08:37:48 -0700 (MST) Subject: [ITK] [ITK-users] DICOM Dataset GetOrigin In-Reply-To: References: <1493650346854-38167.post@n7.nabble.com> Message-ID: <1493653068068-38171.post@n7.nabble.com> Hi Matt, thanks for your reply, this is the the console output GetOrigin (-172.9, -116.666, 55.594) [-99.3719, -182.98, -25.5239] - index = [0, 0, 0] [-172.9, -116.666, 55.594] - index = [0, 0, 16] Spacing (1.25, 1.25, 8) Dimensions (256, 256, 1) Direction ((0.74092, -2.22888e-008, 0.671593),(0.347938, 0.855333, -0.383855),(-0.574435, 0.518079, 0.633733)) What it is also odd the Dimension, I would expect Dimensions(2) to be equal to 17, the number of slices -- View this message in context: http://itk-users.7.n7.nabble.com/DICOM-Dataset-GetOrigin-tp38167p38171.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 chinander at gmail.com Mon May 1 11:44:29 2017 From: chinander at gmail.com (Mike Chinander) Date: Mon, 1 May 2017 10:44:29 -0500 Subject: [ITK] [ITK-users] DICOM Dataset GetOrigin In-Reply-To: <1493653068068-38171.post@n7.nabble.com> References: <1493650346854-38167.post@n7.nabble.com> <1493653068068-38171.post@n7.nabble.com> Message-ID: Are you sure all your files belong to the same image series (have the same SeriesUID)? How are you populating mFileNames and what does it contain? On Mon, May 1, 2017 at 10:37 AM, Filippo Brogi wrote: > Hi Matt, > thanks for your reply, this is the the console output > > > GetOrigin (-172.9, -116.666, 55.594) > [-99.3719, -182.98, -25.5239] - index = [0, 0, 0] > [-172.9, -116.666, 55.594] - index = [0, 0, 16] > Spacing (1.25, 1.25, 8) > Dimensions (256, 256, 1) > Direction ((0.74092, -2.22888e-008, 0.671593),(0.347938, 0.855333, > -0.383855),(-0.574435, 0.518079, 0.633733)) > > What it is also odd the Dimension, I would expect Dimensions(2) to be equal > to 17, the number of slices > > > > > > > > -- > View this message in context: http://itk-users.7.n7.nabble. > com/DICOM-Dataset-GetOrigin-tp38167p38171.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 filippo.brogi at topic.nl Mon May 1 12:03:52 2017 From: filippo.brogi at topic.nl (Filippo Brogi) Date: Mon, 1 May 2017 09:03:52 -0700 (MST) Subject: [ITK] [ITK-users] DICOM Dataset GetOrigin In-Reply-To: References: <1493650346854-38167.post@n7.nabble.com> <1493653068068-38171.post@n7.nabble.com> Message-ID: <1493654632046-38173.post@n7.nabble.com> Hi Mike, I'm sure that the files belongs to the same series. These images belongs to a multiphase cardiac dataset. all the images they have the same series UID 1.3.46.670589.11.41301.5.0.10016.2015052010370537279 the only difference with a "common" dataset is that the instance number is increased by the number of phases. For instance in this data I have for image 1 = InstanceNumber 1 for image 2 = InstanceNumber 31 ...... for image 17 = InstanceNumber 481 Is ITK expecting consecutive instance numbers? Thanks -- View this message in context: http://itk-users.7.n7.nabble.com/DICOM-Dataset-GetOrigin-tp38167p38173.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 agubernmerida at gmail.com Mon May 1 14:14:33 2017 From: agubernmerida at gmail.com (=?UTF-8?Q?Albert_Gubern_M=C3=A9rida?=) Date: Mon, 1 May 2017 20:14:33 +0200 Subject: [ITK] [ITK-users] Ignore background pixels for gaussian filter computations In-Reply-To: References: Message-ID: Thanks Matt! I was not aware of this filter. However, instead of masking an image after filtering, I would like that the filter itself ignores a specific region (i.e. background) for any calculation. Masking is not enough if I apply large sigmas. I am also interested in making the filter faster by ignoring computations in specified voxels. Best, Albert On May 1, 2017 17:22, "Matt McCormick" wrote: > Hi Albert, > > The result could be masked. Here's an example of one approach: > > https://itk.org/ITKExamples/src/Filtering/LabelMap/ > MaskOneImageGivenLabelMap/Documentation.html > > HTH, > Matt > > On Mon, May 1, 2017 at 8:59 AM, Albert Gubern M?rida < > agubernmerida at gmail.com> wrote: > >> Hi, >> >> I want to compute voxel features using Gaussian filters such as >> LaplacianRecursiveGaussianImageFilter in breast x-ray images. However, I >> get very strong responses at the skin line due to the large intensity >> difference between tissue and backgound. I do have the segmentation of the >> background. Is there anyway to exclude/ignore the background voxels from >> the computation using a mask or setting a specific intensity value? >> >> Thanks! >> >> Best, >> >> Albert >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 1 14:40:44 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 1 May 2017 14:40:44 -0400 Subject: [ITK] [ITK-users] Ignore background pixels for gaussian filter computations In-Reply-To: References: Message-ID: Another approach: mask before passing the data to the filter, too. Unless the unmasked region is very sparse, skipping the masked region in general will not speed up the computation -- it may even slow it down, depending on the implementation. This is due to CPU memory cache pipelines and the need to treat mask boundaries in a special way. HTH, Matt On Mon, May 1, 2017 at 2:14 PM, Albert Gubern M?rida < agubernmerida at gmail.com> wrote: > Thanks Matt! I was not aware of this filter. However, instead of masking > an image after filtering, I would like that the filter itself ignores a > specific region (i.e. background) for any calculation. Masking is not > enough if I apply large sigmas. I am also interested in making the filter > faster by ignoring computations in specified voxels. > > Best, > > Albert > > > > On May 1, 2017 17:22, "Matt McCormick" wrote: > >> Hi Albert, >> >> The result could be masked. Here's an example of one approach: >> >> https://itk.org/ITKExamples/src/Filtering/LabelMap/MaskOne >> ImageGivenLabelMap/Documentation.html >> >> HTH, >> Matt >> >> On Mon, May 1, 2017 at 8:59 AM, Albert Gubern M?rida < >> agubernmerida at gmail.com> wrote: >> >>> Hi, >>> >>> I want to compute voxel features using Gaussian filters such as >>> LaplacianRecursiveGaussianImageFilter in breast x-ray images. However, >>> I get very strong responses at the skin line due to the large intensity >>> difference between tissue and backgound. I do have the segmentation of the >>> background. Is there anyway to exclude/ignore the background voxels from >>> the computation using a mask or setting a specific intensity value? >>> >>> Thanks! >>> >>> Best, >>> >>> Albert >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 pablo.hernandez.cerdan at outlook.com Mon May 1 22:41:53 2017 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Tue, 2 May 2017 02:41:53 +0000 Subject: [ITK] [ITK-users] Metadata Information in FFT images can be misleading. In-Reply-To: References: Message-ID: Thanks Matt, I agree that the more appropriate thing to do would be to document better, but maybe only in the ForwardFFT filter instead of ImageBase? I can imagine experiments where the input images are in the frequency domain: photo detectors in scattering ( from this search [1], these images [2] for example). In this case origin and spacing metadata make sense as they are, even though the experimenters know the physical units of the images are in hertz, not in meters. The problem with the metadata arises exclusively doing the FFT. If we modify it, we will lose the input image metadata. If we don't, the metadata of the output requires extra knowledge and read the documentation to be meaningful. Also the Origin is tricky... the first bin, or index {0}, of the output of an FFT depends on the frequency layout of the algorithm, usually in the "standard" layout, it corresponds to zero frequency [3]. So the Origin(Frequency) will be 0.0 if we understand the origin with the value of the first index..., but if the FFT is shifted, the first index would be now a large, negative frequency. In the ExternalModule, I am using a FrequencyIterator, derived from a regular ImageRegionIterator. It adds a GetFrequency() function, providing an abstraction to let the user stop worrying about the specifics of the frequency layout. There are 3 different layouts, Regular, FFTLayout, and ShiftedFFTLayout. - Regular is a normal iterator, with GetFrequency() calling Get(), for the case I commented when the image is taken in the frequency domain, but the user needs to use the IsotropicWavelet module on it (which requires frequency iterators). - FFTLayout is the standard FFT layout, vnl, fftw, and I think python uses it as well. This is the default type. - ShiftedFFTLayout, the layout after shifting the FFT. This allows to iterate an image from the frequency domain, and get the frequency value, the frequency bin, as well as actual value of the current pixel. And also they are a good place to store frequency 'metadata' information such as FrequencyOrigin, and FrequencySpacing, that depends on the frequency layout: See [4] Cheers, Pablo [1] https://www.google.co.nz/search?q=photo+detector+scattering+result&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjK2NbzntzSAhUEmZQKHZenBU4Q_AUIBigB&biw=1920&bih=947#imgrc=OA28hyPkRDniVM: [2] http://www.azom.com/article.aspx?ArticleID=12502 [3] https://docs.scipy.org/doc/numpy/reference/routines.fft.html [4] https://github.com/phcerdan/ITKIsotropicWavelets/blob/master/include/itkFrequencyFFTLayoutImageRegionConstIteratorWithIndex.h#L288 On Fri, Mar 17, 2017 at 8:43 AM, matt.mccormick at kitware.com > wrote: Hi Pablo, Thanks for discussing this issue and the excellent overview of the topic. The meaning of metadata in the frequency domain could definitely a source of confusion and bugs, and we would benefit from a clarity and consensus on the subject. For practical reasons of pipeline use and existing algorithm application, re-use of itk::Image as much about seems beneficial. What do you think about adding documentation to itk::ImageBase::GetSpacing() [1]? We could state that the Spacing is always in physical units. If the image is in the frequency domain, then Spacing is equal to 1 / Frequency Sampling and the Frequency Bin Resolution equals 1 / (Frequency Sampling * N), where N is the Size of the LargestPossibleImageRegion (but not in the half-Hermitian storage). Then, the frequency shrinkage filter would increase its output Spacing accordingly so metadata is updated throughout an analysis pipeline. Thanks, Matt [1] https://itk.org/Doxygen/html/classitk_1_1ImageBase.html#aaadef7c0a9627cf22b0fbf2de6de913c On Tue, Mar 14, 2017 at 4:54 AM, Pablo Hern?ndez > wrote: > Hey there, > > I am contributing with the IsotropicWavelet external module, and I am facing > some doubts about the meaning of image metadata in frequency-domain images. > > Current behavior performing a FFTforward is to copy the input image > metadata: spacing,origin, and direction to the output, even though the > output is in the frequency domain or dual space. I guess it is better copy > it than to lose it, but doesn't mean that the metadata is meaningful in the > frequency domain. Spacing information can led the user to think that between > each pixel holding a frequency value, that spacing is like a frequency > resolution, but it is not. > > Some refresh of the lingo to help: > dual space: f ~ 1/T (where T can represent time or space) > Units of frequency are: Hertz = 1 / [ T ], or Radians (Rad = 2pi Hz) > Spacing (or Sampling in the lingo of digital signaling processing) in a > spatial domain image is associated with the resolution of the image, and > represents the pixel width in physical units. > The Origin is an array holding some relative units to world coordinates that > are meaningful for the experimenter. > > What does spacing mean in a frequency domain image? The frequency resolution > after an FFT is related to the size of the FFT (the size of the image) and > the sampling rate of the original image (more here). > > Freq_bin_resolution = Freq_sampling / N. Where N is the size of the image, > and Freq_sampling = 1 / Spacing. All these variables are arrays, with size > equal to the dimension of the image. > > And the origin, in the case of the output of an FFT, depends on the layout > of that particular FFT algorithm. VNL and FFTW share the same layout, where, > for example, the zero frequency bin is stored the first index {{0}} , (also > note that the physical units of that first index is always 0.0 Hz, > regardless of origin, or spacing of the original image). > > If we set the Freq_sampling to {{1.0}} (corresponding to a Spacing of > {{1.0}}, then the freq resolution will be {{1/N}} (depending on the size!), > and the range of frequencies will always be: (-0.5, 0.5] Hz, or (-pi, pi] > rads (independent of the size). > > So right now, in the wavelet module that works in the frequency domain, and > does some shrinkage in this domain, I have chosen to ignore all this > metadata, and let the user recover it if he/she needs it, but it might be > worth to think about this. > > For example, in a shrinkage by a factor of 2, the width of a pixel > representing a frequency, doubles. F_bin_resolution =1/(N/2) = 2/N, and the > range of allowed frequencies keeps the same: (-Freq_sampling/2.0, > Freq_sampling/2.0] or (-0.5, 0.5] or (-pi,pi] if Freq_sampling =1.0 > > This is all good, but hard to grasp when the metadata can be misleading. If > you have any thoughts on how to improve this or be clearer to the user, > happy to hear, meanwhile I think I will keep ignoring any metadata > associated with the spatial domain when dealing with frequency domain > images. > > Cheers, > Pablo > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 pablo.hernandez.cerdan at outlook.com Mon May 1 22:41:57 2017 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Tue, 2 May 2017 02:41:57 +0000 Subject: [ITK] [ITK-users] Metadata Information in FFT images can be misleading. In-Reply-To: References: Message-ID: Thanks Matt, I agree that the more appropriate thing to do would be to document better, but maybe only in the ForwardFFT filter instead of ImageBase? I can imagine experiments where the input images are in the frequency domain: photo detectors in scattering ( from this search [1], these images [2] for example). In this case origin and spacing metadata make sense as they are, even though the experimenters know the physical units of the images are in hertz, not in meters. The problem with the metadata arises exclusively doing the FFT. If we modify it, we will lose the input image metadata. If we don't, the metadata of the output requires extra knowledge and read the documentation to be meaningful. Also the Origin is tricky... the first bin, or index {0}, of the output of an FFT depends on the frequency layout of the algorithm, usually in the "standard" layout, it corresponds to zero frequency [3]. So the Origin(Frequency) will be 0.0 if we understand the origin with the value of the first index..., but if the FFT is shifted, the first index would be now a large, negative frequency. In the ExternalModule, I am using a FrequencyIterator, derived from a regular ImageRegionIterator. It adds a GetFrequency() function, providing an abstraction to let the user stop worrying about the specifics of the frequency layout. There are 3 different layouts, Regular, FFTLayout, and ShiftedFFTLayout. - Regular is a normal iterator, with GetFrequency() calling Get(), for the case I commented when the image is taken in the frequency domain, but the user needs to use the IsotropicWavelet module on it (which requires frequency iterators). - FFTLayout is the standard FFT layout, vnl, fftw, and I think python uses it as well. This is the default type. - ShiftedFFTLayout, the layout after shifting the FFT. This allows to iterate an image from the frequency domain, and get the frequency value, the frequency bin, as well as actual value of the current pixel. And also they are a good place to store frequency 'metadata' information such as FrequencyOrigin, and FrequencySpacing, that depends on the frequency layout: See [4] Cheers, Pablo [1] https://www.google.co.nz/search?q=photo+detector+scattering+result&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjK2NbzntzSAhUEmZQKHZenBU4Q_AUIBigB&biw=1920&bih=947#imgrc=OA28hyPkRDniVM: [2] http://www.azom.com/article.aspx?ArticleID=12502 [3] https://docs.scipy.org/doc/numpy/reference/routines.fft.html [4] https://github.com/phcerdan/ITKIsotropicWavelets/blob/master/include/itkFrequencyFFTLayoutImageRegionConstIteratorWithIndex.h#L288 On Fri, Mar 17, 2017 at 8:43 AM, matt.mccormick at kitware.com > wrote: Hi Pablo, Thanks for discussing this issue and the excellent overview of the topic. The meaning of metadata in the frequency domain could definitely a source of confusion and bugs, and we would benefit from a clarity and consensus on the subject. For practical reasons of pipeline use and existing algorithm application, re-use of itk::Image as much about seems beneficial. What do you think about adding documentation to itk::ImageBase::GetSpacing() [1]? We could state that the Spacing is always in physical units. If the image is in the frequency domain, then Spacing is equal to 1 / Frequency Sampling and the Frequency Bin Resolution equals 1 / (Frequency Sampling * N), where N is the Size of the LargestPossibleImageRegion (but not in the half-Hermitian storage). Then, the frequency shrinkage filter would increase its output Spacing accordingly so metadata is updated throughout an analysis pipeline. Thanks, Matt [1] https://itk.org/Doxygen/html/classitk_1_1ImageBase.html#aaadef7c0a9627cf22b0fbf2de6de913c On Tue, Mar 14, 2017 at 4:54 AM, Pablo Hern?ndez > wrote: > Hey there, > > I am contributing with the IsotropicWavelet external module, and I am facing > some doubts about the meaning of image metadata in frequency-domain images. > > Current behavior performing a FFTforward is to copy the input image > metadata: spacing,origin, and direction to the output, even though the > output is in the frequency domain or dual space. I guess it is better copy > it than to lose it, but doesn't mean that the metadata is meaningful in the > frequency domain. Spacing information can led the user to think that between > each pixel holding a frequency value, that spacing is like a frequency > resolution, but it is not. > > Some refresh of the lingo to help: > dual space: f ~ 1/T (where T can represent time or space) > Units of frequency are: Hertz = 1 / [ T ], or Radians (Rad = 2pi Hz) > Spacing (or Sampling in the lingo of digital signaling processing) in a > spatial domain image is associated with the resolution of the image, and > represents the pixel width in physical units. > The Origin is an array holding some relative units to world coordinates that > are meaningful for the experimenter. > > What does spacing mean in a frequency domain image? The frequency resolution > after an FFT is related to the size of the FFT (the size of the image) and > the sampling rate of the original image (more here). > > Freq_bin_resolution = Freq_sampling / N. Where N is the size of the image, > and Freq_sampling = 1 / Spacing. All these variables are arrays, with size > equal to the dimension of the image. > > And the origin, in the case of the output of an FFT, depends on the layout > of that particular FFT algorithm. VNL and FFTW share the same layout, where, > for example, the zero frequency bin is stored the first index {{0}} , (also > note that the physical units of that first index is always 0.0 Hz, > regardless of origin, or spacing of the original image). > > If we set the Freq_sampling to {{1.0}} (corresponding to a Spacing of > {{1.0}}, then the freq resolution will be {{1/N}} (depending on the size!), > and the range of frequencies will always be: (-0.5, 0.5] Hz, or (-pi, pi] > rads (independent of the size). > > So right now, in the wavelet module that works in the frequency domain, and > does some shrinkage in this domain, I have chosen to ignore all this > metadata, and let the user recover it if he/she needs it, but it might be > worth to think about this. > > For example, in a shrinkage by a factor of 2, the width of a pixel > representing a frequency, doubles. F_bin_resolution =1/(N/2) = 2/N, and the > range of allowed frequencies keeps the same: (-Freq_sampling/2.0, > Freq_sampling/2.0] or (-0.5, 0.5] or (-pi,pi] if Freq_sampling =1.0 > > This is all good, but hard to grasp when the metadata can be misleading. If > you have any thoughts on how to improve this or be clearer to the user, > happy to hear, meanwhile I think I will keep ignoring any metadata > associated with the spatial domain when dealing with frequency domain > images. > > Cheers, > Pablo > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 pablo.hernandez.cerdan at outlook.com Tue May 2 01:24:48 2017 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Tue, 2 May 2017 05:24:48 +0000 Subject: [ITK] [ITK-users] Metadata Information in FFT images can be misleading. In-Reply-To: References: Message-ID: >> - Regular is a normal iterator, with GetFrequency() calling Get(), for the case I commented when the image is taken in the frequency domain, but the user needs to use the IsotropicWavelet module on it (which requires frequency iterators) Sorry, here, the iterator method GetFrequency() does not calls Get(), it returns an array similar to using TransformIndexToPhysicalPoint on GetIndex() (but ignoring Direction metadata) [1] [1] https://github.com/phcerdan/ITKIsotropicWavelets/blob/master/include/itkFrequencyImageRegionConstIteratorWithIndex.h#L135 On Tue, May 2, 2017 at 2:41 PM, Pablo Hern?ndez > wrote: Thanks Matt, I agree that the more appropriate thing to do would be to document better, but maybe only in the ForwardFFT filter instead of ImageBase? I can imagine experiments where the input images are in the frequency domain: photo detectors in scattering ( from this search [1], these images [2] for example). In this case origin and spacing metadata make sense as they are, even though the experimenters know the physical units of the images are in hertz, not in meters. The problem with the metadata arises exclusively doing the FFT. If we modify it, we will lose the input image metadata. If we don't, the metadata of the output requires extra knowledge and read the documentation to be meaningful. Also the Origin is tricky... the first bin, or index {0}, of the output of an FFT depends on the frequency layout of the algorithm, usually in the "standard" layout, it corresponds to zero frequency [3]. So the Origin(Frequency) will be 0.0 if we understand the origin with the value of the first index..., but if the FFT is shifted, the first index would be now a large, negative frequency. In the ExternalModule, I am using a FrequencyIterator, derived from a regular ImageRegionIterator. It adds a GetFrequency() function, providing an abstraction to let the user stop worrying about the specifics of the frequency layout. There are 3 different layouts, Regular, FFTLayout, and ShiftedFFTLayout. - Regular is a normal iterator, with GetFrequency() calling Get(), for the case I commented when the image is taken in the frequency domain, but the user needs to use the IsotropicWavelet module on it (which requires frequency iterators). - FFTLayout is the standard FFT layout, vnl, fftw, and I think python uses it as well. This is the default type. - ShiftedFFTLayout, the layout after shifting the FFT. This allows to iterate an image from the frequency domain, and get the frequency value, the frequency bin, as well as actual value of the current pixel. And also they are a good place to store frequency 'metadata' information such as FrequencyOrigin, and FrequencySpacing, that depends on the frequency layout: See [4] Cheers, Pablo [1] https://www.google.co.nz/search?q=photo+detector+scattering+result&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjK2NbzntzSAhUEmZQKHZenBU4Q_AUIBigB&biw=1920&bih=947#imgrc=OA28hyPkRDniVM: [2] http://www.azom.com/article.aspx?ArticleID=12502 [3] https://docs.scipy.org/doc/numpy/reference/routines.fft.html [4] https://github.com/phcerdan/ITKIsotropicWavelets/blob/master/include/itkFrequencyFFTLayoutImageRegionConstIteratorWithIndex.h#L288 On Fri, Mar 17, 2017 at 8:43 AM, matt.mccormick at kitware.com > wrote: Hi Pablo, Thanks for discussing this issue and the excellent overview of the topic. The meaning of metadata in the frequency domain could definitely a source of confusion and bugs, and we would benefit from a clarity and consensus on the subject. For practical reasons of pipeline use and existing algorithm application, re-use of itk::Image as much about seems beneficial. What do you think about adding documentation to itk::ImageBase::GetSpacing() [1]? We could state that the Spacing is always in physical units. If the image is in the frequency domain, then Spacing is equal to 1 / Frequency Sampling and the Frequency Bin Resolution equals 1 / (Frequency Sampling * N), where N is the Size of the LargestPossibleImageRegion (but not in the half-Hermitian storage). Then, the frequency shrinkage filter would increase its output Spacing accordingly so metadata is updated throughout an analysis pipeline. Thanks, Matt [1] https://itk.org/Doxygen/html/classitk_1_1ImageBase.html#aaadef7c0a9627cf22b0fbf2de6de913c On Tue, Mar 14, 2017 at 4:54 AM, Pablo Hern?ndez > wrote: > Hey there, > > I am contributing with the IsotropicWavelet external module, and I am facing > some doubts about the meaning of image metadata in frequency-domain images. > > Current behavior performing a FFTforward is to copy the input image > metadata: spacing,origin, and direction to the output, even though the > output is in the frequency domain or dual space. I guess it is better copy > it than to lose it, but doesn't mean that the metadata is meaningful in the > frequency domain. Spacing information can led the user to think that between > each pixel holding a frequency value, that spacing is like a frequency > resolution, but it is not. > > Some refresh of the lingo to help: > dual space: f ~ 1/T (where T can represent time or space) > Units of frequency are: Hertz = 1 / [ T ], or Radians (Rad = 2pi Hz) > Spacing (or Sampling in the lingo of digital signaling processing) in a > spatial domain image is associated with the resolution of the image, and > represents the pixel width in physical units. > The Origin is an array holding some relative units to world coordinates that > are meaningful for the experimenter. > > What does spacing mean in a frequency domain image? The frequency resolution > after an FFT is related to the size of the FFT (the size of the image) and > the sampling rate of the original image (more here). > > Freq_bin_resolution = Freq_sampling / N. Where N is the size of the image, > and Freq_sampling = 1 / Spacing. All these variables are arrays, with size > equal to the dimension of the image. > > And the origin, in the case of the output of an FFT, depends on the layout > of that particular FFT algorithm. VNL and FFTW share the same layout, where, > for example, the zero frequency bin is stored the first index {{0}} , (also > note that the physical units of that first index is always 0.0 Hz, > regardless of origin, or spacing of the original image). > > If we set the Freq_sampling to {{1.0}} (corresponding to a Spacing of > {{1.0}}, then the freq resolution will be {{1/N}} (depending on the size!), > and the range of frequencies will always be: (-0.5, 0.5] Hz, or (-pi, pi] > rads (independent of the size). > > So right now, in the wavelet module that works in the frequency domain, and > does some shrinkage in this domain, I have chosen to ignore all this > metadata, and let the user recover it if he/she needs it, but it might be > worth to think about this. > > For example, in a shrinkage by a factor of 2, the width of a pixel > representing a frequency, doubles. F_bin_resolution =1/(N/2) = 2/N, and the > range of allowed frequencies keeps the same: (-Freq_sampling/2.0, > Freq_sampling/2.0] or (-0.5, 0.5] or (-pi,pi] if Freq_sampling =1.0 > > This is all good, but hard to grasp when the metadata can be misleading. If > you have any thoughts on how to improve this or be clearer to the user, > happy to hear, meanwhile I think I will keep ignoring any metadata > associated with the spatial domain when dealing with frequency domain > images. > > Cheers, > Pablo > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 pablo.hernandez.cerdan at outlook.com Tue May 2 01:24:55 2017 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Tue, 2 May 2017 05:24:55 +0000 Subject: [ITK] [ITK-users] Metadata Information in FFT images can be misleading. In-Reply-To: References: Message-ID: >> - Regular is a normal iterator, with GetFrequency() calling Get(), for the case I commented when the image is taken in the frequency domain, but the user needs to use the IsotropicWavelet module on it (which requires frequency iterators) Sorry, here, the iterator method GetFrequency() does not calls Get(), it returns an array similar to using TransformIndexToPhysicalPoint on GetIndex() (but ignoring Direction metadata) [1] [1] https://github.com/phcerdan/ITKIsotropicWavelets/blob/master/include/itkFrequencyImageRegionConstIteratorWithIndex.h#L135 On Tue, May 2, 2017 at 2:41 PM, Pablo Hern?ndez > wrote: Thanks Matt, I agree that the more appropriate thing to do would be to document better, but maybe only in the ForwardFFT filter instead of ImageBase? I can imagine experiments where the input images are in the frequency domain: photo detectors in scattering ( from this search [1], these images [2] for example). In this case origin and spacing metadata make sense as they are, even though the experimenters know the physical units of the images are in hertz, not in meters. The problem with the metadata arises exclusively doing the FFT. If we modify it, we will lose the input image metadata. If we don't, the metadata of the output requires extra knowledge and read the documentation to be meaningful. Also the Origin is tricky... the first bin, or index {0}, of the output of an FFT depends on the frequency layout of the algorithm, usually in the "standard" layout, it corresponds to zero frequency [3]. So the Origin(Frequency) will be 0.0 if we understand the origin with the value of the first index..., but if the FFT is shifted, the first index would be now a large, negative frequency. In the ExternalModule, I am using a FrequencyIterator, derived from a regular ImageRegionIterator. It adds a GetFrequency() function, providing an abstraction to let the user stop worrying about the specifics of the frequency layout. There are 3 different layouts, Regular, FFTLayout, and ShiftedFFTLayout. - Regular is a normal iterator, with GetFrequency() calling Get(), for the case I commented when the image is taken in the frequency domain, but the user needs to use the IsotropicWavelet module on it (which requires frequency iterators). - FFTLayout is the standard FFT layout, vnl, fftw, and I think python uses it as well. This is the default type. - ShiftedFFTLayout, the layout after shifting the FFT. This allows to iterate an image from the frequency domain, and get the frequency value, the frequency bin, as well as actual value of the current pixel. And also they are a good place to store frequency 'metadata' information such as FrequencyOrigin, and FrequencySpacing, that depends on the frequency layout: See [4] Cheers, Pablo [1] https://www.google.co.nz/search?q=photo+detector+scattering+result&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjK2NbzntzSAhUEmZQKHZenBU4Q_AUIBigB&biw=1920&bih=947#imgrc=OA28hyPkRDniVM: [2] http://www.azom.com/article.aspx?ArticleID=12502 [3] https://docs.scipy.org/doc/numpy/reference/routines.fft.html [4] https://github.com/phcerdan/ITKIsotropicWavelets/blob/master/include/itkFrequencyFFTLayoutImageRegionConstIteratorWithIndex.h#L288 On Fri, Mar 17, 2017 at 8:43 AM, matt.mccormick at kitware.com > wrote: Hi Pablo, Thanks for discussing this issue and the excellent overview of the topic. The meaning of metadata in the frequency domain could definitely a source of confusion and bugs, and we would benefit from a clarity and consensus on the subject. For practical reasons of pipeline use and existing algorithm application, re-use of itk::Image as much about seems beneficial. What do you think about adding documentation to itk::ImageBase::GetSpacing() [1]? We could state that the Spacing is always in physical units. If the image is in the frequency domain, then Spacing is equal to 1 / Frequency Sampling and the Frequency Bin Resolution equals 1 / (Frequency Sampling * N), where N is the Size of the LargestPossibleImageRegion (but not in the half-Hermitian storage). Then, the frequency shrinkage filter would increase its output Spacing accordingly so metadata is updated throughout an analysis pipeline. Thanks, Matt [1] https://itk.org/Doxygen/html/classitk_1_1ImageBase.html#aaadef7c0a9627cf22b0fbf2de6de913c On Tue, Mar 14, 2017 at 4:54 AM, Pablo Hern?ndez > wrote: > Hey there, > > I am contributing with the IsotropicWavelet external module, and I am facing > some doubts about the meaning of image metadata in frequency-domain images. > > Current behavior performing a FFTforward is to copy the input image > metadata: spacing,origin, and direction to the output, even though the > output is in the frequency domain or dual space. I guess it is better copy > it than to lose it, but doesn't mean that the metadata is meaningful in the > frequency domain. Spacing information can led the user to think that between > each pixel holding a frequency value, that spacing is like a frequency > resolution, but it is not. > > Some refresh of the lingo to help: > dual space: f ~ 1/T (where T can represent time or space) > Units of frequency are: Hertz = 1 / [ T ], or Radians (Rad = 2pi Hz) > Spacing (or Sampling in the lingo of digital signaling processing) in a > spatial domain image is associated with the resolution of the image, and > represents the pixel width in physical units. > The Origin is an array holding some relative units to world coordinates that > are meaningful for the experimenter. > > What does spacing mean in a frequency domain image? The frequency resolution > after an FFT is related to the size of the FFT (the size of the image) and > the sampling rate of the original image (more here). > > Freq_bin_resolution = Freq_sampling / N. Where N is the size of the image, > and Freq_sampling = 1 / Spacing. All these variables are arrays, with size > equal to the dimension of the image. > > And the origin, in the case of the output of an FFT, depends on the layout > of that particular FFT algorithm. VNL and FFTW share the same layout, where, > for example, the zero frequency bin is stored the first index {{0}} , (also > note that the physical units of that first index is always 0.0 Hz, > regardless of origin, or spacing of the original image). > > If we set the Freq_sampling to {{1.0}} (corresponding to a Spacing of > {{1.0}}, then the freq resolution will be {{1/N}} (depending on the size!), > and the range of frequencies will always be: (-0.5, 0.5] Hz, or (-pi, pi] > rads (independent of the size). > > So right now, in the wavelet module that works in the frequency domain, and > does some shrinkage in this domain, I have chosen to ignore all this > metadata, and let the user recover it if he/she needs it, but it might be > worth to think about this. > > For example, in a shrinkage by a factor of 2, the width of a pixel > representing a frequency, doubles. F_bin_resolution =1/(N/2) = 2/N, and the > range of allowed frequencies keeps the same: (-Freq_sampling/2.0, > Freq_sampling/2.0] or (-0.5, 0.5] or (-pi,pi] if Freq_sampling =1.0 > > This is all good, but hard to grasp when the metadata can be misleading. If > you have any thoughts on how to improve this or be clearer to the user, > happy to hear, meanwhile I think I will keep ignoring any metadata > associated with the spatial domain when dealing with frequency domain > images. > > Cheers, > Pablo > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 Tue May 2 10:28:02 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Tue, 2 May 2017 10:28:02 -0400 Subject: [ITK] [ITK-users] Metadata Information in FFT images can be misleading. In-Reply-To: References: Message-ID: On Mon, May 1, 2017 at 10:41 PM, Pablo Hern?ndez < pablo.hernandez.cerdan at outlook.com> wrote: > Thanks Matt, I agree that the more appropriate thing to do would be to > document better, but maybe only in the ForwardFFT filter instead of > ImageBase? > Yes, ForwardFFTImageFilter is a good location, too. I can imagine experiments where the input images are in the frequency > domain: photo detectors in scattering ( from this search [1], these images > [2] for example). In this case origin and spacing metadata make sense as > they are, even though the experimenters know the physical units of the > images are in hertz, not in meters. > Clarification and a good interface is also important for a common application encountered in medical imaging: magnetic resonance imaging collects samples in k-space. > The problem with the metadata arises exclusively doing the FFT. If we > modify it, we will lose the input image metadata. If we don't, the metadata > of the output requires extra knowledge and read the documentation to be > meaningful. > > Also the Origin is tricky... the first bin, or index {0}, of the output of > an FFT depends on the frequency layout of the algorithm, usually in the > "standard" layout, it corresponds to zero frequency [3]. So the > Origin(Frequency) will be 0.0 if we understand the origin with the value of > the first index..., but if the FFT is shifted, the first index would be now > a large, negative frequency. > > In the ExternalModule, I am using a FrequencyIterator, derived from a > regular ImageRegionIterator. It adds a GetFrequency() function, providing > an abstraction to let the user stop worrying about the specifics of the > frequency layout. > There are 3 different layouts, Regular, FFTLayout, and ShiftedFFTLayout. > - Regular is a normal iterator, with GetFrequency() calling Get(), for the > case I commented when the image is taken in the frequency domain, but the > user needs to use the IsotropicWavelet module on it (which requires > frequency iterators). > - FFTLayout is the standard FFT layout, vnl, fftw, and I think python uses > it as well. This is the default type. > - ShiftedFFTLayout, the layout after shifting the FFT. > > This allows to iterate an image from the frequency domain, and get the > frequency value, the frequency bin, as well as actual value of the current > pixel. > And also they are a good place to store frequency 'metadata' information > such as FrequencyOrigin, and FrequencySpacing, that depends on the > frequency layout: See [4] > These iterators with the explicit methods are excellent! The naming makes their meaning clear, and they are also practically useful for processing FFT data. Great idea. Cheers, Matt -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 fisidoro at ethz.ch Tue May 2 11:20:48 2017 From: fisidoro at ethz.ch (D'Isidoro Fabio) Date: Tue, 2 May 2017 15:20:48 +0000 Subject: [ITK] [ITK-users] ITK PyBuffer get physical point coordinates In-Reply-To: References: <50B858FB5F53124F9E32314E5C1B409445984B2A@MBX112.d.ethz.ch> <50B858FB5F53124F9E32314E5C1B409445984BBC@MBX112.d.ethz.ch> Message-ID: <50B858FB5F53124F9E32314E5C1B4094459858FA@MBX112.d.ethz.ch> Hi Francois, It works with your commands, the difference being the use of: itk.GetArrayFromImage(source) in your version, instead of: itk.PyBuffer[ImageType].GetArrayFromImage(source) in my version. May you explain me the difference, and why using PyBuffer does not work for this case? Also, when using VectorImage I get the error ?No module named 'ITKQuadEdgeMeshPython'?. This is the only module that failed in my ITK Python build. Is this a known bug or it was just for my build? Thank you! Fabio. From: Francois Budin [mailto:francois.budin at kitware.com] Sent: Freitag, 28. April 2017 23:12 To: D'Isidoro Fabio Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C] ; insight-users at itk.org Subject: Re: [ITK-users] [ITK] ITK PyBuffer get physical point coordinates Hello Fabio, I was able to use this filter in Python. Here is the commands I typed: In [14]: ImageType=itk.Image[itk.Vector[itk.F,2],2] In [15]: source=itk.PhysicalPointImageSource[ImageType].New() In [16]: source.SetSize([5,5]) In [17]: source.SetOrigin([0,0]) In [18]: source.SetSpacing([.5,.5]) In [19]: source.Update() In [20]: itk.GetArrayFromImage(source) Out[20]: itkndarray([[[ 0. , 0. ], [ 0.5, 0. ], [ 1. , 0. ], [ 1.5, 0. ], [ 2. , 0. ]], [[ 0. , 0.5], [ 0.5, 0.5], [ 1. , 0.5], [ 1.5, 0.5], [ 2. , 0.5]], [[ 0. , 1. ], [ 0.5, 1. ], [ 1. , 1. ], [ 1.5, 1. ], [ 2. , 1. ]], [[ 0. , 1.5], [ 0.5, 1.5], [ 1. , 1.5], [ 1.5, 1.5], [ 2. , 1.5]], [[ 0. , 2. ], [ 0.5, 2. ], [ 1. , 2. ], [ 1.5, 2. ], [ 2. , 2. ]]], dtype=float32) It also worked with VectorImages: In [22]: ImageType=itk.VectorImage[itk.F,2] In [23]: source=itk.PhysicalPointImageSource[ImageType].New() In [24]: source.SetOrigin([0,0]) In [25]: source.SetSize([5,5]) In [26]: source.SetSpacing([.5,.5]) In [27]: source.Update() In [28]: itk.GetArrayFromImage(source) To answer your questions: 1) This filter is only wrapped over image of vectors and vector images. You can have the list of types that are available in Python with itk.PhysicalPointImageSource.GetTypes() 2) You may have a version of ITK Python for which VectorImage is not wrapped for PyBuffer. You can try to update your ITK Python [1] Hope this helps, Francois [1] https://github.com/InsightSoftwareConsortium/ITKPythonPackage On Fri, Apr 28, 2017 at 12:05 PM, D'Isidoro Fabio > wrote: Thank you for your reply. 1) I have tried as a first step the following: DRRPhy = itk.PhysicalPointImageSource[itk.Image[itk.Point[itk.F, Dimension], Dimension]].New() But I get the error: KeyError: "itkTemplate : No template (, 3) for the itk::Image class" So I guess I can?t generate an image with itk.Points as PixelType. Therefore I chose to use a VectorImage as ImageType in Input to the PhysicalPointImageSource. sourceImage = itk.PhysicalPointImageSource[itk.VectorImage[itk.F, Dimension]].New() sourceImage.SetSize(size) sourceImage.SetSpacing(spacing) sourceImage.SetOrigin(origin) #DRRPhy.SetIndex(start) it does not work, how to set the start index? DRRPhy.SetDirection(direction) 2) However, using PyBuffer to get a numpy array form that does not work: sourceImageArray = itk. PyBuffer[ImageType].GetArrayFromImage(sourceImage) I get the error: AttributeError: 'itkPhysicalPointImageSourceVIF3' object has no attribute 'GetLargestPossibleRegion' Am I doing the right thing in point 1) ? How could I solve point 2) ? Thank you ! Fabio. From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] Sent: Donnerstag, 27. April 2017 23:16 To: D'Isidoro Fabio > Cc: insight-users at itk.org Subject: Re: [ITK] [ITK-users] ITK PyBuffer get physical point coordinates Hi! You can generate an image of the physical locations of each pixel with the PhysicalPointImageSource filter: https://itk.org/Doxygen/html/classitk_1_1PhysicalPointImageSource.html Very recently added is the SetReferenceImage, which can be use to copy the meta data from one image to the parameters of this filter. If your version is not super recent then you can manually set the Size, Spacing, Origin, Direction and StartIndex. After you generate the point image you should be able to convert to with the same method. HTH, Brad On Apr 27, 2017, at 4:58 PM, D'Isidoro Fabio > wrote: Hallo, I know it?s possible to get a numpy array of an itk image with: itk.PyBuffer[ImageType].GetArrayFromImage(Image) Is it by any chance also possible to obtain a (flattended) numpy array of the physical coordinates of the image pixels too? Thank you! _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 francois.budin at kitware.com Tue May 2 11:48:51 2017 From: francois.budin at kitware.com (Francois Budin) Date: Tue, 2 May 2017 11:48:51 -0400 Subject: [ITK] [ITK-users] ITK PyBuffer get physical point coordinates In-Reply-To: <50B858FB5F53124F9E32314E5C1B4094459858FA@MBX112.d.ethz.ch> References: <50B858FB5F53124F9E32314E5C1B409445984B2A@MBX112.d.ethz.ch> <50B858FB5F53124F9E32314E5C1B409445984BBC@MBX112.d.ethz.ch> <50B858FB5F53124F9E32314E5C1B4094459858FA@MBX112.d.ethz.ch> Message-ID: Hello Fabio, The main difference between itk.GetArrayFromImage() and itk.PyBuffer[ImageType].GetArrayFromImage() is that itk.GetAraryFromImage() is a wrapping of itk.PyBuffer[ImageType].GetArrayFromImage() in Python that automatically finds the type of the input image (and is a shorted command line). The reason why this worked but not itk.PyBuffer[ImageType.GetArrayFromImage() is because in the wrapping, if a filter is given instead of an image, the output of the filter will be used. Which means that what really happen is that you gave a filter to a function (itk.PyBuffer[ImageType].GetArrayFromImage()) expecting an image. If you want to work with the long command, you have to make sure that the input is an image: image=source.GetOutput() itk.PyBuffer[ImageType].GetArrayFromImage(image) And then it should work. Hope this helps, Francois On Tue, May 2, 2017 at 11:20 AM, D'Isidoro Fabio wrote: > Hi Francois, > > > > It works with your commands, the difference being the use of: > > > > itk.GetArrayFromImage(source) > > > > in your version, instead of: > > > > itk.PyBuffer[ImageType].GetArrayFromImage(source) > > > > in my version. > > > > May you explain me the difference, and why using PyBuffer does not work > for this case? > > > > Also, when using VectorImage I get the error ?No module named > 'ITKQuadEdgeMeshPython'?. This is the only module that failed in my ITK > Python build. Is this a known bug or it was just for my build? > > > > Thank you! > > > > Fabio. > > *From:* Francois Budin [mailto:francois.budin at kitware.com] > *Sent:* Freitag, 28. April 2017 23:12 > *To:* D'Isidoro Fabio > *Cc:* Lowekamp, Bradley (NIH/NLM/LHC) [C] ; > insight-users at itk.org > *Subject:* Re: [ITK-users] [ITK] ITK PyBuffer get physical point > coordinates > > > > Hello Fabio, > > I was able to use this filter in Python. Here is the commands I typed: > In [14]: ImageType=itk.Image[itk.Vector[itk.F,2],2] > > In [15]: source=itk.PhysicalPointImageSource[ImageType].New() > > In [16]: source.SetSize([5,5]) > > In [17]: source.SetOrigin([0,0]) > > In [18]: source.SetSpacing([.5,.5]) > > In [19]: source.Update() > > In [20]: itk.GetArrayFromImage(source) > Out[20]: > itkndarray([[[ 0. , 0. ], > [ 0.5, 0. ], > [ 1. , 0. ], > [ 1.5, 0. ], > [ 2. , 0. ]], > > [[ 0. , 0.5], > [ 0.5, 0.5], > [ 1. , 0.5], > [ 1.5, 0.5], > [ 2. , 0.5]], > > [[ 0. , 1. ], > [ 0.5, 1. ], > [ 1. , 1. ], > [ 1.5, 1. ], > [ 2. , 1. ]], > > [[ 0. , 1.5], > [ 0.5, 1.5], > [ 1. , 1.5], > [ 1.5, 1.5], > [ 2. , 1.5]], > > [[ 0. , 2. ], > [ 0.5, 2. ], > [ 1. , 2. ], > [ 1.5, 2. ], > [ 2. , 2. ]]], dtype=float32) > > It also worked with VectorImages: > > In [22]: ImageType=itk.VectorImage[itk.F,2] > > In [23]: source=itk.PhysicalPointImageSource[ImageType].New() > > In [24]: source.SetOrigin([0,0]) > > In [25]: source.SetSize([5,5]) > > In [26]: source.SetSpacing([.5,.5]) > > In [27]: source.Update() > > In [28]: itk.GetArrayFromImage(source) > > > > To answer your questions: > > 1) This filter is only wrapped over image of vectors and vector images. > You can have the list of types that are available in Python with > itk.PhysicalPointImageSource.GetTypes() > > 2) You may have a version of ITK Python for which VectorImage is not > wrapped for PyBuffer. You can try to update your ITK Python [1] > > Hope this helps, > > Francois > > > [1] https://github.com/InsightSoftwareConsortium/ITKPythonPackage > > > > On Fri, Apr 28, 2017 at 12:05 PM, D'Isidoro Fabio > wrote: > > Thank you for your reply. > > > > 1) I have tried as a first step the following: > > > > DRRPhy = itk.PhysicalPointImageSource[itk.Image[itk.Point[itk.F, > Dimension], Dimension]].New() > > > > But I get the error: > > > > KeyError: "itkTemplate : No template (, > 3) for the itk::Image class" > > > > So I guess I can?t generate an image with itk.Points as PixelType. > Therefore I chose to use a VectorImage as ImageType in Input to the > PhysicalPointImageSource. > > > > sourceImage = itk.PhysicalPointImageSource[itk.VectorImage[itk.F, > Dimension]].New() > > sourceImage.SetSize(size) > > sourceImage.SetSpacing(spacing) > > sourceImage.SetOrigin(origin) > > #DRRPhy.SetIndex(start) it does not work, how to set the start index? > > DRRPhy.SetDirection(direction) > > > > 2) However, using PyBuffer to get a numpy array form that does not > work: > > > > sourceImageArray = itk. PyBuffer[ImageType].GetArrayFromImage(sourceImage) > > > > I get the error: > > > > AttributeError: 'itkPhysicalPointImageSourceVIF3' object has no attribute > 'GetLargestPossibleRegion' > > > > > > Am I doing the right thing in point 1) ? > > How could I solve point 2) ? > > > > Thank you ! > > > > Fabio. > > > > *From:* Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] > > *Sent:* Donnerstag, 27. April 2017 23:16 > *To:* D'Isidoro Fabio > *Cc:* insight-users at itk.org > *Subject:* Re: [ITK] [ITK-users] ITK PyBuffer get physical point > coordinates > > > > Hi! > > > > You can generate an image of the physical locations of each pixel with the > PhysicalPointImageSource filter: > > https://itk.org/Doxygen/html/classitk_1_1PhysicalPointImageSource.html > > > > Very recently added is the SetReferenceImage, which can be use to copy the > meta data from one image to the parameters of this filter. If your version > is not super recent then you can manually set the Size, Spacing, Origin, > Direction and StartIndex. > > > > After you generate the point image you should be able to convert to with > the same method. > > > > HTH, > > Brad > > > > > > On Apr 27, 2017, at 4:58 PM, D'Isidoro Fabio wrote: > > > > Hallo, > > > > I know it?s possible to get a numpy array of an itk image with: > > > > itk.PyBuffer[ImageType].GetArrayFromImage(Image) > > > > Is it by any chance also possible to obtain a (flattended) numpy array of > the physical coordinates of the image pixels too? > > > > Thank you! > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 3 09:32:42 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Wed, 3 May 2017 13:32:42 +0000 Subject: [ITK] [ITK-dev] [ANN] SimpleITK 1.0.0 Release In-Reply-To: <6CCDD8FC6578314C902BBF87D511D9D8F2A28B06@exchmbx01> References: <3A9B6734-7719-4069-8E7B-E0F1B35A0A5F@mail.nih.gov> <6CCDD8FC6578314C902BBF87D511D9D8F2A28B06@exchmbx01> Message-ID: Hello, I presume you are have a win64 Python 2.7 version of Anaconda? We are unfortunetly missing conda binaries for win64 with python 2.7 due to linker limitations for Visual Studio 2008. We have not yet found a configuration/flag that gets this configuration to produce the binary. Your options are as follows: 1) Make the jump to Python 3! 2) Try using the wheel binary from PyPI: `pip install simpleitk`. 3) Take a step back to 32-bit Python 2.7. Yes, the `many` term was a intentionally vague because of the large number of platform and version options available. The list of packages can easily be seen here: https://anaconda.org/SimpleITK/SimpleITK/files For completeness here is a list of 1.0.0 packages currently on anaconda.org: linux-32/simpleitk-1.0.0-py27_0.tar.bz2 linux-32/simpleitk-1.0.0-py34_0.tar.bz2 linux-32/simpleitk-1.0.0-py35_0.tar.bz2 linux-32/simpleitk-1.0.0-py36_0.tar.bz2 linux-64/simpleitk-1.0.0-py27_0.tar.bz2 linux-64/simpleitk-1.0.0-py34_0.tar.bz2 linux-64/simpleitk-1.0.0-py35_0.tar.bz2 linux-64/simpleitk-1.0.0-py36_0.tar.bz2 osx-64/simpleitk-1.0.0-py27_0.tar.bz2 osx-64/simpleitk-1.0.0-py34_0.tar.bz2 osx-64/simpleitk-1.0.0-py35_0.tar.bz2 osx-64/simpleitk-1.0.0-py36_0.tar.bz2 win-32/simpleitk-1.0.0-py27_0.tar.bz2 win-32/simpleitk-1.0.0-py34_0.tar.bz2 win-32/simpleitk-1.0.0-py35_0.tar.bz2 win-32/simpleitk-1.0.0-py36_0.tar.bz2 win-64/simpleitk-1.0.0-py34_0.tar.bz2 win-64/simpleitk-1.0.0-py35_0.tar.bz2 win-64/simpleitk-1.0.0-py36_0.tar.bz2 list of 1.0.0 packages available on sourceforge.net/projects/simpleitk/: CSharp/SimpleITK-1.0.0-CSharp-win32-x86.zip CSharp/SimpleITK-1.0.0-CSharp-win64-x64.zip Java/SimpleITK-1.0.0-Java-win32.zip Java/SimpleITK-1.0.0-Java-win64.zip Python/SimpleITK-1.0.0-1.tar.gz Python/SimpleITK-1.0.0-cp27-cp27m-macosx_10_6_intel.whl Python/SimpleITK-1.0.0-cp27-cp27m-macosx_10_6_x86_64.whl Python/SimpleITK-1.0.0-cp27-cp27m-manylinux1_i686.whl Python/SimpleITK-1.0.0-cp27-cp27m-manylinux1_x86_64.whl Python/SimpleITK-1.0.0-cp27-cp27mu-manylinux1_i686.whl Python/SimpleITK-1.0.0-cp27-cp27mu-manylinux1_x86_64.whl Python/SimpleITK-1.0.0-cp27-cp27m-win32.whl Python/SimpleITK-1.0.0-cp27-cp27m-win_amd64.whl Python/SimpleITK-1.0.0-cp33-cp33m-manylinux1_i686.whl Python/SimpleITK-1.0.0-cp33-cp33m-manylinux1_x86_64.whl Python/SimpleITK-1.0.0-cp34-cp34m-macosx_10_6_x86_64.whl Python/SimpleITK-1.0.0-cp34-cp34m-manylinux1_i686.whl Python/SimpleITK-1.0.0-cp34-cp34m-manylinux1_x86_64.whl Python/SimpleITK-1.0.0-cp34-cp34m-win32.whl Python/SimpleITK-1.0.0-cp34-cp34m-win_amd64.whl Python/SimpleITK-1.0.0-cp35-cp35m-macosx_10_6_x86_64.whl Python/SimpleITK-1.0.0-cp35-cp35m-manylinux1_i686.whl Python/SimpleITK-1.0.0-cp35-cp35m-manylinux1_x86_64.whl Python/SimpleITK-1.0.0-cp35-cp35m-win32.whl Python/SimpleITK-1.0.0-cp35-cp35m-win_amd64.whl Python/SimpleITK-1.0.0-cp36-cp36m-macosx_10_6_x86_64.whl Python/SimpleITK-1.0.0-cp36-cp36m-manylinux1_i686.whl Python/SimpleITK-1.0.0-cp36-cp36m-manylinux1_x86_64.whl Python/SimpleITK-1.0.0-cp36-cp36m-win32.whl Python/SimpleITK-1.0.0-cp36-cp36m-win_amd64.whl Python/SimpleITK-1.0.0.zip Python/SimpleITKPythonPackage-1.0.0.tar.gz Source/SimpleITK-1.0.0.tar.gz Source/SimpleITK-1.0.0.tar.xz Source/SimpleITK-1.0.0.zip Source/SimpleITKData-1.0.0.tar.gz Source/SimpleITKData-1.0.0.tar.xz Source/SimpleITKData-1.0.0.zip PyPI is also hosting the above wheels for interoperability with the `pip` package manager, and does not have the SimpleITKPythonPackage source. Hope that clarifies the situations. Brad On May 3, 2017, at 7:10 AM, Robert.Atwood at diamond.ac.uk wrote: Hi, Regarding the 1.0.0 release announcement .. ``` - Many Conda package have been upload to Anaconda Cloud on the `SimpleITK`. These can be installed with: ``` conda install -c simpleitk simpleitk ``` If I do this, I get the version 0.9.1 Is this expected? If so the release announcement should clarify that the ?many? packages uploaded don?t yet include the actual release that is announced ? (C:\Users\kny48981\AppData\Local\Continuum\Anaconda2) C:\Users\kny48981>conda in stall -c simpleitk simpleitk Fetching package metadata ............. Solving package specifications: . Package plan for installation in environment C:\Users\kny48981\AppData\Local\Con tinuum\Anaconda2: The following NEW packages will be INSTALLED: simpleitk: 0.9.1-py27_0 simpleitk Proceed ([y]/n)? y From: Insight-users [mailto:insight-users-bounces at itk.org] On Behalf Of Lowekamp, Bradley (NIH/NLM/LHC) [C] Sent: Friday, April 14, 2017 4:56 PM To: itk; ITK; Insight-users Subject: [ITK-users] [ANN] SimpleITK 1.0.0 Release The SimpleITK Development Team and the Insight Software Consortium are proud to announce the first major release of SimpleITK. SimpleITK is a simplified multi-language interface to the National Library of Medicine?s Insight Segmentation and Registration Toolkit (ITK). Providing an easy to use interface to ITK. SimpleITK is intended to broaden the use of ITK to researchers and domain scientist who are novice software developers, enabling them to benefit from the image-analysis power of ITK. For experienced software developers, the toolkit enables rapid prototyping of image segmentation and registration frameworks and facilitates evaluation of the effects algorithmic parameter settings have on results with minimal programming effort. In the educational setting SimpleITK's concise interface allows students to experiment with well known algorithms, enhancing their understanding of algorithm performance without the need for advanced software engineering skills. The toolkit development process follows best software engineering practices including code reviews and continuous integration testing, with results displayed online allowing everyone to gauge the status of the current code and any code that is under consideration for incorporation into the toolkit. User support is available through a dedicated mailing list and the project?s Wiki. SimpleITK is available for the following programing languages: Python, R, Java, C#, C++, Lua, Ruby, and TCL. Binary versions of the toolkit are available for the GNU Linux, Apple OS X, and Microsoft Windows operating systems. All of the source code is freely available on github under an Apache-2.0 license. Downloading SimpleITK Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK Wiki (https://itk.org/Wiki/SimpleITK/GettingStarted). - Python Binary Downloads - Python binary wheels are available for download. It is important to have the latest version of pip to ensure correct wheel compatibility and installation. To install the latest SimpleITK package form PyPI: ``` pip install --upgrade pip pip install SimpleITK ``` - Many Conda package have been upload to Anaconda Cloud on the `SimpleITK`. These can be installed with: ``` conda install -c simpleitk simpleitk ``` - A complete available set of compiled binaries, including select CSharp and Java distributions, along with source and data tar-balls are available on Source Forge (https://sourceforge.net/projects/simpleitk/files/SimpleITK/1.0.0/). Release Notes - Key Improvements: - Improved Python data bridge - New Python method `GetArrayViewFromImage` provides copy free read-only access - Updated Python data structures to use `memory view` objects - New language specific building SimpleITK front-ends - R devtools based installer (https://github.com/SimpleITK/SimpleITKRInstaller). - Python: scripts for building wheels (https://github.com/SimpleITK/SimpleITKPythonPackage) and a Conda recipe (https://github.com/SimpleITK/SimpleITKCondaRecipe). - Improved writing DICOM tags when writing a slice, and disabled writing a DICOM series with the ImageSeriesWriter - Support use of virtual image domain in the `ImageRegistrationMethod` - OnePlusOneOptimizer added to registration framework - Improved support for R: propogating C++ exceptions into R, additional R tests - Additional tests for Java - Python and R notebooks repository illustrating the basics and more advanced functionality of SimpleITK (https://github.com/InsightSoftwareConsortium/SimpleITK-Notebooks) - Added continous integration via CircleCI - Updated version and improved integration of Google Test - Updated ITK version to 4.11.0+ - Updated minimal required CMake version to 3.0, and numerous CMake changes to support various build configurations - Fix, "pip install" works for Apple Mac OS X. - Updated to usage of SWIG 3.0.11 ( using the latest SIWG is strongly recommended for R ) - Reorganized examples directory into example based sub-directories with multiple languages - Improvements to documentation transmogrification scripts - Many bug fixes and improvement to the build system! - Additional Improvements: - Added multi-hash ExternalData support for sha512 - Added R Documentation files - Update Python and Java documentation strings files - Fix allowing undefined symbols when building standalone language wrapping - Reorganized examples directory - Reorganized filter libraries to match ITK modules - Improved compilation with more specific ITK module usage - Now using modern CMake 3 style properties for exported libraries - API Changes - Replaced return Self with void for wrapped languages, to address memory and segmentation fault issue. - Depricated CMake variables with "SITK" prefix, now consistenly using the "SimpleITK" prefix for configurable CMake variables - Removed `ImageSeriesReader::GetGDCMSeriesFileNames` parameter `loadPrivateTags` parameter. This removes an overloaded version of the class method. - Added `sitkWallClock` enum for a sentinel value for random number seed to indicate initialization from the clock - New method `Image::GetNumberOfPixels` - New method `LabelMapContourOverlayImageFilter::SetColormap` - New method `LabelMapToRGBImageFilter::SetColormap` - New method `ImageRegistrationMethod::SetVirtualDomain` - New method `ImageRegistrationMethod::SetVirtualDomainFromImage` - New seed parameter to `ImageRegistrationMethod::AddMetricSamplingSeed` method - `CastImageFilter::SetOutputPixelType` method no longer accepts the pixel ID by value, uses only enumerated type Enjoy! Bradley Lowekamp -- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From francois.budin at kitware.com Wed May 3 10:10:33 2017 From: francois.budin at kitware.com (Francois Budin) Date: Wed, 3 May 2017 10:10:33 -0400 Subject: [ITK] [ITK-dev] Patches for the 4.11.1 release Message-ID: Hi folks, We would like to publish a 4.11.1 bugfix release on Friday. Here is the current set of patches on the release branch since 4.11.0: Bradley Lowekamp (6): BUG: Correct variable name used to check CXX version COMP: Enable hidden visibility property with NIFTI static libraries COMP: Enable hidden visibility property with GIFTI static libraries BUG: Initialize ConvergenceValue in constructor BUG: Use CMAKE_DL_LIBS instead of explict "dl" library BUG: Apply changes from MetaIO upstream to remove static variables Floris Berendsen (1): COMP: Added missing png_get_uint_31 name mangling Francois Budin (17): BUG: Addresses 'ordered comparison between pointer and zero' error (clang-4) BUG: ITK_OVERRIDE keyword for non-overriden funtion BUG: ITK_OVERRIDE keyword for non-overriden funtion BUG: Missing ITK_OVERRIDE BUG: 3523 Even padding most value representations with space instead of '\0' BUG: KWSys symbols should not be exported with WINDOWS_EXPORT_ALL_SYMBOLS BUG: 3519 KernelTransform WMatrix initialization BUG: Wrapping of itkHessianToObjectnessMeasureImageFilter moved out of Review BUG: Wrap EllipseSpatialObject std::list in Python ENH: Improving usability in IPython BUG: Attribute names cannot start with a digit BUG: Test if 'issubclass' only if 'isclass' is True BUG: 3475 AccumulateImageFilter not setting direction cosines of output image BUG: Do not export GDCM and Expat symbols with WINDOWS_EXPORT_ALL_SYMBOLS BUG: Do not export all symbols from third party libraries on Windows BUG: Certain third party libraries need to export their symbols on Windows BUG: ProjectionImageFilter did not copy direction cosine information to output Jon Haitz Legarreta (1): COMP: Fix signed/unsigned mismatch warning. Matthew McCormick (16): COMP: Add missing headers in OpenCVImageBridge COMP: Use double for gradient calculations in MinMaxCurvatureFlow BUG: Address tab completion with IPython >= 5.0.0 BUG: Do not use terminal_progress with the Jupyter Notebook COMP: Do not require numeric_traits::has_infinity BUG: Fix passing _NO_TR1 definition with VS9 and Python BUG: Always wrap basic type RGBUC COMP: Do not add Visual Studio numeric_traits workarounds with MinGWPy COMP: Increase gold linker requirement to GCC 4.9.0 COMP: Detect Windows with _WIN32 in socket++/fork.cpp COMP: Address Python 2.7 Windows _hypot build errors COMP: Undefine Py_hash_t when wrapping VtkGlue BUG: Improve itkTemplate New compatibility with Python 3 BUG: Correct size specification in ImportImageFilter::SetImportPointer BUG: Improve large file support in MetaIO BUG: LevelSetNeighborhoodExtractor uses spacing Taylor Braun-Jones (1): COMP: Only include the headers for required OpenCV modules (fixup) Are there any patches that are missing? These should be patches that fixes critical issues, regressions, documentation, and compiler support. Thank you, Francois -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From francois.budin at kitware.com Wed May 3 10:59:04 2017 From: francois.budin at kitware.com (Francois Budin) Date: Wed, 3 May 2017 10:59:04 -0400 Subject: [ITK] [ITK-dev] Patches for the ITK 4.12 Release Candidate 1 Message-ID: Hello fellow ITK developers, We are planning to tag ITK 4.12 Release Candidate 1 on Friday, May 5th. If there is any enhancement that you would like to see included in ITK 4.12.0, please submit your patch as soon as possible as they need to be reviewed and merged prior. As a reminder, this means feature freeze for ?master? and, therefore, enhancements should not be merged until after the release candidate period. Thank you, Francois -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From noreply at insightsoftwareconsortium.org Wed May 3 16:42:13 2017 From: noreply at insightsoftwareconsortium.org (Insight Journal) Date: Wed, 3 May 2017 16:42:13 -0400 (EDT) Subject: [ITK] [ITK-users] New Submission: N-Dimensional Computation of Strain Tensor Images in the Insight Toolkit Message-ID: <20170503204213.A94883D6213A@insight-journal.org> Hello, A new submission has been added to the Insight Journal. Title: N-Dimensional Computation of Strain Tensor Images in the Insight Toolkit Authors: McCormick M. Abstract: Strain quantifies local deformation of a solid body. In medical imaging, strain reflects how tissue deforms under load. Or, it can quantify growth or atrophy of tissue, such as the growth of a tumor. Additionally, strain from the transformation that results from image-to-image registration can be applied as an input to a biomechanical constitutive model. This document describes N-dimensional computation of strain tensor images in the Insight Toolkit (ITK), www.itk.org. Two filters are described. The first filter computes a strain tensor image from a displacement field image. The second filter computes a strain tensor image from a general spatial transform. In both cases, infinitesimal, Green-Lagrangian, or Eulerian-Almansi strain can be generated. This paper is accompanied with the source code, input data, parameters and output data that the authors used for validating the algorithm 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/3573 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/ . _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 aisha.nuerzhati at etu.u-pec.fr Thu May 4 05:13:10 2017 From: aisha.nuerzhati at etu.u-pec.fr (Nuerzhati Aisha) Date: Thu, 4 May 2017 09:13:10 +0000 Subject: [ITK] Help In-Reply-To: References: , Message-ID: Dear community manager, I'm master's degree student of University Paris-Est Cr?teil, and I'm in internship right now. I'm having some problem with ITK when I run the itkMultiScaleHessianBasedMeasureImageFilter code. I send you two images, first one is error, and second one is target. I don't understand,because target is in the right link. Please help me, my work environment is Ubuntu 16.04. All the best Aisha NUERZHATI -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image2.JPG Type: image/jpeg Size: 144664 bytes Desc: image2.JPG URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image1.JPG Type: image/jpeg Size: 95590 bytes Desc: image1.JPG URL: From aisha.nuerzhati at etu.u-pec.fr Thu May 4 05:15:13 2017 From: aisha.nuerzhati at etu.u-pec.fr (Nuerzhati Aisha) Date: Thu, 4 May 2017 09:15:13 +0000 Subject: [ITK] Help Message-ID: Dear community manager, I'm master's degree student of University Paris-Est Cr?teil, and I'm in internship right now. I'm having some problem with ITK when I run the itkMultiScaleHessianBasedMeasureImageFilter code. I send you two images, first one is error, and second one is target. I don't understand,because target is in the right link. Please help me, my work environment is Ubuntu 16.04. All the best Aisha NUERZHATI -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image1.JPG Type: image/jpeg Size: 95590 bytes Desc: image1.JPG URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image2.JPG Type: image/jpeg Size: 144664 bytes Desc: image2.JPG URL: From francois.budin at kitware.com Thu May 4 09:10:14 2017 From: francois.budin at kitware.com (Francois Budin) Date: Thu, 4 May 2017 09:10:14 -0400 Subject: [ITK] Help In-Reply-To: References: Message-ID: Hello Aisha, I am not sure to understand what you are asking. From what I can see in the screenshots you are sending, it looks like you are having issues compiling a project that uses ITK. Where you successful compiling ITK itself? Did you use CMake to configure your own project? I would recommend you to read the ITK Software Guide [1][2] first if you haven't done this already as it gives a lot of information about how to use ITK, and then look at the examples included in ITK. Hope this helps Francois [1] https://itk.org/ITKSoftwareGuide/html/Book2/ITKSoftwareGuide-Book2.html [2] https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1.html On Thu, May 4, 2017 at 5:15 AM, Nuerzhati Aisha < aisha.nuerzhati at etu.u-pec.fr> wrote: > Dear community manager, > > I'm master's degree student of University Paris-Est Cr?teil, and I'm in > internship right now. > I'm having some problem with ITK when I run the > itkMultiScaleHessianBasedMeasureImageFilter code. > I send you two images, first one is error, and second one is target. > I don't understand,because target is in the right link. > > Please help me, my work environment is Ubuntu 16.04. > > All the best > Aisha NUERZHATI > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From aisha.nuerzhati at etu.u-pec.fr Thu May 4 09:24:09 2017 From: aisha.nuerzhati at etu.u-pec.fr (Nuerzhati Aisha) Date: Thu, 4 May 2017 13:24:09 +0000 Subject: [ITK] Help In-Reply-To: References: , Message-ID: Hello, Sorry about my English. The ITK itself is successfully compiled, the problem is coming from the project called itkMultiScaleHessienBasedMeasureFilter (provide by itk). Because it is provide by itk, the project has to be compiled successfully. That is why i don't understand. All the best, Aisha ________________________________ De : Francois Budin Envoy? : jeudi 4 mai 2017 11:10:14 ? : Nuerzhati Aisha Cc : community at itk.org; olena.tankyevych at u-pec.fr Objet : Re: [ITK] Help Hello Aisha, I am not sure to understand what you are asking. From what I can see in the screenshots you are sending, it looks like you are having issues compiling a project that uses ITK. Where you successful compiling ITK itself? Did you use CMake to configure your own project? I would recommend you to read the ITK Software Guide [1][2] first if you haven't done this already as it gives a lot of information about how to use ITK, and then look at the examples included in ITK. Hope this helps Francois [1] https://itk.org/ITKSoftwareGuide/html/Book2/ITKSoftwareGuide-Book2.html [2] https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1.html On Thu, May 4, 2017 at 5:15 AM, Nuerzhati Aisha > wrote: Dear community manager, I'm master's degree student of University Paris-Est Cr?teil, and I'm in internship right now. I'm having some problem with ITK when I run the itkMultiScaleHessianBasedMeasureImageFilter code. I send you two images, first one is error, and second one is target. I don't understand,because target is in the right link. Please help me, my work environment is Ubuntu 16.04. All the best Aisha NUERZHATI _______________________________________________ Community mailing list Community at itk.org http://public.kitware.com/mailman/listinfo/community -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Thu May 4 09:27:21 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 4 May 2017 09:27:21 -0400 Subject: [ITK] Help In-Reply-To: References: Message-ID: Hi Aisha, Welcome to ITK! A (non-intuitive) convention of native C/C++ executable is they always have a "main" function that is an entry point. The operating system starts execution by calling this function and passes it any command line argument executables. For a complete multi-scale Hessian example, see this page: https://itk.org/ITKExamples/src/Nonunit/Review/SegmentBloodVesselsWithMultiScaleHessianBasedMeasure/Documentation.html Note the "main" function. It can be downloaded along with its CMake build configuration with the "Download" link at the top of the page. Hope this helps, Matt > On Thu, May 4, 2017 at 5:15 AM, Nuerzhati Aisha < > aisha.nuerzhati at etu.u-pec.fr> wrote: > >> Dear community manager, >> >> I'm master's degree student of University Paris-Est Cr?teil, and I'm in >> internship right now. >> I'm having some problem with ITK when I run the >> itkMultiScaleHessianBasedMeasureImageFilter code. >> I send you two images, first one is error, and second one is target. >> I don't understand,because target is in the right link. >> >> Please help me, my work environment is Ubuntu 16.04. >> >> All the best >> Aisha NUERZHATI >> >> >> _______________________________________________ >> Community mailing list >> Community at itk.org >> http://public.kitware.com/mailman/listinfo/community >> >> > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonasteuwen at gmail.com Thu May 4 12:48:55 2017 From: jonasteuwen at gmail.com (Jonas Teuwen) Date: Thu, 4 May 2017 18:48:55 +0200 Subject: [ITK] [ITK-users] sitk.DiscreteGaussianImageFilter with different variances per direction Message-ID: Dear all, I am downsampling an image in the in-plane resolution (3D) and I want to apply a Gaussian filter beforehand. I want to have a different variance (0) in depth as I do not downsample in this direction. https://itk.org/SimpleITKDoxygen/html/classitk_1_1simple_1_1DiscreteGaussianImageFilter.html#details mentions that the 'variance can be set independently in each dimension'. How would I do this with SetVariance()? Best Regards, Jonas Teuwen -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 dzenanz at gmail.com Thu May 4 13:18:43 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Thu, 4 May 2017 13:18:43 -0400 Subject: [ITK] [ITK-users] sitk.DiscreteGaussianImageFilter with different variances per direction In-Reply-To: References: Message-ID: Hi Jonas, I don't know whether that is possible with SimpleITK, but with regular ITK you just pass an array of variances (each corresponding to one spatial dimension). Make sure that (last) one is 0. Regards, D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) On Thu, May 4, 2017 at 12:48 PM, Jonas Teuwen wrote: > Dear all, > > I am downsampling an image in the in-plane resolution (3D) and I want to > apply a Gaussian filter beforehand. I want to have a different variance (0) > in depth as I do not downsample in this direction. https://itk.org/ > SimpleITKDoxygen/html/classitk_1_1simple_1_1DiscreteGaussianImageFilter. > html#details mentions that the 'variance can be set independently in each > dimension'. How would I do this with SetVariance()? > > Best Regards, > Jonas Teuwen > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 Thu May 4 14:16:55 2017 From: zivrafael.yaniv at nih.gov (Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]) Date: Thu, 4 May 2017 18:16:55 +0000 Subject: [ITK] [ITK-users] sitk.DiscreteGaussianImageFilter with different variances per direction In-Reply-To: References: Message-ID: <07380EA2-EEE1-470F-ADEA-21985B856445@mail.nih.gov> Hello Jonas, Unfortunately, this is currently not supported by the Discrete Gaussian filter in SimpleITK. I would recommend doing it with the recursive Gaussian filter which will let you independently filter along each dimension: img = sitk.ReadImage("sphere.mha") # directions are 0,1,2 (x,y,z), as you only want to blur in x and y x_blurred = sitk.RecursiveGaussian(img, sigma = 2, direction = 0) xy_blurred = sitk.RecursiveGaussian(x_blurred, sigma = 4, direction = 1) Please also add this as a feature request for the Discrete Gaussian filter on our github issue tracker (https://github.com/SimpleITK/SimpleITK/issues). regards Ziv From: Jonas Teuwen Date: Thursday, May 4, 2017 at 12:48 PM To: "insight-users at itk.org" Subject: [ITK-users] sitk.DiscreteGaussianImageFilter with different variances per direction Dear all, I am downsampling an image in the in-plane resolution (3D) and I want to apply a Gaussian filter beforehand. I want to have a different variance (0) in depth as I do not downsample in this direction. https://itk.org/SimpleITKDoxygen/html/classitk_1_1simple_1_1DiscreteGaussianImageFilter.html#details mentions that the 'variance can be set independently in each dimension'. How would I do this with SetVariance()? Best Regards, Jonas Teuwen -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 anqin888 at gmail.com Fri May 5 12:22:55 2017 From: anqin888 at gmail.com (an qin) Date: Fri, 5 May 2017 12:22:55 -0400 Subject: [ITK] [ITK-users] simple ITK C# show image Message-ID: Hi, I am new to C# simpleITK and can't find much sample codes. I tried to read dicom image and display them in simpleITK. The dicom image was read without a problem. But got an exception when show. Any suggestion will be appreciated. Thanks. Andy //-------------code------------ using itk.simple; namespace TestReadDicom { class Program { static void Main(string[] args) { var myreader = new ImageSeriesReader(); var names = ImageSeriesReader.GetGDCMSeriesFileNames(@"E:\ImageSet_0.DICOM"); myreader.SetFileNames(names); var image = myreader.Execute(); VectorDouble imDim = image.GetOrigin(); Console.WriteLine(imDim[0].ToString()); SimpleITK.Show(image); } } } //-------------output------------ Additional information: Exception thrown in SimpleITK Show: ..\..\..\..\..\SimpleITK\Code\IO\src\sitkShow.cxx:500: sitk::ERROR: Error in administrating child process: [The parameter is incorrect -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 Fri May 5 13:11:47 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Fri, 5 May 2017 17:11:47 +0000 Subject: [ITK] [ITK-users] simple ITK C# show image In-Reply-To: References: Message-ID: <90BA44E8-E6FD-4167-9F10-B07A66801A23@mail.nih.gov> Hello, The documentation for the sitk::Show method can be found here: https://itk.org/SimpleITKDoxygen/html/namespaceitk_1_1simple.html#ac8416e6e7f02dedfe8373b83dbea411d I suspect that you don?t have Fiji/ImageJ installed, or the method was not able to locate the executable. There are some environment variables that can be set to properly configure it. The Show method is designed to be a convenience method to launch an external viewer to display data. It is convenient to use in interactive environments such as python or R for a quick display. SimpleITK provides wrapping for a large number of languages include Python, R, Lua, Tcl, Ruby, Java and C#. Some languages have more examples then others. In general it?s not too hard to figure out how to translate an useful example from one language to another. You can find a list of basic examples here: https://itk.org/SimpleITKDoxygen/html/examples.html And may Python and R notebooks here: https://github.com/InsightSoftwareConsortium/SimpleITK-Notebooks Hope that helps, Brad On May 5, 2017, at 12:22 PM, an qin > wrote: Hi, I am new to C# simpleITK and can't find much sample codes. I tried to read dicom image and display them in simpleITK. The dicom image was read without a problem. But got an exception when show. Any suggestion will be appreciated. Thanks. Andy //-------------code------------ using itk.simple; namespace TestReadDicom { class Program { static void Main(string[] args) { var myreader = new ImageSeriesReader(); var names = ImageSeriesReader.GetGDCMSeriesFileNames(@"E:\ImageSet_0.DICOM"); myreader.SetFileNames(names); var image = myreader.Execute(); VectorDouble imDim = image.GetOrigin(); Console.WriteLine(imDim[0].ToString()); SimpleITK.Show(image); } } } //-------------output------------ Additional information: Exception thrown in SimpleITK Show: ..\..\..\..\..\SimpleITK\Code\IO\src\sitkShow.cxx:500: sitk::ERROR: Error in administrating child process: [The parameter is incorrect _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 anqin888 at gmail.com Fri May 5 13:35:26 2017 From: anqin888 at gmail.com (an qin) Date: Fri, 5 May 2017 13:35:26 -0400 Subject: [ITK] [ITK-users] simple ITK C# show image In-Reply-To: <90BA44E8-E6FD-4167-9F10-B07A66801A23@mail.nih.gov> References: <90BA44E8-E6FD-4167-9F10-B07A66801A23@mail.nih.gov> Message-ID: Brad, Thank you so much. Yes, I do not have Fiji/ImageJ installed. --Andy On Fri, May 5, 2017 at 1:11 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] < blowekamp at mail.nih.gov> wrote: > Hello, > > The documentation for the sitk::Show method can be found here: > https://itk.org/SimpleITKDoxygen/html/namespaceitk_1_1simple.html# > ac8416e6e7f02dedfe8373b83dbea411d > > I suspect that you don?t have Fiji/ImageJ installed, or the method was not > able to locate the executable. There are some environment variables that > can be set to properly configure it. > > The Show method is designed to be a convenience method to launch an > external viewer to display data. It is convenient to use in interactive > environments such as python or R for a quick display. > > SimpleITK provides wrapping for a large number of languages include > Python, R, Lua, Tcl, Ruby, Java and C#. Some languages have more examples > then others. In general it?s not too hard to figure out how to translate an > useful example from one language to another. > > You can find a list of basic examples here: > > https://itk.org/SimpleITKDoxygen/html/examples.html > > And may Python and R notebooks here: > > https://github.com/InsightSoftwareConsortium/SimpleITK-Notebooks > > Hope that helps, > Brad > > On May 5, 2017, at 12:22 PM, an qin wrote: > > Hi, I am new to C# simpleITK and can't find much sample codes. I tried to > read dicom image and display them in simpleITK. The dicom image was read > without a problem. But got an exception when show. > > Any suggestion will be appreciated. > > Thanks. > Andy > > > //-------------code------------ > using itk.simple; > > namespace TestReadDicom > { > class Program > { > static void Main(string[] args) > { > var myreader = new ImageSeriesReader(); > var names = ImageSeriesReader.GetGDCMSeriesFileNames(@"E:\ > ImageSet_0.DICOM"); > myreader.SetFileNames(names); > var image = myreader.Execute(); > VectorDouble imDim = image.GetOrigin(); > Console.WriteLine(imDim[0].ToString()); > SimpleITK.Show(image); > } > } > } > > //-------------output------------ > Additional information: Exception thrown in SimpleITK Show: > ..\..\..\..\..\SimpleITK\Code\IO\src\sitkShow.cxx:500: > > sitk::ERROR: Error in administrating child process: [The parameter is > incorrect > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 tofijoy at gmail.com Fri May 5 18:09:39 2017 From: tofijoy at gmail.com (Fijoy Vadakkumpadan) Date: Fri, 5 May 2017 18:09:39 -0400 Subject: [ITK] Writing DICOM files Message-ID: Hello, I'd like to provide users with the ability to save images in DICOM format in my ITK application. Can I assume that the DICOM files that I write using itk::GDCMImageIO comply with the requirements of DICOM standard? For example, if an image is loaded from a TIF file and I save it as a DICOM file using GDCM, will any required DICOM tags (and other tags such as image height, series UID) be automatically populated with default/correct values? Thanks, --Fijoy -------------- next part -------------- An HTML attachment was scrubbed... URL: From tevain at telecom-paristech.fr Sat May 6 11:20:34 2017 From: tevain at telecom-paristech.fr (Timothee Evain) Date: Sat, 6 May 2017 17:20:34 +0200 (CEST) Subject: [ITK] Compilation of ITK with python wrapping on VS2017 In-Reply-To: <1014285739.12270276.1494082017725.JavaMail.zimbra@enst.fr> Message-ID: <1489300489.12274394.1494084034540.JavaMail.zimbra@enst.fr> Hello everyone, I'm trying to compile ITK 4.11 with python wrapping through VisualStudio 2017. Build fails because every itk*CastXML and itk*Swig projects trigger a bunch of errors related to the xstring file of visual studio like this: [...] Error G3F63BFAE constexpr variable '_Memcpy_move_offset' must be initialized by a constant expression ITKSpatialObjectsCastXML C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\include\xstring 1905 Error G3F63BFAE constexpr variable '_Memcpy_move_size' must be initialized by a constant expression ITKSpatialObjectsCastXML C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\include\xstring 1906 [...] more detailed as: 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/include\xstring(1905,26): error G3F63BFAE: constexpr variable '_Memcpy_move_offset' must be initialized by a constant expression 4> static constexpr size_t _Memcpy_move_offset = offsetof(_Mydata_t, _Bx); 4> ^ ~~~~~~~~~~~~~~~~~~~~~~~~ 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/include\stdexcept:23:21: note: in instantiation of template class 'std::basic_string, std::allocator >' requested here 4> : _Mybase(_Message.c_str()) 4> ^ 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/include\xstring:1905:48: note: cast that performs the conversions of a reinterpret_cast is not allowed in a constant expression 4> static constexpr size_t _Memcpy_move_offset = offsetof(_Mydata_t, _Bx); 4> ^ 4>C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt\stddef.h:42:32: note: expanded from macro 'offsetof' 4> #define offsetof(s,m) ((size_t)&reinterpret_cast((((s*)0)->m))) 4> 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/include\xstring(1906,26): error G3F63BFAE: constexpr variable '_Memcpy_move_size' must be initialized by a constant expression 4> static constexpr size_t _Memcpy_move_size = sizeof(_Mydata_t) - _Memcpy_move_offset; 4> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/include\xstring:1906:66: note: initializer of '_Memcpy_move_offset' is not a constant expression 4> static constexpr size_t _Memcpy_move_size = sizeof(_Mydata_t) - _Memcpy_move_offset; 4> ^ 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/include\xstring:1905:26: note: declared here 4> static constexpr size_t _Memcpy_move_offset = offsetof(_Mydata_t, _Bx); Have the python wrapping been tested for compilation with latest standards (constexpr is C++11 if I remember well) ? Tim From dzenanz at gmail.com Sun May 7 08:07:05 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Sun, 7 May 2017 08:07:05 -0400 Subject: [ITK] Compilation of ITK with python wrapping on VS2017 In-Reply-To: <1489300489.12274394.1494084034540.JavaMail.zimbra@enst.fr> References: <1014285739.12270276.1494082017725.JavaMail.zimbra@enst.fr> <1489300489.12274394.1494084034540.JavaMail.zimbra@enst.fr> Message-ID: Hi Tim, it is a known bug in VS2017. Earlier report on ITK list, and link to bug. Regards, D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) On Sat, May 6, 2017 at 11:20 AM, Timothee Evain wrote: > Hello everyone, > > I'm trying to compile ITK 4.11 with python wrapping through VisualStudio > 2017. > Build fails because every itk*CastXML and itk*Swig projects trigger a > bunch of errors related to the xstring file of visual studio like this: > > [...] > Error G3F63BFAE constexpr variable '_Memcpy_move_offset' must be > initialized by a constant expression ITKSpatialObjectsCastXML > C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\ > Tools\MSVC\14.10.25017\include\xstring 1905 > Error G3F63BFAE constexpr variable '_Memcpy_move_size' must be > initialized by a constant expression ITKSpatialObjectsCastXML > C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\ > Tools\MSVC\14.10.25017\include\xstring 1906 > [...] > > more detailed as: > > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\xstring(1905,26): error G3F63BFAE: > constexpr variable '_Memcpy_move_offset' must be initialized by a constant > expression > 4> static constexpr size_t _Memcpy_move_offset = > offsetof(_Mydata_t, _Bx); > 4> ^ > ~~~~~~~~~~~~~~~~~~~~~~~~ > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\stdexcept:23:21: note: in instantiation of > template class 'std::basic_string, > std::allocator >' requested here > 4> : _Mybase(_Message.c_str()) > 4> ^ > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\xstring:1905:48: note: cast that performs > the conversions of a reinterpret_cast is not allowed in a constant > expression > 4> static constexpr size_t _Memcpy_move_offset = > offsetof(_Mydata_t, _Bx); > 4> ^ > 4>C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt\stddef.h:42:32: > note: expanded from macro 'offsetof' > 4> #define offsetof(s,m) ((size_t)&reinterpret_cast volatile&>((((s*)0)->m))) > 4> > > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\xstring(1906,26): error G3F63BFAE: > constexpr variable '_Memcpy_move_size' must be initialized by a constant > expression > 4> static constexpr size_t _Memcpy_move_size = sizeof(_Mydata_t) - > _Memcpy_move_offset; > 4> ^ > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\xstring:1906:66: note: initializer of > '_Memcpy_move_offset' is not a constant expression > 4> static constexpr size_t _Memcpy_move_size = sizeof(_Mydata_t) - > _Memcpy_move_offset; > 4> ^ > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\xstring:1905:26: note: declared here > 4> static constexpr size_t _Memcpy_move_offset = > offsetof(_Mydata_t, _Bx); > > Have the python wrapping been tested for compilation with latest standards > (constexpr is C++11 if I remember well) ? > > Tim > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tevain at telecom-paristech.fr Sun May 7 10:29:57 2017 From: tevain at telecom-paristech.fr (Timothee Evain) Date: Sun, 7 May 2017 16:29:57 +0200 (CEST) Subject: [ITK] Compilation of ITK with python wrapping on VS2017 In-Reply-To: References: <1014285739.12270276.1494082017725.JavaMail.zimbra@enst.fr> <1489300489.12274394.1494084034540.JavaMail.zimbra@enst.fr> Message-ID: <710157836.12413778.1494167397971.JavaMail.zimbra@enst.fr> Hi D?enan, Thanks for the answer and links, I didn't found the earlier post. Let's hope the first update for VS2017 will come soon ! Tim ----- Mail original ----- De: "D?enan Zuki?" ?: "Timothee Evain" Cc: community at itk.org Envoy?: Dimanche 7 Mai 2017 14:07:05 Objet: Re: [ITK] Compilation of ITK with python wrapping on VS2017 Hi Tim, it is a known bug in VS2017. Earlier report on ITK list, and link to bug. Regards, D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) On Sat, May 6, 2017 at 11:20 AM, Timothee Evain wrote: > Hello everyone, > > I'm trying to compile ITK 4.11 with python wrapping through VisualStudio > 2017. > Build fails because every itk*CastXML and itk*Swig projects trigger a > bunch of errors related to the xstring file of visual studio like this: > > [...] > Error G3F63BFAE constexpr variable '_Memcpy_move_offset' must be > initialized by a constant expression ITKSpatialObjectsCastXML > C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\ > Tools\MSVC\14.10.25017\include\xstring 1905 > Error G3F63BFAE constexpr variable '_Memcpy_move_size' must be > initialized by a constant expression ITKSpatialObjectsCastXML > C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\ > Tools\MSVC\14.10.25017\include\xstring 1906 > [...] > > more detailed as: > > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\xstring(1905,26): error G3F63BFAE: > constexpr variable '_Memcpy_move_offset' must be initialized by a constant > expression > 4> static constexpr size_t _Memcpy_move_offset = > offsetof(_Mydata_t, _Bx); > 4> ^ > ~~~~~~~~~~~~~~~~~~~~~~~~ > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\stdexcept:23:21: note: in instantiation of > template class 'std::basic_string, > std::allocator >' requested here > 4> : _Mybase(_Message.c_str()) > 4> ^ > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\xstring:1905:48: note: cast that performs > the conversions of a reinterpret_cast is not allowed in a constant > expression > 4> static constexpr size_t _Memcpy_move_offset = > offsetof(_Mydata_t, _Bx); > 4> ^ > 4>C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt\stddef.h:42:32: > note: expanded from macro 'offsetof' > 4> #define offsetof(s,m) ((size_t)&reinterpret_cast volatile&>((((s*)0)->m))) > 4> > > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\xstring(1906,26): error G3F63BFAE: > constexpr variable '_Memcpy_move_size' must be initialized by a constant > expression > 4> static constexpr size_t _Memcpy_move_size = sizeof(_Mydata_t) - > _Memcpy_move_offset; > 4> ^ > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\xstring:1906:66: note: initializer of > '_Memcpy_move_offset' is not a constant expression > 4> static constexpr size_t _Memcpy_move_size = sizeof(_Mydata_t) - > _Memcpy_move_offset; > 4> ^ > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > Tools/MSVC/14.10.25017/include\xstring:1905:26: note: declared here > 4> static constexpr size_t _Memcpy_move_offset = > offsetof(_Mydata_t, _Bx); > > Have the python wrapping been tested for compilation with latest standards > (constexpr is C++11 if I remember well) ? > > Tim > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > From dzenanz at gmail.com Sun May 7 11:31:31 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Sun, 7 May 2017 11:31:31 -0400 Subject: [ITK] Compilation of ITK with python wrapping on VS2017 In-Reply-To: <710157836.12413778.1494167397971.JavaMail.zimbra@enst.fr> References: <1014285739.12270276.1494082017725.JavaMail.zimbra@enst.fr> <1489300489.12274394.1494084034540.JavaMail.zimbra@enst.fr> <710157836.12413778.1494167397971.JavaMail.zimbra@enst.fr> Message-ID: Hi Tim, there have been a few updates since "release" of VS2017. Hopefully it will be fixed soon. Regards, D?enan On Sun, May 7, 2017 at 10:29 AM, Timothee Evain wrote: > Hi D?enan, > > Thanks for the answer and links, I didn't found the earlier post. > Let's hope the first update for VS2017 will come soon ! > > Tim > > ----- Mail original ----- > De: "D?enan Zuki?" > ?: "Timothee Evain" > Cc: community at itk.org > Envoy?: Dimanche 7 Mai 2017 14:07:05 > Objet: Re: [ITK] Compilation of ITK with python wrapping on VS2017 > > Hi Tim, > > it is a known bug in VS2017. Earlier report > numpy-to-itk-image-and-viceversa-tp38067p38101.html> > on ITK list, and link > numpy-to-itk-image-and-viceversa-tp38067p38106.html> > to bug. > > Regards, > D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) > > On Sat, May 6, 2017 at 11:20 AM, Timothee Evain < > tevain at telecom-paristech.fr > > wrote: > > > Hello everyone, > > > > I'm trying to compile ITK 4.11 with python wrapping through VisualStudio > > 2017. > > Build fails because every itk*CastXML and itk*Swig projects trigger a > > bunch of errors related to the xstring file of visual studio like this: > > > > [...] > > Error G3F63BFAE constexpr variable '_Memcpy_move_offset' must be > > initialized by a constant expression ITKSpatialObjectsCastXML > > C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\ > > Tools\MSVC\14.10.25017\include\xstring 1905 > > Error G3F63BFAE constexpr variable '_Memcpy_move_size' must be > > initialized by a constant expression ITKSpatialObjectsCastXML > > C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\ > > Tools\MSVC\14.10.25017\include\xstring 1906 > > [...] > > > > more detailed as: > > > > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > > Tools/MSVC/14.10.25017/include\xstring(1905,26): error G3F63BFAE: > > constexpr variable '_Memcpy_move_offset' must be initialized by a > constant > > expression > > 4> static constexpr size_t _Memcpy_move_offset = > > offsetof(_Mydata_t, _Bx); > > 4> ^ > > ~~~~~~~~~~~~~~~~~~~~~~~~ > > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > > Tools/MSVC/14.10.25017/include\stdexcept:23:21: note: in instantiation > of > > template class 'std::basic_string, > > std::allocator >' requested here > > 4> : _Mybase(_Message.c_str()) > > 4> ^ > > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > > Tools/MSVC/14.10.25017/include\xstring:1905:48: note: cast that performs > > the conversions of a reinterpret_cast is not allowed in a constant > > expression > > 4> static constexpr size_t _Memcpy_move_offset = > > offsetof(_Mydata_t, _Bx); > > 4> ^ > > 4>C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ > ucrt\stddef.h:42:32: > > note: expanded from macro 'offsetof' > > 4> #define offsetof(s,m) ((size_t)&reinterpret_cast > volatile&>((((s*)0)->m))) > > 4> > > > > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > > Tools/MSVC/14.10.25017/include\xstring(1906,26): error G3F63BFAE: > > constexpr variable '_Memcpy_move_size' must be initialized by a constant > > expression > > 4> static constexpr size_t _Memcpy_move_size = sizeof(_Mydata_t) - > > _Memcpy_move_offset; > > 4> ^ > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > > Tools/MSVC/14.10.25017/include\xstring:1906:66: note: initializer of > > '_Memcpy_move_offset' is not a constant expression > > 4> static constexpr size_t _Memcpy_move_size = sizeof(_Mydata_t) - > > _Memcpy_move_offset; > > 4> > ^ > > 4>C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/ > > Tools/MSVC/14.10.25017/include\xstring:1905:26: note: declared here > > 4> static constexpr size_t _Memcpy_move_offset = > > offsetof(_Mydata_t, _Bx); > > > > Have the python wrapping been tested for compilation with latest > standards > > (constexpr is C++11 if I remember well) ? > > > > Tim > > _______________________________________________ > > Community mailing list > > Community at itk.org > > http://public.kitware.com/mailman/listinfo/community > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fisidoro at ethz.ch Mon May 8 07:40:14 2017 From: fisidoro at ethz.ch (D'Isidoro Fabio) Date: Mon, 8 May 2017 11:40:14 +0000 Subject: [ITK] [ITK-users] ITK PyBuffer get physical point coordinates In-Reply-To: References: <50B858FB5F53124F9E32314E5C1B409445984B2A@MBX112.d.ethz.ch> <50B858FB5F53124F9E32314E5C1B409445984BBC@MBX112.d.ethz.ch> <50B858FB5F53124F9E32314E5C1B4094459858FA@MBX112.d.ethz.ch> Message-ID: <50B858FB5F53124F9E32314E5C1B409445990758@MBX212.d.ethz.ch> Thank you for your reply. I am now working on a itk project with C++ (no Python binding), but I can?t reproduce what I did in Python with the PhysicalPointImageSource filter: typedef itk::Image< itk::Vector, Dimension > PhyImageType; typedef itk:: typedef itk::PhysicalPointImageSource< PhyImageType > PhysicalPointImagefilter; // error ITK has no member PhysicalPointImageSource It is strange to me, since it is part of manual? Is this filter not for the ITK C++ distribution? If this is the case, how can I get an image of physical coordinates with itk C++? Thank you again, Fabio. From: Francois Budin [mailto:francois.budin at kitware.com] Sent: Dienstag, 2. Mai 2017 17:49 To: D'Isidoro Fabio Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C] ; insight-users at itk.org Subject: Re: [ITK-users] [ITK] ITK PyBuffer get physical point coordinates Hello Fabio, The main difference between itk.GetArrayFromImage() and itk.PyBuffer[ImageType].GetArrayFromImage() is that itk.GetAraryFromImage() is a wrapping of itk.PyBuffer[ImageType].GetArrayFromImage() in Python that automatically finds the type of the input image (and is a shorted command line). The reason why this worked but not itk.PyBuffer[ImageType.GetArrayFromImage() is because in the wrapping, if a filter is given instead of an image, the output of the filter will be used. Which means that what really happen is that you gave a filter to a function (itk.PyBuffer[ImageType].GetArrayFromImage()) expecting an image. If you want to work with the long command, you have to make sure that the input is an image: image=source.GetOutput() itk.PyBuffer[ImageType].GetArrayFromImage(image) And then it should work. Hope this helps, Francois On Tue, May 2, 2017 at 11:20 AM, D'Isidoro Fabio > wrote: Hi Francois, It works with your commands, the difference being the use of: itk.GetArrayFromImage(source) in your version, instead of: itk.PyBuffer[ImageType].GetArrayFromImage(source) in my version. May you explain me the difference, and why using PyBuffer does not work for this case? Also, when using VectorImage I get the error ?No module named 'ITKQuadEdgeMeshPython'?. This is the only module that failed in my ITK Python build. Is this a known bug or it was just for my build? Thank you! Fabio. From: Francois Budin [mailto:francois.budin at kitware.com] Sent: Freitag, 28. April 2017 23:12 To: D'Isidoro Fabio > Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C] >; insight-users at itk.org Subject: Re: [ITK-users] [ITK] ITK PyBuffer get physical point coordinates Hello Fabio, I was able to use this filter in Python. Here is the commands I typed: In [14]: ImageType=itk.Image[itk.Vector[itk.F,2],2] In [15]: source=itk.PhysicalPointImageSource[ImageType].New() In [16]: source.SetSize([5,5]) In [17]: source.SetOrigin([0,0]) In [18]: source.SetSpacing([.5,.5]) In [19]: source.Update() In [20]: itk.GetArrayFromImage(source) Out[20]: itkndarray([[[ 0. , 0. ], [ 0.5, 0. ], [ 1. , 0. ], [ 1.5, 0. ], [ 2. , 0. ]], [[ 0. , 0.5], [ 0.5, 0.5], [ 1. , 0.5], [ 1.5, 0.5], [ 2. , 0.5]], [[ 0. , 1. ], [ 0.5, 1. ], [ 1. , 1. ], [ 1.5, 1. ], [ 2. , 1. ]], [[ 0. , 1.5], [ 0.5, 1.5], [ 1. , 1.5], [ 1.5, 1.5], [ 2. , 1.5]], [[ 0. , 2. ], [ 0.5, 2. ], [ 1. , 2. ], [ 1.5, 2. ], [ 2. , 2. ]]], dtype=float32) It also worked with VectorImages: In [22]: ImageType=itk.VectorImage[itk.F,2] In [23]: source=itk.PhysicalPointImageSource[ImageType].New() In [24]: source.SetOrigin([0,0]) In [25]: source.SetSize([5,5]) In [26]: source.SetSpacing([.5,.5]) In [27]: source.Update() In [28]: itk.GetArrayFromImage(source) To answer your questions: 1) This filter is only wrapped over image of vectors and vector images. You can have the list of types that are available in Python with itk.PhysicalPointImageSource.GetTypes() 2) You may have a version of ITK Python for which VectorImage is not wrapped for PyBuffer. You can try to update your ITK Python [1] Hope this helps, Francois [1] https://github.com/InsightSoftwareConsortium/ITKPythonPackage On Fri, Apr 28, 2017 at 12:05 PM, D'Isidoro Fabio > wrote: Thank you for your reply. 1) I have tried as a first step the following: DRRPhy = itk.PhysicalPointImageSource[itk.Image[itk.Point[itk.F, Dimension], Dimension]].New() But I get the error: KeyError: "itkTemplate : No template (, 3) for the itk::Image class" So I guess I can?t generate an image with itk.Points as PixelType. Therefore I chose to use a VectorImage as ImageType in Input to the PhysicalPointImageSource. sourceImage = itk.PhysicalPointImageSource[itk.VectorImage[itk.F, Dimension]].New() sourceImage.SetSize(size) sourceImage.SetSpacing(spacing) sourceImage.SetOrigin(origin) #DRRPhy.SetIndex(start) it does not work, how to set the start index? DRRPhy.SetDirection(direction) 2) However, using PyBuffer to get a numpy array form that does not work: sourceImageArray = itk. PyBuffer[ImageType].GetArrayFromImage(sourceImage) I get the error: AttributeError: 'itkPhysicalPointImageSourceVIF3' object has no attribute 'GetLargestPossibleRegion' Am I doing the right thing in point 1) ? How could I solve point 2) ? Thank you ! Fabio. From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] Sent: Donnerstag, 27. April 2017 23:16 To: D'Isidoro Fabio > Cc: insight-users at itk.org Subject: Re: [ITK] [ITK-users] ITK PyBuffer get physical point coordinates Hi! You can generate an image of the physical locations of each pixel with the PhysicalPointImageSource filter: https://itk.org/Doxygen/html/classitk_1_1PhysicalPointImageSource.html Very recently added is the SetReferenceImage, which can be use to copy the meta data from one image to the parameters of this filter. If your version is not super recent then you can manually set the Size, Spacing, Origin, Direction and StartIndex. After you generate the point image you should be able to convert to with the same method. HTH, Brad On Apr 27, 2017, at 4:58 PM, D'Isidoro Fabio > wrote: Hallo, I know it?s possible to get a numpy array of an itk image with: itk.PyBuffer[ImageType].GetArrayFromImage(Image) Is it by any chance also possible to obtain a (flattended) numpy array of the physical coordinates of the image pixels too? Thank you! _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 8 08:47:14 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 8 May 2017 08:47:14 -0400 Subject: [ITK] [ITK-users] ITK PyBuffer get physical point coordinates In-Reply-To: <50B858FB5F53124F9E32314E5C1B409445990758@MBX212.d.ethz.ch> References: <50B858FB5F53124F9E32314E5C1B409445984B2A@MBX112.d.ethz.ch> <50B858FB5F53124F9E32314E5C1B409445984BBC@MBX112.d.ethz.ch> <50B858FB5F53124F9E32314E5C1B4094459858FA@MBX112.d.ethz.ch> <50B858FB5F53124F9E32314E5C1B409445990758@MBX212.d.ethz.ch> Message-ID: Hi Fabio, Was the header included? #include "itkPhysicalPointImageSource.h" HTH, Matt On Mon, May 8, 2017 at 7:40 AM, D'Isidoro Fabio wrote: > Thank you for your reply. > > > > I am now working on a itk project with C++ (no Python binding), but I can?t > reproduce what I did in Python with the PhysicalPointImageSource filter: > > > > typedef itk::Image< itk::Vector, Dimension > PhyImageType; > > typedef itk:: typedef itk::PhysicalPointImageSource< PhyImageType > > PhysicalPointImagefilter; // error ITK has no member > PhysicalPointImageSource > > > > It is strange to me, since it is part of manual? Is this filter not for the > ITK C++ distribution? If this is the case, how can I get an image of > physical coordinates with itk C++? > > > > Thank you again, > > Fabio. > > > > From: Francois Budin [mailto:francois.budin at kitware.com] > Sent: Dienstag, 2. Mai 2017 17:49 > > > To: D'Isidoro Fabio > Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C] ; > insight-users at itk.org > Subject: Re: [ITK-users] [ITK] ITK PyBuffer get physical point coordinates > > > > Hello Fabio, > > The main difference between itk.GetArrayFromImage() and > itk.PyBuffer[ImageType].GetArrayFromImage() is that itk.GetAraryFromImage() > is a wrapping of itk.PyBuffer[ImageType].GetArrayFromImage() in Python that > automatically finds the type of the input image (and is a shorted command > line). The reason why this worked but not > itk.PyBuffer[ImageType.GetArrayFromImage() is because in the wrapping, if a > filter is given instead of an image, the output of the filter will be used. > > Which means that what really happen is that you gave a filter to a function > (itk.PyBuffer[ImageType].GetArrayFromImage()) expecting an image. > > If you want to work with the long command, you have to make sure that the > input is an image: > > image=source.GetOutput() > itk.PyBuffer[ImageType].GetArrayFromImage(image) > > And then it should work. > > Hope this helps, > > Francois > > > > On Tue, May 2, 2017 at 11:20 AM, D'Isidoro Fabio wrote: > > Hi Francois, > > > > It works with your commands, the difference being the use of: > > > > itk.GetArrayFromImage(source) > > > > in your version, instead of: > > > > itk.PyBuffer[ImageType].GetArrayFromImage(source) > > > > in my version. > > > > May you explain me the difference, and why using PyBuffer does not work for > this case? > > > > Also, when using VectorImage I get the error ?No module named > 'ITKQuadEdgeMeshPython'?. This is the only module that failed in my ITK > Python build. Is this a known bug or it was just for my build? > > > > Thank you! > > > > Fabio. > > From: Francois Budin [mailto:francois.budin at kitware.com] > Sent: Freitag, 28. April 2017 23:12 > To: D'Isidoro Fabio > Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C] ; > insight-users at itk.org > Subject: Re: [ITK-users] [ITK] ITK PyBuffer get physical point coordinates > > > > Hello Fabio, > > I was able to use this filter in Python. Here is the commands I typed: > In [14]: ImageType=itk.Image[itk.Vector[itk.F,2],2] > > In [15]: source=itk.PhysicalPointImageSource[ImageType].New() > > In [16]: source.SetSize([5,5]) > > In [17]: source.SetOrigin([0,0]) > > In [18]: source.SetSpacing([.5,.5]) > > In [19]: source.Update() > > In [20]: itk.GetArrayFromImage(source) > Out[20]: > itkndarray([[[ 0. , 0. ], > [ 0.5, 0. ], > [ 1. , 0. ], > [ 1.5, 0. ], > [ 2. , 0. ]], > > [[ 0. , 0.5], > [ 0.5, 0.5], > [ 1. , 0.5], > [ 1.5, 0.5], > [ 2. , 0.5]], > > [[ 0. , 1. ], > [ 0.5, 1. ], > [ 1. , 1. ], > [ 1.5, 1. ], > [ 2. , 1. ]], > > [[ 0. , 1.5], > [ 0.5, 1.5], > [ 1. , 1.5], > [ 1.5, 1.5], > [ 2. , 1.5]], > > [[ 0. , 2. ], > [ 0.5, 2. ], > [ 1. , 2. ], > [ 1.5, 2. ], > [ 2. , 2. ]]], dtype=float32) > > It also worked with VectorImages: > > In [22]: ImageType=itk.VectorImage[itk.F,2] > > In [23]: source=itk.PhysicalPointImageSource[ImageType].New() > > In [24]: source.SetOrigin([0,0]) > > In [25]: source.SetSize([5,5]) > > In [26]: source.SetSpacing([.5,.5]) > > In [27]: source.Update() > > In [28]: itk.GetArrayFromImage(source) > > > > To answer your questions: > > 1) This filter is only wrapped over image of vectors and vector images. You > can have the list of types that are available in Python with > itk.PhysicalPointImageSource.GetTypes() > > 2) You may have a version of ITK Python for which VectorImage is not wrapped > for PyBuffer. You can try to update your ITK Python [1] > > Hope this helps, > > Francois > > > [1] https://github.com/InsightSoftwareConsortium/ITKPythonPackage > > > > On Fri, Apr 28, 2017 at 12:05 PM, D'Isidoro Fabio wrote: > > Thank you for your reply. > > > > 1) I have tried as a first step the following: > > > > DRRPhy = itk.PhysicalPointImageSource[itk.Image[itk.Point[itk.F, Dimension], > Dimension]].New() > > > > But I get the error: > > > > KeyError: "itkTemplate : No template (, > 3) for the itk::Image class" > > > > So I guess I can?t generate an image with itk.Points as PixelType. Therefore > I chose to use a VectorImage as ImageType in Input to the > PhysicalPointImageSource. > > > > sourceImage = itk.PhysicalPointImageSource[itk.VectorImage[itk.F, > Dimension]].New() > > sourceImage.SetSize(size) > > sourceImage.SetSpacing(spacing) > > sourceImage.SetOrigin(origin) > > #DRRPhy.SetIndex(start) it does not work, how to set the start index? > > DRRPhy.SetDirection(direction) > > > > 2) However, using PyBuffer to get a numpy array form that does not work: > > > > sourceImageArray = itk. PyBuffer[ImageType].GetArrayFromImage(sourceImage) > > > > I get the error: > > > > AttributeError: 'itkPhysicalPointImageSourceVIF3' object has no attribute > 'GetLargestPossibleRegion' > > > > > > Am I doing the right thing in point 1) ? > > How could I solve point 2) ? > > > > Thank you ! > > > > Fabio. > > > > From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] > Sent: Donnerstag, 27. April 2017 23:16 > To: D'Isidoro Fabio > Cc: insight-users at itk.org > Subject: Re: [ITK] [ITK-users] ITK PyBuffer get physical point coordinates > > > > Hi! > > > > You can generate an image of the physical locations of each pixel with the > PhysicalPointImageSource filter: > > https://itk.org/Doxygen/html/classitk_1_1PhysicalPointImageSource.html > > > > Very recently added is the SetReferenceImage, which can be use to copy the > meta data from one image to the parameters of this filter. If your version > is not super recent then you can manually set the Size, Spacing, Origin, > Direction and StartIndex. > > > > After you generate the point image you should be able to convert to with the > same method. > > > > HTH, > > Brad > > > > > > On Apr 27, 2017, at 4:58 PM, D'Isidoro Fabio wrote: > > > > Hallo, > > > > I know it?s possible to get a numpy array of an itk image with: > > > > itk.PyBuffer[ImageType].GetArrayFromImage(Image) > > > > Is it by any chance also possible to obtain a (flattended) numpy array of > the physical coordinates of the image pixels too? > > > > Thank you! > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 > > > > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 From matt.mccormick at kitware.com Mon May 8 08:54:31 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 8 May 2017 08:54:31 -0400 Subject: [ITK] Writing DICOM files In-Reply-To: References: Message-ID: Hi Fijoy, Work has been started to generate required per modality DICOM tags in this ITK module [1], but it currently far from complete. For command line generation, the ITK-based Nifti2Dicom [2] is a good resource. For GUI-based generation, the Slicer DICOMExport [3] extension module is useful. HTH, Matt [1] https://github.com/KitwareMedical/ITKDICOM [2] https://github.com/biolab-unige/nifti2dicom [3] https://www.slicer.org/wiki/Documentation/Labs/DICOMExport On Fri, May 5, 2017 at 6:09 PM, Fijoy Vadakkumpadan wrote: > Hello, > > I'd like to provide users with the ability to save images in DICOM format in > my ITK application. Can I assume that the DICOM files that I write using > itk::GDCMImageIO comply with the requirements of DICOM standard? > > For example, if an image is loaded from a TIF file and I save it as a DICOM > file using GDCM, will any required DICOM tags (and other tags such as image > height, series UID) be automatically populated with default/correct values? > > Thanks, > --Fijoy > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > From francois.budin at kitware.com Mon May 8 13:52:21 2017 From: francois.budin at kitware.com (Francois Budin) Date: Mon, 8 May 2017 13:52:21 -0400 Subject: [ITK] [ANN] ITK 4.11.1 has been released! Message-ID: On behalf of the Insight Toolkit community, we are proud to announce that ITK 4.11.1 has been released! Download links can be found at: https://itk.org/ITK/resources/software.html This is a patch release that fixes critical issues, regressions, documentation, and compiler support. Of the numerous issues addressed in this release, most notable build support additions include Microsoft Visual C++ Compiler for Python 2.7, recent Clang in FreeBSD, updates for the RHEL / CentOS toolchain, and improved support for Visual Studio 2017. Other fixes include enabling hidden visibility for NIFTI and GIFTI static libraries, MetaIO updates for improved large image support, and better compatibility of the OpenCVImageBridge. The next feature release, 4.12.0, is scheduled for May 24th. Changes from v4.11.0 to v4.11.1 ------------------------------------------------ Bradley Lowekamp (6): BUG: Correct variable name used to check CXX version COMP: Enable hidden visibility property with NIFTI static libraries COMP: Enable hidden visibility property with GIFTI static libraries BUG: Initialize ConvergenceValue in constructor BUG: Use CMAKE_DL_LIBS instead of explict "dl" library BUG: Apply changes from MetaIO upstream to remove static variables Floris Berendsen (1): COMP: Added missing png_get_uint_31 name mangling Francois Budin (17): BUG: Addresses 'ordered comparison between pointer and zero' error (clang-4) BUG: ITK_OVERRIDE keyword for non-overriden funtion BUG: ITK_OVERRIDE keyword for non-overriden funtion BUG: Missing ITK_OVERRIDE BUG: 3523 Even padding most value representations with space instead of '\0' BUG: KWSys symbols should not be exported with WINDOWS_EXPORT_ALL_SYMBOLS BUG: 3519 KernelTransform WMatrix initialization BUG: Wrapping of itkHessianToObjectnessMeasureImageFilter moved out of Review BUG: Wrap EllipseSpatialObject std::list in Python ENH: Improving usability in IPython BUG: Attribute names cannot start with a digit BUG: Test if 'issubclass' only if 'isclass' is True BUG: 3475 AccumulateImageFilter not setting direction cosines of output image BUG: Do not export GDCM and Expat symbols with WINDOWS_EXPORT_ALL_SYMBOLS BUG: Do not export all symbols from third party libraries on Windows BUG: Certain third party libraries need to export their symbols on Windows BUG: ProjectionImageFilter did not copy direction cosine information to output Jon Haitz Legarreta (1): COMP: Fix signed/unsigned mismatch warning. Matthew McCormick (16): COMP: Add missing headers in OpenCVImageBridge COMP: Use double for gradient calculations in MinMaxCurvatureFlow BUG: Address tab completion with IPython >= 5.0.0 BUG: Do not use terminal_progress with the Jupyter Notebook COMP: Do not require numeric_traits::has_infinity BUG: Fix passing _NO_TR1 definition with VS9 and Python BUG: Always wrap basic type RGBUC COMP: Do not add Visual Studio numeric_traits workarounds with MinGWPy COMP: Increase gold linker requirement to GCC 4.9.0 COMP: Detect Windows with _WIN32 in socket++/fork.cpp COMP: Address Python 2.7 Windows _hypot build errors COMP: Undefine Py_hash_t when wrapping VtkGlue BUG: Improve itkTemplate New compatibility with Python 3 BUG: Correct size specification in ImportImageFilter::SetImportPointer BUG: Improve large file support in MetaIO BUG: LevelSetNeighborhoodExtractor uses spacing Taylor Braun-Jones (1): COMP: Only include the headers for required OpenCV modules (fixup) -------------- next part -------------- An HTML attachment was scrubbed... URL: From filippo.brogi at topic.nl Tue May 9 04:52:53 2017 From: filippo.brogi at topic.nl (Filippo Brogi) Date: Tue, 9 May 2017 01:52:53 -0700 (MST) Subject: [ITK] [ITK-users] DICOM Dataset GetOrigin In-Reply-To: References: <1493650346854-38167.post@n7.nabble.com> <1493653068068-38171.post@n7.nabble.com> Message-ID: <1494319973485-7589905.post@n2.nabble.com> I used another dataset and I'm getting the same issue. This dataset is a ct dataset single phase. dimension[2] should not be equal to the number of images forming the dataset? -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/ITK-users-DICOM-Dataset-GetOrigin-tp7589879p7589905.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 francois.budin at kitware.com Tue May 9 09:10:48 2017 From: francois.budin at kitware.com (Francois Budin) Date: Tue, 9 May 2017 09:10:48 -0400 Subject: [ITK] [ITK-users] DICOM Dataset GetOrigin In-Reply-To: <1494319973485-7589905.post@n2.nabble.com> References: <1493650346854-38167.post@n7.nabble.com> <1493653068068-38171.post@n7.nabble.com> <1494319973485-7589905.post@n2.nabble.com> Message-ID: Hello Filipo, It looks like the image series reader only read the last image. Are you reading the origin on "dicomIO" or on the output of the reader (e.g. reader->GetOutput()->GetOrigin())? Francois On Tue, May 9, 2017 at 4:52 AM, Filippo Brogi wrote: > I used another dataset and I'm getting the same issue. This dataset is a ct > dataset single phase. dimension[2] should not be equal to the number of > images forming the dataset? > > > > -- > View this message in context: http://itk-insight-users. > 2283740.n2.nabble.com/ITK-users-DICOM-Dataset-GetOrigin- > tp7589879p7589905.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 francois.budin at kitware.com Tue May 9 10:45:04 2017 From: francois.budin at kitware.com (Francois Budin) Date: Tue, 9 May 2017 10:45:04 -0400 Subject: [ITK] [ITK-users] [ANN] ITK 4.12 Release Candidate 1 is ready for testing! Message-ID: On behalf of the Insight Toolkit community, we are proud to announce that ITK 4.12 release candidate 1 has been tagged and is available for testing! Please take this opportunity to test the new features in the release candidate. To obtain the source code, use the links: https://github.com/Kitware/ITK/archive/v4.12rc01.zip https://github.com/Kitware/ITK/archive/v4.12rc01.tar.gz A few selected highlights for this release: - Strain remote module added to ITK. Strain quantifies local deformation of a solid body. In medical imaging, it can be used to quantify growth or atrophy of tissue. The module contains filters to computes a strain tensor image from a displacement field image or a general spatial transform. In both cases, infinitesimal, Green-Lagrangian, or Eulerian-Almansi strain can be generated. - Many improvements in ITK Python wrapping: convenient functions to read and write images, better integration in Jupyter Notebook, new filters wrapped, build support for Microsoft Visual C++ Compiler for Python 2.7 - Better compilation support for Microsoft Visual Studio 2017, Clang 4, GCC7 - Filters moved out of Review modules: Morphological Watersheds, and itkHessianToObjectnessMeasureImageFilter - Improvement of palette image support for PNG TIFF and BMP: The user can now choose or not to expand the palette image to true color. - Performance improvements for some ITK filters: itkHistogram (increase speed), itkImagePCAShapeModelEstimator (decrease memory usage). Please test the release candidate and share your experiences on the mailing list, issue tracker, and Gerrit Code Review. An Experimental build, which demonstrates how the test suite performs on your local build system, can be submitted to the dashboard [2] with: mkdir ../ITK-build cd ../ITK-build cmake ../ITK ctest -j 4 -M Experimental -T Configure -T Build -T Test -T Submit Visual Studio builds must also add ?-C Release? to the ctest command. Notify the mailing list if there are any unexpected failures. Testing your own applications against the RC is also appreciated. Congratulations to the 23 contributors to this release. We would especially like to recognize the new contributors: Sam Horvath, Shusil Dangi, Ben Boeckel, Yann Le Poul, Jean-Baptiste Vimort, and Samuel Gerber. The 4.12.0 final release is scheduled for May 24th. [1] http://www.itk.org/Wiki/ITK/Git [2] http://open.cdash.org/index.php?project=Insight New Features -------------------- * Wrapping Improvements - Enable BridgeNumPy by default with Python wrapping - Build support for Microsoft Visual C++ Compiler for Python 2.7 - BridgeNumpy integrates new pairs of functions. GetArrayViewFromImage() and GetImageViewFromArray() return views on the source object given as a parameter to the function. Memory is shared among input and output objects and the source object still manages pixel buffer memory. The existing functions GetArrayFromImage() and GetImageFromArray() perform a deep copy of the source object. - Similar NumPy bridge functions have been created for VNL matrices and VNL vectors. - Convenience functions imread() and imwrite() have been added to the Python itk namespace. These functions facilitate respectively reading and writing images using ITK without having to specify the input or output image component type. The naming of these functions follows the convention used in several other Python project such as scikit-learn and scipy. - Better integration in Jupyter Notebook: addressed tab completion bug for IPython >= 5.0.0, replaced underscore with ?x? to name attributes that start with a digit to show attributes when trying to autocomplete in IPython. - Wrap itkN4BiasFieldCorrectionImageFilter, NormalVariateGenerator, and PathToImageFilter. - Allows calling ImageFileWriter in Python with an ITK filter as input image argument. - Build Python wrapping with hidden visibility * New Remote Modules - Strain - Filters to estimate a strain tensor field from a displacement field or a spatial transformation - http://hdl.handle.net/10380/3573 * Core Improvements - Enable hidden visibility property with NIFTI and GIFTI static libraries - Fix clearing build tree error - Add examples and doc build flag support for external modules - Support for recent Clang in FreeBSD - Improved support for Visual Studio 2017 - Prefer std::atomic over compiler specific implementation * Filtering Improvements - Add OrientedBoudingBox attributes to ShapeLabelMap - Prefer std::atomic over compiler specific implementation - Skip generating export headers if module does not contain a target - Introduce ITK_WRAP_PYTHON_LEGACY to exclude older Python package layout - Move morphological watersheds out of ITKReview - Add SetReferenceImage to GenerateImageSource - Reduce memory usage of itkImagePCAShapeModelEstimator - Improvement of itkHistogram in order to make it faster - Better compatibility with OpenCVImageBridge * IO Improvements - Improvement of palette image support for PNG, TIFF and BMP * Documentation Improvements - Updates to the Software Guide, Doxygen, Wiki and Sphinx Examples * Remote Module Updates - BridgeNumPy updated to latest upstream (04.28.2017) * Third Party Library Updates - Update SWIG version to 3.0.12 - Update PCRE version to 8.40 - MetaIO updated to latest upstream (04.08.2017) - KWSys updated to latest upstream (04.20.2017) - KWIML updated to latest upstream (02.27.2017) - VNL updated to latest upstream (02.01.2017) * Improved Code Coverage -- we are at 85.7% - Jon Haitz-Legarreta's extensive code coverage improvements * *Lots* of important bug fixes * And much more! See details in the log below. Changes from v4.11.0 to v4.12rc01 ------------------------------------------------ Ben Boeckel (1): ENH: Add a script to help update third-party sources Brad King (5): ENH: Update KWIML import script for new upstream URL ENH: Teach update-third-party.bash to add a Change-Id ENH: Port KWSys update script to update-third-party.bash ENH: KWSys: Filter out unused attributes during import ENH: KWSys: Apply attribute changes made upstream Bradley Lowekamp (19): COMP: Enable hidden visibility property with NIFTI static libraries COMP: Enable hidden visibility property with GIFTI static libraries BUG: Correct variable name used to check CXX version BUG: Correct variable name used to check CXX version COMP: Enable hidden visibility property with NIFTI static libraries COMP: Enable hidden visibility property with GIFTI static libraries BUG: Initialize ConvergenceValue in constructor BUG: Initialize ConvergenceValue in constructor ENH: Update CircleCi script to download latest binary tar-ball BUG: Use CMAKE_DL_LIBS instead of explict "dl" library COMP: Fix CircleCI ITK data download file name ENH: Update CircleCI yaml file BUG: Apply changes from MetaIO upstream to remove static variables ENH: Update SWIG version to 3.0.12 ENH: Update PCRE version to 8.40 ENH: Add OrientedBoudingBox attributes to ShapeLabelMap COMP: Use std::abs over vnl_math_abs BUG: Initialize image data to 0 ENH: Fix clearing build tree error David T. Chen (1): BUG: Fixed quote style D?enan Zuki? (3): STYLE: Simplify code by using TestingMacros BUG: fixing wrong check for argument count ENH: Add Strain as a remote module Floris Berendsen (2): COMP: Added missing png_get_uint_31 name mangling COMP: Added missing png_get_uint_31 name mangling Francois Budin (57): STYLE: Typo corrections in itk*TopHatImageFilter.h ENH: Prefer std::atomic over compiler specific implementation BUG: Addresses 'ordered comparison between pointer and zero' error (clang-4) BUG: Addresses InDoxygenGroup Test with Python 3.6 failures BUG: BSplineScatteredDataPointSetToImageFilter output image is not generated BUG: itk::RGBPixel needs to be wrapped for itkTIFFImageIO BUG: Usage of std::atomic was incorrectly used in itk::Detail::AtomicOps ENH: Exposing functions to set real and imaginary part of complex numbers BUG: ITK_OVERRIDE keyword for non-overriden funtion BUG: 'typename' cannot be used outside of template declaration BUG: Missing ITK_OVERRIDE BUG: ITK_OVERRIDE keyword for non-overriden funtion BUG: ITK_OVERRIDE keyword for non-overriden funtion BUG: ITK_OVERRIDE keyword for non-overriden funtion BUG: Missing ITK_OVERRIDE ENH: Improving usability in IPython ENH: Update BridgeNumPy to most recent version (2017.02.24) BUG: 3523 Even padding most value representations with space instead of '\0' BUG: Remove extra space in chronometer command DOC: Make it more explicit that 'push' authorization is not for everybody BUG: 3523 Even padding most value representations with space instead of '\0' BUG: 3519 KernelTransform WMatrix initialization BUG: KWSys symbols should not be exported with WINDOWS_EXPORT_ALL_SYMBOLS COMP: Do not expose functions to set real and img part of complex numbers BUG: KWSys symbols should not be exported with WINDOWS_EXPORT_ALL_SYMBOLS BUG: 3519 KernelTransform WMatrix initialization DOC: Typo in itkNumberToString.h BUG: Attribute names cannot start with a digit BUG: Do not define deprecated function if ITK_LEGACY_REMOVE is selected BUG: Wrap EllipseSpatialObject std::list in Python ENH: Wrap itkN4BiasFieldCorrectionImageFilter in Python BUG: itkStatisticsAlgorithmTest throwing exception on VS2015Update3 and VS2017 ENH: Skip generating export headers if module does not contain a target BUG: Wrapping of itkHessianToObjectnessMeasureImageFilter moved out of Review ENH: Update BridgeNumPy to most recent version (2017.03.27) BUG: Wrapping of itkHessianToObjectnessMeasureImageFilter moved out of Review BUG: Wrap EllipseSpatialObject std::list in Python ENH: Improving usability in IPython BUG: Attribute names cannot start with a digit BUG: Do not export GDCM and Expat symbols with WINDOWS_EXPORT_ALL_SYMBOLS BUG: Do not export all symbols from third party libraries on Windows ENH: Allows to call ImageFileWriter in Python with Input=Filter BUG: Certain third party libraries need to export their symbols on Windows BUG: Test if 'issubclass' only if 'isclass' is True ENH: Add Python convenience function to read images BUG: 3475 AccumulateImageFilter not setting direction cosines of output image DOC: Removing typos in itkExtractImageFilter comments BUG: ProjectionImageFilter did not copy direction cosine information to output BUG: Test if 'issubclass' only if 'isclass' is True BUG: 3475 AccumulateImageFilter not setting direction cosines of output image BUG: Do not export GDCM and Expat symbols with WINDOWS_EXPORT_ALL_SYMBOLS BUG: Do not export all symbols from third party libraries on Windows BUG: Certain third party libraries need to export their symbols on Windows BUG: ProjectionImageFilter did not copy direction cosine information to output ENH: Update BridgeNumPy (2016.04.28) and update itkExtras.py accordingly BUG: Template type based input function parameter needs to be deterministic ENH: Bump CMakeLists.txt version to 4.11.1 Jean-Baptiste VIMORT (1): PERF: Improvement of the itkHistogram class in order to make it faster Jean-Christophe Fillion-Robin (2): ENH: Introduce ITK_WRAP_PYTHON_LEGACY to exclude older Python package layout BUG: ITKPython: Do not install *.mdx files required only at generation time Johan Andruejol (1): ENH: Add wrapping for PathToImageFilter Jon Haitz Legarreta (133): ENH: Improve the itkFileListVideoIO coverage. STYLE: Improve the BSplineScatteredDataPointSetToImageFilter style, ENH: Improve the itkBSplineScatteredDataPointSetToImageFilter coverage. ENH: Add missing ivars in function PrintSelf. STYLE: Improve ImageNoise filters' style. STYLE: Improve the ImageNoise filters tests' style. STYLE: Improve ITKImageSources module filters' style. STYLE: Improve the itkLinearInterpolateImageFunction style. ENH: Improve the itkLabelOverlapMeasuresImageFilter coverage. STYLE: Improve itkAdaptiveHistogramEqualizationImageFilter style. ENH: Improve itkAdaptiveHistogramEqualizationImageFilter coverage. STYLE: Improve itkKappaStatisticImageToImageMetric style. ENH: Improve the itkKappaStatisticImageToImageMetric coverage. STYLE: Improve itkBinaryGrindPeakImageFilter style. STYLE: Improve the itkCannyEdgeDetectionImageFilter style. ENH: Improve itkCannyEdgeDetectionImageFilter coverage. ENH: Improve itkBarrier class coverage. STYLE: Improve itkFlipImageFilterStyle. STYLE: Improve itkSpatialObjectToPointSetFilter style. STYLE: Improve itkStretchIntensityImageFilter style. ENH: Print all ivars for itkStretchIntensityImageFilter. ENH: Improve itkPhysicalPointImageSource class coverage. ENH: Add missing ivars to LabelMapMaskImageFilter PrintSelf. ENH: Improve itkRealTimeClock coverage. STYLE: Improve the itkRealTimeClock style. ENH: Improve itkBsplineDecompositionImageFilter coverage. ENH: Improve itkTestingStretchIntensityImageFilter coverage. STYLE: Improve itkPathToChainCodePathFilter style. ENH: Add a Get method for itkPathToChainCodePathFilter ivar. ENH: Add specific testing macro for boolean members. STYLE: Improve itkLabelMapMaskImageFilter style. STYLE: Improve BSplineDecompositionImageFilter style. ENH: Finish itkAdaptiveHistogramEqualizationImageFilter PrintSelf. COMP: Fix ImageGrid tests compiler warnings. ENH: Finish BSplineDecompositionImageFilter PrintSelf. BUG: Fix Uninitialized Memory errors reported by Valgrind. ENH: Improve itkLabelMapMaskImageFilter coverage. ENH: Improve itkBinaryGrindPeakImageFilter coverage. ENH: Improve itkPathToChainCodePathFilter coverage. ENH: Move LabelMap module test baselines. ENH: Move BinaryMathMorphology test baselines out of review. ENH: Move ImageFusion test baselines out of review. ENH: Improve itkAutoCropLabelMapFilter tests. ENH: Improve itkSpatialObjectToPointSetFilter coverage. ENH: Move ImageLabel test baselines out of Review. ENH: Move ImageGrid test baselines out of review. STYLE: Improve itkGaussianSpatialFunction class' style. ENH: Improve the ITKPath module classes coverage. BUG: Fix BSplineDecompositionImageFilter Valgrind defects. STYLE: Improve itkColorTable style. ENH: Improve itkHoughTransform2DLinesImageFilter coverage. ENH: Improve itkHoughTransform2DCirclesImageFilter coverage. BUG: Address uninitialized variable defects. STYLE: Improve itk::HistogramThresholdImageFilter style. DOC: Fix a typo in the term "threshold". STYLE: Imporve itkContourSpatialObjectPoint style. ENH: Print all HoughTransform2DLinesImageFilter ivars. STYLE: Fix type in Optimizersv4 and Metricsv4 modules. ENH: Add PhiLattice regression baseline. ENH: Print all itkVoronoiDiagram2DGenerator ivars. ENH: Improve itkColorTable coverage. ENH: Improve the itk::GradientDescentOptimizerv4 style. ENH: Improve the itkImageSources module's filters' coverage. ENH: Add PhiLattice regression baseline. ENH: Add a new test for itk::ContourSpatialObjectPoint. BUG: Fix bug in itkContourSpatialObjectPointTest test. STYLE: Improve the itkGaussianSpatialFunctionTest style. ENH: Improve itkVotingBinaryHoleFillingImageFilter coverage. BUG: Fix precision issues in itkGaborKernelFunctionTest. BUG: Relax tolerance in itkGaborKernelFunctionTest. DOC: Fix minor typo in itkHistogramThresholdImageFilter doc. ENH: Print all ivars in GradientDescentOptimizer base classes. STYLE: Improve TIFFImageIO tests. ENH: Add Get methods for itk::BSplineDecompositionImageFilter ivars. BUG: Fix TimeProbes name in itkLargeTIFFImageWriteReadTest. BUG: Fix memory leaks in BMP and PNG tests. COMP: Fix signed/unsigned mismatch warning. COMP: Fix signed/unsigned mismatch warning. BUG: Fix Superclass for ITKThresholding calculators. BUG: Make the number of filters be an integer. ENH: Honor the itkBooleanMacro for boolean class members. ENH: Improve the Watershed module code coverage. COMP: Fix double to unsigned int cast warning. ENH: Improve coverage for MorphologicalWatersheds filters. STYLE: Improve the Denoising module style. BUG: Fix the itkPatchBasedDenoisingImageFilter RTTI Superclass name. COMP: Fix unsigned char from double conversion warning. ENH: Improve itkWatershedMiniPipelineProgressCommand coverage. ENH: Improve the itkRegionalMin/Max filters member print types. ENH: Improve the itkMorphologicalWatershedFromMarkers coverage. ENH: Improve the itkIsolatedWatershedImageFilter coverage. STYLE: Improve the Denoisinig module style. STYLE: Improve the FEMRegistration module files style. DOC: Fix itkOrientImageFilter UseImageDirection method doc typo. STYLE: Improve the ITKThresholding module classes style. BUG: Fix itkIsolatedWatershedImageFilterTest valgrind errors. STYLE: Improve the itkApproximateSignedDistanceMapImageFilter style. ENH: Improve Denoising module filters' coverage. ENH: Improve the FEMRegistration module coverage. STYLE: Improve the itkDisplacementFieldTransform class style. STYLE: Limit itkFlipImageFilter methods' loops variables' scope. ENH: Improve itkFlipImageFilter coverage. COMP: Fix itkPhysicsBasedNonRigidRegistrationMethodTest cast warning. STYLE: Improve the HessianToObjectnessMeasureImageFilter style. ENH: Improve coverage for HessianToObjectnessMeasureImageFilter. ENH: Improve DiscreteGaussianImage operators review classes' coverage. ENH: Add test for itk::ConicShellInteriorExteriorSpatialFunction. ENH: Print all itkHoughTransform2DCirclesImageFilter ivars. ENH: Improve coverage for itk::DisplacementFieldTransform. STYLE: Make itkPatchBasedDenoisingBaseImageFilter ivars private. STYLE: Improve the itkRobustAutomaticThreshold classes style. COMP: Fix itkDisplacementFieldTransformTest compiler warning. STYLE: Improve the itkGridForwardWarpImageFilter style. ENH: Improve coverage for itkGridForwardWarpImageFilter. ENH: Improve coverage for itkRobustAutomaticThreshold classes. ENH: Remove duplicate test files in Review. DOC: Fix itkDivideByConstantImageFilter doc error. STYLE: Improve exception message. STYLE: Improve ImageIntensity module image arithm op tests' style. STYLE: Improve HConc/Conv HMaxima/HMinima image filters' style. ENH: Improve the HConc/HConv HMaxima/HMinima filters' coverage. ENH: Improve DiscreteGaussianImage operators review classes' coverage. ENH: Change the URL for the PCA remote module repo. STYLE: Make flow control variables have a local scope. ENH: Add examples and doc build flag support for external modules. DOC: Remove wrong group tag for itk::QuadEdgeMeshExtendedTraits. BUG: Fix itk::FastMarchingImageFilter RTTI superclass name. STYLE: Improve the itk::NodePair class style. STYLE: Use the ITK_MANUAL_INSTANTIATION macro consistently. STYLE: Delete FastMarching module classes methods consistently. DOC: Fix typo in the "implementation" word across the code. STYLE: Improve itkWarpHarmonicEnergyCalculator style. DOC: Add a notice to let users know about related implementations. KWIML Upstream (1): KWIML 2017-02-27 (aa3a7733) KWSys Upstream (3): KWSys 2016-11-21 (cb55cf5a) KWSys 2017-03-28 (34999b6a) KWSys 2017-04-20 (8785f84f) Matthew McCormick (40): COMP: Add missing headers in OpenCVImageBridge COMP: Use double for gradient calculations in MinMaxCurvatureFlow ENH: Bump ITK version to 4.12.0. COMP: Add VCL support for GCC 7 COMP: Define ITK_FALLTHROUGH for GCC 7 COMP: Add missing ITK_FALLTHROUGH in TiffImageIO COMP: Avoid -Warray-bounds in FixedArray with GCC 7 COMP: Add ProcessObject include in itkLevelSetBase.hxx ENH: Exclude Kitware Robot from third party update commit messages BUG: Address tab completion with IPython >= 5.0.0 BUG: Do not use terminal_progress with the Jupyter Notebook ENH: Enable BridgeNumPy with Python wrapping COMP: Do not require numeric_traits::has_infinity BUG: Fix passing _NO_TR1 definition with VS9 and Python BUG: Do not tests that require NumPy when it is not available ENH: Build Python wrapping with hidden visibility ENH: Move morphological watersheds out of ITKReview BUG: Do not upload top level folder in ArchiveTestingDataOnGirder.py BUG: Remove unused content links from PNG test additions ENH: Add .sha512 content links for IO pallette test data BUG: Add missing export macros for SpatialObject forward declarations BUG: Always wrap basic type RGBUC COMP: Do not add Visual Studio numeric_traits workarounds with MinGWPy COMP: Increase gold linker requirement to GCC 4.9.0 COMP: Detect Windows with _WIN32 in socket++/fork.cpp BUG: Revert "BUG: Include installed modules in ITK_MODULES_ENABLED" BUG: Set ${itk-module}_ENABLE_SHARED in ITKModuleExternal BUG: PolyLineParametricPath must be loaded before PathToImageFilter COMP: Address Python 2.7 Windows _hypot build errors COMP: Undefine Py_hash_t when wrapping VtkGlue ENH: Update BridgeNumPy to most recent version (2017.03.05) BUG: Improve itkTemplate New compatibility with Python 3 ENH: Bump CastXML to 2017-04-18 STYLE: Remove empty or erroreous comments in ImageToImageFilter ENH: Use itk.imread and itk.imwrite as standard function names BUG: Correct size specification in ImportImageFilter::SetImportPointer BUG: Improve large file support in MetaIO ENH: Wrap itk::IdentifierType for ScalarToRGBColormapImageFilter BUG: LevelSetNeighborhoodExtractor uses spacing BUG: Fix PCRE 8.40 download URL MetaIO Maintainers (1): MetaIO 2017-04-08 (dead6687) Olivier Commowick (1): BUG: Correct ITK eigen system (was producing NaN or different values than VNL) Pablo Hernandez-Cerdan (4): ENH: Add SetReferenceImage to GenerateImageSource. ENH: Change the metadata of all outputs in GenerateImageSource. BUG: Fix Normalization kernel step of ConvolutionImageFilter. BUG: Remove call to Superclass::GenerateOutputInformation. Richard Beare (1): DOC: PrincipleComponent flag incorrectly reported by PrintSelf Sam Horvath (1): PERF: reduce memory usage of itkImagePCAShapeModelEstimator Samuel Gerber (2): DOC: Added description to itkLBFGSOptimizerv4.h DOC: LBFGSOptimizer doc update Shusil Dangi (2): ENH: Ignores MacOS .DS_Store file ENH: Wrap NormalVariateGenerator in the Statistics Module Simon Rit (2): BUG: memory leak in ITK_USE_THREADPOOL BUG: Join threads when using thread pool (ITK_USE_THREADPOOL) Taylor Braun-Jones (1): COMP: Only include the headers for required OpenCV modules (fixup) VXL Maintainers (2): VNL 2017-02-01 (ae6eff5e) VNL 2017-02-08 (ae8eef13) Yann Le Poul (4): ENH: improvement of palette image support for PNG TIFF and BMP. STYLE: Misleading IsReadAsScalarPlusPalette Printing string STYLE: ReadAsScalarPlusPalette info already printed in itkImageIOBase BUG: ExpandRGBPalette used instead of IsReadAsScalarPlusPalette ----------------------------------------------------- Errors or omissions? Please fix them here: https://docs.google.com/document/d/1bEujAWZ9Vh-lSt82mO4X7N1kyibOFX3Wh1xQZUkO-s4/edit -------------- next part -------------- An HTML attachment was scrubbed... URL: From sganesan at cusa.canon.com Tue May 9 12:16:38 2017 From: sganesan at cusa.canon.com (sganesan at cusa.canon.com) Date: Tue, 9 May 2017 12:16:38 -0400 Subject: [ITK] Conversion from ITK to VTK coordinate spaces Message-ID: Hello I'm trying to write a function that can reasonably convert between ITK and VTK coordinate spaces. I have a given ITK transform with my 12 parameters, (3 fixed). a b c x d e f y g h i z l m n 1 where (a,b,c,d,e,f,g,h,i) represent my ITK matrix, (x,y,z) is my center, and (l,m,n) is my translation. How do I convert that to VTK format a b c o d e f p g h i q 0 0 0 1 where (a,b,c,d,e,f,g,h,i) represent my VTK matrix,, and (o,p,q) is my translation. Is there a relatively straightforward way of doing this? I'm using ITK_4.11.0 Kind Regards, Sam Santosh Ganesan Software Engineer Innovation Center Division Canon U.S.A., Inc. 210 Broadway, Cambridge, MA, 02139 www.usa.canon.com sganesan at cusa.canon.com T 617-374-2625 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 3762 bytes Desc: not available URL: From dzenanz at gmail.com Tue May 9 15:57:44 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Tue, 9 May 2017 15:57:44 -0400 Subject: [ITK] Conversion from ITK to VTK coordinate spaces In-Reply-To: References: Message-ID: Hi Sam, your question isn't totally well defined. Just the matrix would be the same. If you are dealing with oriented images, this example might be handy. Regards, D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) On Tue, May 9, 2017 at 12:16 PM, wrote: > > Hello > > I'm trying to write a function that can reasonably convert between ITK and > VTK coordinate spaces. I have a given ITK transform with my 12 parameters, > (3 fixed). > > a b c x > > d e f y > > g h i z > > l m n 1 > > where (a,b,c,d,e,f,g,h,i) represent my ITK matrix, (x,y,z) is my center, > and (l,m,n) is my translation. > > > How do I convert that to VTK format > > > a b c o > > d e f p > > g h i q > > 0 0 0 1 > > where (a,b,c,d,e,f,g,h,i) represent my VTK matrix,, and (o,p,q) is my > translation. > > Is there a relatively straightforward way of doing this? I'm using > ITK_4.11.0 > > Kind Regards, > Sam > [image: Canon U.S.A., Inc.] *Santosh Ganesan* > Software Engineer > Innovation Center Division > *Canon U.S.A., Inc.* > 210 Broadway, Cambridge, MA, 02139 > *www.usa.canon.com* > *sganesan at cusa.canon.com* > * T* 617-374-2625 > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 3762 bytes Desc: not available URL: From mdccnunes at hotmail.com Wed May 10 04:42:17 2017 From: mdccnunes at hotmail.com (sharkpt) Date: Wed, 10 May 2017 01:42:17 -0700 (MST) Subject: [ITK] [ITK-users] itk forum In-Reply-To: <482368304.8622539.1494399128291@mail.yahoo.com> References: <482368304.8622539.1494399128291@mail.yahoo.com> Message-ID: <1494405737645-38200.post@n7.nabble.com> I think this has been mentioned. But I think this should be a general move of kitware. Forums for VTK, ITK, etc... Cheers! -- View this message in context: http://itk-users.7.n7.nabble.com/ITK-users-itk-forum-tp38199p38200.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 sidharta.gupta93 at gmail.com Wed May 10 06:19:37 2017 From: sidharta.gupta93 at gmail.com (sidharta) Date: Wed, 10 May 2017 03:19:37 -0700 (MST) Subject: [ITK] [ITK-users] Creating 3D dome using ITK Message-ID: <1494411577924-38201.post@n7.nabble.com> Dear all, I am trying to make a 3D dome (ie; Half Sphere) and then generating a binary image out of it. The aim is to use this binary image as a mask in maskFilter. I was able to generate a 2D circular mask, which was straight forward. I used this in a maskFilter and masked the 3D image using slicebysliceFilter. I can think of two ways to do it: 1. Make several masks of decreasing circle radius which ultimately would represent a dome. 2. Make a mask image and assign the values at indices accordingly to get a dome mask. The first step seems doable but to my understanding would be an overkill. I am not able to do the second step. Following is the code I tried: float MY_RADIUS = maskRegion.GetSize()[0]; MaskIteratorType iterator(maskImage, maskImage->GetLargestPossibleRegion()); while (!iterator.IsAtEnd()) { const InputImageType::IndexType & index = iterator.GetIndex(); std::cout << "Index is " << index; float value = (index[0] - centerPoint[0]) * (index[0] - centerPoint[0]) + (index[1] - centerPoint[1]) * (index[1] - centerPoint[1]); std::cout << "Compare - LHS = " << value << " RHS = " << MY_RADIUS * MY_RADIUS << std::endl; if ((index[0] - centerPoint[0]) * (index[0] - centerPoint[0]) + (index[1] - centerPoint[1]) * (index[1] - centerPoint[1]) <= MY_RADIUS * MY_RADIUS) { iterator.Set(1); } --MY_RADIUS; ++iterator; } After adding the cout commands I saw that --MY_RADIUS is incorrect. I generated the required sphere using matlab, just to get the values I should assign to the pixels. Additionally, I noticed there is a need for anti-aliasing to the mask. Kindly let me know how this can be done iteratively. Thank you! -- View this message in context: http://itk-users.7.n7.nabble.com/Creating-3D-dome-using-ITK-tp38201.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 matt.mccormick at kitware.com Wed May 10 06:21:40 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 10 May 2017 06:21:40 -0400 Subject: [ITK] [ITK-users] itk forum In-Reply-To: <1494405737645-38200.post@n7.nabble.com> References: <482368304.8622539.1494399128291@mail.yahoo.com> <1494405737645-38200.post@n7.nabble.com> Message-ID: Thank you for the suggestion. We will investigate the technical feasibility of hosting a Discourse instance and discuss adoption with the community after we understand the options. Matt On Wed, May 10, 2017 at 4:42 AM, sharkpt wrote: > I think this has been mentioned. > But I think this should be a general move of kitware. Forums for VTK, ITK, > etc... > > Cheers! > > > > -- > View this message in context: http://itk-users.7.n7.nabble.com/ITK-users-itk-forum-tp38199p38200.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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 Wed May 10 06:23:37 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 10 May 2017 06:23:37 -0400 Subject: [ITK] [ITK-users] Fwd: itk forum In-Reply-To: <482368304.8622539.1494399128291@mail.yahoo.com> References: <482368304.8622539.1494399128291.ref@mail.yahoo.com> <482368304.8622539.1494399128291@mail.yahoo.com> Message-ID: FYI - a Discourse request. ---------- Forwarded message ---------- From: ibraheem aldhamari via Insight-users Date: Wed, May 10, 2017 at 2:52 AM Subject: [ITK-users] itk forum To: Insight-users Hi, is there any plan to move to a forum e.g. [1] instead of the mailing-list? it makes communication, searching information easier and more organized. Have a nice day! Ibraheem [1] https://www.discourse.org/ _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 From millerjv at gmail.com Wed May 10 06:31:28 2017 From: millerjv at gmail.com (Jim Miller) Date: Wed, 10 May 2017 06:31:28 -0400 Subject: [ITK] [ITK-users] Fwd: itk forum In-Reply-To: References: <482368304.8622539.1494399128291.ref@mail.yahoo.com> <482368304.8622539.1494399128291@mail.yahoo.com> Message-ID: <0711F606-D3DE-4066-A07B-C4BF99F573A2@gmail.com> I am all in favor of moving away from mailing lists. Jim > On May 10, 2017, at 6:23 AM, Matt McCormick wrote: > > FYI - a Discourse request. > > > ---------- Forwarded message ---------- > From: ibraheem aldhamari via Insight-users > Date: Wed, May 10, 2017 at 2:52 AM > Subject: [ITK-users] itk forum > To: Insight-users > > > Hi, > is there any plan to move to a forum e.g. [1] instead of the > mailing-list? it makes communication, searching information easier > and more organized. > Have a nice day! > Ibraheem > [1] https://www.discourse.org/ > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 Wed May 10 06:40:36 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 10 May 2017 06:40:36 -0400 Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: <1494411577924-38201.post@n7.nabble.com> References: <1494411577924-38201.post@n7.nabble.com> Message-ID: Hi, Depending on the code, MY_RADIUS may need to be divided by two. To avoid difficulties like this, it is better to work in physical space versus index space. For more information on how physical space works in ITK, see the itk::Image overview in the ITK Software Guide: https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch4.html#x38-450004.1 There is a filter that can be used to anti-alias the mask. Here is an example: https://itk.org/ITKExamples/src/Filtering/AntiAlias/SmoothBinaryImageBeforeSurfaceExtraction/Documentation.html I hope this helps. Matt On Wed, May 10, 2017 at 6:19 AM, sidharta wrote: > Dear all, > > I am trying to make a 3D dome (ie; Half Sphere) and then generating a binary > image out of it. The aim is to use this binary image as a mask in > maskFilter. I was able to generate a 2D circular mask, which was straight > forward. I used this in a maskFilter and masked the 3D image using > slicebysliceFilter. > > I can think of two ways to do it: > 1. Make several masks of decreasing circle radius which ultimately would > represent a dome. > 2. Make a mask image and assign the values at indices accordingly to get a > dome mask. > > The first step seems doable but to my understanding would be an overkill. > I am not able to do the second step. Following is the code I tried: > > float MY_RADIUS = maskRegion.GetSize()[0]; > MaskIteratorType iterator(maskImage, maskImage->GetLargestPossibleRegion()); > while (!iterator.IsAtEnd()) > { > const InputImageType::IndexType & index = iterator.GetIndex(); > std::cout << "Index is " << index; > float value = (index[0] - centerPoint[0]) * (index[0] - centerPoint[0]) > + (index[1] - centerPoint[1]) * (index[1] - centerPoint[1]); > std::cout << "Compare - LHS = " << value << " RHS = " << MY_RADIUS * > MY_RADIUS << std::endl; > if ((index[0] - centerPoint[0]) * (index[0] - centerPoint[0]) > + (index[1] - centerPoint[1]) * (index[1] - centerPoint[1]) > <= MY_RADIUS * MY_RADIUS) > { > iterator.Set(1); > } > --MY_RADIUS; > ++iterator; > } > > After adding the cout commands I saw that --MY_RADIUS is incorrect. I > generated the required sphere using matlab, just to get the values I should > assign to the pixels. > > Additionally, I noticed there is a need for anti-aliasing to the mask. > Kindly let me know how this can be done iteratively. > > Thank you! > > > > -- > View this message in context: http://itk-users.7.n7.nabble.com/Creating-3D-dome-using-ITK-tp38201.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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 richard.beare at gmail.com Wed May 10 07:01:50 2017 From: richard.beare at gmail.com (Richard Beare) Date: Wed, 10 May 2017 21:01:50 +1000 Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: References: <1494411577924-38201.post@n7.nabble.com> Message-ID: A simple, although not necessarily efficient, way of doing this is to create an image with a single voxel where you want the centre of the (hemi)sphere to be, then dilate using the binary dilate filter (alternatively compute a distance transform them threshold). These two methods will give you a sphere, and you can then blank the half you don't want. Depending on the interface to ITK you are using, you could probably achieve something similar by generating images containing physical coordinates an plug those into formula for a sphere. On Wed, May 10, 2017 at 8:40 PM, Matt McCormick wrote: > Hi, > > Depending on the code, MY_RADIUS may need to be divided by two. > > To avoid difficulties like this, it is better to work in physical > space versus index space. For more information on how physical space > works in ITK, see the itk::Image overview in the ITK Software Guide: > > https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch4. > html#x38-450004.1 > > > There is a filter that can be used to anti-alias the mask. Here is an > example: > > https://itk.org/ITKExamples/src/Filtering/AntiAlias/ > SmoothBinaryImageBeforeSurfaceExtraction/Documentation.html > > > I hope this helps. > > Matt > > On Wed, May 10, 2017 at 6:19 AM, sidharta > wrote: > > Dear all, > > > > I am trying to make a 3D dome (ie; Half Sphere) and then generating a > binary > > image out of it. The aim is to use this binary image as a mask in > > maskFilter. I was able to generate a 2D circular mask, which was straight > > forward. I used this in a maskFilter and masked the 3D image using > > slicebysliceFilter. > > > > I can think of two ways to do it: > > 1. Make several masks of decreasing circle radius which ultimately would > > represent a dome. > > 2. Make a mask image and assign the values at indices accordingly to get > a > > dome mask. > > > > The first step seems doable but to my understanding would be an overkill. > > I am not able to do the second step. Following is the code I tried: > > > > float MY_RADIUS = maskRegion.GetSize()[0]; > > MaskIteratorType iterator(maskImage, maskImage-> > GetLargestPossibleRegion()); > > while (!iterator.IsAtEnd()) > > { > > const InputImageType::IndexType & index = > iterator.GetIndex(); > > std::cout << "Index is " << index; > > float value = (index[0] - centerPoint[0]) * (index[0] - > centerPoint[0]) > > + (index[1] - centerPoint[1]) * (index[1] - > centerPoint[1]); > > std::cout << "Compare - LHS = " << value << " RHS = " << > MY_RADIUS * > > MY_RADIUS << std::endl; > > if ((index[0] - centerPoint[0]) * (index[0] - > centerPoint[0]) > > + (index[1] - centerPoint[1]) * (index[1] - > centerPoint[1]) > > <= MY_RADIUS * MY_RADIUS) > > { > > iterator.Set(1); > > } > > --MY_RADIUS; > > ++iterator; > > } > > > > After adding the cout commands I saw that --MY_RADIUS is incorrect. I > > generated the required sphere using matlab, just to get the values I > should > > assign to the pixels. > > > > Additionally, I noticed there is a need for anti-aliasing to the mask. > > Kindly let me know how this can be done iteratively. > > > > Thank you! > > > > > > > > -- > > View this message in context: http://itk-users.7.n7.nabble. > com/Creating-3D-dome-using-ITK-tp38201.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 > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 robert.tamburo at gmail.com Wed May 10 07:19:36 2017 From: robert.tamburo at gmail.com (robert tamburo) Date: Wed, 10 May 2017 07:19:36 -0400 Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: References: <1494411577924-38201.post@n7.nabble.com> Message-ID: https://itk.org/Wiki/ITK/Examples/SpatialObjects/EllipseSpatialObject On Wed, May 10, 2017 at 7:01 AM, Richard Beare wrote: > A simple, although not necessarily efficient, way of doing this is to > create an image with a single voxel where you want the centre of the > (hemi)sphere to be, then dilate using the binary dilate filter > (alternatively compute a distance transform them threshold). These two > methods will give you a sphere, and you can then blank the half you don't > want. > > Depending on the interface to ITK you are using, you could probably > achieve something similar by generating images containing physical > coordinates an plug those into formula for a sphere. > > On Wed, May 10, 2017 at 8:40 PM, Matt McCormick < > matt.mccormick at kitware.com> wrote: > >> Hi, >> >> Depending on the code, MY_RADIUS may need to be divided by two. >> >> To avoid difficulties like this, it is better to work in physical >> space versus index space. For more information on how physical space >> works in ITK, see the itk::Image overview in the ITK Software Guide: >> >> https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide >> -Book1ch4.html#x38-450004.1 >> >> >> There is a filter that can be used to anti-alias the mask. Here is an >> example: >> >> https://itk.org/ITKExamples/src/Filtering/AntiAlias/SmoothBi >> naryImageBeforeSurfaceExtraction/Documentation.html >> >> >> I hope this helps. >> >> Matt >> >> On Wed, May 10, 2017 at 6:19 AM, sidharta >> wrote: >> > Dear all, >> > >> > I am trying to make a 3D dome (ie; Half Sphere) and then generating a >> binary >> > image out of it. The aim is to use this binary image as a mask in >> > maskFilter. I was able to generate a 2D circular mask, which was >> straight >> > forward. I used this in a maskFilter and masked the 3D image using >> > slicebysliceFilter. >> > >> > I can think of two ways to do it: >> > 1. Make several masks of decreasing circle radius which ultimately would >> > represent a dome. >> > 2. Make a mask image and assign the values at indices accordingly to >> get a >> > dome mask. >> > >> > The first step seems doable but to my understanding would be an >> overkill. >> > I am not able to do the second step. Following is the code I tried: >> > >> > float MY_RADIUS = maskRegion.GetSize()[0]; >> > MaskIteratorType iterator(maskImage, maskImage->GetLargestPossibleR >> egion()); >> > while (!iterator.IsAtEnd()) >> > { >> > const InputImageType::IndexType & index = >> iterator.GetIndex(); >> > std::cout << "Index is " << index; >> > float value = (index[0] - centerPoint[0]) * (index[0] - >> centerPoint[0]) >> > + (index[1] - centerPoint[1]) * (index[1] - >> centerPoint[1]); >> > std::cout << "Compare - LHS = " << value << " RHS = " >> << MY_RADIUS * >> > MY_RADIUS << std::endl; >> > if ((index[0] - centerPoint[0]) * (index[0] - >> centerPoint[0]) >> > + (index[1] - centerPoint[1]) * (index[1] - >> centerPoint[1]) >> > <= MY_RADIUS * MY_RADIUS) >> > { >> > iterator.Set(1); >> > } >> > --MY_RADIUS; >> > ++iterator; >> > } >> > >> > After adding the cout commands I saw that --MY_RADIUS is incorrect. I >> > generated the required sphere using matlab, just to get the values I >> should >> > assign to the pixels. >> > >> > Additionally, I noticed there is a need for anti-aliasing to the mask. >> > Kindly let me know how this can be done iteratively. >> > >> > Thank you! >> > >> > >> > >> > -- >> > View this message in context: http://itk-users.7.n7.nabble.c >> om/Creating-3D-dome-using-ITK-tp38201.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 >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source 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 > > -- robert -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 richard.beare at gmail.com Wed May 10 07:22:10 2017 From: richard.beare at gmail.com (Richard Beare) Date: Wed, 10 May 2017 21:22:10 +1000 Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: References: <1494411577924-38201.post@n7.nabble.com> Message-ID: Yep - even better. On Wed, May 10, 2017 at 9:19 PM, robert tamburo wrote: > https://itk.org/Wiki/ITK/Examples/SpatialObjects/EllipseSpatialObject > > On Wed, May 10, 2017 at 7:01 AM, Richard Beare > wrote: > >> A simple, although not necessarily efficient, way of doing this is to >> create an image with a single voxel where you want the centre of the >> (hemi)sphere to be, then dilate using the binary dilate filter >> (alternatively compute a distance transform them threshold). These two >> methods will give you a sphere, and you can then blank the half you don't >> want. >> >> Depending on the interface to ITK you are using, you could probably >> achieve something similar by generating images containing physical >> coordinates an plug those into formula for a sphere. >> >> On Wed, May 10, 2017 at 8:40 PM, Matt McCormick < >> matt.mccormick at kitware.com> wrote: >> >>> Hi, >>> >>> Depending on the code, MY_RADIUS may need to be divided by two. >>> >>> To avoid difficulties like this, it is better to work in physical >>> space versus index space. For more information on how physical space >>> works in ITK, see the itk::Image overview in the ITK Software Guide: >>> >>> https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide >>> -Book1ch4.html#x38-450004.1 >>> >>> >>> There is a filter that can be used to anti-alias the mask. Here is an >>> example: >>> >>> https://itk.org/ITKExamples/src/Filtering/AntiAlias/SmoothBi >>> naryImageBeforeSurfaceExtraction/Documentation.html >>> >>> >>> I hope this helps. >>> >>> Matt >>> >>> On Wed, May 10, 2017 at 6:19 AM, sidharta >>> wrote: >>> > Dear all, >>> > >>> > I am trying to make a 3D dome (ie; Half Sphere) and then generating a >>> binary >>> > image out of it. The aim is to use this binary image as a mask in >>> > maskFilter. I was able to generate a 2D circular mask, which was >>> straight >>> > forward. I used this in a maskFilter and masked the 3D image using >>> > slicebysliceFilter. >>> > >>> > I can think of two ways to do it: >>> > 1. Make several masks of decreasing circle radius which ultimately >>> would >>> > represent a dome. >>> > 2. Make a mask image and assign the values at indices accordingly to >>> get a >>> > dome mask. >>> > >>> > The first step seems doable but to my understanding would be an >>> overkill. >>> > I am not able to do the second step. Following is the code I tried: >>> > >>> > float MY_RADIUS = maskRegion.GetSize()[0]; >>> > MaskIteratorType iterator(maskImage, maskImage->GetLargestPossibleR >>> egion()); >>> > while (!iterator.IsAtEnd()) >>> > { >>> > const InputImageType::IndexType & index = >>> iterator.GetIndex(); >>> > std::cout << "Index is " << index; >>> > float value = (index[0] - centerPoint[0]) * (index[0] >>> - centerPoint[0]) >>> > + (index[1] - centerPoint[1]) * (index[1] - >>> centerPoint[1]); >>> > std::cout << "Compare - LHS = " << value << " RHS = " >>> << MY_RADIUS * >>> > MY_RADIUS << std::endl; >>> > if ((index[0] - centerPoint[0]) * (index[0] - >>> centerPoint[0]) >>> > + (index[1] - centerPoint[1]) * (index[1] - >>> centerPoint[1]) >>> > <= MY_RADIUS * MY_RADIUS) >>> > { >>> > iterator.Set(1); >>> > } >>> > --MY_RADIUS; >>> > ++iterator; >>> > } >>> > >>> > After adding the cout commands I saw that --MY_RADIUS is incorrect. I >>> > generated the required sphere using matlab, just to get the values I >>> should >>> > assign to the pixels. >>> > >>> > Additionally, I noticed there is a need for anti-aliasing to the mask. >>> > Kindly let me know how this can be done iteratively. >>> > >>> > Thank you! >>> > >>> > >>> > >>> > -- >>> > View this message in context: http://itk-users.7.n7.nabble.c >>> om/Creating-3D-dome-using-ITK-tp38201.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 >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source 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 >> >> > > > -- > robert > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 sidharta.gupta93 at gmail.com Wed May 10 08:06:45 2017 From: sidharta.gupta93 at gmail.com (sidharta) Date: Wed, 10 May 2017 05:06:45 -0700 (MST) Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: References: <1494411577924-38201.post@n7.nabble.com> Message-ID: <1494418005909-38210.post@n7.nabble.com> I tried the EllipseSpatialObject as follows: int EllipseSpatialObjectToImage(InputImageType::Pointer binaryImage){ typedef itk::EllipseSpatialObject EllipseType; EllipseType::Pointer ellipse = EllipseType::New(); ellipse->SetRadius(0.5 / binaryImage->GetSpacing()[0]); ellipse->SetDefaultInsideValue(1.0); ellipse->SetDefaultOutsideValue(0.0); typedef itk::SpatialObjectToImageFilter SpatialObjectToImageFilterType; SpatialObjectToImageFilterType::Pointer filter = SpatialObjectToImageFilterType::New(); int d = 1.0 / binaryImage->GetSpacing()[0]; InputImageType::SizeType size; size.Fill(d); filter->SetSize(size); filter->SetInsideValue(255); filter->SetOutsideValue(0); double O[3] = { 0, 0, 0 }; filter->SetOrigin(O); filter->SetInput(ellipse); filter->Update(); int flag = FileWriter(filter->GetOutput(), "C:/Users/api/Desktop/3D_mask_ellipse.mhd"); if (!flag) return EXIT_FAILURE; else return EXIT_SUCCESS; } But I get a blank image unfortunately. How would I get hemi-sphere from this? Just cropImageFilter? Thank you Sidharta -- View this message in context: http://itk-users.7.n7.nabble.com/Creating-3D-dome-using-ITK-tp38201p38210.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 zhuangming.shen at sphic.org.cn Wed May 10 07:58:37 2017 From: zhuangming.shen at sphic.org.cn (=?gb2312?B?yfLXr8P3?=) Date: Wed, 10 May 2017 11:58:37 +0000 Subject: [ITK] [ITK-users] HDF5 problem when compile ITK 4.11.0 Message-ID: <1494417523901.42074@sphic.org.cn> Hi all, When I compile ITK 4.11.0 on Rhel 6 using gcc 4.8.5 (ITK_USE_SYSTEM_HDF5 in CMake is disable), I encountered a problem (pls see the attached figure). Any suggestion? Thanks in advance. Regards, Zhuangming Shen -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ITK_compile_problem.PNG Type: image/png Size: 37166 bytes Desc: ITK_compile_problem.PNG URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 hans-johnson at uiowa.edu Wed May 10 08:57:51 2017 From: hans-johnson at uiowa.edu (Johnson, Hans J) Date: Wed, 10 May 2017 12:57:51 +0000 Subject: [ITK] [ITK-users] Fwd: itk forum In-Reply-To: References: <482368304.8622539.1494399128291.ref@mail.yahoo.com> <482368304.8622539.1494399128291@mail.yahoo.com> Message-ID: I completely support moving to a more modern forum. Hans -- On 5/10/17, 5:23 AM, "Insight-users on behalf of Matt McCormick" wrote: FYI - a Discourse request. ---------- Forwarded message ---------- From: ibraheem aldhamari via Insight-users Date: Wed, May 10, 2017 at 2:52 AM Subject: [ITK-users] itk forum To: Insight-users Hi, is there any plan to move to a forum e.g. [1] instead of the mailing-list? it makes communication, searching information easier and more organized. Have a nice day! Ibraheem [1] https://www.discourse.org/ _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 dzenanz at gmail.com Wed May 10 09:05:00 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Wed, 10 May 2017 09:05:00 -0400 Subject: [ITK] [ITK-users] Fwd: itk forum In-Reply-To: References: <482368304.8622539.1494399128291.ref@mail.yahoo.com> <482368304.8622539.1494399128291@mail.yahoo.com> Message-ID: I agree with the move away from the mailing list. To properly search the mailing list, I go to my GMail inbox' label:itk and search from there. General internet search almost always has too many spurious results. One additional option, which some of us already implement, is to watch tag ITK on stack overflow. If more of us did it, we could properly advertise that additional option for people with a question who are not already members of the mailing list/forum. Regards, D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) On Wed, May 10, 2017 at 8:57 AM, Johnson, Hans J wrote: > I completely support moving to a more modern forum. > > Hans > > > -- > > > On 5/10/17, 5:23 AM, "Insight-users on behalf of Matt McCormick" < > insight-users-bounces at itk.org on behalf of matt.mccormick at kitware.com> > wrote: > > FYI - a Discourse request. > > > ---------- Forwarded message ---------- > From: ibraheem aldhamari via Insight-users > Date: Wed, May 10, 2017 at 2:52 AM > Subject: [ITK-users] itk forum > To: Insight-users > > > Hi, > is there any plan to move to a forum e.g. [1] instead of the > mailing-list? it makes communication, searching information easier > and more organized. > Have a nice day! > Ibraheem > [1] https://www.discourse.org/ > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 Wed May 10 09:21:07 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 10 May 2017 09:21:07 -0400 Subject: [ITK] [ITK-users] HDF5 problem when compile ITK 4.11.0 In-Reply-To: <1494417523901.42074@sphic.org.cn> References: <1494417523901.42074@sphic.org.cn> Message-ID: Hi, To address the -fPIC error, add -fPIC to CMAKE_C_FLAGS and CMAKE_CXX_FLAGS. Or, set BUILD_SHARED_LIBS to ON. For building on RHEL 6, ITK 4.11.1 or ITK 4.12RC is adviced due to fixes for the gold linker. HTH, Matt On Wed, May 10, 2017 at 7:58 AM, ??? wrote: > Hi all, > > > When I compile ITK 4.11.0 on Rhel 6 using gcc 4.8.5 (ITK_USE_SYSTEM_HDF5 in > CMake is disable), I encountered a problem (pls see the attached figure). > Any suggestion? Thanks in advance. > > > > Regards, > > > Zhuangming Shen > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 From lasso at queensu.ca Wed May 10 09:33:35 2017 From: lasso at queensu.ca (Andras Lasso) Date: Wed, 10 May 2017 13:33:35 +0000 Subject: [ITK] [ITK-users] Fwd: itk forum In-Reply-To: References: <482368304.8622539.1494399128291.ref@mail.yahoo.com> <482368304.8622539.1494399128291@mail.yahoo.com> Message-ID: We moved Slicer mailing lists to Discourse about one month ago and it works very well. There does not seem to be any disadvantage (other than we have to rebuild our reputation at Google to get the pages indexed more frequently) and there are many advantages. There are many things in common between Slicer and ITK users/developers, so if you are interested in our experiences or in specific issues then you can have a look at discussions in the "Forum feedback" category and you can also ask questions there (https://discourse.slicer.org/c/forum-feedback). Andras -----Original Message----- From: Community [mailto:community-bounces at itk.org] On Behalf Of Johnson, Hans J Sent: Wednesday, May 10, 2017 8:58 AM To: Matt McCormick ; insight-users at itk.org; Bill Hoffman ; Jean-Christophe Fillion-Robin Subject: Re: [ITK] [ITK-users] Fwd: itk forum I completely support moving to a more modern forum. Hans -- On 5/10/17, 5:23 AM, "Insight-users on behalf of Matt McCormick" wrote: FYI - a Discourse request. ---------- Forwarded message ---------- From: ibraheem aldhamari via Insight-users Date: Wed, May 10, 2017 at 2:52 AM Subject: [ITK-users] itk forum To: Insight-users Hi, is there any plan to move to a forum e.g. [1] instead of the mailing-list? it makes communication, searching information easier and more organized. Have a nice day! Ibraheem [1] https://www.discourse.org/ _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 From francois.budin at kitware.com Wed May 10 09:54:15 2017 From: francois.budin at kitware.com (Francois Budin) Date: Wed, 10 May 2017 09:54:15 -0400 Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: <1494418005909-38210.post@n7.nabble.com> References: <1494411577924-38201.post@n7.nabble.com> <1494418005909-38210.post@n7.nabble.com> Message-ID: Hello Sidharta, Don't forget to move the ellipsoid where you want in space. In the example that Robert pointed you to [1], it is: ellipse->SetObjectToParentTransform( transform ); To obtain only haft a dome, you could only create an image that contains half of your ellipse for "SpatialObjectToImageFilter", and then resize the image afterward to match the image size you want. Hope this helps, Francois [1] https://itk.org/Wiki/ITK/Examples/SpatialObjects/EllipseSpatialObject On Wed, May 10, 2017 at 8:06 AM, sidharta wrote: > I tried the EllipseSpatialObject as follows: > > int EllipseSpatialObjectToImage(InputImageType::Pointer binaryImage){ > > typedef itk::EllipseSpatialObject EllipseType; > EllipseType::Pointer ellipse = EllipseType::New(); > > ellipse->SetRadius(0.5 / binaryImage->GetSpacing()[0]); > ellipse->SetDefaultInsideValue(1.0); > ellipse->SetDefaultOutsideValue(0.0); > > typedef itk::SpatialObjectToImageFilter InputImageType> > SpatialObjectToImageFilterType; > SpatialObjectToImageFilterType::Pointer filter = > SpatialObjectToImageFilterType::New(); > > int d = 1.0 / binaryImage->GetSpacing()[0]; > InputImageType::SizeType size; > size.Fill(d); > filter->SetSize(size); > > filter->SetInsideValue(255); > filter->SetOutsideValue(0); > > double O[3] = { 0, 0, 0 }; > filter->SetOrigin(O); > filter->SetInput(ellipse); > > filter->Update(); > > int flag = FileWriter(filter->GetOutput(), > "C:/Users/api/Desktop/3D_mask_ellipse.mhd"); > if (!flag) > return EXIT_FAILURE; > else > return EXIT_SUCCESS; > } > But I get a blank image unfortunately. How would I get hemi-sphere from > this? Just cropImageFilter? > > > Thank you > Sidharta > > > > -- > View this message in context: http://itk-users.7.n7.nabble. > com/Creating-3D-dome-using-ITK-tp38201p38210.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 10 10:02:30 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Wed, 10 May 2017 14:02:30 +0000 Subject: [ITK] [ITK-users] Fwd: itk forum In-Reply-To: References: <482368304.8622539.1494399128291.ref@mail.yahoo.com> <482368304.8622539.1494399128291@mail.yahoo.com> Message-ID: <95A6ACB6-7623-4DD2-84CC-9C0FA1828292@mail.nih.gov> In general I prefer forums, but I haven?t figured out the slicer one yet to get the proper notification/filtering. Brad > On May 10, 2017, at 9:33 AM, Andras Lasso wrote: > > We moved Slicer mailing lists to Discourse about one month ago and it works very well. There does not seem to be any disadvantage (other than we have to rebuild our reputation at Google to get the pages indexed more frequently) and there are many advantages. There are many things in common between Slicer and ITK users/developers, so if you are interested in our experiences or in specific issues then you can have a look at discussions in the "Forum feedback" category and you can also ask questions there (https://discourse.slicer.org/c/forum-feedback). > > Andras > > -----Original Message----- > From: Community [mailto:community-bounces at itk.org] On Behalf Of Johnson, Hans J > Sent: Wednesday, May 10, 2017 8:58 AM > To: Matt McCormick ; insight-users at itk.org; Bill Hoffman ; Jean-Christophe Fillion-Robin > Subject: Re: [ITK] [ITK-users] Fwd: itk forum > > I completely support moving to a more modern forum. > > Hans > > > -- > > > On 5/10/17, 5:23 AM, "Insight-users on behalf of Matt McCormick" wrote: > > FYI - a Discourse request. > > > ---------- Forwarded message ---------- > From: ibraheem aldhamari via Insight-users > Date: Wed, May 10, 2017 at 2:52 AM > Subject: [ITK-users] itk forum > To: Insight-users > > > Hi, > is there any plan to move to a forum e.g. [1] instead of the > mailing-list? it makes communication, searching information easier > and more organized. > Have a nice day! > Ibraheem > [1] https://www.discourse.org/ > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 > _______________________________________________ > 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 From sidharta.gupta93 at gmail.com Wed May 10 11:10:02 2017 From: sidharta.gupta93 at gmail.com (sidharta) Date: Wed, 10 May 2017 08:10:02 -0700 (MST) Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: References: <1494411577924-38201.post@n7.nabble.com> <1494418005909-38210.post@n7.nabble.com> Message-ID: <1494429002241-38218.post@n7.nabble.com> Dear Froncois Thank you for your reply. The reason why I need this dome is because it mimics a burr (drill bit). So, I extract densities in a cubic volume and then mask this cube with the dome, which essentially would give me an image which shows what densities will the burr encounter while drilling. The ellipse object seems to be the key here but I don't know how to transform. The rotation would be identity but the translation is the key. So following is a pseudo code with I came up with, correct me if I am wrong: 1. Make an ellipse object of radius = 2 * edge length of the cube. 2. With SpatialObjectToImageFilter, set size of the image as the edge length of the cube (in all dimensions). Then transform the object (ellipse) so that the center of the ellipse lies at the origin of the image. This is what I am not able to figure how to achieve. Kindly let me know what you think Regards, Sidharta -- View this message in context: http://itk-users.7.n7.nabble.com/Creating-3D-dome-using-ITK-tp38201p38218.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 lasso at queensu.ca Wed May 10 11:43:12 2017 From: lasso at queensu.ca (Andras Lasso) Date: Wed, 10 May 2017 15:43:12 +0000 Subject: [ITK] [ITK-users] Fwd: itk forum In-Reply-To: <95A6ACB6-7623-4DD2-84CC-9C0FA1828292@mail.nih.gov> References: <482368304.8622539.1494399128291.ref@mail.yahoo.com> <482368304.8622539.1494399128291@mail.yahoo.com> <95A6ACB6-7623-4DD2-84CC-9C0FA1828292@mail.nih.gov> Message-ID: If you want to get notification about all posts then you can either enable mailing list mode or add all categories that you are interested in to the "Watched" list (https://discourse.slicer.org/u/YourUsernameHere/preferences/categories). There are many options to fine-tune notifications: you can choose to get the first post of each new topic (then you can decide to watch all further posts); you can mute specific topics that you are not interested in; you can automatically watch/mute certain tags, etc. The Slicer forum is set up so that by default new users only get email notifications about "Announcements" topic (where releases, major events, features are announced) to not overwhelm the users with emails. Hopefully, this way we can still reach people who just signed up because they had one question (they will not unsubscribe due to getting lots of irrelevant emails). Andras -----Original Message----- From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] Sent: Wednesday, May 10, 2017 10:03 AM To: Andras Lasso Cc: Johnson, Hans J ; Matt McCormick ; insight-users at itk.org; Bill Hoffman ; Jean-Christophe Fillion-Robin Subject: Re: [ITK] [ITK-users] Fwd: itk forum In general I prefer forums, but I haven?t figured out the slicer one yet to get the proper notification/filtering. Brad > On May 10, 2017, at 9:33 AM, Andras Lasso wrote: > > We moved Slicer mailing lists to Discourse about one month ago and it works very well. There does not seem to be any disadvantage (other than we have to rebuild our reputation at Google to get the pages indexed more frequently) and there are many advantages. There are many things in common between Slicer and ITK users/developers, so if you are interested in our experiences or in specific issues then you can have a look at discussions in the "Forum feedback" category and you can also ask questions there (https://discourse.slicer.org/c/forum-feedback). > > Andras > > -----Original Message----- > From: Community [mailto:community-bounces at itk.org] On Behalf Of > Johnson, Hans J > Sent: Wednesday, May 10, 2017 8:58 AM > To: Matt McCormick ; > insight-users at itk.org; Bill Hoffman ; > Jean-Christophe Fillion-Robin > Subject: Re: [ITK] [ITK-users] Fwd: itk forum > > I completely support moving to a more modern forum. > > Hans > > > -- > > > On 5/10/17, 5:23 AM, "Insight-users on behalf of Matt McCormick" wrote: > > FYI - a Discourse request. > > > ---------- Forwarded message ---------- > From: ibraheem aldhamari via Insight-users > Date: Wed, May 10, 2017 at 2:52 AM > Subject: [ITK-users] itk forum > To: Insight-users > > > Hi, > is there any plan to move to a forum e.g. [1] instead of the > mailing-list? it makes communication, searching information easier > and more organized. > Have a nice day! > Ibraheem > [1] https://www.discourse.org/ > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 > _______________________________________________ > 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 From sidharta.gupta93 at gmail.com Wed May 10 13:10:44 2017 From: sidharta.gupta93 at gmail.com (sidharta) Date: Wed, 10 May 2017 10:10:44 -0700 (MST) Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: <1494429002241-38218.post@n7.nabble.com> References: <1494411577924-38201.post@n7.nabble.com> <1494418005909-38210.post@n7.nabble.com> <1494429002241-38218.post@n7.nabble.com> Message-ID: <1494436244849-38220.post@n7.nabble.com> So I tried the following: int EllipseSpatialObjectToImage(InputImageType::Pointer binaryImage){ typedef itk::EllipseSpatialObject EllipseType; typedef itk::SpatialObjectToImageFilter SpatialObjectToImageFilterType; SpatialObjectToImageFilterType::Pointer spatialObjectToImageFilter = SpatialObjectToImageFilterType::New(); InputImageType::SizeType size; size[0] = 8; size[1] = 8; size[2] = 8; // spatialObjectToImageFilter->SetSize(size); not setting the size explicitly as by default the filter will calculate the optimum size. InputImageType::SpacingType spacing; spacing.Fill(1); spatialObjectToImageFilter->SetSpacing(spacing); EllipseType::Pointer ellipse = EllipseType::New(); EllipseType::ArrayType radiusArray; ellipse->SetRadius(8); // Since I want half of this ellipse, I set the radius to 8. // Position the ellipse in the image typedef EllipseType::TransformType TransformType; TransformType::Pointer transform = TransformType::New(); transform->SetIdentity(); TransformType::OutputVectorType translation; TransformType::CenterType center; translation[0] = 8 * spacing[0]; // Translate so the center of the "ellipse" is such that it covers the entire image bounds. translation[1] = 8 * spacing[1]; translation[2] = -8 * spacing[2]; // This is for dome transform->Translate(translation); ellipse->SetObjectToParentTransform(transform); std::cout << "Ellipse bounding box " << ellipse->GetBoundingBox()->GetMaximum() << std::endl; spatialObjectToImageFilter->SetInput(ellipse); ellipse->SetDefaultInsideValue(255); ellipse->SetDefaultOutsideValue(0); spatialObjectToImageFilter->SetUseObjectValue(true); spatialObjectToImageFilter->SetOutsideValue(0); spatialObjectToImageFilter->Update(); int flag = FileWriter(spatialObjectToImageFilter->GetOutput(), "C:/Users/api/Desktop/dome.mhd"); if (!flag) return EXIT_FAILURE; return EXIT_SUCCESS; } But I don't get what I am intending. Any suggestions? -- View this message in context: http://itk-users.7.n7.nabble.com/Creating-3D-dome-using-ITK-tp38201p38220.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 francois.budin at kitware.com Wed May 10 13:54:39 2017 From: francois.budin at kitware.com (Francois Budin) Date: Wed, 10 May 2017 13:54:39 -0400 Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: <1494429002241-38218.post@n7.nabble.com> References: <1494411577924-38201.post@n7.nabble.com> <1494418005909-38210.post@n7.nabble.com> <1494429002241-38218.post@n7.nabble.com> Message-ID: Hello Sidharta, See answers inline below: On Wed, May 10, 2017 at 11:10 AM, sidharta wrote: > Dear Froncois > > Thank you for your reply. The reason why I need this dome is because it > mimics a burr (drill bit). So, I extract densities in a cubic volume and > then mask this cube with the dome, which essentially would give me an image > which shows what densities will the burr encounter while drilling. The > ellipse object seems to be the key here but I don't know how to transform. > The rotation would be identity but the translation is the key. So following > is a pseudo code with I came up with, correct me if I am wrong: > > 1. Make an ellipse object of radius = 2 * edge length of the cube. > Don't you mean that the ellipse radius is 1/2 of the edge length of the cube? > 2. With SpatialObjectToImageFilter, set size of the image as the edge > length > of the cube (in all dimensions). Then transform the object (ellipse) so > that > the center of the ellipse lies at the origin of the image. This is what I > am > not able to figure how to achieve. > You probably don't want the center of the image to lie at the origin, but in the center of your edge if I understand correctly, at least for 2 of your 3 dimensions, and at the origin for the 3rd dimension to obtain a half-dome. > Kindly let me know what you think > > Regards, > Sidharta > > > > -- > View this message in context: http://itk-users.7.n7.nabble.c > om/Creating-3D-dome-using-ITK-tp38201p38218.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 sidharta.gupta93 at gmail.com Wed May 10 14:15:36 2017 From: sidharta.gupta93 at gmail.com (sidharta) Date: Wed, 10 May 2017 11:15:36 -0700 (MST) Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: References: <1494411577924-38201.post@n7.nabble.com> <1494418005909-38210.post@n7.nabble.com> <1494429002241-38218.post@n7.nabble.com> Message-ID: <1494440136484-38222.post@n7.nabble.com> Dear Francois, Thank you for your reply. 1. Say I have a cube with edge length = 16. If I make an ellipse of radius = 8, the dome wouldn't fit in the entire cube, but rather only half of the cube. So, making an ellipse of radius = 16, and then masking the cube with the dome would give me what I want (correct me if I am wrong). 2. If 0,0,0 is the origin of the image, I would like to set the transform such that the center of the ellipse is at 8, 8, -8 so that I get only the dome in the image with "SpatialObjectToImageFilter". Using "->ComputeBoundingBox()" and then "->GetBoundingBox()->GetBounds()", before and after transformation (before would be in local coordinates and after would be in Parent coordinates), I got the following results for translation[0] = 0 * spacing[0]; translation[1] = 8 * spacing[1]; translation[2] = 0 * spacing[2]; -- View this message in context: http://itk-users.7.n7.nabble.com/Creating-3D-dome-using-ITK-tp38201p38222.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 sidharta.gupta93 at gmail.com Wed May 10 14:49:10 2017 From: sidharta.gupta93 at gmail.com (sidharta) Date: Wed, 10 May 2017 11:49:10 -0700 (MST) Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: <1494440136484-38222.post@n7.nabble.com> References: <1494411577924-38201.post@n7.nabble.com> <1494418005909-38210.post@n7.nabble.com> <1494429002241-38218.post@n7.nabble.com> <1494440136484-38222.post@n7.nabble.com> Message-ID: <1494442150934-38223.post@n7.nabble.com> I seemed to have fixed it using the following: translation[0] = 8; translation[1] = 8; translation[2] = 0; which is what I imagined before. So far so good, but the image I am going to mask this with (or convolve) has a spacing of 0.125 in all directions. I achieved the desired results with spacing in all directions = 1. When I change the spacing to 0.125 and run the code, the resulting "dome" image is blank. Can you tell why it is like this and how I can fix it? Thank you for your time Sidharta -- View this message in context: http://itk-users.7.n7.nabble.com/Creating-3D-dome-using-ITK-tp38201p38223.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 francois.budin at kitware.com Wed May 10 16:23:02 2017 From: francois.budin at kitware.com (Francois Budin) Date: Wed, 10 May 2017 16:23:02 -0400 Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: <1494442150934-38223.post@n7.nabble.com> References: <1494411577924-38201.post@n7.nabble.com> <1494418005909-38210.post@n7.nabble.com> <1494429002241-38218.post@n7.nabble.com> <1494440136484-38222.post@n7.nabble.com> <1494442150934-38223.post@n7.nabble.com> Message-ID: I have to admit that I am not sure to picture correctly what you are trying to do with the dome and the square. However, my guess is that you can you have an error with the spacing because of a scaling issue. You may want to scale your ellipsoid by adding scaling values in the transform matrix. Hope this helps, Francois On Wed, May 10, 2017 at 2:49 PM, sidharta wrote: > I seemed to have fixed it using the following: > > translation[0] = 8; > translation[1] = 8; > translation[2] = 0; > > > > > which is what I imagined before. So far so good, but the image I am going > to > mask this with (or convolve) has a spacing of 0.125 in all directions. I > achieved the desired results with spacing in all directions = 1. When I > change the spacing to 0.125 and run the code, the resulting "dome" image is > blank. Can you tell why it is like this and how I can fix it? > > Thank you for your time > Sidharta > > > > -- > View this message in context: http://itk-users.7.n7.nabble. > com/Creating-3D-dome-using-ITK-tp38201p38223.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 zhuangming.shen at sphic.org.cn Wed May 10 21:02:47 2017 From: zhuangming.shen at sphic.org.cn (=?gb2312?B?yfLXr8P3?=) Date: Thu, 11 May 2017 01:02:47 +0000 Subject: [ITK] [ITK-users] HDF5 problem when compile ITK 4.11.0 In-Reply-To: References: <1494417523901.42074@sphic.org.cn>, Message-ID: <1494464572849.78466@sphic.org.cn> Hi Matt, I have tried (1) add -fPIC to CMAKE_C_FLAGS and CMAKE_CXX_FLAGS, (2) BUILD_SHARED_LIBS to ON and (3) using ITK 4.11.1, but none of them can fix the problem. The same error still appears. Any idea? Thanks. Regards, Zhuangming Shen ________________________________________ From: Matt McCormick Sent: Wednesday, May 10, 2017 9:21 PM To: ??? Cc: insight-users at itk.org Subject: Re: [ITK-users] HDF5 problem when compile ITK 4.11.0 Hi, To address the -fPIC error, add -fPIC to CMAKE_C_FLAGS and CMAKE_CXX_FLAGS. Or, set BUILD_SHARED_LIBS to ON. For building on RHEL 6, ITK 4.11.1 or ITK 4.12RC is adviced due to fixes for the gold linker. HTH, Matt On Wed, May 10, 2017 at 7:58 AM, ??? wrote: > Hi all, > > > When I compile ITK 4.11.0 on Rhel 6 using gcc 4.8.5 (ITK_USE_SYSTEM_HDF5 in > CMake is disable), I encountered a problem (pls see the attached figure). > Any suggestion? Thanks in advance. > > > > Regards, > > > Zhuangming Shen > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 From zhuangming.shen at sphic.org.cn Thu May 11 05:00:46 2017 From: zhuangming.shen at sphic.org.cn (=?gb2312?B?yfLXr8P3?=) Date: Thu, 11 May 2017 09:00:46 +0000 Subject: [ITK] [ITK-users] HDF5 problem when compile ITK 4.11.0 In-Reply-To: References: <1494417523901.42074@sphic.org.cn>, Message-ID: <1494493251948.87144@sphic.org.cn> Hi Matt, I have found the reason. This is because the compiler in CMAKE is set to original gcc/g++, not gcc/g++ 4.8.5. Thanks for your suggestion. Regards, Zhuangming Shen ________________________________________ From: Matt McCormick Sent: Wednesday, May 10, 2017 9:21 PM To: ??? Cc: insight-users at itk.org Subject: Re: [ITK-users] HDF5 problem when compile ITK 4.11.0 Hi, To address the -fPIC error, add -fPIC to CMAKE_C_FLAGS and CMAKE_CXX_FLAGS. Or, set BUILD_SHARED_LIBS to ON. For building on RHEL 6, ITK 4.11.1 or ITK 4.12RC is adviced due to fixes for the gold linker. HTH, Matt On Wed, May 10, 2017 at 7:58 AM, ??? wrote: > Hi all, > > > When I compile ITK 4.11.0 on Rhel 6 using gcc 4.8.5 (ITK_USE_SYSTEM_HDF5 in > CMake is disable), I encountered a problem (pls see the attached figure). > Any suggestion? Thanks in advance. > > > > Regards, > > > Zhuangming Shen > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 From sidharta.gupta93 at gmail.com Thu May 11 08:58:57 2017 From: sidharta.gupta93 at gmail.com (sidharta) Date: Thu, 11 May 2017 05:58:57 -0700 (MST) Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: References: <1494418005909-38210.post@n7.nabble.com> <1494429002241-38218.post@n7.nabble.com> <1494440136484-38222.post@n7.nabble.com> <1494442150934-38223.post@n7.nabble.com> Message-ID: <1494507537890-38227.post@n7.nabble.com> Dear Francois, Thank you for your reply. Is it also possible to change the spacing explicitly in the final image? As in using "SpatialObjectToImageFilter" I get the ellipse in an image with spacing and after that I change the spacing to what I want from 1. Because I tried that and I get the desired image with the correct spacing but then the program crashes. P.S. To my understanding (correct me if I am wrong), if initially the spacing is 1.0 and everything works, I should scale the ellipse by setting "transform->Scale(1 / spacing[0])", where spacing[0] is the desired spacing. Then, I would also have to change the translation vectors accordingly (which I am still trying to figure out so that the image size is exactly what I want it to be). Thank you for your time. Sidharta -- View this message in context: http://itk-users.7.n7.nabble.com/Creating-3D-dome-using-ITK-tp38201p38227.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 c.spanakis83 at gmail.com Thu May 11 09:07:50 2017 From: c.spanakis83 at gmail.com (Constantinus Spanakis) Date: Thu, 11 May 2017 16:07:50 +0300 Subject: [ITK] Problem regarding the computation of Normalized Mutual Information Message-ID: Hello. I want to compute the Normalized Mutual information of two images when I give a specific transformation. Below is my code. #include "itkMutualInformationImageToImageMetric.h" #include "itkRandomImageSource.h" #include "itkTranslationTransform.h" #include"itkCenteredRigid2DTransform.h" #include "itkCenteredTransformInitializer.h" #include "itkLinearInterpolateImageFunction.h" #include"itkImageFileReader.h" #include"itkNormalizedMutualInformationHistogramImageToImageMetric.h" #include "itkMattesMutualInformationImageToImageMetric.h" #include "itkMutualInformationImageToImageMetric.h" # include # include # include # include # include # include # include # include # include using namespace std; int main(int argc, char *argv[]); const unsigned int ImageDimension = 2; typedef unsigned char PixelType; typedef itk::Image FixedImage; typedef itk::Image MovingImage; typedef itk::ImageFileReader FixedImageTypeReader; typedef itk::ImageFileReader MovingImageTypeReader; typedef itk::CenteredRigid2DTransform RigidTransformType; typedef itk::NormalizedMutualInformationHistogramImageToImageMetric MetricType; //typedef itk::MattesMutualInformationImageToImageMetric MetricType; //typedef itk::MutualInformationImageToImageMetric MetricType; typedef itk::CenteredTransformInitializer InitializerType; RigidTransformType::Pointer rigidtransform; MetricType::MeasureType test(double *arg , MetricType::Pointer metric){ MetricType::MeasureType v=0; int i; double a, e, f; a = arg[0] ; e = arg[1]; f = arg[2]; rigidtransform->SetAngle(a); RigidTransformType::OutputVectorType t = rigidtransform->GetTranslation(); t[0] = e; t[1] = f; rigidtransform->SetTranslation(t); RigidTransformType::ParametersType p; p.SetSize(5); p[0] = a; p[1] = 255.5; p[2] = 255.5; p[3] = e; p[4] = f; metric->UseAllPixelsOn(); metric->SetTransform(rigidtransform); cout<GetValue(p); } int main( int argc, char *argv[] ) { FixedImageTypeReader::Pointer fixedreader = FixedImageTypeReader::New(); MovingImageTypeReader::Pointer movingreader = MovingImageTypeReader::New(); fixedreader->SetFileName(argv[1]); movingreader->SetFileName(argv[2]); fixedreader->Update(); movingreader->Update(); FixedImage::Pointer fixedImage = fixedreader->GetOutput(); MovingImage::Pointer movingImage = movingreader->GetOutput(); MetricType::Pointer metric; rigidtransform = RigidTransformType::New(); MetricType::HistogramSizeType h; h.SetSize(2); h[0] = h[1]=64; metric = MetricType::New(); metric->SetTransform(rigidtransform); metric->SetHistogramSize(h); metric->SetNumberOfFixedImageSamples(10000); metric->SetNumberOfSpatialSamples(10000); metric->SetFixedImage(fixedImage); metric->SetMovingImage(movingImage); metric->SetFixedImageRegion(fixedImage->GetLargestPossibleRegion()); const unsigned int numberOfParameters = rigidtransform->GetNumberOfParameters(); std::cout<<"Spacing: "<GetSpacing()<<", Origin: "<GetOrigin()<<", Direction: "<GetDirection() <::Pointer interpolator = itk::LinearInterpolateImageFunction::New(); interpolator->SetInputImage(movingImage); metric->SetInterpolator(interpolator); InitializerType::Pointer initializer = InitializerType::New(); initializer->SetTransform(rigidtransform); initializer->SetFixedImage(fixedreader->GetOutput()); initializer->SetMovingImage(movingreader->GetOutput()); initializer->GeometryOn(); initializer->InitializeTransform(); std::cout << fixedreader->GetOutput()->GetLargestPossibleRegion().GetSize(); RigidTransformType::InputPointType mc = rigidtransform->GetCenter(); MovingImage::SizeType c = movingreader->GetOutput()->GetLargestPossibleRegion().GetSize(); rigidtransform->SetCenter(mc); std::cout << "parameters: " << rigidtransform->GetParameters() << std::endl; std::cout << "pcenter: " << mc << std::endl; double p[3]; p[0] = 0.52; p[1] = -138; p[2] = 52; std::cout << "Value: " << test(p,metric) << std::endl; return EXIT_SUCCESS; } Whenever I execute the code, I get a strange message (see attached image). What could be the problem? -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: error.png Type: image/png Size: 216727 bytes Desc: not available URL: From sidharta.gupta93 at gmail.com Thu May 11 11:20:49 2017 From: sidharta.gupta93 at gmail.com (sidharta) Date: Thu, 11 May 2017 08:20:49 -0700 (MST) Subject: [ITK] [ITK-users] Extract slice from ResampleFilter In-Reply-To: References: <1491997495031-38097.post@n7.nabble.com> <1492088644485-38110.post@n7.nabble.com> <1492095684045-38115.post@n7.nabble.com> <1492097632375-38118.post@n7.nabble.com> <1492609238543-38129.post@n7.nabble.com> Message-ID: <1494516049534-38228.post@n7.nabble.com> Dear D?enan, First of all, thank you for all your help. So, from the previous posts I was able to resample the CBCT image so that it lies in the direction of the Trajectory. So far so good. Now, I am trying to extract only a part of the volume in this resampled image. So, I figure that since I already calculated the direction, I could just set the size of the output image to be what I want in the "ResampleImageFilter" and it should work fine. However, when I do this, the extracted volume is in a different direction than I assumed it to be. For example, In the above image, I assumed the part of the volume that I extract is actually in the direction shown in the "Green" line, however I instead get the volume along the "Red" line. Why is this so? The direction I calculate for the "ResampleImageFilter" was essentially along the "Green" line. Additionally, what I am trying to do, is this not possible with the "ResampleImageFilter"? Do I need to extract the volume using the "ExtractImageFilter" instead? Thank you for your time Sidharta -- View this message in context: http://itk-users.7.n7.nabble.com/Extract-slice-from-ResampleFilter-tp38074p38228.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 dzenanz at gmail.com Thu May 11 11:40:56 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Thu, 11 May 2017 11:40:56 -0400 Subject: [ITK] [ITK-users] Extract slice from ResampleFilter In-Reply-To: <1494516049534-38228.post@n7.nabble.com> References: <1491997495031-38097.post@n7.nabble.com> <1492088644485-38110.post@n7.nabble.com> <1492095684045-38115.post@n7.nabble.com> <1492097632375-38118.post@n7.nabble.com> <1492609238543-38129.post@n7.nabble.com> <1494516049534-38228.post@n7.nabble.com> Message-ID: Hi Sidharta, just changing the size of the output image should not affect its orientation. Can you share the code with comments which line you added to try changing the size? Regards, D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) On Thu, May 11, 2017 at 11:20 AM, sidharta wrote: > Dear D?enan, > > First of all, thank you for all your help. > > So, from the previous posts I was able to resample the CBCT image so that > it > lies in the direction of the Trajectory. So far so good. Now, I am trying > to > extract only a part of the volume in this resampled image. So, I figure > that > since I already calculated the direction, I could just set the size of the > output image to be what I want in the "ResampleImageFilter" and it should > work fine. However, when I do this, the extracted volume is in a different > direction than I assumed it to be. For example, > > > > In the above image, I assumed the part of the volume that I extract is > actually in the direction shown in the "Green" line, however I instead get > the volume along the "Red" line. Why is this so? The direction I calculate > for the "ResampleImageFilter" was essentially along the "Green" line. > > Additionally, what I am trying to do, is this not possible with the > "ResampleImageFilter"? Do I need to extract the volume using the > "ExtractImageFilter" instead? > > Thank you for your time > Sidharta > > > > -- > View this message in context: http://itk-users.7.n7.nabble. > com/Extract-slice-from-ResampleFilter-tp38074p38228.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 sidharta.gupta93 at gmail.com Thu May 11 12:00:00 2017 From: sidharta.gupta93 at gmail.com (sidharta) Date: Thu, 11 May 2017 09:00:00 -0700 (MST) Subject: [ITK] [ITK-users] Extract slice from ResampleFilter In-Reply-To: References: <1492088644485-38110.post@n7.nabble.com> <1492095684045-38115.post@n7.nabble.com> <1492097632375-38118.post@n7.nabble.com> <1492609238543-38129.post@n7.nabble.com> <1494516049534-38228.post@n7.nabble.com> Message-ID: <1494518400067-38230.post@n7.nabble.com> Dear D?enan, Thank you for your swift reply. This is the entire function which I used: int ResampleImage(std::vector trajectory_points, std::vector coordinate_system, InputImageType::Pointer image){ Vector3d traj_start, traj_end, third_point; traj_start = trajectory_points.at(0); traj_end = trajectory_points.back(); third_point = traj_end + coordinate_system.at(3) * 2 / image->GetSpacing()[0]; Vector3d ST, SP, normal_to_plane; ST = traj_end - traj_start; SP = third_point - traj_start; normal_to_plane = ST.cross(SP); InputImageType::DirectionType imageDirection, trajectoryDirection; imageDirection = image->GetDirection(); std::cout << "Image direction cosines : \n" << imageDirection << std::endl; trajectoryDirection[0][0] = ST.normalized()[0]; trajectoryDirection[0][1] = ST.normalized()[1]; trajectoryDirection[0][2] = ST.normalized()[2]; Vector3d second = normal_to_plane.cross(ST); Vector3d normalized_second = second.normalized(); trajectoryDirection[1][0] = normalized_second[0]; trajectoryDirection[1][1] = normalized_second[1]; trajectoryDirection[1][2] = normalized_second[2]; Vector3d normalized_normal = normal_to_plane.normalized(); trajectoryDirection[2][0] = normalized_normal[0]; trajectoryDirection[2][1] = normalized_normal[1]; trajectoryDirection[2][2] = normalized_normal[2]; std::cout << "Trajectory direction cosines : \n" << trajectoryDirection << std::endl; InputImageType::IndexType voxelIndex; InputImageType::PointType point; point[0] = traj_start[0], point[1] = traj_start[1], point[2] = traj_start[2]; image->TransformPhysicalPointToIndex(point, voxelIndex); std::cout << "Index for point " << point << " is " << voxelIndex << std::endl; point[0] = traj_end[0], point[1] = traj_end[1], point[2] = traj_end[2]; image->TransformPhysicalPointToIndex(point, voxelIndex); std::cout << "Index for point " << point << " is " << voxelIndex << std::endl; double mpr_start[3] = { traj_start[0], traj_start[1], traj_start[2] }; typedef itk::ResampleImageFilter resampleFilterType; resampleFilterType::Pointer resampleFilter = resampleFilterType::New(); typedef itk::LinearInterpolateImageFunction interpolatorType; interpolatorType::Pointer linearInterpolator = interpolatorType::New(); resampleFilter->SetInterpolator(linearInterpolator); resampleFilter->SetDefaultPixelValue(-2000); resampleFilter->SetOutputSpacing(image->GetSpacing()); resampleFilter->SetOutputOrigin(mpr_start); resampleFilter->SetOutputDirection(trajectoryDirection); InputImageType::SizeType size; size[0] = trajectory_points.size(); size[1] = 1.0 / image->GetSpacing()[1]; size[2] = 1.0 / image->GetSpacing()[2]; resampleFilter->SetSize(size); // This is for the trajectory, this corresponds to a size of [137, 8, 8] which is essentially the volume I want to extract. //resampleFilter->SetSize(image->GetLargestPossibleRegion().GetSize()); // This is for the entire resampled image resampleFilter->SetInput(image); //resampleFilter->Update(); //InputImageType::Pointer resampled_image = InputImageType::New(); //resampled_image = resampleFilter->GetOutput(); FileWriter(resampleFilter->GetOutput(), "C:/Users/api/Desktop/resampled_volume_1.mhd"); return EXIT_SUCCESS; } I should also add that when I open the original image with the resampled image in ITK-SNAP (by adding another image), the overlay is exactly the same. Additionally, when I opened this in Slicer, only the top part of the volume seems to be rotated and the rest isn't. Kindly let me know if you need more information. I apologize for asking too many questions. We don't have an experienced ITK user in our lab, although vector understanding is sound :) Thank you for your time. -- View this message in context: http://itk-users.7.n7.nabble.com/Extract-slice-from-ResampleFilter-tp38074p38230.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 francois.budin at kitware.com Thu May 11 14:01:15 2017 From: francois.budin at kitware.com (Francois Budin) Date: Thu, 11 May 2017 14:01:15 -0400 Subject: [ITK] [ITK-users] Creating 3D dome using ITK In-Reply-To: <1494507537890-38227.post@n7.nabble.com> References: <1494418005909-38210.post@n7.nabble.com> <1494429002241-38218.post@n7.nabble.com> <1494440136484-38222.post@n7.nabble.com> <1494442150934-38223.post@n7.nabble.com> <1494507537890-38227.post@n7.nabble.com> Message-ID: Hello Sidharta, I agree. The easiest way for you to get the image you want is to generate it with a spacing of 1, and then change the spacing directly on the generated image: my_image->SetSpacing(my_new_spacing); If you want your ellipse to have the same scale (covers the same number of pixels) in your image that has spacing=1 and in your image that has spacing Y, you need to set the transform to: transform->Scale(spacing[0]) Hope this helps, Francois On Thu, May 11, 2017 at 8:58 AM, sidharta wrote: > Dear Francois, > > Thank you for your reply. > > Is it also possible to change the spacing explicitly in the final image? As > in using "SpatialObjectToImageFilter" I get the ellipse in an image with > spacing and after that I change the spacing to what I want from 1. > > > > Because I tried that and I get the desired image with the correct spacing > but then the program crashes. > > P.S. To my understanding (correct me if I am wrong), if initially the > spacing is 1.0 and everything works, I should scale the ellipse by setting > "transform->Scale(1 / spacing[0])", where spacing[0] is the desired > spacing. > Then, I would also have to change the translation vectors accordingly > (which > I am still trying to figure out so that the image size is exactly what I > want it to be). > > > Thank you for your time. > Sidharta > > > > -- > View this message in context: http://itk-users.7.n7.nabble. > com/Creating-3D-dome-using-ITK-tp38201p38227.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 tobias.wood at kcl.ac.uk Thu May 11 16:34:48 2017 From: tobias.wood at kcl.ac.uk (Wood, Tobias) Date: Thu, 11 May 2017 20:34:48 +0000 Subject: [ITK] [ITK-users] Fwd: itk forum In-Reply-To: References: <482368304.8622539.1494399128291.ref@mail.yahoo.com> <482368304.8622539.1494399128291@mail.yahoo.com> Message-ID: <9DD7D723-A26F-41D5-9454-5916DB3382F1@kcl.ac.uk> A related note about searching - community at itk.org does seem to be indexed by nabble etc. I was trying to find some messages about the Bruker 2dseq reader which I made around Christmas, and have deleted from Outlook, but I can?t find them (I have an updated 2dseq reader that is about passable enough for other people to take a look at, even if it doesn?t get merged for a while). I?d be interested to see a forum. I quite like having the mailing list in Outlook but I?m not wedded to it. Toby On 10/05/2017, 14:05, "Insight-users on behalf of D?enan Zuki?" on behalf of dzenanz at gmail.com> wrote: I agree with the move away from the mailing list. To properly search the mailing list, I go to my GMail inbox' label:itk and search from there. General internet search almost always has too many spurious results. One additional option, which some of us already implement, is to watch tag ITK on stack overflow. If more of us did it, we could properly advertise that additional option for people with a question who are not already members of the mailing list/forum. Regards, D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) On Wed, May 10, 2017 at 8:57 AM, Johnson, Hans J > wrote: I completely support moving to a more modern forum. Hans -- On 5/10/17, 5:23 AM, "Insight-users on behalf of Matt McCormick" on behalf of matt.mccormick at kitware.com> wrote: FYI - a Discourse request. ---------- Forwarded message ---------- From: ibraheem aldhamari via Insight-users > Date: Wed, May 10, 2017 at 2:52 AM Subject: [ITK-users] itk forum To: Insight-users > Hi, is there any plan to move to a forum e.g. [1] instead of the mailing-list? it makes communication, searching information easier and more organized. Have a nice day! Ibraheem [1] https://www.discourse.org/ _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 francois.budin at kitware.com Thu May 11 17:00:37 2017 From: francois.budin at kitware.com (Francois Budin) Date: Thu, 11 May 2017 17:00:37 -0400 Subject: [ITK] Problem regarding the computation of Normalized Mutual Information In-Reply-To: References: Message-ID: Hello Constantinus, You need to initialize the metric first. You can add: metric->Initialize(); before calling your "test()" function. Hope this helps, Francois On Thu, May 11, 2017 at 9:07 AM, Constantinus Spanakis < c.spanakis83 at gmail.com> wrote: > Hello. I want to compute the Normalized Mutual information of two images > when I give a specific transformation. Below is my code. > > #include "itkMutualInformationImageToImageMetric.h" > #include "itkRandomImageSource.h" > #include "itkTranslationTransform.h" > #include"itkCenteredRigid2DTransform.h" > #include "itkCenteredTransformInitializer.h" > #include "itkLinearInterpolateImageFunction.h" > #include"itkImageFileReader.h" > #include"itkNormalizedMutualInformationHistogramImageToImageMetric.h" > #include "itkMattesMutualInformationImageToImageMetric.h" > #include "itkMutualInformationImageToImageMetric.h" > > # include > # include > # include > # include > # include > # include > # include > # include > # include > > > > > using namespace std; > > > > int main(int argc, char *argv[]); > > > > > > const unsigned int ImageDimension = 2; > typedef unsigned char PixelType; > typedef itk::Image FixedImage; > typedef itk::Image MovingImage; > > typedef itk::ImageFileReader FixedImageTypeReader; > typedef itk::ImageFileReader MovingImageTypeReader; > > typedef itk::CenteredRigid2DTransform RigidTransformType; > > > typedef itk::NormalizedMutualInformationHistogramImageToImageMetric MovingImage> MetricType; > //typedef itk::MattesMutualInformationImageToImageMetric MovingImage> MetricType; > //typedef itk::MutualInformationImageToImageMetric MovingImage> MetricType; > > > > typedef itk::CenteredTransformInitializer MovingImage> InitializerType; > > RigidTransformType::Pointer rigidtransform; > > > > > MetricType::MeasureType test(double *arg , MetricType::Pointer metric){ > MetricType::MeasureType v=0; > int i; > double a, e, f; > a = arg[0] ; > > e = arg[1]; > f = arg[2]; > rigidtransform->SetAngle(a); > RigidTransformType::OutputVectorType t = rigidtransform->GetTranslation(); > t[0] = e; > t[1] = f; > rigidtransform->SetTranslation(t); > RigidTransformType::ParametersType p; > p.SetSize(5); > p[0] = a; > p[1] = 255.5; > p[2] = 255.5; > p[3] = e; > p[4] = f; > > metric->UseAllPixelsOn(); > metric->SetTransform(rigidtransform); > > cout< return metric->GetValue(p); > } > > > > > int main( int argc, char *argv[] ) > { > > > FixedImageTypeReader::Pointer fixedreader = FixedImageTypeReader::New(); > MovingImageTypeReader::Pointer movingreader = MovingImageTypeReader::New(); > > fixedreader->SetFileName(argv[1]); > movingreader->SetFileName(argv[2]); > > fixedreader->Update(); > movingreader->Update(); > FixedImage::Pointer fixedImage = fixedreader->GetOutput(); > MovingImage::Pointer movingImage = movingreader->GetOutput(); > > MetricType::Pointer metric; > rigidtransform = RigidTransformType::New(); > > MetricType::HistogramSizeType h; > h.SetSize(2); > h[0] = h[1]=64; > > > > metric = MetricType::New(); > > metric->SetTransform(rigidtransform); > metric->SetHistogramSize(h); > metric->SetNumberOfFixedImageSamples(10000); > metric->SetNumberOfSpatialSamples(10000); > metric->SetFixedImage(fixedImage); > metric->SetMovingImage(movingImage); > metric->SetFixedImageRegion(fixedImage->GetLargestPossibleRegion()); > > const unsigned int numberOfParameters = rigidtransform-> > GetNumberOfParameters(); > > > > > > std::cout<<"Spacing: "<GetSpacing()<<", Origin: > "<GetOrigin()<<", Direction: "<GetDirection() > < > > > itk::LinearInterpolateImageFunction::Pointer > interpolator = itk::LinearInterpolateImageFunction double>::New(); > interpolator->SetInputImage(movingImage); > metric->SetInterpolator(interpolator); > > InitializerType::Pointer initializer = InitializerType::New(); > initializer->SetTransform(rigidtransform); > initializer->SetFixedImage(fixedreader->GetOutput()); > initializer->SetMovingImage(movingreader->GetOutput()); > initializer->GeometryOn(); > initializer->InitializeTransform(); > > std::cout << fixedreader->GetOutput()->GetLargestPossibleRegion(). > GetSize(); > RigidTransformType::InputPointType mc = rigidtransform->GetCenter(); > > MovingImage::SizeType c = movingreader->GetOutput()-> > GetLargestPossibleRegion().GetSize(); > > > rigidtransform->SetCenter(mc); > std::cout << "parameters: " << rigidtransform->GetParameters() << > std::endl; > std::cout << "pcenter: " << mc << std::endl; > > double p[3]; > p[0] = 0.52; > p[1] = -138; > p[2] = 52; > > std::cout << "Value: " << test(p,metric) << std::endl; > > > return EXIT_SUCCESS; > } > > Whenever I execute the code, I get a strange message (see attached image). > What could be the problem? > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fisidoro at ethz.ch Fri May 12 08:26:46 2017 From: fisidoro at ethz.ch (D'Isidoro Fabio) Date: Fri, 12 May 2017 12:26:46 +0000 Subject: [ITK] [ITK-users] initialize same metric object multiple times Message-ID: <50B858FB5F53124F9E32314E5C1B409445994021@MBX112.d.ethz.ch> Hallo, is it possible to initialize the same metric object multiple times (i.e. 50 times), with different fixed images and/or different masks? For example: metric = MattesMutualInformationImageToImageMetricv4[ImageType,ImageType].New() metric.SetTransform(identityTransform) metric.SetFixedImage( FixedImage1 ) metric.SetFixedImageMask(spatialObjectMask1 ) metric.SetMovingImage(MovingImage) metric.Initialize() metric.GetValue() ... ... metric.SetFixedImage( FixedImage2 ) metric.SetFixedImageMask(spatialObjectMask2 ) metric.Initialize() metric.GetValue() ... ... metric.SetFixedImage( FixedImage3 ) metric.SetFixedImageMask(spatialObjectMask3 ) metric.Initialize() metric.GetValue() I read on the manual that "initialize() is for one-time initialization", but I m not sure what that means. Thank you, Fabio. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 francois.budin at kitware.com Fri May 12 09:12:51 2017 From: francois.budin at kitware.com (Francois Budin) Date: Fri, 12 May 2017 09:12:51 -0400 Subject: [ITK] [ITK-users] initialize same metric object multiple times In-Reply-To: <50B858FB5F53124F9E32314E5C1B409445994021@MBX112.d.ethz.ch> References: <50B858FB5F53124F9E32314E5C1B409445994021@MBX112.d.ethz.ch> Message-ID: Hello Fabio, The "Initialize()" function in MattesMutualInformationImageToImageMetricv4 computes the lower and upper bound value that are used to compute the histogram. If you change your fixed image, you should indeed call it again as the bounding values may have changed. Hope this helps, Francois On Fri, May 12, 2017 at 8:26 AM, D'Isidoro Fabio wrote: > Hallo, > > > > is it possible to initialize the same metric object multiple times (i.e. > 50 times), with different fixed images and/or different masks? > > > > For example: > > > > metric = MattesMutualInformationImageToImageMetricv4[ImageType, > ImageType].New() > > metric.SetTransform(identityTransform) > > metric.SetFixedImage( FixedImage1 ) > > metric.SetFixedImageMask(spatialObjectMask1 ) > > metric.SetMovingImage(MovingImage) > > metric.Initialize() > > metric.GetValue() > > ? > > ? > > metric.SetFixedImage( FixedImage2 ) > > metric.SetFixedImageMask(spatialObjectMask2 ) > > metric.Initialize() > > metric.GetValue() > > ? > > ? > > metric.SetFixedImage( FixedImage3 ) > > metric.SetFixedImageMask(spatialObjectMask3 ) > > metric.Initialize() > > metric.GetValue() > > > > > > I read on the manual that ?initialize() is for one-time initialization?, > but I m not sure what that means. > > > > Thank you, > > Fabio. > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 aharr8 at uwo.ca Fri May 12 10:06:09 2017 From: aharr8 at uwo.ca (Andrew Harris) Date: Fri, 12 May 2017 10:06:09 -0400 Subject: [ITK] [ITK-users] reference for setting versor components Message-ID: Hello, I'm hoping someone has a reference that will allow me to convert from a 3X3 rotation matrix to a 3-member versor rotation for the purposes of setting a known rotation about one axis as an initialization. For instance, if I wanted the equivalent of a 10 degree rotation about the x-axis, I can build a 3X3 rotation matrix using sines and cosines, but the project I'm working on is using VersorRigid3DTransform as the transform type for the registration, so I'd like to use that for the initial transform. Any help is appreciated, thanks. -- AH ----------------------------------------------------------------------------------------------- *This email and any attachments thereto may contain private, confidential, and privileged materials for the sole use of the intended recipient. Any reviewing, copying, or distribution of this email (or any attachments thereto) by other than the intended recipient is strictly prohibited. If you are not the intended recipient, please contact the sender immediately and permanently destroy this email and any attachments thereto.* -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 12 10:18:31 2017 From: zivrafael.yaniv at nih.gov (Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]) Date: Fri, 12 May 2017 14:18:31 +0000 Subject: [ITK] [ITK-users] reference for setting versor components In-Reply-To: References: Message-ID: <40D675DF-953B-4348-9C15-9BDD91E4516D@mail.nih.gov> As far as I remember this class has a SetMatrix method, just be careful as the rotation will be around a given center. The ITK global domain transformations are all of the form A(x-c) + t + c , with the nomenclature being A: matrix, c: center, t: translation, and offset: t+c-Ac hope this helps Ziv From: Andrew Harris Date: Friday, May 12, 2017 at 10:06 AM To: Insight-users Subject: [ITK-users] [ITK] reference for setting versor components Hello, I'm hoping someone has a reference that will allow me to convert from a 3X3 rotation matrix to a 3-member versor rotation for the purposes of setting a known rotation about one axis as an initialization. For instance, if I wanted the equivalent of a 10 degree rotation about the x-axis, I can build a 3X3 rotation matrix using sines and cosines, but the project I'm working on is using VersorRigid3DTransform as the transform type for the registration, so I'd like to use that for the initial transform. Any help is appreciated, thanks. -- AH ----------------------------------------------------------------------------------------------- This email and any attachments thereto may contain private, confidential, and privileged materials for the sole use of the intended recipient. Any reviewing, copying, or distribution of this email (or any attachments thereto) by other than the intended recipient is strictly prohibited. If you are not the intended recipient, please contact the sender immediately and permanently destroy this email and any attachments thereto. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 dzenanz at gmail.com Fri May 12 10:55:06 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Fri, 12 May 2017 10:55:06 -0400 Subject: [ITK] [ITK-users] Extract slice from ResampleFilter In-Reply-To: <1494518400067-38230.post@n7.nabble.com> References: <1492088644485-38110.post@n7.nabble.com> <1492095684045-38115.post@n7.nabble.com> <1492097632375-38118.post@n7.nabble.com> <1492609238543-38129.post@n7.nabble.com> <1494516049534-38228.post@n7.nabble.com> <1494518400067-38230.post@n7.nabble.com> Message-ID: Hi Sidharta, the older versions of ITK-SNAP had index-based overlay, ignoring different spatial position which stem from different origin or direction vectors. I don't know whether the latest (3.6) breaks with that. Slicer always uses spatial position and orientation, so for your experiments you should use Slicer to verify whether your code does what you want. This difference in size setting should not matter, I think your calculation of the direction vectors is more likely cause of error. You could check that by setting different sizes in between the two extremes you trying right now. In case there is some bug in ITK (unlikely), you will flush it out with this. More likely this will make it more apparent to you what you are doing wrong. Regards, D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) On Thu, May 11, 2017 at 12:00 PM, sidharta wrote: > Dear D?enan, > > > Thank you for your swift reply. > > This is the entire function which I used: > > int ResampleImage(std::vector trajectory_points, > std::vector coordinate_system, InputImageType::Pointer image){ > > Vector3d traj_start, traj_end, third_point; > traj_start = trajectory_points.at(0); > traj_end = trajectory_points.back(); > > third_point = traj_end + coordinate_system.at(3) * 2 / > image->GetSpacing()[0]; > > Vector3d ST, SP, normal_to_plane; > ST = traj_end - traj_start; > SP = third_point - traj_start; > normal_to_plane = ST.cross(SP); > > InputImageType::DirectionType imageDirection, trajectoryDirection; > imageDirection = image->GetDirection(); > std::cout << "Image direction cosines : \n" << imageDirection << > std::endl; > > trajectoryDirection[0][0] = ST.normalized()[0]; > trajectoryDirection[0][1] = ST.normalized()[1]; > trajectoryDirection[0][2] = ST.normalized()[2]; > > Vector3d second = normal_to_plane.cross(ST); > Vector3d normalized_second = second.normalized(); > trajectoryDirection[1][0] = normalized_second[0]; > trajectoryDirection[1][1] = normalized_second[1]; > trajectoryDirection[1][2] = normalized_second[2]; > > Vector3d normalized_normal = normal_to_plane.normalized(); > trajectoryDirection[2][0] = normalized_normal[0]; > trajectoryDirection[2][1] = normalized_normal[1]; > trajectoryDirection[2][2] = normalized_normal[2]; > > std::cout << "Trajectory direction cosines : \n" << > trajectoryDirection << > std::endl; > > InputImageType::IndexType voxelIndex; > InputImageType::PointType point; > > point[0] = traj_start[0], point[1] = traj_start[1], point[2] = > traj_start[2]; > image->TransformPhysicalPointToIndex(point, voxelIndex); > std::cout << "Index for point " << point << " is " << voxelIndex << > std::endl; > > point[0] = traj_end[0], point[1] = traj_end[1], point[2] = > traj_end[2]; > image->TransformPhysicalPointToIndex(point, voxelIndex); > std::cout << "Index for point " << point << " is " << voxelIndex << > std::endl; > > double mpr_start[3] = { traj_start[0], traj_start[1], > traj_start[2] }; > > typedef itk::ResampleImageFilter > resampleFilterType; > resampleFilterType::Pointer resampleFilter = > resampleFilterType::New(); > > typedef itk::LinearInterpolateImageFunction InputPixelType> > interpolatorType; > interpolatorType::Pointer linearInterpolator = > interpolatorType::New(); > > resampleFilter->SetInterpolator(linearInterpolator); > resampleFilter->SetDefaultPixelValue(-2000); > resampleFilter->SetOutputSpacing(image->GetSpacing()); > resampleFilter->SetOutputOrigin(mpr_start); > resampleFilter->SetOutputDirection(trajectoryDirection); > InputImageType::SizeType size; > size[0] = trajectory_points.size(); > size[1] = 1.0 / image->GetSpacing()[1]; > size[2] = 1.0 / image->GetSpacing()[2]; > resampleFilter->SetSize(size); // This is for the trajectory, this > corresponds to a size of [137, 8, 8] which is essentially the volume I want > to extract. > //resampleFilter->SetSize(image->GetLargestPossibleRegion().GetSize()); > // > This is for the entire resampled image > resampleFilter->SetInput(image); > //resampleFilter->Update(); > > //InputImageType::Pointer resampled_image = InputImageType::New(); > //resampled_image = resampleFilter->GetOutput(); > > FileWriter(resampleFilter->GetOutput(), > "C:/Users/api/Desktop/resampled_volume_1.mhd"); > return EXIT_SUCCESS; > > } > > I should also add that when I open the original image with the resampled > image in ITK-SNAP (by adding another image), the overlay is exactly the > same. Additionally, when I opened this in Slicer, only the top part of the > volume seems to be rotated and the rest isn't. Kindly let me know if you > need more information. > I apologize for asking too many questions. We don't have an experienced ITK > user in our lab, although vector understanding is sound :) > > Thank you for your time. > > > > -- > View this message in context: http://itk-users.7.n7.nabble. > com/Extract-slice-from-ResampleFilter-tp38074p38230.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 aharr8 at uwo.ca Fri May 12 11:21:10 2017 From: aharr8 at uwo.ca (Andrew Harris) Date: Fri, 12 May 2017 11:21:10 -0400 Subject: [ITK] [ITK-users] reference for setting versor components In-Reply-To: <40D675DF-953B-4348-9C15-9BDD91E4516D@mail.nih.gov> References: <40D675DF-953B-4348-9C15-9BDD91E4516D@mail.nih.gov> Message-ID: Hi Ziv, thanks for the response. There is no SetMatrix method directly stated in the API, is it maybe inherited from a super class? -- AH ----------------------------------------------------------------------------------------------- *This email and any attachments thereto may contain private, confidential, and privileged materials for the sole use of the intended recipient. Any reviewing, copying, or distribution of this email (or any attachments thereto) by other than the intended recipient is strictly prohibited. If you are not the intended recipient, please contact the sender immediately and permanently destroy this email and any attachments thereto.* On Fri, May 12, 2017 at 10:18 AM, Yaniv, Ziv Rafael (NIH/NLM/LHC) [C] < zivrafael.yaniv at nih.gov> wrote: > As far as I remember this class has a SetMatrix method, just be careful as > the rotation will be around a given center. > > > > The ITK global domain transformations are all of the form A(x-c) + t + c > , with the nomenclature being A: matrix, c: center, t: translation, and > offset: t+c-Ac > > > > hope this helps > > Ziv > > > > > > *From: *Andrew Harris > *Date: *Friday, May 12, 2017 at 10:06 AM > *To: *Insight-users > *Subject: *[ITK-users] [ITK] reference for setting versor components > > > > Hello, > > I'm hoping someone has a reference that will allow me to convert from a > 3X3 rotation matrix to a 3-member versor rotation for the purposes of > setting a known rotation about one axis as an initialization. For > instance, if I wanted the equivalent of a 10 degree rotation about the > x-axis, I can build a 3X3 rotation matrix using sines and cosines, but the > project I'm working on is using VersorRigid3DTransform as the transform > type for the registration, so I'd like to use that for the initial > transform. > > > > Any help is appreciated, thanks. > > -- > > AH > > > > ------------------------------------------------------------ > ----------------------------------- > > *This email and any attachments thereto may contain private, > confidential, and privileged materials for the sole use of the intended > recipient. Any reviewing, copying, or distribution of this email (or any > attachments thereto) by other than the intended recipient is strictly > prohibited. If you are not the intended recipient, please contact the > sender immediately and permanently destroy this email and any attachments > thereto.* > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 aharr8 at uwo.ca Fri May 12 11:23:30 2017 From: aharr8 at uwo.ca (Andrew Harris) Date: Fri, 12 May 2017 11:23:30 -0400 Subject: [ITK] [ITK-users] reference for setting versor components In-Reply-To: References: <40D675DF-953B-4348-9C15-9BDD91E4516D@mail.nih.gov> Message-ID: Of course, looking for myself works too :) Thanks for the help, appreciated! -- AH ----------------------------------------------------------------------------------------------- *This email and any attachments thereto may contain private, confidential, and privileged materials for the sole use of the intended recipient. Any reviewing, copying, or distribution of this email (or any attachments thereto) by other than the intended recipient is strictly prohibited. If you are not the intended recipient, please contact the sender immediately and permanently destroy this email and any attachments thereto.* On Fri, May 12, 2017 at 11:21 AM, Andrew Harris wrote: > Hi Ziv, thanks for the response. There is no SetMatrix method directly > stated in the API, is it maybe inherited from a super class? > > -- > > AH > > > ------------------------------------------------------------ > ----------------------------------- > > *This email and any attachments thereto may contain private, > confidential, and privileged materials for the sole use of the intended > recipient. Any reviewing, copying, or distribution of this email (or any > attachments thereto) by other than the intended recipient is strictly > prohibited. If you are not the intended recipient, please contact the > sender immediately and permanently destroy this email and any attachments > thereto.* > > On Fri, May 12, 2017 at 10:18 AM, Yaniv, Ziv Rafael (NIH/NLM/LHC) [C] < > zivrafael.yaniv at nih.gov> wrote: > >> As far as I remember this class has a SetMatrix method, just be careful >> as the rotation will be around a given center. >> >> >> >> The ITK global domain transformations are all of the form A(x-c) + t + c >> , with the nomenclature being A: matrix, c: center, t: translation, and >> offset: t+c-Ac >> >> >> >> hope this helps >> >> Ziv >> >> >> >> >> >> *From: *Andrew Harris >> *Date: *Friday, May 12, 2017 at 10:06 AM >> *To: *Insight-users >> *Subject: *[ITK-users] [ITK] reference for setting versor components >> >> >> >> Hello, >> >> I'm hoping someone has a reference that will allow me to convert from a >> 3X3 rotation matrix to a 3-member versor rotation for the purposes of >> setting a known rotation about one axis as an initialization. For >> instance, if I wanted the equivalent of a 10 degree rotation about the >> x-axis, I can build a 3X3 rotation matrix using sines and cosines, but the >> project I'm working on is using VersorRigid3DTransform as the transform >> type for the registration, so I'd like to use that for the initial >> transform. >> >> >> >> Any help is appreciated, thanks. >> >> -- >> >> AH >> >> >> >> ------------------------------------------------------------ >> ----------------------------------- >> >> *This email and any attachments thereto may contain private, >> confidential, and privileged materials for the sole use of the intended >> recipient. Any reviewing, copying, or distribution of this email (or any >> attachments thereto) by other than the intended recipient is strictly >> prohibited. If you are not the intended recipient, please contact the >> sender immediately and permanently destroy this email and any attachments >> thereto.* >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 sidharta.gupta93 at gmail.com Fri May 12 11:28:37 2017 From: sidharta.gupta93 at gmail.com (sidharta) Date: Fri, 12 May 2017 08:28:37 -0700 (MST) Subject: [ITK] [ITK-users] Extract slice from ResampleFilter In-Reply-To: References: <1492095684045-38115.post@n7.nabble.com> <1492097632375-38118.post@n7.nabble.com> <1492609238543-38129.post@n7.nabble.com> <1494516049534-38228.post@n7.nabble.com> <1494518400067-38230.post@n7.nabble.com> Message-ID: <1494602917608-38240.post@n7.nabble.com> Hi D?enan, You are right. I fixed it a while back. The problem was infact in the direction vectors. I realized (not a good practice) how ITK deals with coordinate systems. I actually had to do an inverse of the direction matrix and then everything is great. Thank you for your help. Regards Sidharta -- View this message in context: http://itk-users.7.n7.nabble.com/Extract-slice-from-ResampleFilter-tp38074p38240.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 nmeshram at wisc.edu Fri May 12 14:01:44 2017 From: nmeshram at wisc.edu (Nirvedh Meshram) Date: Fri, 12 May 2017 18:01:44 +0000 Subject: [ITK] Not making updates helps performance Message-ID: Hi all, I am looking at a ITK code written by a predecessor in my lab group. This code is used for image registration and the snippet of this looks as shown below. m_FixedImage->Update(); m_MovingImage->Update(); m_FixedImage->DisconnectPipeline(); m_MovingImage->DisconnectPipeline(); // do image registration However, if I comment the first two lines. I still get the exact same results but I end up saving 30 seconds. If I comment all lines I get an error saying I tried to access some region which was of size [0,0] I was hoping someone could give me insight into what exactly is going on here. I understand updates matter to make sure your pipeline executes. But both these images are inputs to downstream filters then why had my predecessor chosen to do these updates separately here and why do I still get correct results without the updates. Why is it important to disconnect these pipelines here before continuing the registration? Thank you, Nirvedh -------------- next part -------------- An HTML attachment was scrubbed... URL: From francois.budin at kitware.com Fri May 12 15:23:30 2017 From: francois.budin at kitware.com (Francois Budin) Date: Fri, 12 May 2017 15:23:30 -0400 Subject: [ITK] Not making updates helps performance In-Reply-To: References: Message-ID: Hello Nirvedh, It is difficult to know exactly why your predecessor used the "Update" calls without having the entire code (and being able to read his mind :p). My guess, because he is disconnecting the pipelines, is that he wanted to either process the images manually after (maybe using an iterator) or that this is done in a loop that does more things. Or maybe he wanted to make sure that everything executed well up to that point. The reason why not forcing the update calls can make the processing faster is because your pipeline may not need to process all of the data. Let's take a simple example: If I create a pipeline that 1) reads an image, 2) performs some filtering filter over the image, 3) extract one slice of the filtered result, 4) save the extracted slice, the pipeline really need to perform the filtering only on the slice that is being extracted (and maybe a neighboring region). Calling Update after 2) (depending how you set up the processing region) would filter the entire image. So in this example, it is better to not call Update(). As I said before, there are situations were calling Update() is necessary, but otherwise it may very well slow down your processing. Hopes this helps, Francois On Fri, May 12, 2017 at 2:01 PM, Nirvedh Meshram wrote: > Hi all, > > > I am looking at a ITK code written by a predecessor in my lab group. This > code is used for image registration and the snippet of this looks as shown > below. > > > m_FixedImage->Update(); > m_MovingImage->Update(); > m_FixedImage->DisconnectPipeline(); > m_MovingImage->DisconnectPipeline(); > > // do image registration > > However, if I comment the first two lines. I still get the exact same > results but I end up saving 30 seconds. > > If I comment all lines I get an error saying I tried to access some region > which was of size [0,0] > > I was hoping someone could give me insight into what exactly is going on > here. > I understand updates matter to make sure your pipeline executes. But both > these images are inputs to downstream filters then why had my predecessor > chosen to do these updates separately here and why do I still get correct > results without the updates. > Why is it important to disconnect these pipelines here before continuing > the registration? > > Thank you, > Nirvedh > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From francois.budin at kitware.com Mon May 15 12:07:52 2017 From: francois.budin at kitware.com (Francois Budin) Date: Mon, 15 May 2017 12:07:52 -0400 Subject: [ITK] [ITK-users] [ANN] ITK 4.12 Release Candidate 2 is ready for testing! Message-ID: On behalf of the Insight Toolkit community, we are proud to announce that ITK 4.12 release candidate 2 has been tagged and is available for testing! Please take this opportunity to test the new features in the release candidate. For more information on the new features in this release, see our blog entry on the first release candidate . To obtain the source code, use the links: https://github.com/Kitware/ITK/archive/v4.12rc02.zip https://github.com/Kitware/ITK/archive/v4.12rc02.tar.gz Or, to checkout the tag with Git: git clone https://itk.org/ITK.git cd ITK git checkout -q --detach v4.12rc02 Please test the release candidate and share your experiences on the mailing list , issue tracker , and Gerrit Code Review . An Experimental build, which demonstrates how the test suite performs on your local build system, can be submitted to the dashboard [1] with: mkdir ../ITK-build cd ../ITK-build cmake ../ITK ctest -j 4 -M Experimental -T Configure -T Build -T Test -T Submit Visual Studio builds must also add ?-C Release? to the ctest command. Notify the mailing list if there are any unexpected failures. Testing your own applications against the RC is also appreciated. [1] http://open.cdash.org/index.php?project=Insight Changes from v4.12rc01 to v4.12rc02 ------------------------------------------------ Christina Rossmanith (1): BUG: calculate levelSetValue for IsoContourFilter with float precision David T. Chen (1): DOC: Fix Pysical Typo Francois Budin (3): BUG: Remove doxygen warnings 'Found unknown command \epsilon' ENH: Remove warning messages in GCC 5.1 due to ITK_TEMPLATE_EXPORT BUG: GCC 5.1 warnings 'type attributes ignored after type is already defined' Jon Haitz Legarreta Gorro?o (1): DOC: Add use note to itkGridForwardWarpImageFilter. Matthew McCormick (1): BUG: Update the Strain remote module to 2017-05-05 Vladimir S. FONOV (3): MINC 2017-04-28 (3d79acf3) MINC 2017-05-01 (4caf8f4c) MINC 2017-05-05 (cc682b52) ----------------------------------------------------- Errors or omissions? Please fix them here: https://docs.google.com/document/d/1HWutEtAQt5uMXA-f0ZP_mvEucpmT6P-yUhlZTAzYVg0/edit -------------- next part -------------- An HTML attachment was scrubbed... URL: From fang1457737815 at gmail.com Tue May 16 06:13:11 2017 From: fang1457737815 at gmail.com (=?UTF-8?B?5pa55bed?=) Date: Tue, 16 May 2017 18:13:11 +0800 Subject: [ITK] ITK 4.11 errror in Qt Message-ID: Hi everyone, Two days ago I compiled ITK4.11 and VTK7.0, and have tested the INSTALL library, confirmed that is correct installed. But yesterday in the Qt compiler on a project used VTK + ITK, it always says there are problems with itksys.lib(SystemTool.obj) ?Unable to parse external symbols.......... I am sure the library path is right. My .pro file is below. I'm very earnestly for your suggestions. Thanks in advance. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: QQ??20170516132034.png Type: image/png Size: 10051 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 2.png Type: image/png Size: 13625 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 3.png Type: image/png Size: 38995 bytes Desc: not available URL: From francois.budin at kitware.com Tue May 16 09:33:41 2017 From: francois.budin at kitware.com (Francois Budin) Date: Tue, 16 May 2017 09:33:41 -0400 Subject: [ITK] ITK 4.11 errror in Qt In-Reply-To: References: Message-ID: Hello, Thanks for using ITK. I don't have a precise idea of what is the problem in your project as it is difficult to assess that without looking at the project itself or a simple version of the project. Here are a few suggestions: - If you are not using CMake for your own project, try using it. - Try to update ITK to the latest version (ITK4.12rc02 was published yesterday) Hope this helps, Francois On Tue, May 16, 2017 at 6:13 AM, ?? wrote: > Hi everyone, > > > Two days ago I compiled ITK4.11 and VTK7.0, and have tested the INSTALL library, confirmed that is correct installed. But yesterday in the Qt compiler on a project used VTK + ITK, it always says there are problems with itksys.lib(SystemTool.obj) ?Unable to parse external symbols.......... > > I am sure the library path is right. My .pro file is below. > > I'm very earnestly for your suggestions. Thanks in advance. > > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From zjinger at hotmail.com Thu May 18 04:19:19 2017 From: zjinger at hotmail.com (Zou Jing) Date: Thu, 18 May 2017 08:19:19 +0000 Subject: [ITK] [ITK-users] watershed Message-ID: Dear all I want to segment CTA images using watershed algorithm, The result of WatershedSegmentation2.cxx was not ideal. I find that someone use itkMorphologicalWatershedFromMarkersImageFilter, but I cannot find that. Could anyone help me? Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 francois.budin at kitware.com Thu May 18 08:21:41 2017 From: francois.budin at kitware.com (Francois Budin) Date: Thu, 18 May 2017 08:21:41 -0400 Subject: [ITK] [ITK-users] watershed In-Reply-To: References: Message-ID: Hello Zou Jing, The itkMorphologicalWatershedFromMarkersImageFilter was recently moved from the review module to the watershed module. If you are using a recent version of ITK (4.12rc01, 4.12rc02), the filter you are looking for will be in the watershed module. Otherwise it should be in the review module. Hope this helps, Francois On Thu, May 18, 2017 at 4:19 AM, Zou Jing wrote: > Dear all > I want to segment CTA images using watershed algorithm, The result > of WatershedSegmentation2.cxx was not ideal. I find that someone use > itkMorphologicalWatershedFromMarkersImageFilter, but I cannot find that. > Could anyone help me? > Thanks. > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 zjinger at hotmail.com Thu May 18 22:10:10 2017 From: zjinger at hotmail.com (Zou Jing) Date: Fri, 19 May 2017 02:10:10 +0000 Subject: [ITK] =?gb2312?b?W0lUSy11c2Vyc10gtPC4tDogIHdhdGVyc2hlZA==?= In-Reply-To: References: , Message-ID: Hi, Francois Thank you very much. The version of my ITK is 4.11.0. I checked the watershed module, but there is no such thing as itkMorphologicalWatershedFromMarkersImageFilter. I just found itkIsolatedWatershedImageFilterTest.cxx, itkTobogganImageFilterTest.cxx and itkWatershedImageFilterTest.cxx in the test folder. ________________________________ ???: Francois Budin ????: 2017?5?18? 20:21:41 ???: Zou Jing ??: insight-users at itk.org ??: Re: [ITK-users] watershed Hello Zou Jing, The itkMorphologicalWatershedFromMarkersImageFilter was recently moved from the review module to the watershed module. If you are using a recent version of ITK (4.12rc01, 4.12rc02), the filter you are looking for will be in the watershed module. Otherwise it should be in the review module. Hope this helps, Francois On Thu, May 18, 2017 at 4:19 AM, Zou Jing > wrote: Dear all I want to segment CTA images using watershed algorithm, The result of WatershedSegmentation2.cxx was not ideal. I find that someone use itkMorphologicalWatershedFromMarkersImageFilter, but I cannot find that. Could anyone help me? Thanks. _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 richard.beare at gmail.com Thu May 18 23:12:30 2017 From: richard.beare at gmail.com (Richard Beare) Date: Fri, 19 May 2017 13:12:30 +1000 Subject: [ITK] =?utf-8?b?W0lUSy11c2Vyc10g562U5aSNOiB3YXRlcnNoZWQ=?= In-Reply-To: References: Message-ID: You will need to enable "review" to get morphological watershed in 4.11 On Fri, May 19, 2017 at 12:10 PM, Zou Jing wrote: > Hi, Francois > > Thank you very much. > > The version of my ITK is 4.11.0. I checked the watershed module, but > there is no such thing as itkMorphologicalWatershedFromMarkersImageFilter. > > I just found itkIsolatedWatershedImageFilterTest.cxx, itkTobogganImageFilterTest.cxx > and itkWatershedImageFilterTest.cxx in the test folder. > ------------------------------ > *???:* Francois Budin > *????:* 2017?5?18? 20:21:41 > *???:* Zou Jing > *??:* insight-users at itk.org > *??:* Re: [ITK-users] watershed > > Hello Zou Jing, > > The itkMorphologicalWatershedFromMarkersImageFilter was recently moved > from the review module to the watershed module. If you are using a recent > version of ITK (4.12rc01, 4.12rc02), the filter you are looking for will be > in the watershed module. Otherwise it should be in the review module. > > Hope this helps, > Francois > > On Thu, May 18, 2017 at 4:19 AM, Zou Jing wrote: > >> Dear all >> I want to segment CTA images using watershed algorithm, The result >> of WatershedSegmentation2.cxx was not ideal. I find that someone >> use itkMorphologicalWatershedFromMarkersImageFilter, but I cannot find >> that. >> Could anyone help me? >> Thanks. >> >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 zjinger at hotmail.com Thu May 18 23:27:58 2017 From: zjinger at hotmail.com (Zou Jing) Date: Fri, 19 May 2017 03:27:58 +0000 Subject: [ITK] =?gb2312?b?W0lUSy11c2Vyc10gtPC4tDogILTwuLQ6IHdhdGVyc2hlZA==?= In-Reply-To: References: , Message-ID: Thank you. I am sorry that I don't know how to enable "review". I'm a novice. Can you help me?Thanks very much. ________________________________ ???: Richard Beare ????: 2017?5?19? 11:12:30 ???: Zou Jing ??: Francois Budin; insight-users at itk.org ??: Re: [ITK-users] ??: watershed You will need to enable "review" to get morphological watershed in 4.11 On Fri, May 19, 2017 at 12:10 PM, Zou Jing > wrote: Hi, Francois Thank you very much. The version of my ITK is 4.11.0. I checked the watershed module, but there is no such thing as itkMorphologicalWatershedFromMarkersImageFilter. I just found itkIsolatedWatershedImageFilterTest.cxx, itkTobogganImageFilterTest.cxx and itkWatershedImageFilterTest.cxx in the test folder. ________________________________ ???: Francois Budin > ????: 2017?5?18? 20:21:41 ???: Zou Jing ??: insight-users at itk.org ??: Re: [ITK-users] watershed Hello Zou Jing, The itkMorphologicalWatershedFromMarkersImageFilter was recently moved from the review module to the watershed module. If you are using a recent version of ITK (4.12rc01, 4.12rc02), the filter you are looking for will be in the watershed module. Otherwise it should be in the review module. Hope this helps, Francois On Thu, May 18, 2017 at 4:19 AM, Zou Jing > wrote: Dear all I want to segment CTA images using watershed algorithm, The result of WatershedSegmentation2.cxx was not ideal. I find that someone use itkMorphologicalWatershedFromMarkersImageFilter, but I cannot find that. Could anyone help me? Thanks. _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 cr at neuro.ma.uni-heidelberg.de Fri May 19 01:53:48 2017 From: cr at neuro.ma.uni-heidelberg.de (Chr. Rossmanith) Date: Fri, 19 May 2017 07:53:48 +0200 Subject: [ITK] =?utf-8?b?W0lUSy11c2Vyc10g562U5aSNOiDnrZTlpI06IHdhdGVyc2hl?= =?utf-8?q?d?= In-Reply-To: References: Message-ID: <9d822304-3273-50ab-da48-9f89b0d24a44@neuro.ma.uni-heidelberg.de> It's an option in cmake: Module_ITKReview, you have to toggle to advanced mode (t in ccmake) to find it. Christina On 19.05.2017 05:27, Zou Jing wrote: > > Thank you. > > I am sorry that I don't know how to enable "review". > > I'm a novice. > > Can you help me?Thanks very much. > > ------------------------------------------------------------------------ > *???:* Richard Beare > *????:* 2017?5?19? 11:12:30 > *???:* Zou Jing > *??:* Francois Budin; insight-users at itk.org > *??:* Re: [ITK-users] ??: watershed > You will need to enable "review" to get morphological watershed in 4.11 > > On Fri, May 19, 2017 at 12:10 PM, Zou Jing > wrote: > > Hi, Francois > > Thank you very much. > > The version of my ITK is 4.11.0. I checked the watershed module, > but there is no such thing as > itkMorphologicalWatershedFromMarkersImageFilter. > > I just found itkIsolatedWatershedImageFilterTest.cxx, > itkTobogganImageFilterTest.cxx and itkWatershedImageFilterTest.cxx > in the test folder. > > ------------------------------------------------------------------------ > *???:* Francois Budin > > *????:* 2017?5?18? 20:21:41 > *???:* Zou Jing > *??:* insight-users at itk.org > *??:* Re: [ITK-users] watershed > Hello Zou Jing, > > The itkMorphologicalWatershedFromMarkersImageFilter was recently > moved from the review module to the watershed module. If you are > using a recent version of ITK (4.12rc01, 4.12rc02), the filter you > are looking for will be in the watershed module. Otherwise it > should be in the review module. > > Hope this helps, > Francois > > On Thu, May 18, 2017 at 4:19 AM, Zou Jing > wrote: > > Dear all > I want to segment CTA images using watershed algorithm, > The result of WatershedSegmentation2.cxx was not ideal. I find > that someone > use itkMorphologicalWatershedFromMarkersImageFilter, but I > cannot find that. > Could anyone help me? > Thanks. > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.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 > > > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 zjinger at hotmail.com Fri May 19 03:14:36 2017 From: zjinger at hotmail.com (Zou Jing) Date: Fri, 19 May 2017 07:14:36 +0000 Subject: [ITK] =?gb2312?b?W0lUSy11c2Vyc10gtPC4tDogILTwuLQ6ILTwuLQ6IHdhdGVy?= =?gb2312?b?c2hlZA==?= In-Reply-To: <9d822304-3273-50ab-da48-9f89b0d24a44@neuro.ma.uni-heidelberg.de> References: , <9d822304-3273-50ab-da48-9f89b0d24a44@neuro.ma.uni-heidelberg.de> Message-ID: Thank you,I've enabled that in CMake. But I still cannot find itkMorphologicalWatershedFromMarkersImageFilter ________________________________ ???: Insight-users ?? Chr. Rossmanith ????: 2017?5?19? 13:53:48 ???: insight-users at itk.org ??: Re: [ITK-users] ??: ??: watershed It's an option in cmake: Module_ITKReview, you have to toggle to advanced mode (t in ccmake) to find it. Christina On 19.05.2017 05:27, Zou Jing wrote: Thank you. I am sorry that I don't know how to enable "review". I'm a novice. Can you help me?Thanks very much. ________________________________ ???: Richard Beare ????: 2017?5?19? 11:12:30 ???: Zou Jing ??: Francois Budin; insight-users at itk.org ??: Re: [ITK-users] ??: watershed You will need to enable "review" to get morphological watershed in 4.11 On Fri, May 19, 2017 at 12:10 PM, Zou Jing > wrote: Hi, Francois Thank you very much. The version of my ITK is 4.11.0. I checked the watershed module, but there is no such thing as itkMorphologicalWatershedFromMarkersImageFilter. I just found itkIsolatedWatershedImageFilterTest.cxx, itkTobogganImageFilterTest.cxx and itkWatershedImageFilterTest.cxx in the test folder. ________________________________ ???: Francois Budin > ????: 2017?5?18? 20:21:41 ???: Zou Jing ??: insight-users at itk.org ??: Re: [ITK-users] watershed Hello Zou Jing, The itkMorphologicalWatershedFromMarkersImageFilter was recently moved from the review module to the watershed module. If you are using a recent version of ITK (4.12rc01, 4.12rc02), the filter you are looking for will be in the watershed module. Otherwise it should be in the review module. Hope this helps, Francois On Thu, May 18, 2017 at 4:19 AM, Zou Jing > wrote: Dear all I want to segment CTA images using watershed algorithm, The result of WatershedSegmentation2.cxx was not ideal. I find that someone use itkMorphologicalWatershedFromMarkersImageFilter, but I cannot find that. Could anyone help me? Thanks. _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 francois.budin at kitware.com Fri May 19 08:46:53 2017 From: francois.budin at kitware.com (Francois Budin) Date: Fri, 19 May 2017 08:46:53 -0400 Subject: [ITK] =?utf-8?b?W0lUSy11c2Vyc10g562U5aSNOiDnrZTlpI06IOetlOWkjTog?= =?utf-8?q?watershed?= In-Reply-To: References: <9d822304-3273-50ab-da48-9f89b0d24a44@neuro.ma.uni-heidelberg.de> Message-ID: Hello Zou Jing, What do you mean by the fact that you cannot find the filter? Do you have compilation errors? Or you cannot find the implementation of the filter in ITK? If it is the latter, you can find the filter is here [1] Let me know if this helps, Francois [1] https://github.com/InsightSoftwareConsortium/ITK/blob/v4.11.0/Modules/Nonunit/Review/include/itkMorphologicalWatershedFromMarkersImageFilter.hxx On Fri, May 19, 2017 at 3:14 AM, Zou Jing wrote: > Thank you,I've enabled that in CMake. > > But I still cannot find itkMorphologicalWatershedFromMarkersImageFilter > ------------------------------ > *???:* Insight-users ?? Chr. Rossmanith < > cr at neuro.ma.uni-heidelberg.de> > *????:* 2017?5?19? 13:53:48 > *???:* insight-users at itk.org > *??:* Re: [ITK-users] ??: ??: watershed > > It's an option in cmake: Module_ITKReview, you have to toggle to advanced > mode (t in ccmake) to find it. > > Christina > > On 19.05.2017 05:27, Zou Jing wrote: > > Thank you. > > I am sorry that I don't know how to enable "review". > > I'm a novice. > > Can you help me?Thanks very much. > ------------------------------ > *???:* Richard Beare > *????:* 2017?5?19? 11:12:30 > *???:* Zou Jing > *??:* Francois Budin; insight-users at itk.org > *??:* Re: [ITK-users] ??: watershed > > You will need to enable "review" to get morphological watershed in 4.11 > > On Fri, May 19, 2017 at 12:10 PM, Zou Jing wrote: > >> Hi, Francois >> >> Thank you very much. >> >> The version of my ITK is 4.11.0. I checked the watershed module, but >> there is no such thing as itkMorphologicalWatershedFr >> omMarkersImageFilter. >> >> I just found itkIsolatedWatershedImageFilterTest.cxx, itkTobogganImageFilterTest.cxx >> and itkWatershedImageFilterTest.cxx in the test folder. >> ------------------------------ >> *???:* Francois Budin >> *????:* 2017?5?18? 20:21:41 >> *???:* Zou Jing >> *??:* insight-users at itk.org >> *??:* Re: [ITK-users] watershed >> >> Hello Zou Jing, >> >> The itkMorphologicalWatershedFromMarkersImageFilter was recently moved >> from the review module to the watershed module. If you are using a recent >> version of ITK (4.12rc01, 4.12rc02), the filter you are looking for will be >> in the watershed module. Otherwise it should be in the review module. >> >> Hope this helps, >> Francois >> >> On Thu, May 18, 2017 at 4:19 AM, Zou Jing wrote: >> >>> Dear all >>> I want to segment CTA images using watershed algorithm, The result >>> of WatershedSegmentation2.cxx was not ideal. I find that someone >>> use itkMorphologicalWatershedFromMarkersImageFilter, but I cannot find >>> that. >>> Could anyone help me? >>> Thanks. >>> >>> >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.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 >> >> > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects athttp://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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 alb.net at gmail.com Fri May 19 09:19:17 2017 From: alb.net at gmail.com (Dorian P.) Date: Fri, 19 May 2017 09:19:17 -0400 Subject: [ITK] [ITK-users] Cannot save files ending '.img.nii.gz' Message-ID: I sent my first message a couple of days ago but I'm not sure it reached the ITK community. I use ANTs(R) which relies on ITK. When I try to save images ending in '.img.nii.gz' I end up getting files with a different extension '.hdr.gz'. These files are then unusuable, they cannot open anymore with ITK software (ANTsR, ITKsnap). Can you have a look if this is a bug, so maybe this can be fixed in the future? Dorian -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 alb.net at gmail.com Fri May 19 09:24:33 2017 From: alb.net at gmail.com (Dorian P.) Date: Fri, 19 May 2017 09:24:33 -0400 Subject: [ITK] [ITK-dev] Cannot write files ending '.img.nii.gz' Message-ID: I sent this in ITK users list, just forwarding it to developers as well. I use ANTs(R) which relies on ITK. When I try to save images ending in '.img.nii.gz' I end up getting files with a different extension '.hdr.gz'. These files are then unusuable, they cannot open anymore with ITK software (ANTsR, ITKsnap). Can you have a look if this is a bug that can be fixed in the near future? -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From francois.budin at kitware.com Fri May 19 13:28:52 2017 From: francois.budin at kitware.com (Francois Budin) Date: Fri, 19 May 2017 13:28:52 -0400 Subject: [ITK] [ITK-dev] Cannot write files ending '.img.nii.gz' In-Reply-To: References: Message-ID: Hello Dorian, ITK support a large number of file extensions including .hdr, .nii, .nii.gz. .hdr files are saved with a .img file (.hdr is the header and .img is the data. ITK decides which file format to save your data as based on the extension in the filename you provide. Since image format extensions can contain multiple "." (such as .nii.gz), it relies on finding the first "." and finds the extension name from there, thus the problem you are having. You may want to change the file name you save your file as, and either chose .img or .nii.gz, but not both. Hope this helps, Francois On Fri, May 19, 2017 at 9:24 AM, Dorian P. wrote: > I sent this in ITK users list, just forwarding it to developers as well. > > I use ANTs(R) which relies on ITK. When I try to save images ending in > '.img.nii.gz' I end up getting files with a different extension '.hdr.gz'. > These files are then unusuable, they cannot open anymore with ITK software > (ANTsR, ITKsnap). > > Can you have a look if this is a bug that can be fixed in the near future? > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://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-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From zjinger at hotmail.com Fri May 19 23:37:00 2017 From: zjinger at hotmail.com (Zou Jing) Date: Sat, 20 May 2017 03:37:00 +0000 Subject: [ITK] =?gb2312?b?W0lUSy11c2Vyc10gtPC4tDogILTwuLQ6ILTwuLQ6ILTwuLQ6?= =?gb2312?b?IHdhdGVyc2hlZA==?= In-Reply-To: References: <9d822304-3273-50ab-da48-9f89b0d24a44@neuro.ma.uni-heidelberg.de> , Message-ID: Thank you very much. I've found the filter, but I have trouble in implementing it. Have you ever tested that. My error is this: Debug Error! Program: ...Debug\itkMorphologicalWatershedFromMarkersImageFilterTest.exe R6010 -abort() has been called (Please Retry to debug the application) ________________________________ ???: Francois Budin ????: 2017?5?19? 20:46:53 ???: Zou Jing ??: Chr. Rossmanith; insight-users at itk.org ??: Re: [ITK-users] ??: ??: ??: watershed Hello Zou Jing, What do you mean by the fact that you cannot find the filter? Do you have compilation errors? Or you cannot find the implementation of the filter in ITK? If it is the latter, you can find the filter is here [1] Let me know if this helps, Francois [1] https://github.com/InsightSoftwareConsortium/ITK/blob/v4.11.0/Modules/Nonunit/Review/include/itkMorphologicalWatershedFromMarkersImageFilter.hxx [https://avatars0.githubusercontent.com/u/319479?v=3&s=400] InsightSoftwareConsortium/ITK github.com ITK - Insight Segmentation and Registration Toolkit -- Mirror On Fri, May 19, 2017 at 3:14 AM, Zou Jing > wrote: Thank you,I've enabled that in CMake. But I still cannot find itkMorphologicalWatershedFromMarkersImageFilter ________________________________ ???: Insight-users > ?? Chr. Rossmanith > ????: 2017?5?19? 13:53:48 ???: insight-users at itk.org ??: Re: [ITK-users] ??: ??: watershed It's an option in cmake: Module_ITKReview, you have to toggle to advanced mode (t in ccmake) to find it. Christina On 19.05.2017 05:27, Zou Jing wrote: Thank you. I am sorry that I don't know how to enable "review". I'm a novice. Can you help me?Thanks very much. ________________________________ ???: Richard Beare ????: 2017?5?19? 11:12:30 ???: Zou Jing ??: Francois Budin; insight-users at itk.org ??: Re: [ITK-users] ??: watershed You will need to enable "review" to get morphological watershed in 4.11 On Fri, May 19, 2017 at 12:10 PM, Zou Jing > wrote: Hi, Francois Thank you very much. The version of my ITK is 4.11.0. I checked the watershed module, but there is no such thing as itkMorphologicalWatershedFromMarkersImageFilter. I just found itkIsolatedWatershedImageFilterTest.cxx, itkTobogganImageFilterTest.cxx and itkWatershedImageFilterTest.cxx in the test folder. ________________________________ ???: Francois Budin > ????: 2017?5?18? 20:21:41 ???: Zou Jing ??: insight-users at itk.org ??: Re: [ITK-users] watershed Hello Zou Jing, The itkMorphologicalWatershedFromMarkersImageFilter was recently moved from the review module to the watershed module. If you are using a recent version of ITK (4.12rc01, 4.12rc02), the filter you are looking for will be in the watershed module. Otherwise it should be in the review module. Hope this helps, Francois On Thu, May 18, 2017 at 4:19 AM, Zou Jing > wrote: Dear all I want to segment CTA images using watershed algorithm, The result of WatershedSegmentation2.cxx was not ideal. I find that someone use itkMorphologicalWatershedFromMarkersImageFilter, but I cannot find that. Could anyone help me? Thanks. _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 zjinger at hotmail.com Sat May 20 02:55:28 2017 From: zjinger at hotmail.com (Zou Jing) Date: Sat, 20 May 2017 06:55:28 +0000 Subject: [ITK] =?gb2312?b?W0lUSy11c2Vyc10gtPC4tDogILTwuLQ6ILTwuLQ6ILTwuLQ6?= =?gb2312?b?IHdhdGVyc2hlZA==?= In-Reply-To: References: <9d822304-3273-50ab-da48-9f89b0d24a44@neuro.ma.uni-heidelberg.de> , , Message-ID: Hello, Now I can run the program, but the result image is all write. ________________________________ ???: Zou Jing ????: 2017?5?20? 11:37:00 ???: Francois Budin ??: Chr. Rossmanith; insight-users at itk.org ??: ??: [ITK-users] ??: ??: ??: watershed Thank you very much. I've found the filter, but I have trouble in implementing it. Have you ever tested that. My error is this: Debug Error! Program: ...Debug\itkMorphologicalWatershedFromMarkersImageFilterTest.exe R6010 -abort() has been called (Please Retry to debug the application) ________________________________ ???: Francois Budin ????: 2017?5?19? 20:46:53 ???: Zou Jing ??: Chr. Rossmanith; insight-users at itk.org ??: Re: [ITK-users] ??: ??: ??: watershed Hello Zou Jing, What do you mean by the fact that you cannot find the filter? Do you have compilation errors? Or you cannot find the implementation of the filter in ITK? If it is the latter, you can find the filter is here [1] Let me know if this helps, Francois [1] https://github.com/InsightSoftwareConsortium/ITK/blob/v4.11.0/Modules/Nonunit/Review/include/itkMorphologicalWatershedFromMarkersImageFilter.hxx [https://avatars0.githubusercontent.com/u/319479?v=3&s=400] InsightSoftwareConsortium/ITK github.com ITK - Insight Segmentation and Registration Toolkit -- Mirror On Fri, May 19, 2017 at 3:14 AM, Zou Jing > wrote: Thank you,I've enabled that in CMake. But I still cannot find itkMorphologicalWatershedFromMarkersImageFilter ________________________________ ???: Insight-users > ?? Chr. Rossmanith > ????: 2017?5?19? 13:53:48 ???: insight-users at itk.org ??: Re: [ITK-users] ??: ??: watershed It's an option in cmake: Module_ITKReview, you have to toggle to advanced mode (t in ccmake) to find it. Christina On 19.05.2017 05:27, Zou Jing wrote: Thank you. I am sorry that I don't know how to enable "review". I'm a novice. Can you help me?Thanks very much. ________________________________ ???: Richard Beare ????: 2017?5?19? 11:12:30 ???: Zou Jing ??: Francois Budin; insight-users at itk.org ??: Re: [ITK-users] ??: watershed You will need to enable "review" to get morphological watershed in 4.11 On Fri, May 19, 2017 at 12:10 PM, Zou Jing > wrote: Hi, Francois Thank you very much. The version of my ITK is 4.11.0. I checked the watershed module, but there is no such thing as itkMorphologicalWatershedFromMarkersImageFilter. I just found itkIsolatedWatershedImageFilterTest.cxx, itkTobogganImageFilterTest.cxx and itkWatershedImageFilterTest.cxx in the test folder. ________________________________ ???: Francois Budin > ????: 2017?5?18? 20:21:41 ???: Zou Jing ??: insight-users at itk.org ??: Re: [ITK-users] watershed Hello Zou Jing, The itkMorphologicalWatershedFromMarkersImageFilter was recently moved from the review module to the watershed module. If you are using a recent version of ITK (4.12rc01, 4.12rc02), the filter you are looking for will be in the watershed module. Otherwise it should be in the review module. Hope this helps, Francois On Thu, May 18, 2017 at 4:19 AM, Zou Jing > wrote: Dear all I want to segment CTA images using watershed algorithm, The result of WatershedSegmentation2.cxx was not ideal. I find that someone use itkMorphologicalWatershedFromMarkersImageFilter, but I cannot find that. Could anyone help me? Thanks. _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 wangkaiwen998 at gmail.com Sat May 20 15:04:58 2017 From: wangkaiwen998 at gmail.com (kaiwenw) Date: Sat, 20 May 2017 12:04:58 -0700 (MST) Subject: [ITK] [ITK-users] Measure of geodesic (metric) distances for shape interpolation with deformable registration. Message-ID: <1495307098353-7589962.post@n2.nabble.com> Dear ITK Community, I was able to code up deformable registration with BSpline. Now, I'm looking for a measure of metric distances of the deformation. This will allow me to deform the moving shape along the geodesic (to the fixed shape) and stop whenever I wish (allowing me to interpolate between shapes). For example, the result I'm looking for is shown in the image by Rohde et al., 2007: They used LDDMM, but ITK does not have LDDMM (which is why I'm using BSpline for non-rigid registration). If this shape interpolation is not available with BSpline registration, is it possible with other ITK registration methods? Thanks all! -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Measure-of-geodesic-metric-distances-for-shape-interpolation-with-deformable-registration-tp7589962.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 matt.mccormick at kitware.com Sat May 20 16:22:01 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Sat, 20 May 2017 16:22:01 -0400 Subject: [ITK] [ITK-users] Measure of geodesic (metric) distances for shape interpolation with deformable registration. In-Reply-To: <1495307098353-7589962.post@n2.nabble.com> References: <1495307098353-7589962.post@n2.nabble.com> Message-ID: Hi there, ITKv4 has LDDMM-like velocity field registration. For more information, see [1]. HTH, Matt [1] http://journal.frontiersin.org/article/10.3389/fninf.2014.00044/full On Sat, May 20, 2017 at 3:04 PM, kaiwenw wrote: > Dear ITK Community, > > I was able to code up deformable registration with BSpline. > Now, I'm looking for a measure of metric distances of the deformation. This > will allow me to deform the moving shape along the geodesic (to the fixed > shape) and stop whenever I wish (allowing me to interpolate between shapes). > > For example, the result I'm looking for is shown in the image by Rohde et > al., 2007: > > > They used LDDMM, but ITK does not have LDDMM (which is why I'm using BSpline > for non-rigid registration). If this shape interpolation is not available > with BSpline registration, is it possible with other ITK registration > methods? > > Thanks all! > > > > > -- > View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Measure-of-geodesic-metric-distances-for-shape-interpolation-with-deformable-registration-tp7589962.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 From wangkaiwen998 at gmail.com Sat May 20 22:53:00 2017 From: wangkaiwen998 at gmail.com (kaiwenw) Date: Sat, 20 May 2017 19:53:00 -0700 (MST) Subject: [ITK] [ITK-users] Measure of geodesic (metric) distances for shape interpolation with deformable registration. In-Reply-To: References: <1495307098353-7589962.post@n2.nabble.com> Message-ID: <1495335180585-7589964.post@n2.nabble.com> Dear Matt, Thanks for the quick response! I have seen the article before (and now I read through it again), but I could not find a function that calculates such geodesic distances between shapes or a function that morphs the moving shape to a specified distance. Though, after this read, I saw that there is a itkTimeVaryingBSplineVelocityFieldImageRegistrationTest.cxx file. So I suppose there exists such a technique for BSpline registration? Could you kindly point me into the right direction? I am kind of new to the ITK framework. Also, just for additional information: I am using the Python wrapped SimpleITK. Thanks! Kevin -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Measure-of-geodesic-metric-distances-for-shape-interpolation-with-deformable-registration-tp7589962p7589964.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 francois.budin at kitware.com Sun May 21 20:03:49 2017 From: francois.budin at kitware.com (Francois Budin) Date: Sun, 21 May 2017 20:03:49 -0400 Subject: [ITK] =?utf-8?b?W0lUSy11c2Vyc10g562U5aSNOiAg562U5aSNOiDnrZTlpI06?= =?utf-8?b?IOetlOWkjTogd2F0ZXJzaGVk?= In-Reply-To: References: <9d822304-3273-50ab-da48-9f89b0d24a44@neuro.ma.uni-heidelberg.de> Message-ID: Hello, I am glad you were able to run the program. It can be difficult to find the correct parameters to obtain the desired results. You can read the Insight Journal publication associated to this filter [1] to understand which parameters are available and how to integrate this filter in a pipeline. You can also look at the ITK tests for that filter to see the values that are used in that case [2][3]. Hope this helps, Francois [1] http://www.insight-journal.org/browse/publication/92 [2] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Segmentation/Watersheds/test/CMakeLists.txt#L31-L55 [3] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Segmentation/Watersheds/test/itkMorphologicalWatershedFromMarkersImageFilterTest.cxx On Sat, May 20, 2017 at 2:55 AM, Zou Jing wrote: > Hello, > > Now I can run the program, but the result image is all write. > ------------------------------ > *???:* Zou Jing > *????:* 2017?5?20? 11:37:00 > *???:* Francois Budin > *??:* Chr. Rossmanith; insight-users at itk.org > *??:* ??: [ITK-users] ??: ??: ??: watershed > > > Thank you very much. > > I've found the filter, but I have trouble in implementing it. > > Have you ever tested that. > > My error is this: > > Debug Error! > > Program: > > ...Debug\itkMorphologicalWatershedFromMarkersImageFilterTest.exe > > R6010 > -abort() has been called > > (Please Retry to debug the application) > > > ------------------------------ > *???:* Francois Budin > *????:* 2017?5?19? 20:46:53 > *???:* Zou Jing > *??:* Chr. Rossmanith; insight-users at itk.org > *??:* Re: [ITK-users] ??: ??: ??: watershed > > Hello Zou Jing, > > What do you mean by the fact that you cannot find the filter? Do you have > compilation errors? Or you cannot find the implementation of the filter in > ITK? If it is the latter, you can find the filter is here [1] > Let me know if this helps, > > Francois > [1] https://github.com/InsightSoftwareConsortium/ITK/ > blob/v4.11.0/Modules/Nonunit/Review/include/itkMorphologicalWatershedFromM > arkersImageFilter.hxx > > > InsightSoftwareConsortium/ITK > > github.com > ITK - Insight Segmentation and Registration Toolkit -- Mirror > > > > On Fri, May 19, 2017 at 3:14 AM, Zou Jing wrote: > >> Thank you,I've enabled that in CMake. >> >> But I still cannot find itkMorphologicalWatershedFromMarkersImageFilter >> ------------------------------ >> *???:* Insight-users ?? Chr. Rossmanith < >> cr at neuro.ma.uni-heidelberg.de> >> *????:* 2017?5?19? 13:53:48 >> *???:* insight-users at itk.org >> *??:* Re: [ITK-users] ??: ??: watershed >> >> It's an option in cmake: Module_ITKReview, you have to toggle to advanced >> mode (t in ccmake) to find it. >> >> Christina >> >> On 19.05.2017 05:27, Zou Jing wrote: >> >> Thank you. >> >> I am sorry that I don't know how to enable "review". >> >> I'm a novice. >> >> Can you help me?Thanks very much. >> ------------------------------ >> *???:* Richard Beare >> *????:* 2017?5?19? 11:12:30 >> *???:* Zou Jing >> *??:* Francois Budin; insight-users at itk.org >> *??:* Re: [ITK-users] ??: watershed >> >> You will need to enable "review" to get morphological watershed in 4.11 >> >> On Fri, May 19, 2017 at 12:10 PM, Zou Jing wrote: >> >>> Hi, Francois >>> >>> Thank you very much. >>> >>> The version of my ITK is 4.11.0. I checked the watershed module, but >>> there is no such thing as itkMorphologicalWatershedFr >>> omMarkersImageFilter. >>> >>> I just found itkIsolatedWatershedImageFilterTest.cxx, itkTobogganImageFilterTest.cxx >>> and itkWatershedImageFilterTest.cxx in the test folder. >>> ------------------------------ >>> *???:* Francois Budin >>> *????:* 2017?5?18? 20:21:41 >>> *???:* Zou Jing >>> *??:* insight-users at itk.org >>> *??:* Re: [ITK-users] watershed >>> >>> Hello Zou Jing, >>> >>> The itkMorphologicalWatershedFromMarkersImageFilter was recently moved >>> from the review module to the watershed module. If you are using a recent >>> version of ITK (4.12rc01, 4.12rc02), the filter you are looking for will be >>> in the watershed module. Otherwise it should be in the review module. >>> >>> Hope this helps, >>> Francois >>> >>> On Thu, May 18, 2017 at 4:19 AM, Zou Jing wrote: >>> >>>> Dear all >>>> I want to segment CTA images using watershed algorithm, The result >>>> of WatershedSegmentation2.cxx was not ideal. I find that someone >>>> use itkMorphologicalWatershedFromMarkersImageFilter, but I cannot find >>>> that. >>>> Could anyone help me? >>>> Thanks. >>>> >>>> >>>> >>>> _____________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Kitware offers ITK Training Courses, for more information visit: >>>> http://www.kitware.com/products/protraining.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 >>> >>> >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects athttp://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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 zjinger at hotmail.com Sun May 21 20:39:35 2017 From: zjinger at hotmail.com (Zou Jing) Date: Mon, 22 May 2017 00:39:35 +0000 Subject: [ITK] =?gb2312?b?W0lUSy11c2Vyc10gtPC4tDogtPC4tDogILTwuLQ6ILTwuLQ6?= =?gb2312?b?ILTwuLQ6IHdhdGVyc2hlZA==?= In-Reply-To: References: <9d822304-3273-50ab-da48-9f89b0d24a44@neuro.ma.uni-heidelberg.de> , Message-ID: Thank you so much for your help. I will read that paper and try again. ________________________________ ???: Francois Budin ????: 2017?5?22? 8:03:49 ???: Zou Jing ??: Chr. Rossmanith; insight-users at itk.org ??: Re: ??: [ITK-users] ??: ??: ??: watershed Hello, I am glad you were able to run the program. It can be difficult to find the correct parameters to obtain the desired results. You can read the Insight Journal publication associated to this filter [1] to understand which parameters are available and how to integrate this filter in a pipeline. You can also look at the ITK tests for that filter to see the values that are used in that case [2][3]. Hope this helps, Francois [1] http://www.insight-journal.org/browse/publication/92 [2] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Segmentation/Watersheds/test/CMakeLists.txt#L31-L55 [3] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Segmentation/Watersheds/test/itkMorphologicalWatershedFromMarkersImageFilterTest.cxx On Sat, May 20, 2017 at 2:55 AM, Zou Jing > wrote: Hello, Now I can run the program, but the result image is all write. ________________________________ ???: Zou Jing ????: 2017?5?20? 11:37:00 ???: Francois Budin ??: Chr. Rossmanith; insight-users at itk.org ??: ??: [ITK-users] ??: ??: ??: watershed Thank you very much. I've found the filter, but I have trouble in implementing it. Have you ever tested that. My error is this: Debug Error! Program: ...Debug\itkMorphologicalWatershedFromMarkersImageFilterTest.exe R6010 -abort() has been called (Please Retry to debug the application) ________________________________ ???: Francois Budin > ????: 2017?5?19? 20:46:53 ???: Zou Jing ??: Chr. Rossmanith; insight-users at itk.org ??: Re: [ITK-users] ??: ??: ??: watershed Hello Zou Jing, What do you mean by the fact that you cannot find the filter? Do you have compilation errors? Or you cannot find the implementation of the filter in ITK? If it is the latter, you can find the filter is here [1] Let me know if this helps, Francois [1] https://github.com/InsightSoftwareConsortium/ITK/blob/v4.11.0/Modules/Nonunit/Review/include/itkMorphologicalWatershedFromMarkersImageFilter.hxx [https://avatars0.githubusercontent.com/u/319479?v=3&s=400] InsightSoftwareConsortium/ITK github.com ITK - Insight Segmentation and Registration Toolkit -- Mirror On Fri, May 19, 2017 at 3:14 AM, Zou Jing > wrote: Thank you,I've enabled that in CMake. But I still cannot find itkMorphologicalWatershedFromMarkersImageFilter ________________________________ ???: Insight-users > ?? Chr. Rossmanith > ????: 2017?5?19? 13:53:48 ???: insight-users at itk.org ??: Re: [ITK-users] ??: ??: watershed It's an option in cmake: Module_ITKReview, you have to toggle to advanced mode (t in ccmake) to find it. Christina On 19.05.2017 05:27, Zou Jing wrote: Thank you. I am sorry that I don't know how to enable "review". I'm a novice. Can you help me?Thanks very much. ________________________________ ???: Richard Beare ????: 2017?5?19? 11:12:30 ???: Zou Jing ??: Francois Budin; insight-users at itk.org ??: Re: [ITK-users] ??: watershed You will need to enable "review" to get morphological watershed in 4.11 On Fri, May 19, 2017 at 12:10 PM, Zou Jing > wrote: Hi, Francois Thank you very much. The version of my ITK is 4.11.0. I checked the watershed module, but there is no such thing as itkMorphologicalWatershedFromMarkersImageFilter. I just found itkIsolatedWatershedImageFilterTest.cxx, itkTobogganImageFilterTest.cxx and itkWatershedImageFilterTest.cxx in the test folder. ________________________________ ???: Francois Budin > ????: 2017?5?18? 20:21:41 ???: Zou Jing ??: insight-users at itk.org ??: Re: [ITK-users] watershed Hello Zou Jing, The itkMorphologicalWatershedFromMarkersImageFilter was recently moved from the review module to the watershed module. If you are using a recent version of ITK (4.12rc01, 4.12rc02), the filter you are looking for will be in the watershed module. Otherwise it should be in the review module. Hope this helps, Francois On Thu, May 18, 2017 at 4:19 AM, Zou Jing > wrote: Dear all I want to segment CTA images using watershed algorithm, The result of WatershedSegmentation2.cxx was not ideal. I find that someone use itkMorphologicalWatershedFromMarkersImageFilter, but I cannot find that. Could anyone help me? Thanks. _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 jonasteuwen at gmail.com Mon May 22 05:59:01 2017 From: jonasteuwen at gmail.com (Jonas Teuwen) Date: Mon, 22 May 2017 11:59:01 +0200 Subject: [ITK] [ITK-users] CropImageFilter, multithreading Message-ID: Dear all, Currently I have SimpleITK code to extract patches from a 3D medical image to train a neural network with. I do this with CropImageFilter and check if they are on the edge or not, and pad if necessary. Currently this is done offline, so speed is not really an issue, however, I would like to do this online now, so load the image and mask, and return the patches. If I want to extract many small patches, about 1000 out of a large image (~3000x3000x50 or so) is there any reason why I would not use OpenMP instead of ITK's possibilities? I do not have a good understanding of the multithreading capabilities yet, so any pointers would be great. Best, Jonas Teuwen -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 Mon May 22 10:46:40 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Mon, 22 May 2017 14:46:40 +0000 Subject: [ITK] [ITK-users] CropImageFilter, multithreading In-Reply-To: References: Message-ID: <9248B622-2290-44FA-BAE6-89377AB1FEF7@mail.nih.gov> Hello Jonas, So ITK ( and therefore SimpleITK ), by default multi-thread each filter by default. This enables efficient processing of larger images. However, for your task you can run a large number of filters concurrently. Fortunately, SimpleITK does support concurrent execution of ITK filters with light weight python Threads! This is an uncommon feature for Python libraries and is a distinguishing feature of SimpleITK. I have been planning on writing an example or notebook on this. Here is an efficient and compact code to accomplish your task as I understand it: import SimpleITK as sitk from multiprocessing.pool import ThreadPool p = ThreadPool() # https://github.com/blowekamp/itkOBBLabelMap/tree/master/test/data img = sitk.ReadImage(?~/Downloads/jelly_beans.png") seg = sitk.ReadImage(?~/Downloads/jelly_beans_seg.png?) shapeStats = sitk.LabelShapeStatisticsImageFilter() shapeStats.Execute(seg) def extract_bb(img, shape_stats_filter, label): [x,y,xsize,ysize]=shape_stats_filter.GetBoundingBox(label) return sitk.RegionOfInterest(img,size=[xsize,ysize],index=[x,y]) bbimg_list = p.map(lambda label: extract_bb(img, shapeStats, label), shapeStats.GetLabels()) This uses advance concepts of multi-threading, closures, mapping, and thread pools. I think it is the integration of SimpleITK any Python at its bests! One tweak which could be made to this code is to create a RegionOfInterestImageFilter object, and explicitly set it?s number of threads to 1, so that it is not multi-threaded. A related not is the recently Oriented Bounding Box computation has been added to ITK?s LabelShape objects and filters, this is starting to get propagated into SimpleITK now. This can be used for a similar purpose but with a resample image filter to change the orientation of the separate object. Enjoy! Brad On May 22, 2017, at 5:59 AM, Jonas Teuwen > wrote: Dear all, Currently I have SimpleITK code to extract patches from a 3D medical image to train a neural network with. I do this with CropImageFilter and check if they are on the edge or not, and pad if necessary. Currently this is done offline, so speed is not really an issue, however, I would like to do this online now, so load the image and mask, and return the patches. If I want to extract many small patches, about 1000 out of a large image (~3000x3000x50 or so) is there any reason why I would not use OpenMP instead of ITK's possibilities? I do not have a good understanding of the multithreading capabilities yet, so any pointers would be great. Best, Jonas Teuwen _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 jonasteuwen at gmail.com Mon May 22 11:05:56 2017 From: jonasteuwen at gmail.com (Jonas Teuwen) Date: Mon, 22 May 2017 17:05:56 +0200 Subject: [ITK] [ITK-users] CropImageFilter, multithreading In-Reply-To: <9248B622-2290-44FA-BAE6-89377AB1FEF7@mail.nih.gov> References: <9248B622-2290-44FA-BAE6-89377AB1FEF7@mail.nih.gov> Message-ID: Hello Brad, That is a very nice example indeed. I will try it and see if that is sufficient for my purposes. As far as I understood the python multithreading, spawning new threads can create quite a bit over overhead compared to say, OpenMP. If I wanted to translate your example to ITK/C++ would a direct translation be the most sensible thing to do, or does ITK have smarter methods for that? Jonas On May 22, 2017 16:46, "Lowekamp, Bradley (NIH/NLM/LHC) [C]" < blowekamp at mail.nih.gov> wrote: Hello Jonas, So ITK ( and therefore SimpleITK ), by default multi-thread each filter by default. This enables efficient processing of larger images. However, for your task you can run a large number of filters concurrently. Fortunately, SimpleITK does support concurrent execution of ITK filters with light weight python Threads! This is an uncommon feature for Python libraries and is a distinguishing feature of SimpleITK. I have been planning on writing an example or notebook on this. Here is an efficient and compact code to accomplish your task as I understand it: import SimpleITK as sitk from multiprocessing.pool import ThreadPool p = ThreadPool() # https://github.com/blowekamp/itkOBBLabelMap/tree/master/test/data img = sitk.ReadImage(?~/Downloads/jelly_beans.png") seg = sitk.ReadImage(?~/Downloads/jelly_beans_seg.png?) shapeStats = sitk.LabelShapeStatisticsImageFilter() shapeStats.Execute(seg) def extract_bb(img, shape_stats_filter, label): [x,y,xsize,ysize]=shape_stats_filter.GetBoundingBox(label) return sitk.RegionOfInterest(img,size=[xsize,ysize],index=[x,y]) bbimg_list = p.map(lambda label: extract_bb(img, shapeStats, label), shapeStats.GetLabels()) This uses advance concepts of multi-threading, closures, mapping, and thread pools. I think it is the integration of SimpleITK any Python at its bests! One tweak which could be made to this code is to create a RegionOfInterestImageFilter object, and explicitly set it?s number of threads to 1, so that it is not multi-threaded. A related not is the recently Oriented Bounding Box computation has been added to ITK?s LabelShape objects and filters, this is starting to get propagated into SimpleITK now. This can be used for a similar purpose but with a resample image filter to change the orientation of the separate object. Enjoy! Brad On May 22, 2017, at 5:59 AM, Jonas Teuwen wrote: Dear all, Currently I have SimpleITK code to extract patches from a 3D medical image to train a neural network with. I do this with CropImageFilter and check if they are on the edge or not, and pad if necessary. Currently this is done offline, so speed is not really an issue, however, I would like to do this online now, so load the image and mask, and return the patches. If I want to extract many small patches, about 1000 out of a large image (~3000x3000x50 or so) is there any reason why I would not use OpenMP instead of ITK's possibilities? I do not have a good understanding of the multithreading capabilities yet, so any pointers would be great. Best, Jonas Teuwen _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 Mon May 22 11:40:37 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Mon, 22 May 2017 15:40:37 +0000 Subject: [ITK] [ITK-users] CropImageFilter, multithreading In-Reply-To: References: <9248B622-2290-44FA-BAE6-89377AB1FEF7@mail.nih.gov> Message-ID: Hello, The below code should be efficient if most of the time is spent in the ITK C++ filters. If most of the time is spent in Python code, or Python libraries which don?t unlock the GIL it may not see a benefit. There are many type of multi-threading in Python, some spawn expensive full processes and duplicate data, like the multiprocessing module. The approach here uses ( and reuses ) light weight threads which share memory, and take advantage of SimpleITK unlocking of the GIL to allow concurrent threads running multiple ITK filters. As I said before this is an uncommon feature in Python libraries, if you did the same operation with numpy, or scikit-image it would not scale at all. In the link in the comment in the sample code below you and can find an ITK module I worked on which was implement these algorithms as ITK filters, and examples which do about the same thing. These methods are mostly composing existing filters in ITK. Composing filters into complex operation and performing parallel computing on small images are areas that I find SimpleITK excels in. Brad On May 22, 2017, at 11:05 AM, Jonas Teuwen > wrote: Hello Brad, That is a very nice example indeed. I will try it and see if that is sufficient for my purposes. As far as I understood the python multithreading, spawning new threads can create quite a bit over overhead compared to say, OpenMP. If I wanted to translate your example to ITK/C++ would a direct translation be the most sensible thing to do, or does ITK have smarter methods for that? Jonas On May 22, 2017 16:46, "Lowekamp, Bradley (NIH/NLM/LHC) [C]" > wrote: Hello Jonas, So ITK ( and therefore SimpleITK ), by default multi-thread each filter by default. This enables efficient processing of larger images. However, for your task you can run a large number of filters concurrently. Fortunately, SimpleITK does support concurrent execution of ITK filters with light weight python Threads! This is an uncommon feature for Python libraries and is a distinguishing feature of SimpleITK. I have been planning on writing an example or notebook on this. Here is an efficient and compact code to accomplish your task as I understand it: import SimpleITK as sitk from multiprocessing.pool import ThreadPool p = ThreadPool() # https://github.com/blowekamp/itkOBBLabelMap/tree/master/test/data img = sitk.ReadImage(?~/Downloads/jelly_beans.png") seg = sitk.ReadImage(?~/Downloads/jelly_beans_seg.png?) shapeStats = sitk.LabelShapeStatisticsImageFilter() shapeStats.Execute(seg) def extract_bb(img, shape_stats_filter, label): [x,y,xsize,ysize]=shape_stats_filter.GetBoundingBox(label) return sitk.RegionOfInterest(img,size=[xsize,ysize],index=[x,y]) bbimg_list = p.map(lambda label: extract_bb(img, shapeStats, label), shapeStats.GetLabels()) This uses advance concepts of multi-threading, closures, mapping, and thread pools. I think it is the integration of SimpleITK any Python at its bests! One tweak which could be made to this code is to create a RegionOfInterestImageFilter object, and explicitly set it?s number of threads to 1, so that it is not multi-threaded. A related not is the recently Oriented Bounding Box computation has been added to ITK?s LabelShape objects and filters, this is starting to get propagated into SimpleITK now. This can be used for a similar purpose but with a resample image filter to change the orientation of the separate object. Enjoy! Brad On May 22, 2017, at 5:59 AM, Jonas Teuwen > wrote: Dear all, Currently I have SimpleITK code to extract patches from a 3D medical image to train a neural network with. I do this with CropImageFilter and check if they are on the edge or not, and pad if necessary. Currently this is done offline, so speed is not really an issue, however, I would like to do this online now, so load the image and mask, and return the patches. If I want to extract many small patches, about 1000 out of a large image (~3000x3000x50 or so) is there any reason why I would not use OpenMP instead of ITK's possibilities? I do not have a good understanding of the multithreading capabilities yet, so any pointers would be great. Best, Jonas Teuwen _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 mrguilfoyle at gmail.com Mon May 22 15:25:09 2017 From: mrguilfoyle at gmail.com (Mathew Guilfoyle) Date: Mon, 22 May 2017 20:25:09 +0100 Subject: [ITK] [ITK-users] How to get inverse diffeomorphic demons deformation field transform? Message-ID: I am using (Simple)ITK DiffeomorphicDemonsRegistrationFilter() to perform deformable registration of two 3D images. This works fine. Output from the filter is 'outImage' vector image which I then convert to a transform using dfTransform = DisplacementFieldTransform(outImage). I can then resample my moving image using this transform and all looks as expected. My reading/understanding of diffeomorphic algorithms is that there should be an exact and readily computable inverse transform? I need this as I want to inverse warp a template segmentation performed on my reference image into the original space of my moving image. How do I obtain the inverse DisplacementFieldTransform or the inverse vector image? I have tried the InvertDisplacementField filter but the output of this does not appear to correctly invert my warped image back to the original so I do not think this filter generates is a n accurate inverse, at least using default settings. Any ideas of if/how I can get an exact inverse of a deformable transform? Thanks _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.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 jonathan.lefman at intel.com Mon May 22 15:26:13 2017 From: jonathan.lefman at intel.com (Lefman, Jonathan) Date: Mon, 22 May 2017 19:26:13 +0000 Subject: [ITK] [ITK-dev] Unsupported protocol error from ExternalData.cmake Message-ID: Hi all, I am building ITK with the cmake arg "-DModule_PerformanceBenchmarking:BOOL=ON". During the make process, I run into a new issue: CMake Error at /home/bw2user1/ITK/CMake/ExternalData.cmake:1113 (message): Object MD5=d72eb9ebf4a60f6cfeaf60717d1926be not found at: https://insightsoftwareconsortium.github.io/ITKTestingData/MD5/d72eb9ebf4a60f6cfeaf60717d1926be ("Unsupported protocol") https://data.kitware.com:443/api/v1/file/hashsum/MD5/d72eb9ebf4a60f6cfeaf60717d1926be/download ("Unsupported protocol") https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=d72eb9ebf4a60f6cfeaf60717d1926be&algorithm=MD5 ("Unsupported protocol") https://itk.org/files/ExternalData/MD5/d72eb9ebf4a60f6cfeaf60717d1926be ("Unsupported protocol") https://slicer.kitware.com/midas3/api/rest?method=midas.bitstream.download&checksum=d72eb9ebf4a60f6cfeaf60717d1926be&algorithm=MD5 ("Unsupported protocol") make[2]: *** [ExternalData/Testing/Data/Baseline/BasicFilters/HeadMRVolumeMaximumProjection0.mha-hash-stamp] Error 1 make[1]: *** [CMakeFiles/ITKData.dir/all] Error 2 make: *** [all] Error 2 Any idea what is happening? Thanks, Jon _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From matt.mccormick at kitware.com Mon May 22 15:41:53 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 22 May 2017 15:41:53 -0400 Subject: [ITK] [ITK-dev] Unsupported protocol error from ExternalData.cmake In-Reply-To: References: Message-ID: Hi Jon, This may be related to using a cmake without https support. Binary downloads from cmake.org: https://cmake.org/download/ have this support enabled. Hope this helps, Matt On Mon, May 22, 2017 at 3:26 PM, Lefman, Jonathan wrote: > Hi all, > > I am building ITK with the cmake arg "-DModule_PerformanceBenchmarking:BOOL=ON". During the make process, I run into a new issue: > > CMake Error at /home/bw2user1/ITK/CMake/ExternalData.cmake:1113 (message): > > > Object MD5=d72eb9ebf4a60f6cfeaf60717d1926be not found at: > > https://insightsoftwareconsortium.github.io/ITKTestingData/MD5/d72eb9ebf4a60f6cfeaf60717d1926be ("Unsupported protocol") > https://data.kitware.com:443/api/v1/file/hashsum/MD5/d72eb9ebf4a60f6cfeaf60717d1926be/download ("Unsupported protocol") > https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=d72eb9ebf4a60f6cfeaf60717d1926be&algorithm=MD5 ("Unsupported protocol") > https://itk.org/files/ExternalData/MD5/d72eb9ebf4a60f6cfeaf60717d1926be ("Unsupported protocol") > https://slicer.kitware.com/midas3/api/rest?method=midas.bitstream.download&checksum=d72eb9ebf4a60f6cfeaf60717d1926be&algorithm=MD5 ("Unsupported protocol") > > > make[2]: *** [ExternalData/Testing/Data/Baseline/BasicFilters/HeadMRVolumeMaximumProjection0.mha-hash-stamp] Error 1 > make[1]: *** [CMakeFiles/ITKData.dir/all] Error 2 > make: *** [all] Error 2 > > Any idea what is happening? > > Thanks, > > Jon > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://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-developers _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From jonathan.lefman at intel.com Mon May 22 15:43:14 2017 From: jonathan.lefman at intel.com (Lefman, Jonathan) Date: Mon, 22 May 2017 19:43:14 +0000 Subject: [ITK] [ITK-dev] Unsupported protocol error from ExternalData.cmake In-Reply-To: References: Message-ID: Thank you for the quick response. I built from source on a brand new machine which may not have the SSL development headers installed. I will utilize the binaries. -Jon -----Original Message----- From: Matt McCormick [mailto:matt.mccormick at kitware.com] Sent: Monday, May 22, 2017 3:42 PM To: Lefman, Jonathan Cc: insight-developers at itk.org Subject: Re: [ITK-dev] Unsupported protocol error from ExternalData.cmake Hi Jon, This may be related to using a cmake without https support. Binary downloads from cmake.org: https://cmake.org/download/ have this support enabled. Hope this helps, Matt On Mon, May 22, 2017 at 3:26 PM, Lefman, Jonathan wrote: > Hi all, > > I am building ITK with the cmake arg "-DModule_PerformanceBenchmarking:BOOL=ON". During the make process, I run into a new issue: > > CMake Error at /home/bw2user1/ITK/CMake/ExternalData.cmake:1113 (message): > > > Object MD5=d72eb9ebf4a60f6cfeaf60717d1926be not found at: > > https://insightsoftwareconsortium.github.io/ITKTestingData/MD5/d72eb9ebf4a60f6cfeaf60717d1926be ("Unsupported protocol") > https://data.kitware.com:443/api/v1/file/hashsum/MD5/d72eb9ebf4a60f6cfeaf60717d1926be/download ("Unsupported protocol") > https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=d72eb9ebf4a60f6cfeaf60717d1926be&algorithm=MD5 ("Unsupported protocol") > https://itk.org/files/ExternalData/MD5/d72eb9ebf4a60f6cfeaf60717d1926be ("Unsupported protocol") > > https://slicer.kitware.com/midas3/api/rest?method=midas.bitstream.down > load&checksum=d72eb9ebf4a60f6cfeaf60717d1926be&algorithm=MD5 > ("Unsupported protocol") > > > make[2]: *** > [ExternalData/Testing/Data/Baseline/BasicFilters/HeadMRVolumeMaximumPr > ojection0.mha-hash-stamp] Error 1 > make[1]: *** [CMakeFiles/ITKData.dir/all] Error 2 > make: *** [all] Error 2 > > Any idea what is happening? > > Thanks, > > Jon > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://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-developers _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From jchris.fillionr at kitware.com Mon May 22 15:48:40 2017 From: jchris.fillionr at kitware.com (Jean-Christophe Fillion-Robin) Date: Mon, 22 May 2017 15:48:40 -0400 Subject: [ITK] [ITK-dev] Unsupported protocol error from ExternalData.cmake In-Reply-To: References: Message-ID: Hi Jonathan, I built from source on a brand new machine which may not have the SSL > development headers installed. This was probably the issue. With recent CMake, SSL headers should be detected even when bootstrapping it. For example, see https://github.com/dockcross/dockcross/blob/f689116b3f4fd7d106e7bc3abbefb96254ce79bd/imagefiles/install-cmake.sh#L57-L91 The link above also provide a short test allowing to check if CMake support https. Jc -- +1 919 869 8849 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From francois.budin at kitware.com Mon May 22 16:00:59 2017 From: francois.budin at kitware.com (Francois Budin) Date: Mon, 22 May 2017 16:00:59 -0400 Subject: [ITK] [ITK-users] How to get inverse diffeomorphic demons deformation field transform? In-Reply-To: References: Message-ID: Hello Mathew, To my knowledge there is no way to get the inverse transform directly when using ITKDiffeomorphicDemonsRegistrationFilter. You could try to invert the deformation field using one of the algorithm that are available in ITK for that purpose. It seems that you tried one (InverDisplacementField) but have you tried the remote module [1] If you want to get the inverse transformation directly, you can also try to use [2] or use the registration method that has been implemented in this Insight Journal paper [3]. Hope this helps, Francois [1] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Remote/FixedPointInverseDisplacementField.remote.cmake [2] https://itk.org/Doxygen/html/classitk_1_1VariationalSymmetricDiffeomorphicRegistrationFilter.html [3] http://www.insight-journal.org/browse/publication/644 On Mon, May 22, 2017 at 3:25 PM, Mathew Guilfoyle wrote: > I am using (Simple)ITK DiffeomorphicDemonsRegistrationFilter() to perform > deformable registration of two 3D images. This works fine. Output from > the filter is 'outImage' vector image which I then convert to a transform > using > > dfTransform = DisplacementFieldTransform(outImage). > > I can then resample my moving image using this transform and all looks as > expected. > > My reading/understanding of diffeomorphic algorithms is that there should > be an exact and readily computable inverse transform? I need this as I > want to inverse warp a template segmentation performed on my reference > image into the original space of my moving image. How do I obtain the > inverse DisplacementFieldTransform or the inverse vector image? > > I have tried the InvertDisplacementField filter but the output of this > does not appear to correctly invert my warped image back to the original so > I do not think this filter generates is a n accurate inverse, at least > using default settings. > > Any ideas of if/how I can get an exact inverse of a deformable transform? > > Thanks > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 jonathan.lefman at intel.com Mon May 22 16:55:25 2017 From: jonathan.lefman at intel.com (Lefman, Jonathan) Date: Mon, 22 May 2017 20:55:25 +0000 Subject: [ITK] [ITK-dev] How to override optimization compile flag? Message-ID: Hi all, I am trying to override the -O3 flag using ITK_CXX_DISABLE_OPTIMIZATION_FLAG in ITKSetStandardCompilerFlags.cmake. It is not obvious how this is supposed to work. When I set ITK_CXX_DISABLE_OPTIMIZATION_FLAG in the cmake command or in CMAKE_CXX_FLAGS='-O0', the flag is overridden: icpc: command line remark #10120: overriding '-O0' with '-O3' Example: # CMAKE generated file: DO NOT EDIT! # Generated by "Unix Makefiles" Generator, CMake Version 3.8 # compile CXX with /opt/intel/compilers_and_libraries_2017.1.132/linux/bin/intel64/icpc CXX_FLAGS = -O0 -w2 -wd1268 -wd981 -wd383 -wd1418 -wd1419 -wd2259 -wd1572 -wd424 -Wdisabled-optimization -Wextra -Wformat=2 -Winvalid-pch -Wpointer-arith -Wshadow -Wunused -Wwrite-strings -Wno-deprecated -Wno-invalid-offsetof -Woverloaded-virtual -O3 -DNDEBUG -fPIE I do see another variable "CXX_HAS_DISABLE_OPTIMIZATION_FLAG" but it is reported as unused by cmake. Please let me know the right way to remove the -O3 flag. Thanks very much. -Jon -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From matt.mccormick at kitware.com Mon May 22 17:00:32 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 22 May 2017 17:00:32 -0400 Subject: [ITK] [ITK-dev] How to override optimization compile flag? In-Reply-To: References: Message-ID: Hi Jon, This can be disabled by setting CMAKE_BUILD_TYPE to an empty string. The default is "Release", which adds the -O3 flag. HTH, Matt On Mon, May 22, 2017 at 4:55 PM, Lefman, Jonathan wrote: > Hi all, > > > > I am trying to override the -O3 flag using ITK_CXX_DISABLE_OPTIMIZATION_FLAG > in ITKSetStandardCompilerFlags.cmake. It is not obvious how this is supposed > to work. When I set ITK_CXX_DISABLE_OPTIMIZATION_FLAG in the cmake command > or in CMAKE_CXX_FLAGS=?-O0?, the flag is overridden: > > > > icpc: command line remark #10120: overriding '-O0' with '-O3' > > > > Example: > > > > # CMAKE generated file: DO NOT EDIT! > > # Generated by "Unix Makefiles" Generator, CMake Version 3.8 > > > > # compile CXX with > /opt/intel/compilers_and_libraries_2017.1.132/linux/bin/intel64/icpc > > CXX_FLAGS = -O0 -w2 -wd1268 -wd981 -wd383 -wd1418 -wd1419 -wd2259 -wd1572 > -wd424 -Wdisabled-optimization -Wextra -Wformat=2 -Winvalid-pch > -Wpointer-arith -Wshadow -Wunused -Wwrite-strings -Wno-deprecated > -Wno-invalid-offsetof -Woverloaded-virtual -O3 -DNDEBUG ?fPIE > > > > I do see another variable ?CXX_HAS_DISABLE_OPTIMIZATION_FLAG? but it is > reported as unused by cmake. Please let me know the right way to remove the > -O3 flag. Thanks very much. > > > > -Jon > > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://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-developers > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From jonathan.lefman at intel.com Mon May 22 17:16:15 2017 From: jonathan.lefman at intel.com (Lefman, Jonathan) Date: Mon, 22 May 2017 21:16:15 +0000 Subject: [ITK] [ITK-dev] How to override optimization compile flag? In-Reply-To: References: Message-ID: Thank you -Jon -----Original Message----- From: Matt McCormick [mailto:matt.mccormick at kitware.com] Sent: Monday, May 22, 2017 5:01 PM To: Lefman, Jonathan Cc: insight-developers at itk.org Subject: Re: [ITK-dev] How to override optimization compile flag? Hi Jon, This can be disabled by setting CMAKE_BUILD_TYPE to an empty string. The default is "Release", which adds the -O3 flag. HTH, Matt On Mon, May 22, 2017 at 4:55 PM, Lefman, Jonathan wrote: > Hi all, > > > > I am trying to override the -O3 flag using > ITK_CXX_DISABLE_OPTIMIZATION_FLAG in > ITKSetStandardCompilerFlags.cmake. It is not obvious how this is > supposed to work. When I set ITK_CXX_DISABLE_OPTIMIZATION_FLAG in the cmake command or in CMAKE_CXX_FLAGS=?-O0?, the flag is overridden: > > > > icpc: command line remark #10120: overriding '-O0' with '-O3' > > > > Example: > > > > # CMAKE generated file: DO NOT EDIT! > > # Generated by "Unix Makefiles" Generator, CMake Version 3.8 > > > > # compile CXX with > /opt/intel/compilers_and_libraries_2017.1.132/linux/bin/intel64/icpc > > CXX_FLAGS = -O0 -w2 -wd1268 -wd981 -wd383 -wd1418 -wd1419 -wd2259 > -wd1572 > -wd424 -Wdisabled-optimization -Wextra -Wformat=2 -Winvalid-pch > -Wpointer-arith -Wshadow -Wunused -Wwrite-strings -Wno-deprecated > -Wno-invalid-offsetof -Woverloaded-virtual -O3 -DNDEBUG ?fPIE > > > > I do see another variable ?CXX_HAS_DISABLE_OPTIMIZATION_FLAG? but it > is reported as unused by cmake. Please let me know the right way to > remove the > -O3 flag. Thanks very much. > > > > -Jon > > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://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-developers > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From pablo.hernandez.cerdan at outlook.com Tue May 23 02:37:15 2017 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Tue, 23 May 2017 06:37:15 +0000 Subject: [ITK] [ITK-dev] Generate Doxygen documentation on only one module Message-ID: Hi all, is it possible to generate Doxygen documentation of only one external/remote module? I want to validate that the documentation is ok in the module, but not eager to build it all. I haven't found any about this in: https://itk.org/Wiki/ITK/Doxygen_Documentation Thanks, Pablo -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From pablo.hernandez.cerdan at outlook.com Tue May 23 06:53:48 2017 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Tue, 23 May 2017 10:53:48 +0000 Subject: [ITK] [ITK-dev] Generate Doxygen documentation on only one module In-Reply-To: References: Message-ID: I think I have found it using the doxygen configuration that is generated in the itk build folder. Edit `$ITK_BUILD_DIR/single-doxygen.config`, modify the variable `INPUT` with the path of the module, or the path to the file that you want to check. Then run doxygen: `doxygen $ITK_BUILD_DIR/single-doxygen.config` On Tue, May 23, 2017 at 6:37 PM, Pablo Hern?ndez > wrote: Hi all, is it possible to generate Doxygen documentation of only one external/remote module? I want to validate that the documentation is ok in the module, but not eager to build it all. I haven't found any about this in: https://itk.org/Wiki/ITK/Doxygen_Documentation Thanks, Pablo -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From zivrafael.yaniv at nih.gov Tue May 23 10:11:55 2017 From: zivrafael.yaniv at nih.gov (Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]) Date: Tue, 23 May 2017 14:11:55 +0000 Subject: [ITK] [ITK-users] How to get inverse diffeomorphic demons deformation field transform? In-Reply-To: References: Message-ID: <6965D668-1299-4CCC-9491-ED62E8386E44@mail.nih.gov> Hello Mathew, Just a followup to Francois? recommendations. SimpleITK currently doesn?t support the FixedPointInverseDisplacementField external module. If you want it added please open an issue describing the need on GitHub (https://github.com/SimpleITK/SimpleITK/issues). thanks Ziv On 5/22/17, 3:25 PM, "Mathew Guilfoyle" wrote: I am using (Simple)ITK DiffeomorphicDemonsRegistrationFilter() to perform deformable registration of two 3D images. This works fine. Output from the filter is 'outImage' vector image which I then convert to a transform using dfTransform = DisplacementFieldTransform(outImage). I can then resample my moving image using this transform and all looks as expected. My reading/understanding of diffeomorphic algorithms is that there should be an exact and readily computable inverse transform? I need this as I want to inverse warp a template segmentation performed on my reference image into the original space of my moving image. How do I obtain the inverse DisplacementFieldTransform or the inverse vector image? I have tried the InvertDisplacementField filter but the output of this does not appear to correctly invert my warped image back to the original so I do not think this filter generates is a n accurate inverse, at least using default settings. Any ideas of if/how I can get an exact inverse of a deformable transform? Thanks _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.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 From blowekamp at mail.nih.gov Tue May 23 14:59:12 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Tue, 23 May 2017 18:59:12 +0000 Subject: [ITK] [ITK-users] How to get inverse diffeomorphic demons deformation field transform? In-Reply-To: References: Message-ID: <359FC80C-CD5A-49D2-8748-3917DDFA010C@mail.nih.gov> Francois, There does not seem to be a Doxygen page for FixedPointInverseDisplacementFieldImageFilter. I thought all remote modules were suppose to be in Doxygen. Do you have any idea why? Brad On May 22, 2017, at 4:00 PM, Francois Budin > wrote: Hello Mathew, To my knowledge there is no way to get the inverse transform directly when using ITKDiffeomorphicDemonsRegistrationFilter. You could try to invert the deformation field using one of the algorithm that are available in ITK for that purpose. It seems that you tried one (InverDisplacementField) but have you tried the remote module [1] If you want to get the inverse transformation directly, you can also try to use [2] or use the registration method that has been implemented in this Insight Journal paper [3]. Hope this helps, Francois [1] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Remote/FixedPointInverseDisplacementField.remote.cmake [2] https://itk.org/Doxygen/html/classitk_1_1VariationalSymmetricDiffeomorphicRegistrationFilter.html [3] http://www.insight-journal.org/browse/publication/644 On Mon, May 22, 2017 at 3:25 PM, Mathew Guilfoyle > wrote: I am using (Simple)ITK DiffeomorphicDemonsRegistrationFilter() to perform deformable registration of two 3D images. This works fine. Output from the filter is 'outImage' vector image which I then convert to a transform using dfTransform = DisplacementFieldTransform(outImage). I can then resample my moving image using this transform and all looks as expected. My reading/understanding of diffeomorphic algorithms is that there should be an exact and readily computable inverse transform? I need this as I want to inverse warp a template segmentation performed on my reference image into the original space of my moving image. How do I obtain the inverse DisplacementFieldTransform or the inverse vector image? I have tried the InvertDisplacementField filter but the output of this does not appear to correctly invert my warped image back to the original so I do not think this filter generates is a n accurate inverse, at least using default settings. Any ideas of if/how I can get an exact inverse of a deformable transform? Thanks _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 francois.budin at kitware.com Wed May 24 00:06:07 2017 From: francois.budin at kitware.com (Francois Budin) Date: Wed, 24 May 2017 00:06:07 -0400 Subject: [ITK] [ITK-users] How to get inverse diffeomorphic demons deformation field transform? In-Reply-To: <359FC80C-CD5A-49D2-8748-3917DDFA010C@mail.nih.gov> References: <359FC80C-CD5A-49D2-8748-3917DDFA010C@mail.nih.gov> Message-ID: Hey Brad, I actually do not know when the remote module documentation is generated. CC'ing Matt. Francois On Tue, May 23, 2017 at 2:59 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] < blowekamp at mail.nih.gov> wrote: > Francois, > > There does not seem to be a Doxygen page for > FixedPointInverseDisplacementFieldImageFilter. I thought all remote > modules were suppose to be in Doxygen. Do you have any idea why? > > Brad > > On May 22, 2017, at 4:00 PM, Francois Budin > wrote: > > Hello Mathew, > > To my knowledge there is no way to get the inverse transform directly when > using ITKDiffeomorphicDemonsRegistrationFilter. You could try to invert > the deformation field using one of the algorithm that are available in ITK > for that purpose. It seems that you tried one (InverDisplacementField) but > have you tried the remote module [1] > If you want to get the inverse transformation directly, you can also try > to use [2] or use the registration method that has been implemented in this > Insight Journal paper [3]. > > Hope this helps, > Francois > > [1] https://github.com/InsightSoftwareConsortium/ITK/ > blob/master/Modules/Remote/FixedPointInverseDisplacementField.remote.cmake > [2] https://itk.org/Doxygen/html/classitk_1_1VariationalSymmetricDiffeomor > phicRegistrationFilter.html > [3] http://www.insight-journal.org/browse/publication/644 > > On Mon, May 22, 2017 at 3:25 PM, Mathew Guilfoyle > wrote: > >> I am using (Simple)ITK DiffeomorphicDemonsRegistrationFilter() to >> perform deformable registration of two 3D images. This works fine. Output >> from the filter is 'outImage' vector image which I then convert to a >> transform using >> >> dfTransform = DisplacementFieldTransform(outImage). >> >> I can then resample my moving image using this transform and all looks as >> expected. >> >> My reading/understanding of diffeomorphic algorithms is that there should >> be an exact and readily computable inverse transform? I need this as I >> want to inverse warp a template segmentation performed on my reference >> image into the original space of my moving image. How do I obtain the >> inverse DisplacementFieldTransform or the inverse vector image? >> >> I have tried the InvertDisplacementField filter but the output of this >> does not appear to correctly invert my warped image back to the original so >> I do not think this filter generates is a n accurate inverse, at least >> using default settings. >> >> Any ideas of if/how I can get an exact inverse of a deformable transform? >> >> Thanks >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 24 09:34:46 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Wed, 24 May 2017 13:34:46 +0000 Subject: [ITK] [ITK-users] How to get inverse diffeomorphic demons deformation field transform? In-Reply-To: References: <359FC80C-CD5A-49D2-8748-3917DDFA010C@mail.nih.gov> Message-ID: I think it is this build: https://open.cdash.org/viewNotes.php?buildid=4911206 It looks like the remote modules need to manually enabled in the configuration. Brad On May 24, 2017, at 12:06 AM, Francois Budin > wrote: Hey Brad, I actually do not know when the remote module documentation is generated. CC'ing Matt. Francois On Tue, May 23, 2017 at 2:59 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] > wrote: Francois, There does not seem to be a Doxygen page for FixedPointInverseDisplacementFieldImageFilter. I thought all remote modules were suppose to be in Doxygen. Do you have any idea why? Brad On May 22, 2017, at 4:00 PM, Francois Budin > wrote: Hello Mathew, To my knowledge there is no way to get the inverse transform directly when using ITKDiffeomorphicDemonsRegistrationFilter. You could try to invert the deformation field using one of the algorithm that are available in ITK for that purpose. It seems that you tried one (InverDisplacementField) but have you tried the remote module [1] If you want to get the inverse transformation directly, you can also try to use [2] or use the registration method that has been implemented in this Insight Journal paper [3]. Hope this helps, Francois [1] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Remote/FixedPointInverseDisplacementField.remote.cmake [2] https://itk.org/Doxygen/html/classitk_1_1VariationalSymmetricDiffeomorphicRegistrationFilter.html [3] http://www.insight-journal.org/browse/publication/644 On Mon, May 22, 2017 at 3:25 PM, Mathew Guilfoyle > wrote: I am using (Simple)ITK DiffeomorphicDemonsRegistrationFilter() to perform deformable registration of two 3D images. This works fine. Output from the filter is 'outImage' vector image which I then convert to a transform using dfTransform = DisplacementFieldTransform(outImage). I can then resample my moving image using this transform and all looks as expected. My reading/understanding of diffeomorphic algorithms is that there should be an exact and readily computable inverse transform? I need this as I want to inverse warp a template segmentation performed on my reference image into the original space of my moving image. How do I obtain the inverse DisplacementFieldTransform or the inverse vector image? I have tried the InvertDisplacementField filter but the output of this does not appear to correctly invert my warped image back to the original so I do not think this filter generates is a n accurate inverse, at least using default settings. Any ideas of if/how I can get an exact inverse of a deformable transform? Thanks _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 francois.budin at kitware.com Wed May 24 09:48:53 2017 From: francois.budin at kitware.com (Francois Budin) Date: Wed, 24 May 2017 09:48:53 -0400 Subject: [ITK] [ITK-users] How to get inverse diffeomorphic demons deformation field transform? In-Reply-To: References: <359FC80C-CD5A-49D2-8748-3917DDFA010C@mail.nih.gov> Message-ID: Thanks Brad. I updated our scripts. Francois On Wed, May 24, 2017 at 9:34 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] < blowekamp at mail.nih.gov> wrote: > I think it is this build: > > https://open.cdash.org/viewNotes.php?buildid=4911206 > > It looks like the remote modules need to manually enabled in the > configuration. > > Brad > > On May 24, 2017, at 12:06 AM, Francois Budin > wrote: > > Hey Brad, > > I actually do not know when the remote module documentation is generated. > CC'ing Matt. > > Francois > > On Tue, May 23, 2017 at 2:59 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] < > blowekamp at mail.nih.gov> wrote: > >> Francois, >> >> There does not seem to be a Doxygen page for FixedPointInverseDisplacementFieldImageFilter. >> I thought all remote modules were suppose to be in Doxygen. Do you have any >> idea why? >> >> Brad >> >> On May 22, 2017, at 4:00 PM, Francois Budin >> wrote: >> >> Hello Mathew, >> >> To my knowledge there is no way to get the inverse transform directly >> when using ITKDiffeomorphicDemonsRegistrationFilter. You could try to >> invert the deformation field using one of the algorithm that are available >> in ITK for that purpose. It seems that you tried one >> (InverDisplacementField) but have you tried the remote module [1] >> If you want to get the inverse transformation directly, you can also try >> to use [2] or use the registration method that has been implemented in this >> Insight Journal paper [3]. >> >> Hope this helps, >> Francois >> >> [1] https://github.com/InsightSoftwareConsortium/ITK/blob/ >> master/Modules/Remote/FixedPointInverseDisplacementField.remote.cmake >> [2] https://itk.org/Doxygen/html/classitk_1_1VariationalSymm >> etricDiffeomorphicRegistrationFilter.html >> [3] http://www.insight-journal.org/browse/publication/644 >> >> On Mon, May 22, 2017 at 3:25 PM, Mathew Guilfoyle >> wrote: >> >>> I am using (Simple)ITK DiffeomorphicDemonsRegistrationFilter() to >>> perform deformable registration of two 3D images. This works fine. Output >>> from the filter is 'outImage' vector image which I then convert to a >>> transform using >>> >>> dfTransform = DisplacementFieldTransform(outImage). >>> >>> I can then resample my moving image using this transform and all looks >>> as expected. >>> >>> My reading/understanding of diffeomorphic algorithms is that there >>> should be an exact and readily computable inverse transform? I need this >>> as I want to inverse warp a template segmentation performed on my reference >>> image into the original space of my moving image. How do I obtain the >>> inverse DisplacementFieldTransform or the inverse vector image? >>> >>> I have tried the InvertDisplacementField filter but the output of this >>> does not appear to correctly invert my warped image back to the original so >>> I do not think this filter generates is a n accurate inverse, at least >>> using default settings. >>> >>> Any ideas of if/how I can get an exact inverse of a deformable transform? >>> >>> Thanks >>> >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 wangkaiwen998 at gmail.com Wed May 24 14:25:28 2017 From: wangkaiwen998 at gmail.com (kaiwenw) Date: Wed, 24 May 2017 11:25:28 -0700 (MST) Subject: [ITK] [ITK-users] Geodesic distance for simpleITK Message-ID: <1495650328977-7589980.post@n2.nabble.com> Hello everyone, I'm trying to interpolate shapes with diffeomorphic registration. My code is in SimpleITK. I know there is a velocity-field LDDMM-like transform in ITK, but how about SimpleITK? Also, for itk::TimeVaryingVelocityFieldTransform, is there a way to calculate the geodesic distance (length) between shapes? So that I can interpolate shapes. Thanks! Kevin -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Geodesic-distance-for-simpleITK-tp7589980.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 pablo.hernandez.cerdan at outlook.com Thu May 25 01:22:39 2017 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Thu, 25 May 2017 05:22:39 +0000 Subject: [ITK] [ITK-dev] Code coverage: using gcov in an itk external module Message-ID: Hi there, I have written a blog post at the same time I was learning how to use gcov for code coverage in an external module. Nothing fancy, but somebody might find it useful: https://phcerdan.github.io/code-coverage/. It works, a bit too much red there though! Cheers, Pablo PS: Thanks to Jon Haitz Legarreta for encourage me to use gcov in the module. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From francois.budin at kitware.com Thu May 25 08:57:18 2017 From: francois.budin at kitware.com (Francois Budin) Date: Thu, 25 May 2017 08:57:18 -0400 Subject: [ITK] [ITK-dev] Code coverage: using gcov in an itk external module In-Reply-To: References: Message-ID: That's great! Thanks for sharing! Francois On Thu, May 25, 2017 at 1:22 AM, Pablo Hern?ndez < pablo.hernandez.cerdan at outlook.com> wrote: > Hi there, > I have written a blog post at the same time I was learning how to use gcov > for code coverage in an external module. Nothing fancy, but somebody might > find it useful: https://phcerdan.github.io/code-coverage/. > > > It works, a bit too much red there though! > > Cheers, > Pablo > > PS: Thanks to Jon Haitz Legarreta for encourage me to use gcov in the > module. > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://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-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From matt.mccormick at kitware.com Thu May 25 10:59:00 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 25 May 2017 10:59:00 -0400 Subject: [ITK] [ITK-dev] Code coverage: using gcov in an itk external module In-Reply-To: References: Message-ID: On Thu, May 25, 2017 at 8:57 AM, Francois Budin wrote: > That's great! Thanks for sharing! > +1! 90%+ is not too shabby at all :-). Jon and I have investigated CodeCov [1] for ITK [2], but ITK's test suite seems to overwhelm their system. However, tests for a single external module could work? Here are the scripts that we used: https://gist.github.com/thewtex/1f410c90e8b9e9826989c0e04e97738b https://gist.github.com/thewtex/e3f59fdfba4f30ad2580dbb4db7a22e9 https://gist.github.com/thewtex/cc7ade395c7aa309f38b137b8934e075 These work together with the itk_common.cmake CTest script in ITK's Git repository dashboard branch. Cheers, Matt [1] https://codecov.io/ [2] https://codecov.io/gh/InsightSoftwareConsortium/ITK -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From pablo.hernandez.cerdan at outlook.com Thu May 25 19:56:38 2017 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Thu, 25 May 2017 23:56:38 +0000 Subject: [ITK] [ITK-dev] Code coverage: using gcov in an itk external module In-Reply-To: References: Message-ID: Hi Matt, thanks! yeah, it works for single modules (external or core) modifying the flags in `test/CMakeLists.txt` for the specific ${itk_module}TestDriver. Not sure if CodeCov is overwhelmed by running the tests, generating the `.gcda` files , or by the later stage of generating the lcov report with those files. If the first case, it is hard to selectively modify flags of child targets from parent CMakeLists.txt, right? So other option would be to modify the CreateTestDriver macro to add coverage flags to some modules, depending on additional cmake variables, but I guess is not too elegant? If the later, we can modify the lcov script to generate reports only in selected Modules. And maybe have a CodeCov report per module? In my case, the .gcda files are generated in subfolders, so it is easy to only generate the reports for that module. export GCOV_PREFIX="$HOME/Software/ITK/build/Modules/Remote/IsotropicWavelets/test/CMakeFiles/IsotropicWaveletsTestDriver.dir lcov --directory $GCOV_PREFIX --capture --output-file $GCOV_PREFIX/app.info It would be great to automatize this indeed! Cheers, Pablo On Fri, May 26, 2017 at 2:59 AM, matt.mccormick at kitware.com > wrote: On Thu, May 25, 2017 at 8:57 AM, Francois Budin > wrote: That's great! Thanks for sharing! +1! 90%+ is not too shabby at all :-). Jon and I have investigated CodeCov [1] for ITK [2], but ITK's test suite seems to overwhelm their system. However, tests for a single external module could work? Here are the scripts that we used: https://gist.github.com/thewtex/1f410c90e8b9e9826989c0e04e97738b https://gist.github.com/thewtex/e3f59fdfba4f30ad2580dbb4db7a22e9 https://gist.github.com/thewtex/cc7ade395c7aa309f38b137b8934e075 These work together with the itk_common.cmake CTest script in ITK's Git repository dashboard branch. Cheers, Matt [1] https://codecov.io/ [2] https://codecov.io/gh/InsightSoftwareConsortium/ITK -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From pablo.hernandez.cerdan at outlook.com Thu May 25 19:56:39 2017 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Thu, 25 May 2017 23:56:39 +0000 Subject: [ITK] [ITK-dev] Code coverage: using gcov in an itk external module In-Reply-To: References: Message-ID: Hi Matt, thanks! yeah, it works for single modules (external or core) modifying the flags in `test/CMakeLists.txt` for the specific ${itk_module}TestDriver. Not sure if CodeCov is overwhelmed by running the tests, generating the `.gcda` files , or by the later stage of generating the lcov report with those files. If the first case, it is hard to selectively modify flags of child targets from parent CMakeLists.txt, right? So other option would be to modify the CreateTestDriver macro to add coverage flags to some modules, depending on additional cmake variables, but I guess is not too elegant? If the later, we can modify the lcov script to generate reports only in selected Modules. And maybe have a CodeCov report per module? In my case, the .gcda files are generated in subfolders, so it is easy to only generate the reports for that module. export GCOV_PREFIX="$HOME/Software/ITK/build/Modules/Remote/IsotropicWavelets/test/CMakeFiles/IsotropicWaveletsTestDriver.dir lcov --directory $GCOV_PREFIX --capture --output-file $GCOV_PREFIX/app.info It would be great to automatize this indeed! Cheers, Pablo On Fri, May 26, 2017 at 2:59 AM, matt.mccormick at kitware.com > wrote: On Thu, May 25, 2017 at 8:57 AM, Francois Budin > wrote: That's great! Thanks for sharing! +1! 90%+ is not too shabby at all :-). Jon and I have investigated CodeCov [1] for ITK [2], but ITK's test suite seems to overwhelm their system. However, tests for a single external module could work? Here are the scripts that we used: https://gist.github.com/thewtex/1f410c90e8b9e9826989c0e04e97738b https://gist.github.com/thewtex/e3f59fdfba4f30ad2580dbb4db7a22e9 https://gist.github.com/thewtex/cc7ade395c7aa309f38b137b8934e075 These work together with the itk_common.cmake CTest script in ITK's Git repository dashboard branch. Cheers, Matt [1] https://codecov.io/ [2] https://codecov.io/gh/InsightSoftwareConsortium/ITK -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From pablo.hernandez.cerdan at outlook.com Thu May 25 19:56:43 2017 From: pablo.hernandez.cerdan at outlook.com (=?utf-8?B?UGFibG8gSGVybsOhbmRleg==?=) Date: Thu, 25 May 2017 23:56:43 +0000 Subject: [ITK] [ITK-dev] Code coverage: using gcov in an itk external module In-Reply-To: References: Message-ID: Hi Matt, thanks! yeah, it works for single modules (external or core) modifying the flags in `test/CMakeLists.txt` for the specific ${itk_module}TestDriver. Not sure if CodeCov is overwhelmed by running the tests, generating the `.gcda` files , or by the later stage of generating the lcov report with those files. If the first case, it is hard to selectively modify flags of child targets from parent CMakeLists.txt, right? So other option would be to modify the CreateTestDriver macro to add coverage flags to some modules, depending on additional cmake variables, but I guess is not too elegant? If the later, we can modify the lcov script to generate reports only in selected Modules. And maybe have a CodeCov report per module? In my case, the .gcda files are generated in subfolders, so it is easy to only generate the reports for that module. export GCOV_PREFIX="$HOME/Software/ITK/build/Modules/Remote/IsotropicWavelets/test/CMakeFiles/IsotropicWaveletsTestDriver.dir lcov --directory $GCOV_PREFIX --capture --output-file $GCOV_PREFIX/app.info It would be great to automatize this indeed! Cheers, Pablo On Fri, May 26, 2017 at 2:59 AM, matt.mccormick at kitware.com > wrote: On Thu, May 25, 2017 at 8:57 AM, Francois Budin > wrote: That's great! Thanks for sharing! +1! 90%+ is not too shabby at all :-). Jon and I have investigated CodeCov [1] for ITK [2], but ITK's test suite seems to overwhelm their system. However, tests for a single external module could work? Here are the scripts that we used: https://gist.github.com/thewtex/1f410c90e8b9e9826989c0e04e97738b https://gist.github.com/thewtex/e3f59fdfba4f30ad2580dbb4db7a22e9 https://gist.github.com/thewtex/cc7ade395c7aa309f38b137b8934e075 These work together with the itk_common.cmake CTest script in ITK's Git repository dashboard branch. Cheers, Matt [1] https://codecov.io/ [2] https://codecov.io/gh/InsightSoftwareConsortium/ITK -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From matt.mccormick at kitware.com Fri May 26 17:43:09 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Fri, 26 May 2017 17:43:09 -0400 Subject: [ITK] [ANN] ITK 4.12 Release Candidate 3 is ready for testing! Message-ID: On behalf of the Insight Toolkit community, we are proud to announce that ITK 4.12 release candidate 3 has been tagged and is available for testing! Please take this opportunity to test the new features in the release candidate. For more information on the new features in this release, see our blog entry on the first release candidate. To obtain the source code, use the links: https://github.com/Kitware/ITK/archive/v4.12rc03.zip https://github.com/Kitware/ITK/archive/v4.12rc03.tar.gz Or, to checkout the tag with Git: git clone https://itk.org/ITK.git cd ITK git checkout -q --detach v4.12rc03 Please test the release candidate and share your experiences on the mailing list, issue tracker, and Gerrit Code Review. An Experimental build, which demonstrates how the test suite performs on your local build system, can be submitted to the dashboard [1] with: mkdir ../ITK-build cd ../ITK-build cmake ../ITK ctest -j 4 -M Experimental -T Configure -T Build -T Test -T Submit Visual Studio builds must also add ?-C Release? to the ctest command. Notify the mailing list if there are any unexpected failures. Testing your own applications against the RC is also appreciated. The 4.12.0 release is scheduled for next week. [1] http://open.cdash.org/index.php?project=Insight Changes from v4.12rc02 to v4.12rc03 ------------------------------------------------ Bradley Lowekamp (4): BUG: include HDF5 config in ITK config BUG: Add fixed seed to registration tests ENH: Use scikit-ci-addons for CiricleCI CMake installation and junit BUG: Initialized the sampling seed for v3 registration test Francois Budin (1): ENH: Remove 'weak symbol' warning on MacOS Matthew McCormick (5): BUG: itk.ctype does not understand ints without signed BUG: Rename WrapITKBuildOptionsPython.py to itkBuildOptions.py DOC: Remove Doxygen note about GDCM version BUG: Bump Bridge NumPy to address Windows long sizes COMP: Suppress macOS std::string linker visibility warnings Vladimir S. FONOV (1): MINC 2017-05-19 (f6853a70) From keepdash at hotmail.com Fri May 26 22:42:55 2017 From: keepdash at hotmail.com (keepdash) Date: Fri, 26 May 2017 19:42:55 -0700 (MST) Subject: [ITK] [ITK-users] How to include "ChanAndVese" method in ITK Message-ID: <1495852975350-7589982.post@n2.nabble.com> Hi all, I want to use the active contour without edge method in ITK, I found there is an implementation from the websit "https://itk.org/Doxygen/html/index.html", the image filter's name is itk::ScalarChanAndVeseSparseLevelSetImageFilter. But I can't find it in the source code of ITK 4.11 I downloaded. Then I'd like to ask, how can I include the filter in ITK. Thanks a lot! -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/How-to-include-ChanAndVese-method-in-ITK-tp7589982.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 zhuangming.shen at sphic.org.cn Fri May 26 23:34:05 2017 From: zhuangming.shen at sphic.org.cn (=?gb2312?B?yfLXr8P3?=) Date: Sat, 27 May 2017 03:34:05 +0000 Subject: [ITK] [ITK-users] Change codes from C++ supported ITK to Python supported ITK Message-ID: <1495856065779.26691@sphic.org.cn> Hi all, I don't know how to write "itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RIP" in the codes below using Python supported ITK. Could someone provide me an example? Thanks in advance. itk::OrientImageFilter::Pointer orienter = itk::OrientImageFilter::New(); orienter->UseImageDirectionOn(); orienter->SetDesiredCoordinateOrientation(itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RIP); orienter->SetInput(rval); orienter->Update(); Regards, Zhuangming Shen -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 keepdash at hotmail.com Sat May 27 03:15:23 2017 From: keepdash at hotmail.com (keepdash) Date: Sat, 27 May 2017 00:15:23 -0700 (MST) Subject: [ITK] [ITK-users] How to include "ChanAndVese" method in ITK In-Reply-To: <329687628.155343.1495864639664@mail.yahoo.com> References: <1495852975350-7589982.post@n2.nabble.com> <329687628.155343.1495864639664@mail.yahoo.com> Message-ID: <1495869323637-7589985.post@n2.nabble.com> Thank you, I downloaded these code, it can not be compiled with current ITK 4.11. I found it is wrote in 2009, maybe too old. Also I found its code is not same as I found in the website, I compared its code with the code in: https://itk.org/Doxygen/html/itkScalarChanAndVeseLevelSetFunction_8h_source.html I think the code in the Doxygen are latest, but where can I download them all include them? -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/How-to-include-ChanAndVese-method-in-ITK-tp7589982p7589985.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 jonasteuwen at gmail.com Sat May 27 03:34:04 2017 From: jonasteuwen at gmail.com (Jonas Teuwen) Date: Sat, 27 May 2017 09:34:04 +0200 Subject: [ITK] [ITK-users] Casting Point to SizeType and vice versa Message-ID: Hi all, I want to extract patches around points using CropImageFilter. To do this, I need to calculate the correct bounds. The point itself is an itk::Point object, and then I calculate the lower_crop and upper_crop. It can be possible these are negative in some components, which is checked later on and compensated with ConstantPadImageFilter. So I need to switch between a Size and Point, which apparently cannot be implicitly casted. I am using a for loop to do this, but this is probably not the right way to do it. So what is the proper way to do this in ITK? I understand this question is probably very elementary, but your help would be greatly appreciated. itk::Size<3> image_size = image->GetBufferedRegion().GetSize(); std::cout << "Input size: " << image_size << std::endl; * itk::Vector image_size2;* * for(int i=0; i<3; ++i)* * {* * image_size2[i] = image_size[i];* * }* itk::Vector lower_crop = point - crop_size; itk::Vector upper_crop = image_size2 - (point + crop_size) - 1; Best, Jonas Teuwen -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 keepdash at hotmail.com Sat May 27 03:38:12 2017 From: keepdash at hotmail.com (keepdash) Date: Sat, 27 May 2017 00:38:12 -0700 (MST) Subject: [ITK] [ITK-users] How to include "ChanAndVese" method in ITK In-Reply-To: <1495869323637-7589985.post@n2.nabble.com> References: <1495852975350-7589982.post@n2.nabble.com> <329687628.155343.1495864639664@mail.yahoo.com> <1495869323637-7589985.post@n2.nabble.com> Message-ID: <1495870692649-7589987.post@n2.nabble.com> I found it myself finally, I need check "Module_ITKReview" in CMake to include the "Uonunit" folder that contain the "ChanAndVese" series methods. -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/How-to-include-ChanAndVese-method-in-ITK-tp7589982p7589987.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 cgo_2113 at hotmail.com Sat May 27 07:04:39 2017 From: cgo_2113 at hotmail.com (CocoM) Date: Sat, 27 May 2017 04:04:39 -0700 (MST) Subject: [ITK] [ITK-users] Step in finite differences for computing the gradient - Level set registration Message-ID: <1495883079908-7589988.post@n2.nabble.com> Hi everyone, I'm working wih the level set algorithm for deformable registration, which is part of the finite difference solver hierarchy. I have a theoretical question about it. Using the DeformableRegistration5.cxx example, I am interested in the computation of the moving image's gradient, which is done in the ComputeUpdate function of the itkLevelSetMotionRegistrationFunction class. The way the computation is done is with finite differences, using the image's spacing as step or 1 if we don't wanna use the spacing information. My question is : why? This value is usually quite far away from the theoretical optimal value for forward/backward finite difference (i.e. the root square of the machine precision, ~10^(-8)). So how can the gradient possibly be well approximated? I guess there is a good reason, and I tried to compute it with a step of 10^(-8) instead of using the spacing. I compared the evolution of the metric (SSD), and I got the same kind of values but an unstability of the metric after some iterations for the algorithm using 10^(-8) as step. Does someone know why this happens ? The main difference, I guess, is that in one case we use values of pixel and in the other case we have to interpolate the values. But I still don't see why I would get these oscillating values for the SSD. For information, I'm working with the RatLungSlice1 and RatLungSlice2 images from ITK and using the BSplineIterpolateImageFunction class for interpolation. Thanks a lot, Marie -- View this message in context: http://itk-insight-users.2283740.n2.nabble.com/Step-in-finite-differences-for-computing-the-gradient-Level-set-registration-tp7589988.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 matt.mccormick at kitware.com Sat May 27 11:00:48 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Sat, 27 May 2017 11:00:48 -0400 Subject: [ITK] [ITK-users] Change codes from C++ supported ITK to Python supported ITK In-Reply-To: <1495856065779.26691@sphic.org.cn> References: <1495856065779.26691@sphic.org.cn> Message-ID: Hi Zhuangming Shen, For now, we need to reproduce the logic in itkSpatialOrientation.h [1]. However, I created an issue to expose itk.SpatialOrientation in Python [2]. Here is an example: import itk ITK_COORDINATE_UNKNOWN = 0 ITK_COORDINATE_Right = 2 ITK_COORDINATE_Left = 3 ITK_COORDINATE_Posterior = 4 ITK_COORDINATE_Anterior = 5 ITK_COORDINATE_Inferior = 8 ITK_COORDINATE_Superior = 9 ITK_COORDINATE_PrimaryMinor = 0 ITK_COORDINATE_SecondaryMinor = 8 ITK_COORDINATE_TertiaryMinor = 16 ITK_COORDINATE_ORIENTATION_RIP = ( ITK_COORDINATE_Right << ITK_COORDINATE_PrimaryMinor ) \ + ( ITK_COORDINATE_Inferior << ITK_COORDINATE_SecondaryMinor ) \ + ( ITK_COORDINATE_Posterior << ITK_COORDINATE_TertiaryMinor ) ImageType = itk.Image[itk.ctype('unsigned char'), 3] orienter = itk.OrientImageFilter[ImageType, ImageType].New() orienter.SetUseImageDirection(True) orienter.SetDesiredCoordinateOrientation(ITK_COORDINATE_ORIENTATION_RIP) HTH, Matt [1] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkSpatialOrientation.h [2] https://issues.itk.org/jira/browse/ITK-3550 On Fri, May 26, 2017 at 11:34 PM, ??? wrote: > Hi all, > > > I don't know how to write > "itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RIP" in the codes below > using Python supported ITK. Could someone provide me an example? Thanks in > advance. > > > itk::OrientImageFilter::Pointer orienter = > itk::OrientImageFilter::New(); > orienter->UseImageDirectionOn(); > orienter->SetDesiredCoordinateOrientation(itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RIP); > orienter->SetInput(rval); > orienter->Update(); > > > Regards, > > Zhuangming Shen > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 From dzenanz at gmail.com Mon May 29 08:47:03 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 29 May 2017 08:47:03 -0400 Subject: [ITK] [ITK-users] Casting Point to SizeType and vice versa In-Reply-To: References: Message-ID: Hi Jonas, what you probably need is TransformPhysicalPointToIndex method or one of its friends. Regards, D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) On Sat, May 27, 2017 at 3:34 AM, Jonas Teuwen wrote: > Hi all, > > I want to extract patches around points using CropImageFilter. To do this, > I need to calculate the correct bounds. > The point itself is an itk::Point object, and then I calculate the > lower_crop and upper_crop. It can be possible these are negative in some > components, which is checked later on and compensated with > ConstantPadImageFilter. > > So I need to switch between a Size and Point, which apparently cannot be > implicitly casted. > I am using a for loop to do this, but this is probably not the right way > to do it. So what is the proper way to do this in ITK? > I understand this question is probably very elementary, but your help > would be greatly appreciated. > > itk::Size<3> image_size = image->GetBufferedRegion().GetSize(); > std::cout << "Input size: " << image_size << std::endl; > > * itk::Vector image_size2;* > * for(int i=0; i<3; ++i)* > * {* > * image_size2[i] = image_size[i];* > * }* > > > itk::Vector lower_crop = point - crop_size; > itk::Vector upper_crop = image_size2 - (point + crop_size) - > 1; > > > Best, > Jonas Teuwen > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 jaysnanavati at hotmail.co.uk Mon May 29 12:54:17 2017 From: jaysnanavati at hotmail.co.uk (jay nanavati) Date: Mon, 29 May 2017 16:54:17 +0000 Subject: [ITK] Binary Dilate/Erode filter Message-ID: Hi - Looking at ITK\Modules\Filtering\BinaryMathematicalMorphology\include\itkBinaryErodeImageFilter.hxx, I am a bit confused with regards to the padding and cropping of the regions for example, in the snippet below: ypename TInputImage::RegionType tmpRequestedRegion = outputRegion; typename TInputImage::RegionType paddedInputRegion = input->GetBufferedRegion(); paddedInputRegion.PadByRadius(radius); // to support boundary values InputSizeType padBy = radius; for ( i = 0; i < KernelDimension; ++i ) { padBy[i] = ( padBy[i] > kernel.GetRadius(i) ? padBy[i] : kernel.GetRadius(i) ); } tmpRequestedRegion.PadByRadius(padBy); tmpRequestedRegion.Crop(paddedInputRegion); It appears that tmpRequestedRegion is padded but then immediately cropped, which means it will always be padded by a radius of 1 in each dimension anyways? Similar operations are performed when padding the inputRegionForThread: // Pad the input region by the kernel inputRegionForThread.PadByRadius( kernel.GetRadius() ); inputRegionForThread.Crop( input->GetBufferedRegion() ); It would be great if someone could guide me on this. Thanks, Jay -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Mon May 29 13:41:13 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 29 May 2017 13:41:13 -0400 Subject: [ITK] Binary Dilate/Erode filter In-Reply-To: References: Message-ID: Hi Jay, The region will be padded by the radius. The cropping will possibly shrink the region at the input image's boundaries. HTH, Matt On Mon, May 29, 2017 at 12:54 PM, jay nanavati wrote: > Hi - Looking at > ITK\Modules\Filtering\BinaryMathematicalMorphology\include\itkBinaryErodeImageFilter.hxx, > I am a bit confused with regards to the padding and cropping of the regions > for example, in the snippet below: > > ypename TInputImage::RegionType tmpRequestedRegion = outputRegion; > typename TInputImage::RegionType paddedInputRegion = > input->GetBufferedRegion(); > paddedInputRegion.PadByRadius(radius); // to support boundary values > InputSizeType padBy = radius; > for ( i = 0; i < KernelDimension; ++i ) > { > padBy[i] = ( padBy[i] > kernel.GetRadius(i) ? padBy[i] : > kernel.GetRadius(i) ); > } > tmpRequestedRegion.PadByRadius(padBy); > tmpRequestedRegion.Crop(paddedInputRegion); > > It appears that tmpRequestedRegion is padded but then immediately cropped, > which means it will always be padded by a radius of 1 in each dimension > anyways? Similar operations are performed when padding the > inputRegionForThread: > > // Pad the input region by the kernel > inputRegionForThread.PadByRadius( kernel.GetRadius() ); > inputRegionForThread.Crop( input->GetBufferedRegion() ); > > It would be great if someone could guide me on this. > > Thanks, > Jay > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > From benedikt.beyer at rwth-aachen.de Tue May 30 04:42:31 2017 From: benedikt.beyer at rwth-aachen.de (Beyer, Benedikt Alexander) Date: Tue, 30 May 2017 08:42:31 +0000 Subject: [ITK] Questions about ITK-Snap gaussian smoothing Message-ID: <1496133751735.22048@rwth-aachen.de> Dear ITK community, I am currently writing an academic thesis at the RWTH Aachen University and I work with STL-data that is exported with ITK-Snap. A segmented structure is exported as an STL-file and then analyzed with VG Studio MAX. The data is used to determine measurement uncertainties created by gaussian filtering. To determine this uncertainty, I compare smoothed data to unsmoothed data. I have a few questions regarding the gaussian image smoothing setting. 1. What gaussian filter algorithm does this option use? Eg. Recursive, discrete, robust, etc. 2. Is this filter a linear or surface filter? 3. How big is the gaussian kernel? Eg. 3x3, 5x5, etc. 4. What does the "approximation error max" option do? It has no visual effect on the segmentation. 5. There seems to be a threshold of the standard deviation at around 0.67. It seems that below this number no smoothing is applied. Is this specific to the program, or is this depended on the voxel size? 6. Are there any known influences on measurement uncertainty by gaussian smoothing? Thank you in advance and with kind regards Benedikt Beyer -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzenanz at gmail.com Tue May 30 09:37:30 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Tue, 30 May 2017 09:37:30 -0400 Subject: [ITK] Questions about ITK-Snap gaussian smoothing In-Reply-To: <1496133751735.22048@rwth-aachen.de> References: <1496133751735.22048@rwth-aachen.de> Message-ID: Hi Benedikt, if you are asking about which mesh smoothing algorithm is used, I think this source code file answers that: https://sourceforge.net/p/itk-snap/src/ci/master/tree/Logic/ Mesh/VTKMeshPipeline.cxx#l167 Its declaration says it is an vtkImageGaussianSmooth . If documentation is not enough, you can find its source code in VTK. As the sigma is passed into there as a parameter, I believe the user-modifiable preferences in the program control it. Paul (CC'd) might have more explanations. Regards, D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) On Tue, May 30, 2017 at 4:42 AM, Beyer, Benedikt Alexander < benedikt.beyer at rwth-aachen.de> wrote: > Dear ITK community, > > I am currently writing an academic thesis at the RWTH Aachen University > and I work with STL-data that is exported with ITK-Snap. A segmented > structure is exported as an STL-file and then analyzed with VG Studio MAX. > The data is used to determine measurement uncertainties created by gaussian > filtering. To determine this uncertainty, I compare smoothed data to > unsmoothed data. I have a few questions regarding the gaussian image > smoothing setting. > > > 1. What gaussian filter algorithm does this option use? Eg. Recursive, > discrete, robust, etc. > 2. Is this filter a linear or surface filter? > 3. How big is the gaussian kernel? Eg. 3x3, 5x5, etc. > 4. What does the ?approximation error max? option do? It has no visual > effect on the segmentation. > 5. There seems to be a threshold of the standard deviation at around > 0.67. It seems that below this number no smoothing is applied. Is this > specific to the program, or is this depended on the voxel size? > 6. Are there any known influences on measurement uncertainty by > gaussian smoothing? > > > Thank you in advance and with kind regards > Benedikt Beyer > > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at rogue-research.com Tue May 30 17:20:01 2017 From: sean at rogue-research.com (Sean McBride) Date: Tue, 30 May 2017 17:20:01 -0400 Subject: [ITK] [ITK-dev] [ANN] ITK 4.12 Release Candidate 3 is ready for testing! In-Reply-To: References: Message-ID: <20170530212001.1630717323@mail.rogue-research.com> On Fri, 26 May 2017 17:43:09 -0400, Matt McCormick said: >On behalf of the Insight Toolkit community, we are proud to announce >that ITK 4.12 release candidate 3 has been tagged and is available for >testing! Please take this opportunity to test the new features in the >release candidate. Matt, Vlad, I didn't actually try 4.12rc3, but I've just tried git master and found a problem. The install directory doesn't contain "minc_common_defs.h" anywhere, and yet this file is needed by other minc headers (ex by minc2_defs.h, which ITK's install directory _does_ contain). The result being that my app can't compile. The file seems to be new vs 4.11's install directory. Also, it would be nice if minc2_defs.h used #include "" instead of #include <>, but I think maybe that has to happen upstream... Cheers, -- ____________________________________________________________ Sean McBride, B. Eng sean at rogue-research.com Rogue Research www.rogue-research.com Mac Software Developer Montr?al, Qu?bec, Canada _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From matt.mccormick at kitware.com Tue May 30 17:43:29 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Tue, 30 May 2017 17:43:29 -0400 Subject: [ITK] [ITK-dev] [ANN] ITK 4.12 Release Candidate 3 is ready for testing! In-Reply-To: <20170530212001.1630717323@mail.rogue-research.com> References: <20170530212001.1630717323@mail.rogue-research.com> Message-ID: On Tue, May 30, 2017 at 5:20 PM, Sean McBride wrote: > On Fri, 26 May 2017 17:43:09 -0400, Matt McCormick said: > > >On behalf of the Insight Toolkit community, we are proud to announce > >that ITK 4.12 release candidate 3 has been tagged and is available for > >testing! Please take this opportunity to test the new features in the > >release candidate. > > Matt, Vlad, > > I didn't actually try 4.12rc3, but I've just tried git master and found a > problem. > > The install directory doesn't contain "minc_common_defs.h" anywhere, and > yet this file is needed by other minc headers (ex by minc2_defs.h, which > ITK's install directory _does_ contain). The result being that my app > can't compile. The file seems to be new vs 4.11's install directory. > > Also, it would be nice if minc2_defs.h used #include "" instead of > #include <>, but I think maybe that has to happen upstream... > Thanks for the report, Sean. Could you please test this topic: http://review.source.kitware.com/#/q/topic:minc-update which includes this fix: https://github.com/BIC-MNI/libminc/commit/002d510ca7c01f2537070bc8684e80d6f5b95213 ? Thanks, Matt -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://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-developers From zhuangming.shen at sphic.org.cn Tue May 30 20:20:30 2017 From: zhuangming.shen at sphic.org.cn (=?gb2312?B?yfLXr8P3?=) Date: Wed, 31 May 2017 00:20:30 +0000 Subject: [ITK] [ITK-users] Change codes from C++ supported ITK to Python supported ITK In-Reply-To: References: <1495856065779.26691@sphic.org.cn>, Message-ID: <1496190055393.20310@sphic.org.cn> Hi Matt, Thanks for your promptly response. Regards, Zhuangming Shen ________________________________________ From: Matt McCormick Sent: Saturday, May 27, 2017 11:00 PM To: ??? Cc: insight-users at itk.org Subject: Re: [ITK-users] Change codes from C++ supported ITK to Python supported ITK Hi Zhuangming Shen, For now, we need to reproduce the logic in itkSpatialOrientation.h [1]. However, I created an issue to expose itk.SpatialOrientation in Python [2]. Here is an example: import itk ITK_COORDINATE_UNKNOWN = 0 ITK_COORDINATE_Right = 2 ITK_COORDINATE_Left = 3 ITK_COORDINATE_Posterior = 4 ITK_COORDINATE_Anterior = 5 ITK_COORDINATE_Inferior = 8 ITK_COORDINATE_Superior = 9 ITK_COORDINATE_PrimaryMinor = 0 ITK_COORDINATE_SecondaryMinor = 8 ITK_COORDINATE_TertiaryMinor = 16 ITK_COORDINATE_ORIENTATION_RIP = ( ITK_COORDINATE_Right << ITK_COORDINATE_PrimaryMinor ) \ + ( ITK_COORDINATE_Inferior << ITK_COORDINATE_SecondaryMinor ) \ + ( ITK_COORDINATE_Posterior << ITK_COORDINATE_TertiaryMinor ) ImageType = itk.Image[itk.ctype('unsigned char'), 3] orienter = itk.OrientImageFilter[ImageType, ImageType].New() orienter.SetUseImageDirection(True) orienter.SetDesiredCoordinateOrientation(ITK_COORDINATE_ORIENTATION_RIP) HTH, Matt [1] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkSpatialOrientation.h [2] https://issues.itk.org/jira/browse/ITK-3550 On Fri, May 26, 2017 at 11:34 PM, ??? wrote: > Hi all, > > > I don't know how to write > "itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RIP" in the codes below > using Python supported ITK. Could someone provide me an example? Thanks in > advance. > > > itk::OrientImageFilter::Pointer orienter = > itk::OrientImageFilter::New(); > orienter->UseImageDirectionOn(); > orienter->SetDesiredCoordinateOrientation(itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RIP); > orienter->SetInput(rval); > orienter->Update(); > > > Regards, > > Zhuangming Shen > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source 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 From bakkari.abdelkhalek at hotmail.fr Wed May 31 05:42:26 2017 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Wed, 31 May 2017 09:42:26 +0000 Subject: [ITK] [ITK-users] Mean, Variance, Skinewski and Kurtosis Message-ID: Dear Insight users, I am in need of an example about measuring the Mean, Variance, Skinewski and Kurtosis of a gray scale image. These features shoud be obtened using the Co-occurrence matrix and give an image for each statistical feature. Thank you in advance. Kind regards, -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 dzenanz at gmail.com Wed May 31 09:05:54 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Wed, 31 May 2017 09:05:54 -0400 Subject: [ITK] [ITK-users] Mean, Variance, Skinewski and Kurtosis In-Reply-To: References: Message-ID: Hi Abdelkhalek, take a look at this example: http://www.itk.org/Wiki/ITK/Examples/Statistics/TextureFeatures You might be interested in this code: https://github.com/blowekamp/itkTextureAnalysis and this thread: http://www.itk.org/pipermail/insight-users/2012-February/043764.html Regards, D?enan Zuki?, PhD, Senior R&D Engineer, Kitware (Carrboro, N.C.) On Wed, May 31, 2017 at 5:42 AM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Dear Insight users, > > > I am in need of an example about measuring the Mean, Variance, Skinewski > and Kurtosis of a gray scale image. > > These features shoud be obtened using the Co-occurrence matrix and give an > image for each statistical feature. > > > > Thank you in advance. > > > Kind regards, > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.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: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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 Wed May 31 12:51:24 2017 From: noreply at insightsoftwareconsortium.org (Insight Journal) Date: Wed, 31 May 2017 12:51:24 -0400 (EDT) Subject: [ITK] [ITK-users] New Submission: Computing Textural Feature Maps for N-Dimensional images Message-ID: <20170531165124.B02F03D62671@insight-journal.org> Hello, A new submission has been added to the Insight Journal. Title: Computing Textural Feature Maps for N-Dimensional images Authors: Vimort J., McCormick M., Budin F., Paniagua B. Abstract: This document describes a new remote module implemented for the Insight Toolkit ITK, itkTextureFeatures. This module contains two texture analysis filters that are used to compute feature maps of N-Dimensional images using two well-known texture analysis methods. The two filters contained in this module are itkScalarImageToTextureFeaturesImageFilter (which computes textural features based on intensity-based co-occurrence matrices in the image) and itkScalarImageToRunLengthFeaturesImageFilter (which computes textural features based on equally valued intensity clusters of different sizes or run lengths in the image). The output of this module is a vector image of the same size than the input that contains a multidimensional vector in each pixel/voxel. Filters can be configured based in the locality of the textural features (neighborhood size), offset directions for co-ocurrence and run length computation, the number of bins for the intensity histograms, the intensity range or the range of run lengths. This paper is accompanied with the source code, input data, parameters and output data that we have used for validating the algorithm 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/3574 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/ . _____________________________________ Powered by www.kitware.com Visit other Kitware open-source 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