From kolin9105 at gmail.com Tue Nov 1 03:22:32 2016 From: kolin9105 at gmail.com (meikolin saimara) Date: Tue, 1 Nov 2016 14:22:32 +0700 Subject: [ITK] [ITK-users] please help me Message-ID: hello every one how to convert dcm to jpeg using 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://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Nov 1 11:55:53 2016 From: francois.budin at kitware.com (Francois Budin) Date: Tue, 1 Nov 2016 11:55:53 -0400 Subject: [ITK] [ITK-users] please help me In-Reply-To: References: Message-ID: Hello, You can look at the example here [1]. If you simplify it, it should accomplish what you are looking for. It will use GDCM to read your DICOM and the output image is saved in the format of your choosing based on the extension of the output file. Beware that when saving your image in JPEG you might have compression artifact and loss in image quality. You can also use other widely used formats such as TIFF to avoid these issues. Hope this helps, Francois [1] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/IO/DicomImageReadWrite.cxx On Tue, Nov 1, 2016 at 3:22 AM, meikolin saimara wrote: > hello every one how to convert dcm to jpeg using ITK?? > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 Tue Nov 1 05:48:51 2016 From: tobias.wood at kcl.ac.uk (Wood, Tobias) Date: Tue, 1 Nov 2016 09:48:51 +0000 Subject: [ITK] ScaleVersor3DTransform Message-ID: <8F1629AB-4FAC-45D6-9CDC-489D3F1492F3@kcl.ac.uk> Hello, I tried to create a ScaleVersor3DTransform that applies an isotropic 0.1 scaling and a 180 degree rotation about Z. I am hence a bit confused about how I get the following output when I print the Transform: ScaleVersor3DTransform (0x7f8a726789b0) RTTI typeinfo: itk::ScaleVersor3DTransform Reference Count: 1 Modified Time: 209 Debug: Off Object Name: Observers: none Matrix: -1.9 0 0 0 -1.9 0 0 0 0.1 Offset: [0, 0, 0] Center: [0, 0, 0] Translation: [0, 0, 0] Inverse: -0.526316 0 0 0 -0.526316 0 0 0 10 Singular: 0 Versor: [ 0, 0, 1, 0 ] Scales: [0.1, 0.1, 0.1] Not that the Scales and Versor parameters appear correct. However the Matrix (and Inverse) look very badly wrong. I think the Matrix should be: -0.1 0 0 0 -0.1 0 0 0 -0.1 What have I misunderstood? Thanks, Toby From zivrafael.yaniv at nih.gov Tue Nov 1 15:56:34 2016 From: zivrafael.yaniv at nih.gov (Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]) Date: Tue, 1 Nov 2016 19:56:34 +0000 Subject: [ITK] ScaleVersor3DTransform Message-ID: Hi Tobias, Unfortunately the name of this transformation type is misleading, it is not what you expect, it adds a diagonal scale-1 matrix to the rotation matrix. I remember being surprised by this too but, in this rare case ;), the documentation says what it does: https://itk.org/Doxygen/html/classitk_1_1ScaleVersor3DTransform.html regards Ziv p.s. A description of most ITK transformation types is available in our SimpleITK notebooks repository (https://github.com/InsightSoftwareConsortium/SimpleITK-Notebooks/blob/mast er/Python/22_Transforms.ipynb). It illustrates the behavior of ITK transformations, some of which may be unexpected. On 11/1/16, 5:48 AM, "Wood, Tobias" wrote: >Hello, > >I tried to create a ScaleVersor3DTransform that applies an isotropic 0.1 >scaling and a 180 degree rotation about Z. I am hence a bit confused >about how I get the following output when I print the Transform: > >ScaleVersor3DTransform (0x7f8a726789b0) > RTTI typeinfo: itk::ScaleVersor3DTransform > Reference Count: 1 > Modified Time: 209 > Debug: Off > Object Name: > Observers: > none > Matrix: > -1.9 0 0 > 0 -1.9 0 > 0 0 0.1 > Offset: [0, 0, 0] > Center: [0, 0, 0] > Translation: [0, 0, 0] > Inverse: > -0.526316 0 0 > 0 -0.526316 0 > 0 0 10 > Singular: 0 > Versor: [ 0, 0, 1, 0 ] > Scales: [0.1, 0.1, 0.1] > >Not that the Scales and Versor parameters appear correct. However the >Matrix (and Inverse) look very badly wrong. I think the Matrix should be: >-0.1 0 0 >0 -0.1 0 >0 0 -0.1 > >What have I misunderstood? > >Thanks, >Toby > >_______________________________________________ >Community mailing list >Community at itk.org >http://public.kitware.com/mailman/listinfo/community From francois.budin at kitware.com Tue Nov 1 17:55:05 2016 From: francois.budin at kitware.com (Francois Budin) Date: Tue, 1 Nov 2016 17:55:05 -0400 Subject: [ITK] ScaleVersor3DTransform In-Reply-To: References: Message-ID: Thanks Ziv for clarifying the transform description, and nice ipython notebook! It would be awesome if you could update the documentation that is confusing in ITK. Anybody is more than welcome to submit patches to improve both the code and the documentation. Information about how to participate is available here [1]. Francois [1] https://itk.org/Wiki/ITK/Git/Develop On Tue, Nov 1, 2016 at 3:56 PM, Yaniv, Ziv Rafael (NIH/NLM/LHC) [C] < zivrafael.yaniv at nih.gov> wrote: > Hi Tobias, > > Unfortunately the name of this transformation type is misleading, it is > not what you expect, it adds a diagonal scale-1 matrix to the rotation > matrix. I remember being surprised by this too but, in this rare case ;), > the documentation says what it does: > > > https://itk.org/Doxygen/html/classitk_1_1ScaleVersor3DTransform.html > > regards > Ziv > > p.s. A description of most ITK transformation types is available in our > SimpleITK notebooks repository > (https://github.com/InsightSoftwareConsortium/ > SimpleITK-Notebooks/blob/mast > er/Python/22_Transforms.ipynb). It illustrates the behavior of ITK > transformations, some of which may be unexpected. > > > On 11/1/16, 5:48 AM, "Wood, Tobias" wrote: > > >Hello, > > > >I tried to create a ScaleVersor3DTransform that applies an isotropic 0.1 > >scaling and a 180 degree rotation about Z. I am hence a bit confused > >about how I get the following output when I print the Transform: > > > >ScaleVersor3DTransform (0x7f8a726789b0) > > RTTI typeinfo: itk::ScaleVersor3DTransform > > Reference Count: 1 > > Modified Time: 209 > > Debug: Off > > Object Name: > > Observers: > > none > > Matrix: > > -1.9 0 0 > > 0 -1.9 0 > > 0 0 0.1 > > Offset: [0, 0, 0] > > Center: [0, 0, 0] > > Translation: [0, 0, 0] > > Inverse: > > -0.526316 0 0 > > 0 -0.526316 0 > > 0 0 10 > > Singular: 0 > > Versor: [ 0, 0, 1, 0 ] > > Scales: [0.1, 0.1, 0.1] > > > >Not that the Scales and Versor parameters appear correct. However the > >Matrix (and Inverse) look very badly wrong. I think the Matrix should be: > >-0.1 0 0 > >0 -0.1 0 > >0 0 -0.1 > > > >What have I misunderstood? > > > >Thanks, > >Toby > > > >_______________________________________________ > >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 matt.mccormick at kitware.com Wed Nov 2 09:51:56 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 2 Nov 2016 09:51:56 -0400 Subject: [ITK] ITK Release 5 Wish List In-Reply-To: References: Message-ID: Hi David, Thanks for contributing! You should receive account log-in information in a separate email. Thanks, Matt On Mon, Oct 31, 2016 at 7:18 PM, David S. Paik (Elucid Bioimaging) wrote: > I?d like to make contributions to > https://itk.org/Wiki/ITK_Release_5/Wish_List but cannot figure out where to > request a login for the wiki so that I can edit. Can someone point me to > where to sign up for an account on this wiki? > > Thanks! > David > > -- > David S. Paik, Ph.D., Senior Director, Imaging Science > Elucid Bioimaging Inc. > 225 Main Street, Suite 15 | Wenham, MA 01984 USA > Office: +1-978-468-0508 > Mobile: +1-650-799-1851 > Fax: +1-978-468-0527 > david.paik at elucidbio.com | www.elucidbio.com > > This e-mail is from Elucid Bioimaging Inc., a product development and > contract research company, and may contain information that is confidential > or privileged. If you are not the intended recipient, do not read, copy or > distribute the e-mail or any attachments. Instead, please notify the sender > and delete the e-mail and any attachments. Thank you. > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > From blowekamp at mail.nih.gov Thu Nov 3 08:51:22 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Thu, 3 Nov 2016 12:51:22 +0000 Subject: [ITK] [ITK-users] Simple ITK Wavelet Transform ?? it is possible? In-Reply-To: <1477904974504-37723.post@n7.nabble.com> References: <1477904974504-37723.post@n7.nabble.com> Message-ID: <01176455-5C25-45B0-8A54-2202C794308E@mail.nih.gov> Hello, There looks like there is a new Remote ITK module to do wavelet underdevelopment. You can see the patch under review here: http://review.source.kitware.com/#/c/21512/ HTH, Brad > On Oct 31, 2016, at 5:09 AM, ivan wrote: > > Is it possibile to apply a wavelet transform to an image in SimpleITK? > Thx > > > > -- > View this message in context: http://itk-users.7.n7.nabble.com/ITK-users-Simple-ITK-Wavelet-Transform-it-is-possible-tp37723.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 zack.galbreath at kitware.com Thu Nov 3 12:09:40 2016 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Thu, 3 Nov 2016 12:09:40 -0400 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT Message-ID: I will update open.cdash.org tomorrow, Friday November 4th, at 12pm (noon) EDT. I'll reply to message when I begin the upgrade, and again when it completes. This update involves some changes to CDash's database layout, so I expect it may take an hour or so to complete. The site should still be accessible during this time. Assuming this upgrade doesn't reveal any major new bugs, we plan on releasing CDash v2.4 soon. -------------- 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 sg.ele.eng at gmail.com Thu Nov 3 16:00:51 2016 From: sg.ele.eng at gmail.com (Sara Gh) Date: Thu, 3 Nov 2016 16:00:51 -0400 Subject: [ITK] Problem with reading dicom series using SimpleITK Message-ID: Hello, I have used MATLAB to create a stack of images using Shepp-Logan Phantom and saved all these images in dicom format using *dicomwrite* function: sizeP = [128 128 128] [p,ellipse]=phantom3dAniso(sizeP); outDir = './SLPData/'; for i=1:sizeP(3) fname = [outDir sprintf('SLP%06d.dcm', i)]; dicomwrite(p(:,:,i), fname) end So, I have 128 dicom files ('SLP000001.dcm', 'SLP000002.dcm', ... , 'SLP000128.dcm' ) in the 'SLPData' folder. Now, I am trying to read these dicom images in Python using SimpleITK: pathDicomA = '/SLPData' reader = sitk.ImageSeriesReader() dicom_namesA = reader.GetGDCMSeriesFileNames(pathDicomA) reader.SetFileNames(dicom_namesA) imageA = reader.Execute() However, when I run the code, it only reads in one of the images instead of the whole series: dicom_namesA => ('.../SLPData/SLP000108.dcm',) imageA.GetSize() => (128, 128, 1) I am wondering how I should resolve this issue? Thanks in advance! Best regards, Sara -------------- next part -------------- An HTML attachment was scrubbed... URL: From francois.budin at kitware.com Thu Nov 3 16:30:46 2016 From: francois.budin at kitware.com (Francois Budin) Date: Thu, 3 Nov 2016 16:30:46 -0400 Subject: [ITK] meaning of negative spacing In-Reply-To: References: Message-ID: Hello Zein, ITK was updated and the problem you had with negative spacing should be corrected. The spacing should not be negative, and if an image with a negative spacing is loaded, it is assumed that it means that the image direction should be inverted, which is now automatically done when reading an image. To test the latest version of iITK, you can download it from its git repository: git clone http://itk.org/ITK.git Hope this helps, Francois On Mon, Oct 24, 2016 at 11:16 AM, D?enan Zuki? wrote: > Hi Zein, > > image position patient is the authoritative tag to reconstruct slice > spacing and the vector of Z position/orientation. But I am surprised that > result is negative spacing instead of negative direction cosine > (orientation vector). Can you provide the offending DICOM file? > > Regards, > D?enan > > On Mon, Oct 24, 2016 at 11:12 AM, Zein Salah wrote: > >> Hi D?enan, >> >> thanks for the response. >> >> but I still wonder what does this mean. The reason for the question is: >> >> The input image is a multiframe dicom, in which the image position >> patient (0020, 0032) >> is stored in the header for every frame. and these values are having >> decreasing values >> in the z-coordinate. So I am asking myself >> >> 1. if the itkimagereader considers this when it reconstructs the 3D >> volume? >> >> 2. if this is the reason for negative z-spacing? if this is the case, >> I can this to >> interpret the meaning of the z-spacing. >> >> >> >> >> 2016-10-24 16:55 GMT+02:00 D?enan Zuki? : >> > Hi Zein, >> > >> > I suppose you could invert the 3rd row (Z component) of the >> TransformMatrix >> > and have the spacing positive. It should have the same effect and is >> more >> > logical. >> > >> > Regards, >> > D?enan >> > >> > On Mon, Oct 24, 2016 at 8:50 AM, Zein Salah >> wrote: >> >> >> >> Hi, >> >> >> >> I have a question regarding reading dicom files with itk, >> >> particularly, multiframe dicom file (all slices in one single file). >> >> >> >> I have read an image with itk 4.10 and write it into an mhd-raw image. >> >> I noticed that the z-spacin is negative. >> >> What does negative spacing mean? >> >> >> >> thanks, >> >> Zein >> >> _______________________________________________ >> >> 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 sg.ele.eng at gmail.com Thu Nov 3 20:46:45 2016 From: sg.ele.eng at gmail.com (Sara Gh) Date: Thu, 3 Nov 2016 20:46:45 -0400 Subject: [ITK] [ITK-users] Problem with reading dicom series using SimpleITK Message-ID: Hello, I have used this MATLAB code to create a stack of images using Shepp-Logan Phantom and saved all these images in dicom format using *dicomwrite* function: sizeP = [128 128 128] [p,ellipse]=phantom3dAniso(sizeP); outDir = './SLPData/'; for i=1:sizeP(3) fname = [outDir sprintf('SLP%06d.dcm', i)]; dicomwrite(p(:,:,i), fname) end So, I have 128 dicom files ('SLP000001.dcm', 'SLP000002.dcm', ... , 'SLP000128.dcm' ) in the 'SLPData' folder. Now, I am trying to read these dicom images in Python using SimpleITK: pathDicomA = '/SLPData' reader = sitk.ImageSeriesReader() dicom_namesA = reader.GetGDCMSeriesFileNames(pathDicomA) reader.SetFileNames(dicom_namesA) imageA = reader.Execute() However, when I run the code, it only reads in one of the images instead of the whole series: dicom_namesA => ('.../SLPData/SLP000108.dcm',) imageA.GetSize() => (128, 128, 1) I am wondering what is causing this issue and how I should resolve it? Thanks in advance! Best regards, Sara -------------- 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 Nov 3 22:26:57 2016 From: francois.budin at kitware.com (Francois Budin) Date: Thu, 3 Nov 2016 22:26:57 -0400 Subject: [ITK] [ITK-users] Problem with reading dicom series using SimpleITK In-Reply-To: References: Message-ID: Hello Sara, Your code using SimpleITK is correct. I downloaded dicom images from here [1] and ran your code with this data and it found all the input dicom that were in the specified folder. Can you make sure that your output DICOM images from matlab are 2D images with the same series ID? My guess isthat your DICOMs have different seriesID, and reader.GetGDCMSeriesFileNames(pathDicomA) only takes the first series it finds (if no seriesID is specified). Hope this helps, Francois [1] https://midas3.kitware.com/midas/folder/7741 On Thu, Nov 3, 2016 at 8:46 PM, Sara Gh wrote: > Hello, > > I have used this MATLAB > code > to create a stack of images using Shepp-Logan Phantom and saved all these > images in dicom format using *dicomwrite* function: > > sizeP = [128 128 128] > > [p,ellipse]=phantom3dAniso(sizeP); > > outDir = './SLPData/'; > > for i=1:sizeP(3) > > fname = [outDir sprintf('SLP%06d.dcm', i)]; > > dicomwrite(p(:,:,i), fname) > end > > So, I have 128 dicom files ('SLP000001.dcm', 'SLP000002.dcm', ... , > 'SLP000128.dcm' ) in the 'SLPData' folder. Now, I am trying to read > these dicom images in Python using SimpleITK: > > pathDicomA = '/SLPData' > reader = sitk.ImageSeriesReader() > dicom_namesA = reader.GetGDCMSeriesFileNames(pathDicomA) > reader.SetFileNames(dicom_namesA) > imageA = reader.Execute() > > However, when I run the code, it only reads in one of the images > instead of the whole series: > > dicom_namesA => ('.../SLPData/SLP000108.dcm',) > imageA.GetSize() => (128, 128, 1) > > I am wondering what is causing this issue and how I should resolve it? > > Thanks in advance! > > Best regards, > Sara > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 cyril.mory at creatis.insa-lyon.fr Fri Nov 4 10:26:31 2016 From: cyril.mory at creatis.insa-lyon.fr (Cyril Mory) Date: Fri, 4 Nov 2016 15:26:31 +0100 Subject: [ITK] [ITK-users] Is this a bug ? In-Reply-To: <9aecc2fe-18e6-fc4f-0d77-d1225c5b1791@neuro.ma.uni-heidelberg.de> References: <9aecc2fe-18e6-fc4f-0d77-d1225c5b1791@neuro.ma.uni-heidelberg.de> Message-ID: Hello, ITK users, I've encountered a behavior with vnl_matrix, and I'm wondering whether it is a bug or a feature. The following code outputs differents results: #include #include #include int main() { vnl_matrix matrix(2, 2); matrix.put(0, 0, 4); matrix.put(0, 1, 3); matrix.put(1, 0, 2); matrix.put(1, 1, 1); // Display the matrix std::cout << "Matrix" << std::endl; std::cout << matrix << std::endl; // Display the first row of the matrix, vnl_vector matrixRow; matrixRow = matrix.get_row(0); std::cout << "First row, stored in a vnl_vector" << std::endl; std::cout << matrixRow << std::endl; double* matrixRowData = matrix.get_row(0).data_block(); std::cout << "First row, stored in a double*" << std::endl; std::cout << matrixRowData[0] << " " << matrixRowData[1] << std::endl; double* matrixRowDataFromVector = matrixRow.data_block(); std::cout << "First row, stored in a double* after passing through a vnl_vector" << std::endl; std::cout << matrixRowDataFromVector[0] << " " << matrixRowDataFromVector[1] << std::endl; return EXIT_SUCCESS; } Output : Matrix 4 3 2 1 First row, stored in a vnl_vector 4 3 First row, stored in a double* 0 3 First row, stored in a double* after passing through a vnl_vector 4 3 It was compiled with the following CMakeLists.txt: cmake_minimum_required(VERSION 2.8) project(IsThisAvnlBug) find_package(ITK REQUIRED) include(${ITK_USE_FILE}) add_executable(IsThisAvnlBug MACOSX_BUNDLE IsThisAvnlBug.cxx) target_link_libraries(IsThisAvnlBug ${ITK_LIBRARIES}) -------------- 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 sg.ele.eng at gmail.com Fri Nov 4 10:57:42 2016 From: sg.ele.eng at gmail.com (Sara Gh) Date: Fri, 4 Nov 2016 10:57:42 -0400 Subject: [ITK] [ITK-users] Problem with reading dicom series using SimpleITK In-Reply-To: References: Message-ID: Dear Francois, Thank you for your helpful email. As you said, the issue was about the series ID. I fixed the issue by making metadata (including SeriesInstanceUID) the same for all dicom files in my MATLAB code: sizeP = [128 128 128] [p,ellipse]=phantom3dAniso(sizeP); outDir = './SLPData/'; fname = [outDir 'SLP000001.dcm']; dicomwrite(p(:,:,i), fname); metadata = dicominfo(fname); for i=2:sizeP(3) fname = [outDir sprintf('SLP%06d.dcm', i)]; dicomwrite(p(:,:,i), fname, metadata, 'CreateMode', 'copy'); end Thanks, Sara On Thu, Nov 3, 2016 at 10:26 PM, Francois Budin wrote: > Hello Sara, > > Your code using SimpleITK is correct. I downloaded dicom images from here > [1] and ran your code with this data and it found all the input dicom that > were in the specified folder. Can you make sure that your output DICOM > images from matlab are 2D images with the same series ID? My guess isthat > your DICOMs have different seriesID, and reader.GetGDCMSeriesFileNames(pathDicomA) > only takes the first series it finds (if no seriesID is specified). > > Hope this helps, > Francois > > > [1] https://midas3.kitware.com/midas/folder/7741 > > On Thu, Nov 3, 2016 at 8:46 PM, Sara Gh wrote: > >> Hello, >> >> I have used this MATLAB >> code >> to create a stack of images using Shepp-Logan Phantom and saved all these >> images in dicom format using *dicomwrite* function: >> >> sizeP = [128 128 128] >> >> [p,ellipse]=phantom3dAniso(sizeP); >> >> outDir = './SLPData/'; >> >> for i=1:sizeP(3) >> >> fname = [outDir sprintf('SLP%06d.dcm', i)]; >> >> dicomwrite(p(:,:,i), fname) >> end >> >> So, I have 128 dicom files ('SLP000001.dcm', 'SLP000002.dcm', ... , >> 'SLP000128.dcm' ) in the 'SLPData' folder. Now, I am trying to read >> these dicom images in Python using SimpleITK: >> >> pathDicomA = '/SLPData' >> reader = sitk.ImageSeriesReader() >> dicom_namesA = reader.GetGDCMSeriesFileNames(pathDicomA) >> reader.SetFileNames(dicom_namesA) >> imageA = reader.Execute() >> >> However, when I run the code, it only reads in one of the images >> instead of the whole series: >> >> dicom_namesA => ('.../SLPData/SLP000108.dcm',) >> imageA.GetSize() => (128, 128, 1) >> >> I am wondering what is causing this issue and how I should resolve it? >> >> Thanks in advance! >> >> Best regards, >> Sara >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the 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 Nov 4 10:59:33 2016 From: francois.budin at kitware.com (Francois Budin) Date: Fri, 4 Nov 2016 10:59:33 -0400 Subject: [ITK] [ITK-users] Problem with reading dicom series using SimpleITK In-Reply-To: References: Message-ID: Thanks for sharing the solution to your problem. Francois On Fri, Nov 4, 2016 at 10:57 AM, Sara Gh wrote: > Dear Francois, > > Thank you for your helpful email. > As you said, the issue was about the series ID. I fixed the issue by > making metadata (including SeriesInstanceUID) the same for all dicom files > in my MATLAB code: > > sizeP = [128 128 128] > > [p,ellipse]=phantom3dAniso(sizeP); > > outDir = './SLPData/'; > > fname = [outDir 'SLP000001.dcm']; > > dicomwrite(p(:,:,i), fname); > > metadata = dicominfo(fname); > > for i=2:sizeP(3) > > fname = [outDir sprintf('SLP%06d.dcm', i)]; > > dicomwrite(p(:,:,i), fname, metadata, 'CreateMode', 'copy'); > end > > Thanks, > Sara > > > On Thu, Nov 3, 2016 at 10:26 PM, Francois Budin < > francois.budin at kitware.com> wrote: > >> Hello Sara, >> >> Your code using SimpleITK is correct. I downloaded dicom images from here >> [1] and ran your code with this data and it found all the input dicom that >> were in the specified folder. Can you make sure that your output DICOM >> images from matlab are 2D images with the same series ID? My guess isthat >> your DICOMs have different seriesID, and reader.GetGDCMSeriesFileNames(pathDicomA) >> only takes the first series it finds (if no seriesID is specified). >> >> Hope this helps, >> Francois >> >> >> [1] https://midas3.kitware.com/midas/folder/7741 >> >> On Thu, Nov 3, 2016 at 8:46 PM, Sara Gh wrote: >> >>> Hello, >>> >>> I have used this MATLAB >>> code >>> to create a stack of images using Shepp-Logan Phantom and saved all these >>> images in dicom format using *dicomwrite* function: >>> >>> sizeP = [128 128 128] >>> >>> [p,ellipse]=phantom3dAniso(sizeP); >>> >>> outDir = './SLPData/'; >>> >>> for i=1:sizeP(3) >>> >>> fname = [outDir sprintf('SLP%06d.dcm', i)]; >>> >>> dicomwrite(p(:,:,i), fname) >>> end >>> >>> So, I have 128 dicom files ('SLP000001.dcm', 'SLP000002.dcm', ... , >>> 'SLP000128.dcm' ) in the 'SLPData' folder. Now, I am trying to read >>> these dicom images in Python using SimpleITK: >>> >>> pathDicomA = '/SLPData' >>> reader = sitk.ImageSeriesReader() >>> dicom_namesA = reader.GetGDCMSeriesFileNames(pathDicomA) >>> reader.SetFileNames(dicom_namesA) >>> imageA = reader.Execute() >>> >>> However, when I run the code, it only reads in one of the images >>> instead of the whole series: >>> >>> dicom_namesA => ('.../SLPData/SLP000108.dcm',) >>> imageA.GetSize() => (128, 128, 1) >>> >>> I am wondering what is causing this issue and how I should resolve it? >>> >>> Thanks in advance! >>> >>> Best regards, >>> Sara >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.php >>> >>> Please keep messages on-topic and check the 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 zack.galbreath at kitware.com Fri Nov 4 11:59:12 2016 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Fri, 4 Nov 2016 11:59:12 -0400 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: References: Message-ID: Starting the upgrade now. On Thu, Nov 3, 2016 at 12:09 PM, Zack Galbreath wrote: > I will update open.cdash.org tomorrow, Friday November 4th, at 12pm > (noon) EDT. I'll reply to message when I begin the upgrade, and again when > it completes. > > This update involves some changes to CDash's database layout, so I expect > it may take an hour or so to complete. The site should still be accessible > during this time. > > Assuming this upgrade doesn't reveal any major new bugs, we plan on > releasing CDash v2.4 soon. > -------------- 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 zack.galbreath at kitware.com Fri Nov 4 12:27:07 2016 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Fri, 4 Nov 2016 12:27:07 -0400 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: References: Message-ID: The upgrade is complete. The only issue I've noticed is that old coverage files are not being displayed properly. Newly submitted ones are, though, so I suppose this problem will resolve itself tomorrow. Please do not hesitate to contact me if you notice anything else that seems to be amiss. On Fri, Nov 4, 2016 at 11:59 AM, Zack Galbreath wrote: > Starting the upgrade now. > > On Thu, Nov 3, 2016 at 12:09 PM, Zack Galbreath < > zack.galbreath at kitware.com> wrote: > >> I will update open.cdash.org tomorrow, Friday November 4th, at 12pm >> (noon) EDT. I'll reply to message when I begin the upgrade, and again when >> it completes. >> >> This update involves some changes to CDash's database layout, so I expect >> it may take an hour or so to complete. The site should still be accessible >> during this time. >> >> Assuming this upgrade doesn't reveal any major new bugs, we plan on >> releasing CDash v2.4 soon. >> > > -------------- 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 brad at lowekamp.net Fri Nov 4 21:02:30 2016 From: brad at lowekamp.net (Bradley Lowekamp) Date: Fri, 4 Nov 2016 21:02:30 -0400 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: References: Message-ID: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> Thanks for the upgrade! All seems ok for my usage today. I also appreciate the separated graphs with the correct axis label. Brad > On Nov 4, 2016, at 12:27 PM, Zack Galbreath wrote: > > The upgrade is complete. > > The only issue I've noticed is that old coverage files are not being displayed properly. Newly submitted ones are, though, so I suppose this problem will resolve itself tomorrow. > > Please do not hesitate to contact me if you notice anything else that seems to be amiss. > > > >> On Fri, Nov 4, 2016 at 11:59 AM, Zack Galbreath wrote: >> Starting the upgrade now. >> >>> On Thu, Nov 3, 2016 at 12:09 PM, Zack Galbreath wrote: >>> I will update open.cdash.org tomorrow, Friday November 4th, at 12pm (noon) EDT. I'll reply to message when I begin the upgrade, and again when it completes. >>> >>> This update involves some changes to CDash's database layout, so I expect it may take an hour or so to complete. The site should still be accessible during this time. >>> >>> Assuming this upgrade doesn't reveal any major new bugs, we plan on releasing CDash v2.4 soon. >> > > _______________________________________________ > Powered by www.kitware.com > > 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 francois.budin at kitware.com Sat Nov 5 09:41:23 2016 From: francois.budin at kitware.com (Francois Budin) Date: Sat, 5 Nov 2016 09:41:23 -0400 Subject: [ITK] [ITK-users] Is this a bug ? In-Reply-To: References: <9aecc2fe-18e6-fc4f-0d77-d1225c5b1791@neuro.ma.uni-heidelberg.de> Message-ID: Hello Cyril, Thank you for pointing out this behavior. This is a memory allocation problem in your program. To need to create some memory space to save the data that is returned by the vnl_matrix. See below a way to solve your issue. Hope this helps, Francois #include #include #include #include int main() { vnl_matrix matrix(2, 2); matrix.put(0, 0, 4); matrix.put(0, 1, 3); matrix.put(1, 0, 2); matrix.put(1, 1, 1); // Display the matrix std::cout << "Matrix" << std::endl; std::cout << matrix << std::endl; // Display the first row of the matrix, vnl_vector matrixRow; matrixRow = matrix.get_row(0); std::cout << "First row, stored in a vnl_vector" << std::endl; std::cout << matrixRow << std::endl; double matrixRowData[2]; std::memcpy(matrixRowData, matrix.get_row(0).data_block(), 2*sizeof(double)); std::cout << "First row, stored in a double*" << std::endl; std::cout << matrixRowData[0] << " " << matrixRowData[1] << std::endl; double* matrixRowDataFromVector = matrixRow.data_block(); std::cout << "First row, stored in a double* after passing through a vnl_vector" << std::endl; std::cout << matrixRowDataFromVector[0] << " " << matrixRowDataFromVector[1] << std::endl; return 0; } Matrix 4 3 2 1 First row, stored in a vnl_vector 4 3 First row, stored in a double* 4 3 First row, stored in a double* after passing through a vnl_vector 4 3 On Fri, Nov 4, 2016 at 10:26 AM, Cyril Mory wrote: > Hello, ITK users, > > I've encountered a behavior with vnl_matrix, and I'm wondering whether it > is a bug or a feature. The following code outputs differents results: > > #include > #include > #include > > int main() > { > vnl_matrix matrix(2, 2); > matrix.put(0, 0, 4); > matrix.put(0, 1, 3); > matrix.put(1, 0, 2); > matrix.put(1, 1, 1); > > // Display the matrix > std::cout << "Matrix" << std::endl; > std::cout << matrix << std::endl; > > // Display the first row of the matrix, > vnl_vector matrixRow; > matrixRow = matrix.get_row(0); > std::cout << "First row, stored in a vnl_vector" << std::endl; > std::cout << matrixRow << std::endl; > > double* matrixRowData = matrix.get_row(0).data_block(); > std::cout << "First row, stored in a double*" << std::endl; > std::cout << matrixRowData[0] << " " << matrixRowData[1] << std::endl; > > double* matrixRowDataFromVector = matrixRow.data_block(); > std::cout << "First row, stored in a double* after passing through a > vnl_vector" << std::endl; > std::cout << matrixRowDataFromVector[0] << " " << > matrixRowDataFromVector[1] << std::endl; > > return EXIT_SUCCESS; > } > > Output : > > Matrix > > 4 3 > > 2 1 > > First row, stored in a vnl_vector > > 4 3 > > First row, stored in a double* > > 0 3 > > First row, stored in a double* after passing through a vnl_vector > > 4 3 > > > It was compiled with the following CMakeLists.txt: > > > cmake_minimum_required(VERSION 2.8) > > project(IsThisAvnlBug) > > find_package(ITK REQUIRED) > include(${ITK_USE_FILE}) > > add_executable(IsThisAvnlBug MACOSX_BUNDLE IsThisAvnlBug.cxx) > target_link_libraries(IsThisAvnlBug ${ITK_LIBRARIES}) > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 jhlegarreta at vicomtech.org Mon Nov 7 02:02:55 2016 From: jhlegarreta at vicomtech.org (Jon Haitz Legarreta) Date: Mon, 7 Nov 2016 08:02:55 +0100 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> References: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> Message-ID: Hi, thanks for the upgrade Zach. Coverage reports seem not to be working yet. Although the coverage figures seem to be computed/updated, the file reports do not show which lines are being exercised, and just show an empty line. Thanks, JON HAITZ On 5 November 2016 at 02:02, Bradley Lowekamp wrote: > Thanks for the upgrade! All seems ok for my usage today. I also > appreciate the separated graphs with the correct axis label. > > Brad > > On Nov 4, 2016, at 12:27 PM, Zack Galbreath > wrote: > > The upgrade is complete. > > The only issue I've noticed is that old coverage files are not being > displayed properly. Newly submitted ones are, though, so I suppose this > problem will resolve itself tomorrow. > > Please do not hesitate to contact me if you notice anything else that > seems to be amiss. > > > > On Fri, Nov 4, 2016 at 11:59 AM, Zack Galbreath < > zack.galbreath at kitware.com> wrote: > >> Starting the upgrade now. >> >> On Thu, Nov 3, 2016 at 12:09 PM, Zack Galbreath < >> zack.galbreath at kitware.com> wrote: >> >>> I will update open.cdash.org tomorrow, Friday November 4th, at 12pm >>> (noon) EDT. I'll reply to message when I begin the upgrade, and again when >>> it completes. >>> >>> This update involves some changes to CDash's database layout, so I >>> expect it may take an hour or so to complete. The site should still be >>> accessible during this time. >>> >>> Assuming this upgrade doesn't reveal any major new bugs, we plan on >>> releasing CDash v2.4 soon. >>> >> >> > _______________________________________________ > Powered by www.kitware.com > > 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 > > -------------- 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 bakkari.abdelkhalek at hotmail.fr Mon Nov 7 08:53:55 2016 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Mon, 7 Nov 2016 13:53:55 +0000 Subject: [ITK] [ITK-users] Mouse release and mapping (x,y) to slice (i,j) Message-ID: Dear ITK users, I am using QT and VTK. I created a mouse release method to use it inside a QVTKWidget : void MyQVTKWidget::mouseReleaseEvent(QMouseEvent* event) { if (pMainWindow) { ((MainWindow *)pMainWindow)->myMouseReleaseEvent(event); } // call the super class to avoid troubles QVTKWidget::mouseReleaseEvent(event); } Now, I would like to map (x,y) to slice (i,j). Generally, mouse position should be mapped into ( i, j) of current slice. It depends on the zoom factor, aspect ratio of the slice and the window size. But, I am wondering about how can I solve this issue. Thanks in advance! Best regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland -------------- 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 Mon Nov 7 09:04:04 2016 From: francois.budin at kitware.com (Francois Budin) Date: Mon, 7 Nov 2016 09:04:04 -0500 Subject: [ITK] [ITK-users] Mouse release and mapping (x, y) to slice (i, j) In-Reply-To: References: Message-ID: Hello Abdelkhalek, Your question seem to be related to VTK, not ITK. You may want to contact the VTK mailing list. You can register to the VTK mailing lists from this page: http://www.vtk.org/mailing-lists/ Hope this helps, Francois On Mon, Nov 7, 2016 at 8:53 AM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Dear ITK users, > > > > I am using QT and VTK. I created a mouse release method to use it inside a > QVTKWidget : > > void MyQVTKWidget::mouseReleaseEvent(QMouseEvent* event) > > { > > if (pMainWindow){ > > ((MainWindow *)pMainWindow)->myMouseReleaseEvent(event);} > > // call the super class to avoid troubles > > QVTKWidget::mouseReleaseEvent(event); > > } > > Now, I would like to map (x,y) to slice (i,j). Generally, mouse position > should be mapped into ( i, j) of current slice. It depends on the zoom > factor, aspect ratio of the slice and the window size. > > > But, I am wondering about how can I solve this issue. > > > > Thanks in advance! > Best regards, > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- 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 zack.galbreath at kitware.com Mon Nov 7 09:30:06 2016 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Mon, 7 Nov 2016 09:30:06 -0500 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: References: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> Message-ID: Hi Jon, Thanks for noticing that this issue was still not resolved. I just purged the cache of coverage files on open.cdash.org, so line-by-line coverage should be properly displayed once this data is resubmitted tonight. I'll double check this tomorrow morning. On Mon, Nov 7, 2016 at 2:02 AM, Jon Haitz Legarreta < jhlegarreta at vicomtech.org> wrote: > Hi, > thanks for the upgrade Zach. > > Coverage reports seem not to be working yet. Although the coverage figures > seem to be computed/updated, the file reports do not show which lines are > being exercised, and just show an empty line. > > Thanks, > JON HAITZ > > > > > On 5 November 2016 at 02:02, Bradley Lowekamp wrote: > >> Thanks for the upgrade! All seems ok for my usage today. I also >> appreciate the separated graphs with the correct axis label. >> >> Brad >> >> On Nov 4, 2016, at 12:27 PM, Zack Galbreath >> wrote: >> >> The upgrade is complete. >> >> The only issue I've noticed is that old coverage files are not being >> displayed properly. Newly submitted ones are, though, so I suppose this >> problem will resolve itself tomorrow. >> >> Please do not hesitate to contact me if you notice anything else that >> seems to be amiss. >> >> >> >> On Fri, Nov 4, 2016 at 11:59 AM, Zack Galbreath < >> zack.galbreath at kitware.com> wrote: >> >>> Starting the upgrade now. >>> >>> On Thu, Nov 3, 2016 at 12:09 PM, Zack Galbreath < >>> zack.galbreath at kitware.com> wrote: >>> >>>> I will update open.cdash.org tomorrow, Friday November 4th, at 12pm >>>> (noon) EDT. I'll reply to message when I begin the upgrade, and again when >>>> it completes. >>>> >>>> This update involves some changes to CDash's database layout, so I >>>> expect it may take an hour or so to complete. The site should still be >>>> accessible during this time. >>>> >>>> Assuming this upgrade doesn't reveal any major new bugs, we plan on >>>> releasing CDash v2.4 soon. >>>> >>> >>> >> _______________________________________________ >> Powered by www.kitware.com >> >> 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 >> >> > -------------- 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 zack.galbreath at kitware.com Mon Nov 7 09:34:44 2016 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Mon, 7 Nov 2016 09:34:44 -0500 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> References: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> Message-ID: On Fri, Nov 4, 2016 at 9:02 PM, Bradley Lowekamp wrote: > Thanks for the upgrade! All seems ok for my usage today. I also > appreciate the separated graphs with the correct axis label. > Glad to you like it! Off the top of my head, another improvement we made is to the "Test Overview" page. Instead of simply showing an alphabetical list of all tests that failed, it now shows you how frequently each test failed or timed out. This is more useful for tracking down unreliable tests. -------------- 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 bill.lorensen at gmail.com Mon Nov 7 10:44:58 2016 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Mon, 7 Nov 2016 10:44:58 -0500 Subject: [ITK] [ITK-dev] [vtk-developers] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: References: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> Message-ID: Seems like compile errors are not being listed... https://open.cdash.org/viewBuildError.php?buildid=4630324 On Mon, Nov 7, 2016 at 9:34 AM, Zack Galbreath wrote: > On Fri, Nov 4, 2016 at 9:02 PM, Bradley Lowekamp wrote: >> >> Thanks for the upgrade! All seems ok for my usage today. I also >> appreciate the separated graphs with the correct axis label. > > > Glad to you like it! > > Off the top of my head, another improvement we made is to the "Test > Overview" page. Instead of simply showing an alphabetical list of all tests > that failed, it now shows you how frequently each test failed or timed out. > This is more useful for tracking down unreliable tests. > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/vtk-developers > > -- Unpaid intern in BillsBasement at noware dot com _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://kitware.com/products/protraining.php Please keep messages on-topic and check 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 will.schroeder at kitware.com Mon Nov 7 11:11:28 2016 From: will.schroeder at kitware.com (Will Schroeder) Date: Mon, 07 Nov 2016 16:11:28 -0000 Subject: [ITK] [ITK-dev] A little gratitude goes a long way, especially heading into a new year... Message-ID: Here are some kind words directed at open source maintainers: http://jlongster.com/Starters-and-Maintainers "Here?s to all the maintainers out there. To all the people putting in tireless, thankless work behind-the-scenes to keep code alive, to write documentation, to cut releases, to register domain names, and everything else. ?" Amen, I'd also like to add to that the unsung heroes , the Program Managers, academics, researchers, leaders, visionaries, and everyone else who do the hard work of keeping open source thriving by encouraging, contributing to, and/or funding these efforts. -- William J. Schroeder, PhD Kitware, Inc. 28 Corporate Drive Clifton Park, NY 12065 will.schroeder at kitware.com http://www.kitware.com (518) 881-4902 -------------- 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 marco.dev.open at gmail.com Mon Nov 7 11:11:17 2016 From: marco.dev.open at gmail.com (Marco Dev) Date: Mon, 07 Nov 2016 16:11:17 -0000 Subject: [ITK] [ITK-dev] Different 3D view for reading Message-ID: Hi dears, why we have different 3D view from reading .mhd file or reading dicom files through FixedPointVolumeRayCastMapperCT for example : dicom reader --> vtkDICOMImageReader *dicomReader = vtkDICOMImageReader:: New(); dicomReader->SetDirectoryName(dirname); dicomReader->Update(); input=dicomReader->GetOutput(); reader=dicomReader; . . .. colorFun->AddRGBPoint( -3024, 0, 0, 0, 0.5, 0.0 ); colorFun->AddRGBPoint( -1000, .62, .36, .18, 0.5, 0.0 ); colorFun->AddRGBPoint( -500, .88, .60, .29, 0.33, 0.45 ); colorFun->AddRGBPoint( 3071, .83, .66, 1, 0.5, 0.0 ); opacityFun->AddPoint(-3024, 0, 0.5, 0.0 ); opacityFun->AddPoint(-1000, 0, 0.5, 0.0 ); opacityFun->AddPoint(-500, 1.0, 0.33, 0.45 ); opacityFun->AddPoint(3071, 1.0, 0.5, 0.0); mapper->SetBlendModeToComposite(); property->ShadeOn(); property->SetAmbient(0.1); property->SetDiffuse(0.9); property->SetSpecular(0.2); property->SetSpecularPower(10.0); property->SetScalarOpacityUnitDistance(0.8919); =========================================================== mhd reader -- > vtkMetaImageReader *metaReader = vtkMetaImageReader::New(); metaReader->SetFileName(fileName); metaReader->Update(); input=metaReader->GetOutput(); reader=metaReader; . . . . . colorFun->AddRGBPoint( -3024, 0, 0, 0, 0.5, 0.0 ); colorFun->AddRGBPoint( -1000, .62, .36, .18, 0.5, 0.0 ); colorFun->AddRGBPoint( -500, .88, .60, .29, 0.33, 0.45 ); colorFun->AddRGBPoint( 3071, .83, .66, 1, 0.5, 0.0 ); opacityFun->AddPoint(-3024, 0, 0.5, 0.0 ); opacityFun->AddPoint(-1000, 0, 0.5, 0.0 ); opacityFun->AddPoint(-500, 1.0, 0.33, 0.45 ); opacityFun->AddPoint(3071, 1.0, 0.5, 0.0); mapper->SetBlendModeToComposite(); property->ShadeOn(); property->SetAmbient(0.1); property->SetDiffuse(0.9); property->SetSpecular(0.2); property->SetSpecularPower(10.0); property->SetScalarOpacityUnitDistance(0.8919); -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: dicomreader.png Type: image/png Size: 735267 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mhdreader.png Type: image/png Size: 1240210 bytes Desc: not available 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 marco.dev.open at gmail.com Mon Nov 7 11:11:18 2016 From: marco.dev.open at gmail.com (Marco Dev) Date: Mon, 07 Nov 2016 16:11:18 -0000 Subject: [ITK] [ITK-dev] Fusion in general Message-ID: HI, I have two DICOM images (PET/CT) and these images are related to the same patient for testing these images in FUSION action I used radiant application But it does not enable FUSION feature In general for fusion two images what do we need for understanding which DICOM parameters we should regarding these dicom images attached with this mail Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ct_1.dcm Type: application/dicom Size: 528012 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pet_1.dcm Type: application/dicom Size: 137334 bytes Desc: not available 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 zack.galbreath at kitware.com Mon Nov 7 11:10:26 2016 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Mon, 7 Nov 2016 11:10:26 -0500 Subject: [ITK] [ITK-dev] [vtk-developers] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: References: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> Message-ID: On Mon, Nov 7, 2016 at 10:44 AM, Bill Lorensen wrote: > Seems like compile errors are not being listed... > https://open.cdash.org/viewBuildError.php?buildid=4630324 Looks okay to me. Might be a stale cache on your end? Let me know if I'm missing something. ? > > On Mon, Nov 7, 2016 at 9:34 AM, Zack Galbreath > wrote: > > On Fri, Nov 4, 2016 at 9:02 PM, Bradley Lowekamp > wrote: > >> > >> Thanks for the upgrade! All seems ok for my usage today. I also > >> appreciate the separated graphs with the correct axis label. > > > > > > Glad to you like it! > > > > Off the top of my head, another improvement we made is to the "Test > > Overview" page. Instead of simply showing an alphabetical list of all > tests > > that failed, it now shows you how frequently each test failed or timed > out. > > This is more useful for tracking down unreliable tests. > > > > _______________________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Search the list archives at: http://markmail.org/search/?q= > vtk-developers > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/vtk-developers > > > > > > > > -- > Unpaid intern in BillsBasement at noware dot com > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: build_errors.png Type: image/png Size: 470063 bytes Desc: not available 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 chuck.atkins at kitware.com Mon Nov 7 11:11:19 2016 From: chuck.atkins at kitware.com (Chuck Atkins) Date: Mon, 07 Nov 2016 16:11:19 -0000 Subject: [ITK] [ITK-dev] New Highly Parallel Build System, the POWER8 In-Reply-To: References: Message-ID: (re-sent for the rest of the dev list) Hi Bradley, It's pretty fast. The interesting numbers are for 20, 40, 80, and 160. That aligns with 1:1, 2:1, 4:1, and 8:1 threads to core ratio. Starting from the already configured ITKLinuxPOWER8 currently being built, I did a ninja clean and then "time ninja -jN". Watching the cpu load for 20, 40, and 80 cores though, I see a fair amount of both process migration and unbalanced thread distribution, i.e. for -j20 I'll often see 2 cores with 6 or 8 threads and the rest with only 1 or 2. So in addition to the -jN settings, I also ran 20, 40, and 80 threads using numactl with fixed binding to physical CPU cores to evenly distribute the threads across cores and prevent thread migration. See timings below in seconds: ThreadsRealUserSysTotal CPU Time201037.09719866.685429.79620296.481*(Numa Bind) 20**915.910**16290.589**319.017**16609.606*40713.77226953.663556.960 27510.623(Numa Bind) 40641.92422442.685432.37922875.06480588.35740970.439 822.94441793.383*(Numa Bind) 80**538.801**35366.297**637.922**36004.219*160 572.49262542.9011289.86463832.765(Numa Bind) 160549.74261864.6661242.975 63107.641 So it seems like core binding gives us an approximate 10% performance increase for all thread configurations. And while clearly the core-locked 4:1 gave us the best time, looking at the total CPU time (user+sys) the 1:1 looks to be the most efficient for actual cycles used. It's interesting to watch how the whole system gets used up for most of the build but everything gets periodically gated on a handful of linker processes. And of course, it's always cool to see a screen cap of htop with a whole boat load of cores at 100% - Chuck On Thu, Apr 23, 2015 at 10:01 AM, Bradley Lowekamp wrote: > Matt, > > I'd love to explore the build performance of this system. > > Any chance you could run clean builds of ITK on this system with > 20,40,60,80,100,120,140 and 160 processes and record the timings? > > I am very curious how this unique systems scales with multiple heavy > weight processes, as it's design appears to be uniquely suitable to lighter > weight multi-threading. > > Thanks, > Brad > > On Apr 22, 2015, at 11:51 PM, Matt McCormick > wrote: > > > Hi folks, > > > > With thanks to Chuck Atkins and FSF France, we have a new build on the > > dashboard [1] for the IBM POWER8 [2] system. This is a PowerPC64 > > system with 20 cores and 8 threads per core -- a great system where we > > can test and improve ITK parallel computing performance! > > > > > > To generate a test build on Gerrit, add > > > > request build: power8 > > > > in a review's comments. > > > > > > There are currently some build warnings and test failures that should > > be addressed before we will be able to use the system effectively. Any > > help here is appreciated. > > > > Thanks, > > Matt > > > > > > [1] > https://open.cdash.org/index.php?project=Insight&date=2015-04-22&filtercount=1&showfilters=1&field1=site/string&compare1=63&value1=gcc112 > > > > [2] https://en.wikipedia.org/wiki/POWER8 > > _______________________________________________ > > Powered by www.kitware.com > > > > 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 > > _______________________________________________ > > 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: gcc112-ninja160.png Type: image/png Size: 398119 bytes Desc: not available 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 nexnaru at gmail.com Mon Nov 7 11:11:21 2016 From: nexnaru at gmail.com (Maryana) Date: Mon, 07 Nov 2016 16:11:21 -0000 Subject: [ITK] [ITK-dev] Streamed Read/Write Truncating Data In-Reply-To: References: <191044B9-EE73-479F-89C4-BA7FEA977740@mail.nih.gov> Message-ID: Hi! If anyone would like to repeat the test, this is my test file: https://www.dropbox.com/s/7hpen46znk1h58l/brain_8bit.nii?dl=0 If I convert that file to MetaIO without streams, and use ExtractImageFilter to read one file perpendicular to Y (as in the code I'm sending bellow) it works fine (see slice.tif). However if I convert it to MetaIO using streams and use the same code to read the same slice, I end up with a truncated image (file slice_stream.tif). I have the same result when I use Paraview for visualization. By the way, for what I've read from ITK documentation NIfti supposedly supports streamed reading. So I'm guessing that using Nifti in this case would be ok. Is this correct? Would anyone have an idea on what's wrong? Thank you! Code for reading slice: #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkExtractImageFilter.h" #include "itkImage.h" int main( int argc, char ** argv ) { typedef unsigned char InputPixelType; typedef unsigned char OutputPixelType; typedef itk::Image< InputPixelType, 3 > InputImageType; typedef itk::Image< OutputPixelType, 2 > OutputImageType; typedef itk::ImageFileReader< InputImageType > ReaderType; typedef itk::ImageFileWriter< OutputImageType > WriterType; std::string fileIn = "mri2_stream.mha"; std::string fileOut = "slice.tif"; const char * inputFilename = fileIn.c_str(); const char * outputFilename = fileOut.c_str(); ReaderType::Pointer reader = ReaderType::New(); WriterType::Pointer writer = WriterType::New(); reader->SetFileName( inputFilename ); writer->SetFileName( outputFilename ); typedef itk::ExtractImageFilter< InputImageType, OutputImageType > FilterType; FilterType::Pointer filter = FilterType::New(); filter->InPlaceOn(); filter->SetDirectionCollapseToSubmatrix(); reader->UpdateOutputInformation(); InputImageType::RegionType inputRegion = reader->GetOutput()->GetLargestPossibleRegion(); InputImageType::SizeType size = inputRegion.GetSize(); std::cout << "Size: " << std::endl; std::cout << size[0] << std::endl; std::cout << size[1] << std::endl; std::cout << size[2] << std::endl; InputImageType::IndexType start = inputRegion.GetIndex(); const unsigned int sliceNumber = 800; std::cout << "Start: " << std::endl; std::cout << start[0] << std::endl; std::cout << start[1] << std::endl; std::cout << start[2] << std::endl; size[1] = 0; start[1] = sliceNumber; InputImageType::RegionType desiredRegion; desiredRegion.SetSize( size ); desiredRegion.SetIndex( start ); filter->SetExtractionRegion( desiredRegion ); filter->SetInput( reader->GetOutput() ); writer->SetInput( filter->GetOutput() ); try { writer->Update(); } catch( itk::ExceptionObject & err ) { std::cerr << "ExceptionObject caught !" << std::endl; std::cerr << err << std::endl; return EXIT_FAILURE; } return EXIT_SUCCESS; } On Mon, Sep 21, 2015 at 12:07 PM, Maryana wrote: > Hi, > > I use Linux Mint 64bits, GCC 4.8, Cmake 2.8. I'm compiling to this > platform. > > Thank you! > > On Mon, Sep 21, 2015 at 11:55 AM, Bradley Lowekamp > wrote: > >> Hello Maryana, >> >> What compiler, platform and architecture are you compiling for? >> >> Brad >> >> On Sep 21, 2015, at 2:54 PM, Maryana wrote: >> >> > >> > Hi ITK Users/Devs, >> > >> > I'm new to ITK and I need to write a small program to convert Nifti >> images to MetaIO. However, I need to use the streamed reader/writer because >> my image volumes can have several gigabytes. I was doing some tests with >> the following code but I've realized that whenever I use the stream I end >> up with a truncated volume. I'm using ITK 4.8. I'm sure my volume is of >> unsigned char type. Also, when I comment out the >> writer->SetNumberOfStreamDivisions(20); line I works fine. Does anyone >> knows what is wrong? >> > >> > Thank you! >> > >> > #include >> > #include >> > #include >> > >> > #include "itkImage.h" >> > #include "itkImageFileReader.h" >> > #include "itkImageFileWriter.h" >> > #include "itkImageRegionIterator.h" >> > #include "itkNiftiImageIO.h" >> > #include "itkMetaImageIO.h" >> > >> > >> > int main(int argc, char const *argv[]){ >> > >> > std::string fileIn = "brain_8bit.nii"; >> > std::string fileOut = "mri2_stream.mha"; >> > >> > typedef itk::Image Image3D; >> > >> > //Reader >> > typedef itk::ImageFileReader ReaderType; >> > ReaderType::Pointer reader = ReaderType::New(); >> > reader->SetFileName(fileIn); >> > >> > //Writer >> > typedef itk::ImageFileWriter WriterType; >> > WriterType::Pointer writer = WriterType::New(); >> > writer->SetFileName(fileOut); >> > writer->SetNumberOfStreamDivisions(20); >> > writer->SetInput(reader->GetOutput()); >> > >> > >> > std::cout << "Input: " << fileIn << std::endl; >> > std::cout << "Output: " << fileOut << std::endl; >> > >> > std::cout << "Writing..." << std::endl; >> > try >> > { >> > writer->Update(); >> > } >> > catch( itk::ExceptionObject & err ) >> > { >> > std::cerr << "ExceptionObject caught !" << std::endl; >> > std::cerr << err << std::endl; >> > return EXIT_FAILURE; >> > } >> > std::cout << "Finished." << std::endl; >> > >> > >> > return EXIT_SUCCESS; >> > } >> > >> > >> > >> > >> > >> > -- >> > "Tudo no mundo come?ou com um sim. Uma mol?cula disse sim a outra >> mol?cula e nasceu a vida" - Clarice Lispector >> > _______________________________________________ >> > Powered by www.kitware.com >> > >> > 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 >> >> > > > -- > "Tudo no mundo come?ou com um sim. Uma mol?cula disse sim a outra mol?cula > e nasceu a vida" - Clarice Lispector > -- "Tudo no mundo come?ou com um sim. Uma mol?cula disse sim a outra mol?cula e nasceu a vida" - Clarice Lispector -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: slice.tif Type: image/tiff Size: 1924243 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: slice_stream.tif Type: image/tiff Size: 1924243 bytes Desc: not available 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 mmskeen at gmail.com Mon Nov 7 11:11:28 2016 From: mmskeen at gmail.com (Michael Skeen) Date: Mon, 07 Nov 2016 16:11:28 -0000 Subject: [ITK] [ITK-dev] ITK Architectural Patterns & Quality Attributes for Research Message-ID: Hello ITK Community, I am part of an undergraduate research group focusing on software architecture patterns and quality attributes at Utah Valley University. We recently analyzed the work published on ITK in the Architecture of Open Source Applications (AOSA) and referenced it in a paper we presented at the 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), as attached. As a part of our continuing research we wish to validate our architectural analysis for ITK with the current developers. We would like to know if we are missing any patterns or quality attributes that may have been included in ITK, or if there are any we listed that aren?t used. Any additional comment on these topics you might have would also, of course, be welcome. We believe we found the following software architectural patterns in this application: * Pattern Name | Is This Found in the Architecture? (yes / no / don't know) | Comments (optional)* Pipes & Filters Plugin Other? We also identified the following quality attributes: * Attribute Name | Is This Found in the Architecture? | Comments (optional)* Usability Extensibility Flexibility Maintainability Testability Other? For your convenience, we have a complete list below of the patterns and quality attributes we referred to when conducting our research. To clarify, we are specifically studying architectural patterns, rather than design patterns such as the GoF patterns. Architectural Patterns Considered Quality Attributes Considered Active Repository Scalability Batch Usability Blackboard Extensibility Broker Performance Client Server Portability Event System Flexibility Explicit Invocation Reliability Implicit Invocation Maintainability Indirection Layer Security Interceptor Testability Interpreter Capacity Layers Cost Master and Commander Legality Microkernel Modularity Model View Controller Robustness Peer to Peer Pipes and Filters Plugin Presentation Abstraction Control Publish Subscribe Reflection Rule-Based System Shared Repository Simple Repository State Based Virtual Machine Please respond by October 25th, if possible. Thank you for considering our request, and for your continued work on ITK. Sincerely, Michael Skeen, with Erich Gubler, Danielle Skinner, Brandon Leishman, Neil Harrison, Ph.D. (advisor) Reference: Neil B. Harrison, Erich Gubler, Danielle Skinner, "Software Architecture Pattern Morphology in Open-Source Systems",WICSA, 2016, 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA) 2016, pp. 91-98, doi:10.1109/WICSA.2016.8 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: PID4110571 (Morphology).pdf Type: application/pdf Size: 231943 bytes Desc: not available 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 bill.lorensen at gmail.com Mon Nov 7 11:29:18 2016 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Mon, 7 Nov 2016 11:29:18 -0500 Subject: [ITK] [ITK-dev] [vtk-developers] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: References: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> Message-ID: On my ubuntu system, works on firefox, not on Chrome On Mon, Nov 7, 2016 at 11:10 AM, Zack Galbreath wrote: > On Mon, Nov 7, 2016 at 10:44 AM, Bill Lorensen > wrote: > >> Seems like compile errors are not being listed... >> https://open.cdash.org/viewBuildError.php?buildid=4630324 > > > Looks okay to me. Might be a stale cache on your end? Let me know if I'm > missing something. > > > > ? > > > > > > > >> >> On Mon, Nov 7, 2016 at 9:34 AM, Zack Galbreath >> wrote: >> > On Fri, Nov 4, 2016 at 9:02 PM, Bradley Lowekamp >> wrote: >> >> >> >> Thanks for the upgrade! All seems ok for my usage today. I also >> >> appreciate the separated graphs with the correct axis label. >> > >> > >> > Glad to you like it! >> > >> > Off the top of my head, another improvement we made is to the "Test >> > Overview" page. Instead of simply showing an alphabetical list of all >> tests >> > that failed, it now shows you how frequently each test failed or timed >> out. >> > This is more useful for tracking down unreliable tests. >> > >> > _______________________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Search the list archives at: http://markmail.org/search/?q= >> vtk-developers >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/vtk-developers >> > >> > >> >> >> >> -- >> Unpaid intern in BillsBasement at noware dot com >> > > -- Unpaid intern in BillsBasement at noware dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: build_errors.png Type: image/png Size: 470063 bytes Desc: not available 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 bill.lorensen at gmail.com Mon Nov 7 11:32:01 2016 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Mon, 7 Nov 2016 11:32:01 -0500 Subject: [ITK] Problem with installing ITK Applications using Superbuild In-Reply-To: References: Message-ID: ITKApplications is no longer supported. The maintenance effort for gltk was too high since the fltk api was not stable. On Tue, Mar 29, 2016 at 12:59 AM, Sara Gh wrote: > Hello ITK experts, > > I have installed ITK, VTK, and ITKVTKGlu on my Mac (iOS El Capitan) > successfully, and tested them separately and all together (using > QuickViewDemo to test if they are linked correctly). > My next step was to install ITKApplications. I tried to install it using > recommended Superbuild. However, I had several issues with it and was > suggested to use different versions of CMake. Among different versions I > tried, Cmake-2.8.12 resolved the initial problem (unsupported > add_custom_command) and the Superbuild process built FLTK, VTK, and ITK, > successfully. However, when it was trying to build the ITKApps, below error > occurred (please find attached a text file including my build log): > > [ 56%] Building CXX object > LandmarkInitializedMutualInformationRegistration/CMakeFiles/imageRegTool.dir/guiMainImplementation.cxx.o > > In file included from > /Volumes/Academic/ITKVTK/Applications/ITKApps/LandmarkInitializedMutualInformationRegistration/guiMainImplementation.cxx:20: > > /Volumes/Academic/ITKVTK/Applications/ITKApps/Auxiliary/ITKFlFileWriter/ITKFlFileWriter.h:80:28: > error: 'cb_okButton' is a private member of 'Fl_File_ChooserModified' > > Fl_File_ChooserModified::cb_okButton(o, d); > > ^ > > /Volumes/Academic/ITKVTK/Applications/ITKApps/Auxiliary/ITKFlFileWriter/Fl_File_ChooserModified.H:81:15: > note: declared private here > > static void cb_okButton(Fl_Return_Button*, void*); > > ... > > 8 warnings and 1 error generated. > > make[5]: *** > [LandmarkInitializedMutualInformationRegistration/CMakeFiles/imageRegTool.dir/guiMainImplementation.cxx.o] > Error 1 > > make[4]: *** > [LandmarkInitializedMutualInformationRegistration/CMakeFiles/imageRegTool.dir/all] > Error 2 > > make[3]: *** [all] Error 2 > > make[2]: *** [ITKApps-prefix/src/ITKApps-stamp/ITKApps-build] Error 2 > > make[1]: *** [CMakeFiles/ITKApps.dir/all] Error 2 > > make: *** [all] Error 2 > > > I would be very thankful if someone could assist me with this error. > > > Best regards, > > Sara Gh. > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > -- Unpaid intern in BillsBasement at noware dot com From matt.mccormick at kitware.com Mon Nov 7 11:37:28 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 7 Nov 2016 11:37:28 -0500 Subject: [ITK] [ITK-dev] ITK Architectural Patterns & Quality Attributes for Research In-Reply-To: References: Message-ID: Hello Michael et al, Thank you for your interest in ITK. Some follow-up on the patterns and attributes with pointers to additional information and attributes can be found below. On Sat, Oct 15, 2016 at 4:39 PM, Michael Skeen wrote: > Hello ITK Community, > > > I am part of an undergraduate research group focusing on software > architecture patterns and quality attributes at Utah Valley University. We > recently analyzed the work published on ITK in the Architecture of Open > Source Applications (AOSA) and referenced it in a paper we presented at the > 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), as > attached. As a part of our continuing research we wish to validate our > architectural analysis for ITK with the current developers. > > > We would like to know if we are missing any patterns or quality attributes > that may have been included in ITK, or if there are any we listed that > aren?t used. Any additional comment on these topics you might have would > also, of course, be welcome. > > > We believe we found the following software architectural patterns in this > application: > > > Pattern Name | Is This Found in the Architecture? (yes / no / don't know) | > Comments (optional) > > Pipes & Filters Yes. More information can be found in the Data Processing Pipeline section of the ITK Software Guide: https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch3.html#x34-390003.5 > Plugin Yes. See, for example the ImageIO system: https://itk.org/Doxygen/html/classitk_1_1ImageIOBase.html > Other? Yes. See, for example the Architecture section of the ITK Software Guide: https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1pa2.html#x33-26000II > We also identified the following quality attributes: > > > Attribute Name | Is This Found in the Architecture? | Comments (optional) > > Usability Yes. We work hard on developer usability. See, e.g. https://itk.org/ITK/help/documentation.html > Extensibility Yes. We recently developed an extensible module system for the toolkit. See https://blog.kitware.com/advance-itk-with-modules/ > Flexibility Yes. For example, see the image registration framework, which can be adapted to new problems: http://journal.frontiersin.org/article/10.3389/fninf.2014.00044/full > Maintainability > Testability Yes and yes. For more information, see: http://journal.frontiersin.org/article/10.3389/fninf.2014.00013/full The additional attributes also apply: Scalability. We support image processing through streaming. Performance. ITK is a high performance toolkit that makes an effort to perform well on multi-core, many-core, and GPGPU systems. See, for example: http://www.insight-journal.org/browse/publication/972 Portability. ITK is portable across many platforms, including x86_64 Linux, Windows, Mac OSX, but also ARM architectures, Android, POWER8, and JavaScript. See https://blog.kitware.com/compile-cc-into-javascript-with-emscripten-and-docker/ Modularity. Yes, since ITK version 4, ITK is organized into Groups and Modules. Cost. Legality. ITK has a strong focus on collaborative, open source development to sustainably create one of the most powerful medical image analysis libraries in the world. There is also an explicit attention to legality: ITKv4 is licensed as Apache 2.0, and algorithms with software patents are excluded from the library. Thanks, Matt > For your convenience, we have a complete list below of the patterns and > quality attributes we referred to when conducting our research. To clarify, > we are specifically studying architectural patterns, rather than design > patterns such as the GoF patterns. > > > Architectural Patterns Considered > > > Quality Attributes Considered > > Active Repository > > > Scalability > > Batch > > > Usability > > Blackboard > > > Extensibility > > Broker > > > Performance > > Client Server > > > Portability > > Event System > > > Flexibility > > Explicit Invocation > > > Reliability > > Implicit Invocation > > > Maintainability > > Indirection Layer > > > Security > > Interceptor > > > Testability > > Interpreter > > > Capacity > > Layers > > > Cost > > Master and Commander > > > Legality > > Microkernel > > > Modularity > > Model View Controller > > > Robustness > > Peer to Peer > > > > Pipes and Filters > > > > Plugin > > > > Presentation Abstraction Control > > > > Publish Subscribe > > > > Reflection > > > > Rule-Based System > > > > Shared Repository > > > > Simple Repository > > > > State Based > > > > Virtual Machine > > > > > Please respond by October 25th, if possible. > > Thank you for considering our request, and for your continued work on ITK. > > > Sincerely, > > > Michael Skeen, with > > Erich Gubler, > > Danielle Skinner, > > Brandon Leishman, > > Neil Harrison, Ph.D. (advisor) > > > Reference: Neil B. Harrison, Erich Gubler, Danielle Skinner, "Software > Architecture Pattern Morphology in Open-Source Systems",WICSA, 2016, 2016 > 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), 2016 > 13th Working IEEE/IFIP Conference on Software Architecture (WICSA) 2016, pp. > 91-98, doi:10.1109/WICSA.2016.8 > > > > > _______________________________________________ > Powered by www.kitware.com > > 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 matt.mccormick at kitware.com Mon Nov 7 11:40:31 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 7 Nov 2016 11:40:31 -0500 Subject: [ITK] Fwd: Fwd: BUILD-ALL ITK RUN time? In-Reply-To: References: <0DB9A45F-BEA6-4A5D-AACF-05F594DF673A@mail.nih.gov> Message-ID: Hello Tunde, When testing patches, it is recommended to use the "checkout" command instead of the "pull" command. To reset your local git repository, use git reset --hard HEAD Hope this helps, Matt On Thu, Nov 12, 2015 at 9:51 AM, T?nde Szil?gyi wrote: > Hi Matt, > > I have pulled the suggested patch, but I am having the error message > attached. I would appreciate any feedback from anyone. > > Many thanks in advance. > > Best wishes, > Tunde > > > On 5 November 2015 at 21:04, Matt McCormick > wrote: >> >> Hi Tunde, >> >> These CMake warnings are addressed by this patch: >> >> http://review.source.kitware.com/#/c/20154/1 >> >> which I just backported to the "release" branch. Please 'git pull' to >> fetch the changes. >> >> Please let the list know if there are any other issues. According to >> the dashboard, there are also some warnings to address: >> >> https://open.cdash.org/viewBuildError.php?type=1&buildid=4088244 >> >> Patches for these warnings would be welcome :-) >> >> Thanks, >> Matt >> >> On Thu, Nov 5, 2015 at 2:47 PM, T?nde Szil?gyi >> wrote: >> > Hi Matt, >> > >> > Thank you, this fixed some of the problems I was facing. Now I can build >> > some packages except the ITKNumerics, ITKStatistics and ITKFEM. I have >> > attached the error message that I received in CMAKE. There are no >> > explanations in the MS VS 2015 during build. >> > >> > Many thanks in advance. >> > >> > Tunde > > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > From matt.mccormick at kitware.com Mon Nov 7 11:41:11 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 7 Nov 2016 11:41:11 -0500 Subject: [ITK] Problem with installing ITK Applications using Superbuild In-Reply-To: References: Message-ID: Hello Sara, ITKApps is not longer supported. Matt On Tue, Mar 29, 2016 at 12:59 AM, Sara Gh wrote: > Hello ITK experts, > > I have installed ITK, VTK, and ITKVTKGlu on my Mac (iOS El Capitan) > successfully, and tested them separately and all together (using > QuickViewDemo to test if they are linked correctly). > My next step was to install ITKApplications. I tried to install it using > recommended Superbuild. However, I had several issues with it and was > suggested to use different versions of CMake. Among different versions I > tried, Cmake-2.8.12 resolved the initial problem (unsupported > add_custom_command) and the Superbuild process built FLTK, VTK, and ITK, > successfully. However, when it was trying to build the ITKApps, below error > occurred (please find attached a text file including my build log): > > [ 56%] Building CXX object > LandmarkInitializedMutualInformationRegistration/CMakeFiles/imageRegTool.dir/guiMainImplementation.cxx.o > > In file included from > /Volumes/Academic/ITKVTK/Applications/ITKApps/LandmarkInitializedMutualInformationRegistration/guiMainImplementation.cxx:20: > > /Volumes/Academic/ITKVTK/Applications/ITKApps/Auxiliary/ITKFlFileWriter/ITKFlFileWriter.h:80:28: > error: 'cb_okButton' is a private member of 'Fl_File_ChooserModified' > > Fl_File_ChooserModified::cb_okButton(o, d); > > ^ > > /Volumes/Academic/ITKVTK/Applications/ITKApps/Auxiliary/ITKFlFileWriter/Fl_File_ChooserModified.H:81:15: > note: declared private here > > static void cb_okButton(Fl_Return_Button*, void*); > > ... > > 8 warnings and 1 error generated. > > make[5]: *** > [LandmarkInitializedMutualInformationRegistration/CMakeFiles/imageRegTool.dir/guiMainImplementation.cxx.o] > Error 1 > > make[4]: *** > [LandmarkInitializedMutualInformationRegistration/CMakeFiles/imageRegTool.dir/all] > Error 2 > > make[3]: *** [all] Error 2 > > make[2]: *** [ITKApps-prefix/src/ITKApps-stamp/ITKApps-build] Error 2 > > make[1]: *** [CMakeFiles/ITKApps.dir/all] Error 2 > > make: *** [all] Error 2 > > > I would be very thankful if someone could assist me with this error. > > > Best regards, > > Sara Gh. > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > From kolin9105 at gmail.com Mon Nov 7 14:22:26 2016 From: kolin9105 at gmail.com (meikolin saimara) Date: Tue, 8 Nov 2016 02:22:26 +0700 Subject: [ITK] [ITK-users] (no subject) Message-ID: hello guys I have a problem in ITK because I am beginer in itk. my problem is How to combine Dicom imagesreadand write with BinaryImagethreshold filter in one program?? on dicom image read and write program I just need the ouputimage not ouptdicom image... please help me guys.. -------------- 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 sg.ele.eng at gmail.com Mon Nov 7 22:38:35 2016 From: sg.ele.eng at gmail.com (Sara Gh) Date: Mon, 7 Nov 2016 22:38:35 -0500 Subject: [ITK] [ITK-users] Writing dicom series in SimpleITK Message-ID: Hello, I am storing a series of Dicom images using "ImageSeriesWriter" in SimpleITK: def writeSeries(imagein,outDir): writer = sitk.ImageSeriesWriter() filenames = [ outDir+'MR_{0:04}.dcm'.format(i) for i in range(imagein.GetSize()[2])] writer.SetFileNames(filenames) writer.Execute(imagein) However, I am not able to read in the stored series and "GetGDCMSeriesFileNames" reads only one of the Dicom images, not the wholes series. I guess it is something related to the metadata of the stored series, but I couldn't fix it. I would be thankful if you could help me with it. Regards, Sara -------------- 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 matimontg at gmail.com Tue Nov 8 06:33:14 2016 From: matimontg at gmail.com (Matias Montroull) Date: Tue, 8 Nov 2016 08:33:14 -0300 Subject: [ITK] [ITK-users] Writing dicom series in SimpleITK In-Reply-To: References: Message-ID: I had the same issue a while ago and the answer at that time was that the serieswriter is not fully functional yet. Not sure if it has been fixed since then. The problem is related to the metadata as you mentioned I believe. Matias On Nov 8, 2016 12:38 AM, "Sara Gh" wrote: > Hello, > > I am storing a series of Dicom images using "ImageSeriesWriter" in > SimpleITK: > > def writeSeries(imagein,outDir): > writer = sitk.ImageSeriesWriter() > filenames = [ outDir+'MR_{0:04}.dcm'.format(i) for i in > range(imagein.GetSize()[2])] > writer.SetFileNames(filenames) > writer.Execute(imagein) > > However, I am not able to read in the stored series and > "GetGDCMSeriesFileNames" reads only one of the Dicom images, not the wholes > series. I guess it is something related to the metadata of the stored > series, but I couldn't fix it. I would be thankful if you could help me > with it. > > Regards, > Sara > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 zack.galbreath at kitware.com Tue Nov 8 09:02:54 2016 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Tue, 8 Nov 2016 09:02:54 -0500 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: References: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> Message-ID: On Mon, Nov 7, 2016 at 9:30 AM, Zack Galbreath wrote: > I just purged the cache of coverage files on open.cdash.org, so > line-by-line coverage should be properly displayed once this data is > resubmitted tonight. I'll double check this tomorrow morning. > It looks like this is fixed now. -------------- 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 mmskeen at gmail.com Tue Nov 8 10:38:13 2016 From: mmskeen at gmail.com (Michael Skeen) Date: Tue, 8 Nov 2016 08:38:13 -0700 Subject: [ITK] [ITK-dev] ITK Architectural Patterns & Quality Attributes for Research In-Reply-To: References: Message-ID: Matt, Thank you for the excellent and thorough response! We will use this information in our research. Michael On Mon, Nov 7, 2016 at 9:37 AM, Matt McCormick wrote: > Hello Michael et al, > > Thank you for your interest in ITK. Some follow-up on the patterns and > attributes with pointers to additional information and attributes can > be found below. > > > On Sat, Oct 15, 2016 at 4:39 PM, Michael Skeen wrote: > > Hello ITK Community, > > > > > > I am part of an undergraduate research group focusing on software > > architecture patterns and quality attributes at Utah Valley University. > We > > recently analyzed the work published on ITK in the Architecture of Open > > Source Applications (AOSA) and referenced it in a paper we presented at > the > > 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), as > > attached. As a part of our continuing research we wish to validate our > > architectural analysis for ITK with the current developers. > > > > > > We would like to know if we are missing any patterns or quality > attributes > > that may have been included in ITK, or if there are any we listed that > > aren?t used. Any additional comment on these topics you might have would > > also, of course, be welcome. > > > > > > We believe we found the following software architectural patterns in this > > application: > > > > > > Pattern Name | Is This Found in the Architecture? (yes / no / don't > know) | > > Comments (optional) > > > > Pipes & Filters > > Yes. More information can be found in the Data Processing Pipeline > section of the ITK Software Guide: > > https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch3. > html#x34-390003.5 > > > > > Plugin > > Yes. See, for example the ImageIO system: > > https://itk.org/Doxygen/html/classitk_1_1ImageIOBase.html > > > > > Other? > > Yes. See, for example the Architecture section of the ITK Software Guide: > > https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1pa2. > html#x33-26000II > > > > > We also identified the following quality attributes: > > > > > > Attribute Name | Is This Found in the Architecture? | Comments (optional) > > > > Usability > > Yes. We work hard on developer usability. See, e.g. > > https://itk.org/ITK/help/documentation.html > > > > Extensibility > > Yes. We recently developed an extensible module system for the toolkit. > See > > https://blog.kitware.com/advance-itk-with-modules/ > > > > Flexibility > > Yes. For example, see the image registration framework, which can be > adapted to new problems: > > http://journal.frontiersin.org/article/10.3389/fninf.2014.00044/full > > > > Maintainability > > Testability > > Yes and yes. For more information, see: > > http://journal.frontiersin.org/article/10.3389/fninf.2014.00013/full > > > > The additional attributes also apply: > > > Scalability. We support image processing through streaming. > > > Performance. ITK is a high performance toolkit that makes an effort to > perform well on multi-core, many-core, and GPGPU systems. See, for > example: > > http://www.insight-journal.org/browse/publication/972 > > > Portability. ITK is portable across many platforms, including x86_64 > Linux, Windows, Mac OSX, but also ARM architectures, Android, POWER8, > and JavaScript. See > > https://blog.kitware.com/compile-cc-into-javascript- > with-emscripten-and-docker/ > > > Modularity. Yes, since ITK version 4, ITK is organized into Groups and > Modules. > > > Cost. Legality. ITK has a strong focus on collaborative, open source > development to sustainably create one of the most powerful medical > image analysis libraries in the world. There is also an explicit > attention to legality: ITKv4 is licensed as Apache 2.0, and algorithms > with software patents are excluded from the library. > > > Thanks, > Matt > > > > > > For your convenience, we have a complete list below of the patterns and > > quality attributes we referred to when conducting our research. To > clarify, > > we are specifically studying architectural patterns, rather than design > > patterns such as the GoF patterns. > > > > > > Architectural Patterns Considered > > > > > > Quality Attributes Considered > > > > Active Repository > > > > > > Scalability > > > > Batch > > > > > > Usability > > > > Blackboard > > > > > > Extensibility > > > > Broker > > > > > > Performance > > > > Client Server > > > > > > Portability > > > > Event System > > > > > > Flexibility > > > > Explicit Invocation > > > > > > Reliability > > > > Implicit Invocation > > > > > > Maintainability > > > > Indirection Layer > > > > > > Security > > > > Interceptor > > > > > > Testability > > > > Interpreter > > > > > > Capacity > > > > Layers > > > > > > Cost > > > > Master and Commander > > > > > > Legality > > > > Microkernel > > > > > > Modularity > > > > Model View Controller > > > > > > Robustness > > > > Peer to Peer > > > > > > > > Pipes and Filters > > > > > > > > Plugin > > > > > > > > Presentation Abstraction Control > > > > > > > > Publish Subscribe > > > > > > > > Reflection > > > > > > > > Rule-Based System > > > > > > > > Shared Repository > > > > > > > > Simple Repository > > > > > > > > State Based > > > > > > > > Virtual Machine > > > > > > > > > > Please respond by October 25th, if possible. > > > > Thank you for considering our request, and for your continued work on > ITK. > > > > > > Sincerely, > > > > > > Michael Skeen, with > > > > Erich Gubler, > > > > Danielle Skinner, > > > > Brandon Leishman, > > > > Neil Harrison, Ph.D. (advisor) > > > > > > Reference: Neil B. Harrison, Erich Gubler, Danielle Skinner, "Software > > Architecture Pattern Morphology in Open-Source Systems",WICSA, 2016, 2016 > > 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), 2016 > > 13th Working IEEE/IFIP Conference on Software Architecture (WICSA) 2016, > pp. > > 91-98, doi:10.1109/WICSA.2016.8 > > > > > > > > > > _______________________________________________ > > Powered by www.kitware.com > > > > 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 kolin9105 at gmail.com Tue Nov 8 11:59:26 2016 From: kolin9105 at gmail.com (meikolin saimara) Date: Tue, 8 Nov 2016 23:59:26 +0700 Subject: [ITK] [ITK-users] my problem Message-ID: hello guys I have a question. how we can combine Rescale intensity image filter with BinaryThresholdImageFilter. please help me.. I am begginer in 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://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 jinzhong76 at gmail.com Tue Nov 8 16:57:57 2016 From: jinzhong76 at gmail.com (Yang, Jinzhong) Date: Tue, 8 Nov 2016 15:57:57 -0600 Subject: [ITK] [ITK-users] ITK build_shared_libs In-Reply-To: References: <015301d215ea$ee7b8a50$cb729ef0$@gmail.com> <000901d21824$6789f770$369de650$@gmail.com> <001b01d2182f$9943e9a0$cbcbbce0$@gmail.com> <003c01d21846$e91e4c60$bb5ae520$@gmail.com> <004701d21866$dbe3b5b0$93ab2110$@gmail.com> <005201d21879$595bbee0$0c133ca0$@gmail.com> <008201d218cf$1cdba7e0$5692f7a0$@gmail.com> Message-ID: <004a01d23a0b$2af9c930$80ed5b90$@gmail.com> Hi Matt, After a month I had the chance to look into this problem again and eventually I found out a workaround solution. Remember, I would like to compile my project as a shared library (output .dll file) with the ITK as static library (I did not turn on the build_shared_libs in cmake configuration for ITK). Now, when I used cmake to configure my project, it generated a folder ITKIOFactoryRegistration with two header files for all ITKIO libraries. This is line 41 of the iktImageIOFactoryRegisterManager.h - void ITK_ABI_IMPORT NiftiImageIOFactoryRegister__Private();void ITK_ABI_IMPORT NrrdImageIOFactoryRegister__Private();void ITK_ABI_IMPORT GiplImageIOFactoryRegister__Private();void ITK_ABI_IMPORT HDF5ImageIOFactoryRegister__Private();void ITK_ABI_IMPORT JPEGImageIOFactoryRegister__Private();void ITK_ABI_IMPORT GDCMImageIOFactoryRegister__Private();void ITK_ABI_IMPORT BMPImageIOFactoryRegister__Private();void ITK_ABI_IMPORT LSMImageIOFactoryRegister__Private();void ITK_ABI_IMPORT PNGImageIOFactoryRegister__Private();void ITK_ABI_IMPORT TIFFImageIOFactoryRegister__Private();void ITK_ABI_IMPORT VTKImageIOFactoryRegister__Private();void ITK_ABI_IMPORT StimulateImageIOFactoryRegister__Private();void ITK_ABI_IMPORT BioRadImageIOFactoryRegister__Private();void ITK_ABI_IMPORT MetaImageIOFactoryRegister__Private();void ITK_ABI_IMPORT MRCImageIOFactoryRegister__Private();void ITK_ABI_IMPORT GE4ImageIOFactoryRegister__Private();void ITK_ABI_IMPORT GE5ImageIOFactoryRegister__Private(); Notice that the ITK_ABI_IMPORT was defined for each function. With this definition, the project will look for DLL files instead of LIB file to link. However, I compiled my ITK as static libs. That's why it gave the link error. Now, I removed all ITK_ABI_IMPORT definitions for all functions and recompiled my project, BINGO~ all passed. I would consider this as a bug of cmake or cmake configuration of ITK. Thanks, -Jinzhong -----Original Message----- From: Matt McCormick [mailto:matt.mccormick at kitware.com] Sent: Tuesday, September 27, 2016 3:56 PM To: Yang, Jinzhong Cc: Francois Budin ; Insight-users Subject: Re: [ITK-users] ITK build_shared_libs Hi Jinzhong, Thanks for the information. It seems that ITK_IO_FACTORY_REGISTER_MANAGER is passed correctly, then. Without it, the itk::ImageFileReader will not be able to read any formats. I would keep investigating why all the ITK IO libraries are not being linked in by checking the contents of the "ITK_LIBRARIES" CMake variable, not using the link_libraries command, etc. HTH, Matt On Tue, Sep 27, 2016 at 10:54 AM, Yang, Jinzhong wrote: > Hi Matt, > > This information is helpful. The ITK_IO_FACTORY_REGISTER_MANAGER was added to the definition of ContourWarping. The BUILD_DLL did not overwrite anything. To be safe, I took your suggestion. I compiled using the new CMake file, the problem still exists. Now, if I removed ITK_IO_FACTORY_REGISTER_MANAGER from definition, it gave me a go. Nothing complained. It seems that the IO factory has to be manually registered if I would like to build a shared lib. I am not sure which lib file(s) contain the definition of those missing functions... It seems that I include all possible IO libs from ITK. > > My other question is that, if I don't include the ITK_IO_FACTORY_REGISTER_MANAGER, will I have any trouble to read in files (common format supported by ITK) using the code I compiled? > Thank you, > -Jinzhong > > > -----Original Message----- > From: Matt McCormick [mailto:matt.mccormick at kitware.com] > Sent: Tuesday, September 27, 2016 8:34 AM > To: Yang, Jinzhong > Cc: Francois Budin ; Insight-users > Subject: Re: [ITK-users] ITK build_shared_libs > > Hi, > > I am not sure how the BUILD_DLL definition causes a shared library, > but the concern is that setting the COMPILE_DEFINITIONS in this way is > somehow interfering with the other definitions that need to be added > to target. This definition is required to add the symbols that are > missing. > > > What happens: > > The itkImageFileReader.h file conditionally includes > itkImageIOFactoryRegisterManager.h: > > https://github.com/InsightSoftwareConsortium/ITK/blob/dfe042df74dd2a69bfca7fc3349a9c0fcc65c6e6/Modules/IO/ImageBase/include/itkImageFileReader.h#L170-L172 > > This condition is based on the preprocessor definition of > ITK_IO_FACTORY_REGISTER_MANAGER. This definition is added in the > UseITK.cmake file: > > https://github.com/InsightSoftwareConsortium/ITK/blob/dfe042df74dd2a69bfca7fc3349a9c0fcc65c6e6/CMake/UseITK.cmake#L286-L291 > > when your CMake code calls "include(${ITK_USE_FILE})". > > > Since the ITK_IO_FACTORY_REGISTER_MANAGER is added as > COMPILE_DEFINITIONS on the CMake directory where the CMakeLists.txt > exists, the ContourWarping target should have that definition. Check > to verify that the definition is added to the build command. > > > In general, to ensure that compile definitions are appended instead of > replacing existing definitions, use: > > set_property(TARGET ContourWarping APPEND PROPERTY > COMPILE_DEFINITIONS "BUILD_DLL") > > instead of > > SET_TARGET_PROPERTIES(ContourWarping > > PROPERTIES COMPILE_DEFINITIONS "BUILD_DLL") > > HTH, > Matt > > On Tue, Sep 27, 2016 at 12:41 AM, Yang, Jinzhong wrote: >> If I remove that line, I essentially build the library as static library. That works as I pointed out before. But I need to keep a copy of shared library because I have several mex functions depending on this library. I would like them to share this library. This is not a problem when I compiled it with ITK 3.16. I can compile both shared and static libraries with ITK 3.16 compiled as static library. >> >> -Jinzhong >> >> >> -----Original Message----- >> From: Matt McCormick [mailto:matt.mccormick at kitware.com] >> Sent: Monday, September 26, 2016 11:30 PM >> To: Yang, Jinzhong >> Cc: Francois Budin ; Insight-users >> Subject: Re: [ITK-users] ITK build_shared_libs >> >> Hi Jinzhong, >> >> Does removing this block: >> >> >> IF (BUILD_SHARED_LIBS) >> >> SET_TARGET_PROPERTIES(ContourWarping >> >> PROPERTIES COMPILE_DEFINITIONS "BUILD_DLL" >> >> ) >> >> # Need to enable BUILD_SHARED_LIBS in ITK but NOT in VTK >> >> ENDIF(BUILD_SHARED_LIBS) >> >> >> Address the issue? >> >> Thanks, >> Matt >> >> On Mon, Sep 26, 2016 at 10:28 PM, Yang, Jinzhong wrote: >>> Hi Francois, >>> >>> >>> >>> It was added already. >>> >>> >>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> ContourWarping >>>> >>>> ${ITK_LIBRARIES} >>>> >>>> ${VTK_LIBRARIES} >>>> >>>> #vtkIO vtkFiltering vtkGraphics >>>> >>>> #debug vld.lib # for memory leak detection >>>> >>>> ) >>> >>> -Jinzhong >>> >>> >>> >>> From: Francois Budin [mailto:francois.budin at kitware.com] >>> Sent: Monday, September 26, 2016 6:55 PM >>> To: Yang, Jinzhong >>> Cc: Matt McCormick ; Insight-users >>> >>> >>> >>> Subject: Re: [ITK-users] ITK build_shared_libs >>> >>> >>> >>> Hello Jinzhong, >>> >>> Could you try to add ${ITK_LIBRARIES} to your call of >>> "TARGET_LINK_LIBRARIES"? >>> >>> Francois >>> >>> >>> >>> On Mon, Sep 26, 2016 at 6:39 PM, Yang, Jinzhong >>> wrote: >>> >>> Hi Matt, >>> >>> When I built ITK, I turned on ITKV3_COMPATIBILITY. Could this cause the >>> problem? >>> Thanks, >>> -Jinzhong >>> >>> >>> -----Original Message----- >>> From: Matt McCormick [mailto:matt.mccormick at kitware.com] >>> Sent: Monday, September 26, 2016 2:57 PM >>> To: Yang, Jinzhong >>> >>> Cc: Insight-users >>> Subject: Re: [ITK-users] ITK build_shared_libs >>> >>> Hi Jinzhong, >>> >>> Does replacing link_libraries calls with target_link_libraries address >>> the issue (this should be done regardless)? >>> >>> HTH, >>> Matt >>> >>> On Mon, Sep 26, 2016 at 3:53 PM, Yang, Jinzhong >>> wrote: >>>> Hi Matt, >>>> >>>> >>>> >>>> I use CMake, but the CMakeLists.txt was written for old ITK (3.16). I >>>> recently upgraded to ITK 4.10 in order for a project depending on this >>>> library and GDCM library ( I had trouble to compile that project with ITK >>>> 3.16). I don't want to manually register the factories. I might need to >>>> revise my CMakeLists.txt. Below is my CMakeLists.txt. Please let me know >>>> if >>>> there is anything wrong here. To help you understand my problem, I >>>> summarize >>>> my problem below - >>>> >>>> - ITK 4.10 compiled with "BUILD_SHARED_LIBS", my project compiled with >>>> "BUILD_SHARED_LIBS", WORK >>>> >>>> - ITK 4.10 compiled with "BUILD_SHARED_LIBS", my project NOT compiled with >>>> "BUILD_SHARED_LIBS", WORK >>>> >>>> - ITK 4.10 NOT compiled with "BUILD_SHARED_LIBS", my project NOT compiled >>>> with "BUILD_SHARED_LIBS", WORK >>>> >>>> - ITK 4.10 NOT compiled with "BUILD_SHARED_LIBS", my project compiled with >>>> "BUILD_SHARED_LIBS", NOT WORKING >>>> >>>> >>>> >>>> I prefer to compiling ITK without using shared libs because I don?t want >>>> to >>>> distribute a lot of files to other computers with my program. >>>> >>>> Thank you, >>>> >>>> Jinzhong >>>> >>>> >>>> >>>> //////////////////CMakeLists.txt //////////////////////////// >>>> >>>> CMAKE_MINIMUM_REQUIRED(VERSION 2.6) >>>> >>>> >>>> >>>> PROJECT(ContourWarping) >>>> >>>> >>>> >>>> FIND_PACKAGE(ITK) >>>> >>>> IF(ITK_FOUND) >>>> >>>> INCLUDE(${ITK_USE_FILE}) >>>> >>>> ELSE(ITK_FOUND) >>>> >>>> MESSAGE(FATAL_ERROR >>>> >>>> "ITK not found. Please set ITK_DIR.") >>>> >>>> ENDIF(ITK_FOUND) >>>> >>>> >>>> >>>> FIND_PACKAGE(VTK) >>>> >>>> IF (VTK_FOUND) >>>> >>>> INCLUDE (${VTK_USE_FILE}) >>>> >>>> ELSE (VTK_FOUND) >>>> >>>> MESSAGE(FATAL_ERROR >>>> >>>> "VTK not found. Please set VTK_DIR.") >>>> >>>> ENDIF(VTK_FOUND) >>>> >>>> >>>> >>>> OPTION(BUILD_SHARED_LIBS "Build ContourWarping with shared libraries." >>>> OFF) >>>> >>>> >>>> >>>> OPTION(BUILD_LIB_TEST "Build ContourWarping with testing option enabled." >>>> OFF) >>>> >>>> IF (BUILD_LIB_TEST) >>>> >>>> ADD_DEFINITIONS(-D_LIB_TEST) >>>> >>>> ENDIF(BUILD_LIB_TEST) >>>> >>>> >>>> >>>> LINK_LIBRARIES( >>>> >>>> ${ITK_LIBRARIES} >>>> >>>> ${VTK_LIBRARIES} >>>> >>>> #vtkIO vtkCommon vtkFiltering vtkGraphics >>>> >>>> ) >>>> >>>> >>>> >>>> SET(BOOST_DIR "D:/boost_1_41_0" CACHE PATH "D:/boost_1_41_0") >>>> >>>> >>>> >>>> IF (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> SET(BOOST_LIB_DIR "D:/boost_1_41_0/stage64/lib" CACHE PATH >>>> "D:/boost_1_41_0/stage64/lib") >>>> >>>> ELSE (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> SET(BOOST_LIB_DIR "D:/boost_1_41_0/stage/lib" CACHE PATH >>>> "D:/boost_1_41_0/stage/lib") >>>> >>>> ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> >>>> >>>> INCLUDE_DIRECTORIES( "C:/Program Files/Visual Leak Detector/include" # for >>>> memory leak detection, "vld.h" >>>> >>>> ${BOOST_DIR} #boost >>>> >>>> ${PROJECT_SOURCE_DIR} >>>> >>>> "${PROJECT_SOURCE_DIR}/itkLabelMap" >>>> >>>> >>>> "${PROJECT_SOURCE_DIR}/boost" >>>> >>>> ) >>>> >>>> LINK_DIRECTORIES( ${PROJECT_BINARY_DIR}/${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} >>>> >>>> "C:/Program Files/Visual Leak Detector/lib" # for memory >>>> leak detection, "vld.lib" >>>> >>>> ${BOOST_LIB_DIR} #boost >>>> >>>> ) >>>> >>>> #LINK_DIRECTORIES( ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}) >>>> >>>> >>>> >>>> SET(SRCS >>>> >>>> stdafx.h >>>> >>>> stdafx.cpp >>>> >>>> ContourWarpingWrapUp.cpp >>>> >>>> PinnacleROIStructInterface.cpp >>>> >>>> BinaryImageRoiPolyInterface.cpp >>>> >>>> contourwarpingparallel.cpp >>>> >>>> ParallelDispatcher.h >>>> >>>> ParallelDispatcher.cpp >>>> >>>> Win32Header.h >>>> >>>> PinnacleROIConvert.cpp >>>> >>>> PinnacleROIConvert.h >>>> >>>> PinnacleROIMesh.cpp >>>> >>>> PinnacleROIMesh.h >>>> >>>> PinnaclePOIConvert.cpp >>>> >>>> PinnaclePOIConvert.h >>>> >>>> PinnacleImage.cpp >>>> >>>> PinnacleImage.txx >>>> >>>> PinnacleImage.h >>>> >>>> Auxiliary.h >>>> >>>> MeshConvertor.cpp >>>> >>>> MeshConvertor.h >>>> >>>> vtkPolyContours.cpp >>>> >>>> vtkPolyContours.h >>>> >>>> vtkVoxelContoursToSurfaceFilterEx.cpp >>>> >>>> vtkVoxelContoursToSurfaceFilterEx.h >>>> >>>> vtkWindowedSincPolyDataFilterEx.cpp >>>> >>>> vtkWindowedSincPolyDataFilterEx.h >>>> >>>> vtkSurfaceToSliceContours.cpp >>>> >>>> vtkSurfaceToSliceContours.h >>>> >>>> vtkSurfaceCutter.cpp >>>> >>>> vtkSurfaceCutter.h >>>> >>>> vtkSurfaceMeshProcess.cpp >>>> >>>> vtkSurfaceMeshProcess.h >>>> >>>> vtkSurfaceDeformation.cpp >>>> >>>> vtkSurfaceDeformation.h >>>> >>>> vtkSurfaceDeformationUsingCatField.cpp >>>> >>>> vtkSurfaceDeformationUsingCatField.h >>>> >>>> vtkSurfaceTransformation.cpp >>>> >>>> vtkSurfaceTransformation.h >>>> >>>> vtkContourProcess.cpp >>>> >>>> vtkContourProcess.h >>>> >>>> vtkSurfaceClipper.cpp >>>> >>>> vtkSurfaceClipper.h >>>> >>>> vtkPolyContoursClipper.cpp >>>> >>>> vtkPolyContoursClipper.h >>>> >>>> vtkUndirectedGraphCPP.cpp >>>> >>>> vtkUndirectedGraphCPP.h >>>> >>>> itkPolygonFill2DBinaryImageFilter.h >>>> >>>> itkPolygonFill2DBinaryImageFilter.txx >>>> >>>> catDeformationField.cpp >>>> >>>> catDeformationField.h >>>> >>>> boundaries.txx >>>> >>>> boundaries.h >>>> >>>> PinnacleROI2ImagesParallel.cpp >>>> >>>> PinnacleROI2ImagesParallel.h >>>> >>>> ) >>>> >>>> >>>> >>>> IF (WIN32) >>>> >>>> SET(SRCS ${SRCS} resource.h ContourWarping.rc) >>>> >>>> ENDIF(WIN32) >>>> >>>> >>>> >>>> >>>> >>>> ADD_LIBRARY(ContourWarping ${SRCS}) >>>> >>>> >>>> >>>> SET(OUTPUTNAME ContourWarping) >>>> >>>> >>>> >>>> IF (BUILD_SHARED_LIBS) >>>> >>>> IF (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> SET_TARGET_PROPERTIES(ContourWarping >>>> >>>> >>>> PROPERTIES OUTPUT_NAME ContourWarping64 >>>> >>>> ) >>>> >>>> SET(OUTPUTNAME ContourWarping64) >>>> >>>> ELSE (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> SET_TARGET_PROPERTIES(ContourWarping >>>> >>>> >>>> PROPERTIES OUTPUT_NAME ContourWarping32 >>>> >>>> ) >>>> >>>> SET(OUTPUTNAME ContourWarping32) >>>> >>>> ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> ENDIF (BUILD_SHARED_LIBS) >>>> >>>> >>>> >>>> >>>> >>>> #SET(CMAKE_BUILD_TYPE Release) >>>> >>>> #INCLUDE(PCHSupport.cmake) >>>> >>>> #ADD_PRECOMPILED_HEADER(ContourWarping stdafx.h) >>>> >>>> >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> ContourWarping >>>> >>>> ${ITK_LIBRARIES} >>>> >>>> ${VTK_LIBRARIES} >>>> >>>> #vtkIO vtkFiltering vtkGraphics >>>> >>>> #debug vld.lib # for memory leak detection >>>> >>>> ) >>>> >>>> >>>> >>>> #SET(TARGET_LIB_VERSION "1.0" CACHE STRING "1.0") >>>> >>>> SET_TARGET_PROPERTIES(ContourWarping >>>> >>>> PROPERTIES VERSION 1.8.8 >>>> >>>> ) >>>> >>>> >>>> >>>> IF (BUILD_SHARED_LIBS) >>>> >>>> SET_TARGET_PROPERTIES(ContourWarping >>>> >>>> PROPERTIES COMPILE_DEFINITIONS "BUILD_DLL" >>>> >>>> ) >>>> >>>> # Need to enable BUILD_SHARED_LIBS in ITK but NOT in VTK >>>> >>>> ENDIF(BUILD_SHARED_LIBS) >>>> >>>> >>>> >>>> IF (WIN32) #enable PCH support & add resource file >>>> >>>> SET_TARGET_PROPERTIES(ContourWarping >>>> >>>> PROPERTIES COMPILE_FLAGS /Yu"stdafx.h" >>>> >>>> ) >>>> >>>> SET_SOURCE_FILES_PROPERTIES(stdafx.cpp >>>> >>>> PROPERTIES COMPILE_FLAGS /Yc"stdafx.h" >>>> >>>> ) >>>> >>>> ENDIF(WIN32) >>>> >>>> >>>> >>>> >>>> >>>> IF (BUILD_LIB_TEST) >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> ContourWarping >>>> >>>> vtkRendering vtkWidgets >>>> >>>> ) >>>> >>>> ENDIF(BUILD_LIB_TEST) >>>> >>>> >>>> >>>> ###### >>>> >>>> ADD_EXECUTABLE( ContourWarpingTest >>>> >>>> testdll.cpp >>>> >>>> ) >>>> >>>> >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> ContourWarpingTest >>>> >>>> ${OUTPUTNAME}.lib >>>> >>>> ) >>>> >>>> >>>> >>>> ADD_DEPENDENCIES( >>>> >>>> ContourWarpingTest >>>> >>>> ContourWarping >>>> >>>> ) >>>> >>>> >>>> >>>> ###### >>>> >>>> ADD_EXECUTABLE( PinnacleROI2BinaryImage >>>> >>>> PinnacleROI2BinaryImage.cpp >>>> >>>> ) >>>> >>>> >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> PinnacleROI2BinaryImage >>>> >>>> ${OUTPUTNAME}.lib >>>> >>>> ) >>>> >>>> >>>> >>>> ADD_DEPENDENCIES( >>>> >>>> PinnacleROI2BinaryImage >>>> >>>> ContourWarping >>>> >>>> ) >>>> >>>> >>>> >>>> ###### >>>> >>>> ADD_EXECUTABLE( PinnacleROIFromBitmap >>>> >>>> PinnacleROIFromBitmap.cpp >>>> >>>> ) >>>> >>>> >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> PinnacleROIFromBitmap >>>> >>>> ${OUTPUTNAME}.lib >>>> >>>> ) >>>> >>>> >>>> >>>> ADD_DEPENDENCIES( >>>> >>>> PinnacleROIFromBitmap >>>> >>>> ContourWarping >>>> >>>> ) >>>> >>>> >>>> >>>> ###### >>>> >>>> ADD_EXECUTABLE( MeshTest >>>> >>>> MeshTest.cpp >>>> >>>> ) >>>> >>>> >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> MeshTest >>>> >>>> ${OUTPUTNAME}.lib >>>> >>>> ) >>>> >>>> >>>> >>>> ADD_DEPENDENCIES( >>>> >>>> MeshTest >>>> >>>> ContourWarping >>>> >>>> ) >>>> >>>> >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: Matt McCormick [mailto:matt.mccormick at kitware.com] >>>> Sent: Monday, September 26, 2016 1:50 PM >>>> To: Yang, Jinzhong >>>> Cc: Francois Budin ; D?enan Zuki? >>>> ; Insight-users >>>> Subject: Re: [ITK-users] ITK build_shared_libs >>>> >>>> >>>> >>>> Hi Jinzhong, >>>> >>>> >>>> >>>> It sounds like you are not using CMake to build the project or using >>>> >>>> it in some non-standard way? There are a few options: >>>> >>>> >>>> >>>> 1) Use CMake to compile the project. >>>> >>>> 2) Set ITK_NO_IO_FACTORY_REGISTER_MANAGER before calling >>>> >>>> "include(${ITK_USE_FILE})", the register the factories manually. >>>> >>>> >>>> >>>> HTH, >>>> >>>> Matt >>>> >>>> >>>> >>>> On Mon, Sep 26, 2016 at 2:32 PM, Yang, Jinzhong >>>> wrote: >>>> >>>>> Still no clue. I checked the file itkImageIOFactoryRegisterManager.h. It >>>> >>>>> seems all classes imported in that header were not linked. However, I >>>>> check >>>> >>>>> all IO libraries, it seems they were all included as dependency. As I >>>> >>>>> mentioned before, if I compiled my code as static library, there is not >>>>> such >>>> >>>>> a problem. >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> Here are all ITK/VTK related libraries passed to my compiler (they are >>>> >>>>> generated by cmake. I enabled ITK_USE_SYSTEM_GDCM in building my ITK): >>>> >>>>> >>>> >>>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkdouble-conversion-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itksys-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkvnl_algo-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkvnl-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkv3p_netlib-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itknetlib-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkvcl-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkNetlibSlatec-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKStatistics-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKTransform-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOImageBase-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOBMP-4.10.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmDICT.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmMSFF.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOGDCM-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkzlib-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOGIPL-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkjpeg-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOJPEG-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKMetaIO-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOMeta-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKznz-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKniftiio-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIONIFTI-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKNrrdIO-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIONRRD-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkpng-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOPNG-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itktiff-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOTIFF-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOVTK-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKLabelMap-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKMesh-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKSpatialObjects-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKPath-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKQuadEdgeMesh-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKOptimizers-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKPolynomials-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKBiasCorrection-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKBioCell-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKDICOMParser-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKDeprecated-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOBioRad-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOLSM-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOStimulate-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKEXPAT-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOXML-4.10.lib >>>> >>>>> >>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOSpatialObjects-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKFEM-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKgiftiio-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOMesh-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkhdf5_cpp-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkhdf5-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOCSV-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOIPL-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOSiemens-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOHDF5-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOMRC-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOTransformBase-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOTransformHDF5-4.10.lib >>>> >>>>> >>>> >>>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOTransformInsightLegacy-4.10.lib >>>> >>>>> >>>> >>>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOTransformMatlab-4.10.lib >>>> >>>>> >>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKKLMRegionGrowing-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKVTK-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKWatersheds-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKOptimizersv4-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKVideoCore-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKVideoIO-4.10.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkChartsCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonColor-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonDataModel-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonMath-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtksys-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonMisc-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonSystem-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonTransforms-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInfovisCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersExtraction-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonExecutionModel-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersGeneral-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonComputationalGeometry-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersStatistics-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingFourier-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkalglib-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingContext2D-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersGeometry-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersSources-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingFreeType-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkfreetype-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkzlib-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkDICOMParser-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkDomainsChemistry-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOXML-7.0.lib >>>> >>>>> >>>> >>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOGeometry-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOXMLParser-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkexpat-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkDomainsChemistryOpenGL2-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingOpenGL2-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingHybrid-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOImage-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkmetaio-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkjpeg-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkpng-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtktiff-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkglew-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersAMR-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkParallelCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOLegacy-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersFlowPaths-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersGeneric-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersHybrid-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingSources-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersHyperTree-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersImaging-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingGeneral-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersModeling-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersParallel-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersParallelImaging-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersProgrammable-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersSMP-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersSelection-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersTexture-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersVerdict-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkverdict-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkGeovisCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInfovisLayout-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInteractionStyle-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInteractionWidgets-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingAnnotation-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingColor-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingVolume-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkViewsCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkproj4-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOAMR-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkhdf5_hl-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkhdf5-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOEnSight-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOExodus-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkexoIIc-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkNetCDF-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkNetCDF_cxx-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOExport-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingLabel-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOImport-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOInfovis-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtklibxml2-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOLSDyna-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOMINC-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOMovie-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkoggtheora-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIONetCDF-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOPLY-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOParallel-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkjsoncpp-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOParallelXML-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOSQL-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtksqlite-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOVideo-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingMath-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingMorphological-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingStatistics-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingStencil-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInteractionImage-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingContextOpenGL2-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingImage-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingLOD-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingVolumeOpenGL2-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkTestingGenericBridge-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkTestingIOSQL-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkTestingRendering-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkViewsContext2D-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkViewsInfovis-7.0.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmIOD.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmDSED.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmzlib.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmCommon.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmexpat.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmjpeg8.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmjpeg12.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmjpeg16.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmopenjpeg.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmcharls.lib >>>> >>>>> >>>> >>>>> rpcrt4.lib >>>> >>>>> >>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKVNLInstantiation-4.10.lib >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> Thanks, >>>> >>>>> >>>> >>>>> -Jinzhong >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> From: Francois Budin [mailto:francois.budin at kitware.com] >>>> >>>>> Sent: Monday, September 26, 2016 8:04 AM >>>> >>>>> To: D?enan Zuki? >>>> >>>>> Cc: Yang, Jinzhong ; Insight-users >>>> >>>>> >>>> >>>>> Subject: Re: [ITK-users] ITK build_shared_libs >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> Hello, >>>> >>>>> >>>> >>>>> As Dzenan said, your problem most likely comes from a problem with the >>>>> ITK >>>> >>>>> IO factory. You may want to check that in your build directory, you have >>>>> a >>>> >>>>> directory called "ITKIOFactoryRegistration" that is created, and that it >>>> >>>>> contains a file called itkImageIOFactoryRegisterManager.h. This file >>>> >>>>> specifies all the type of images that are automatically registered to the >>>> >>>>> factory. You should compare the list of types included in this header >>>>> file >>>> >>>>> with the list of ITK libraries that is passed to your compiler and make >>>>> sure >>>> >>>>> that it matches. >>>> >>>>> >>>> >>>>> Hope this helps, >>>> >>>>> >>>> >>>>> Francois >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> On Sun, Sep 25, 2016 at 10:36 AM, D?enan Zuki? wrote: >>>> >>>>> >>>> >>>>> Hi Yang, >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> all your link errors are for I/O class factories. Can you read the >>>>> following >>>> >>>>> and see whether it helps you solve the problem? >>>> >>>>> >>>> >>>>> https://itk.org/Wiki/Plugin_IO_mechanisms >>>> >>>>> >>>> >>>>> >>>>> >>>>> https://itk.org/ITKExamples/src/IO/ImageBase/RegisterIOFactories/Documentation.html >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> Regards, >>>> >>>>> >>>> >>>>> D?enan >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> On Fri, Sep 23, 2016 at 6:36 PM, Yang, Jinzhong >>>> >>>>> wrote: >>>> >>>>> >>>> >>>>> Hi all, >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> I have a very weird problem when I try to build my library. I have an old >>>> >>>>> library, previously was built based on ITK 3.16 and VTK 5.8. I built my >>>> >>>>> library to both DLL and static library. By configuring in cmake properly, >>>>> I >>>> >>>>> could build both types of libraries without any problem. Recently, I >>>>> upgrade >>>> >>>>> it to ITK 4.10 and VTK 7.0. If I turned on BUILD_SHARED_LIBS in ITK, >>>>> both >>>> >>>>> DLL and static lib for my library can be compiled and linked, however, I >>>> >>>>> need to include all DLL files from ITK when I would like to distribute my >>>> >>>>> library. I don?t want to do so. Then I turned off BUILD_SHARED_LIBS in >>>>> ITK. >>>> >>>>> The static lib of my library can be built, but the DLL couldn?t. Error >>>> >>>>> happened during the link stage. The error message was attached below. I >>>>> used >>>> >>>>> CMake 3.6.2 + VS 2008 + Windows 7. >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> 2> Creating library >>>> >>>>> >>>>> >>>>> D:\MeshContourDeformation\ContourWarpingLib-x86-dll\Debug\ContourWarping32.lib >>>> >>>>> and object >>>> >>>>> >>>>> >>>>> D:\MeshContourDeformation\ContourWarpingLib-x86-dll\Debug\ContourWarping32.exp >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function >>>> >>>>> >>>>> >>>>> __unwindfunclet$??0?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@IAE at XZ$0 >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl std::_Debug_order>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator>(class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned >>>>> int)" >>>> >>>>> >>>>> >>>>> (??$_Debug_order at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0 at 0PB_WI@Z) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "public: __thiscall std::vector>>> >>>>> itk::BinaryImageToLabelMapFilter,class >>>> >>>>> itk::LabelMap > >::runLength,class >>>> >>>>> std::allocator>>> >>>>> itk::Image,class itk::LabelMap>>> >>>>> itk::LabelObject > >::runLength> >,class std::allocator>>> >>>>> std::vector>>>> itk::Image>>> >>>>> char,2>,class itk::LabelMap > >>>> >>>>>>::runLength,class std::allocator>>> >>>>> itk::BinaryImageToLabelMapFilter,class >>>> >>>>> itk::LabelMap > >::runLength> > > >>>> >>>>>>::~vector>>> >>>>> itk::Image,class itk::LabelMap>>> >>>>> itk::LabelObject > >::runLength,class std::allocator>>> >>>>> itk::BinaryImageToLabelMapFilter,class >>>> >>>>> itk::LabelMap > >::runLength> >,class >>>> >>>>> std::allocator>>> >>>>> itk::BinaryImageToLabelMapFilter,class >>>> >>>>> itk::LabelMap > >::runLength,class >>>> >>>>> std::allocator>>> >>>>> itk::Image,class itk::LabelMap>>> >>>>> itk::LabelObject > >::runLength> > > >(void)" >>>> >>>>> >>>>> >>>>> (??1?$vector at V?$vector at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@V?$allocator at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@V?$allocator at V?$vector at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@V?$allocator at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@@2@@std@@QAE at XZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) referenced >>>>> in >>> >>>> >>>>> function "protected: __thiscall std::_Vector_val>>> >>>>> itk::ObjectStore > >>>> >>>>>>::MemoryBlock,class std::allocator>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> >>>> >>>>>>::_Vector_val>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock,class >>>> >>>>> std::allocator>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> >>>>> >(class >>>> >>>>> std::allocator>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock>)" >>>> >>>>> >>>>> >>>>> (??0?$_Vector_val at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@V?$allocator at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@@std@@@std@@IAE at V?$allocator at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@@1@@Z) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function >>>> >>>>> >>>>> >>>>> __ehhandler$??1?$vector at V?$vector at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@V?$allocator at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@V?$allocator at V?$vector at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@V?$allocator at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@@2@@std@@QAE at XZ >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl std::_Debug_order2>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator>(class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned >>>> >>>>> int,struct std::forward_iterator_tag)" >>>> >>>>> >>>>> >>>>> (??$_Debug_order2 at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0 at 0PB_WIUforward_iterator_tag@0@@Z) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl std::_Debug_order2>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator>(class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned >>>> >>>>> int,struct std::forward_iterator_tag)" >>>> >>>>> >>>>> >>>>> (??$_Debug_order2 at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0 at 0PB_WIUforward_iterator_tag@0@@Z) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "protected: void __thiscall std::vector>>> >>>>> itk::ObjectStore > >>>> >>>>>>::MemoryBlock,class std::allocator>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> >>>> >>>>>>::_Tidy(void)" >>>> >>>>> >>>>> >>>>> (?_Tidy@?$vector at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@V?$allocator at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@@std@@@std@@IAEXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "public: __thiscall std::vector>>> >>>>> std::allocator >::~vector>>> >>>>> std::allocator >(void)" >>>> >>>>> (??1?$vector at KV?$allocator at K@std@@@std@@QAE at XZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl std::_Debug_order2>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator>(class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned >>>> >>>>> int,struct std::forward_iterator_tag)" >>>> >>>>> >>>>> >>>>> (??$_Debug_order2 at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0 at 0PB_WIUforward_iterator_tag@0@@Z) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "protected: bool __thiscall std::vector>>> >>>>> itk::ObjectStore > >>>> >>>>>>::MemoryBlock,class std::allocator>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> >>>> >>>>>>::_Buy(unsigned int)" >>>> >>>>> >>>>> >>>>> (?_Buy@?$vector at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@V?$allocator at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@@std@@@std@@IAE_NI at Z) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> >>>>> >>>>> 2>D:\MeshContourDeformation\ContourWarpingLib-x86-dll\Debug\ContourWarping32.dll >>>> >>>>> : fatal error LNK1120: 17 unresolved externals >>>> >>>>> >>>> >>> >>>>> >>>> >>>>> >>>> >>>>> _____________________________________ >>>> >>>>> Powered by www.kitware.com >>>> >>>>> >>>> >>>>> Visit other Kitware open-source projects at >>>> >>>>> http://www.kitware.com/opensource/opensource.html >>>> >>>>> >>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>> >>>>> http://www.kitware.com/products/protraining.php >>>> >>>>> >>>> >>>>> Please keep messages on-topic and check the 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 >>> >>> >> > _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Nov 8 17:01:52 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Tue, 8 Nov 2016 17:01:52 -0500 Subject: [ITK] [ITK-dev] Workaround for dynamic_cast on Mac OSX Message-ID: Hi folks, As we have wrestled with in Slicer, along with other applications where ITK is used in multiple shared libraries, dynamic_cast can fail on Mac OSX. I summarized the cause of the problem and steps for the proposed solution here: https://issues.itk.org/jira/browse/ITK-3490 Feedback is welcome. The effort is targeted for the ITK 4.11.0 release. Thanks, Matt _______________________________________________ Powered by www.kitware.com 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 Tue Nov 8 17:13:12 2016 From: francois.budin at kitware.com (Francois Budin) Date: Tue, 8 Nov 2016 17:13:12 -0500 Subject: [ITK] [ITK-users] ITK build_shared_libs In-Reply-To: <004a01d23a0b$2af9c930$80ed5b90$@gmail.com> References: <015301d215ea$ee7b8a50$cb729ef0$@gmail.com> <000901d21824$6789f770$369de650$@gmail.com> <001b01d2182f$9943e9a0$cbcbbce0$@gmail.com> <003c01d21846$e91e4c60$bb5ae520$@gmail.com> <004701d21866$dbe3b5b0$93ab2110$@gmail.com> <005201d21879$595bbee0$0c133ca0$@gmail.com> <008201d218cf$1cdba7e0$5692f7a0$@gmail.com> <004a01d23a0b$2af9c930$80ed5b90$@gmail.com> Message-ID: Hi Jinzhong, Your problem may have been related to this bug: http://review.source.kitware.com/#/c/21634/ You can try to download the latest version of ITK: git clone http://itk.org/ITK.git Hopefully that will solve your problem cleanly. Hope that helps, Francois On Tue, Nov 8, 2016 at 4:57 PM, Yang, Jinzhong wrote: > Hi Matt, > > After a month I had the chance to look into this problem again and > eventually I found out a workaround solution. Remember, I would like to > compile my project as a shared library (output .dll file) with the ITK as > static library (I did not turn on the build_shared_libs in cmake > configuration for ITK). Now, when I used cmake to configure my project, it > generated a folder ITKIOFactoryRegistration with two header files for all > ITKIO libraries. This is line 41 of the iktImageIOFactoryRegisterManager.h > - > > void ITK_ABI_IMPORT NiftiImageIOFactoryRegister__Private();void > ITK_ABI_IMPORT NrrdImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > GiplImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > HDF5ImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > JPEGImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > GDCMImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > BMPImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > LSMImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > PNGImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > TIFFImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > VTKImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > StimulateImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > BioRadImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > MetaImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > MRCImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > GE4ImageIOFactoryRegister__Private();void ITK_ABI_IMPORT > GE5ImageIOFactoryRegister__Private(); > > Notice that the ITK_ABI_IMPORT was defined for each function. With this > definition, the project will look for DLL files instead of LIB file to > link. However, I compiled my ITK as static libs. That's why it gave the > link error. Now, I removed all ITK_ABI_IMPORT definitions for all functions > and recompiled my project, BINGO~ all passed. > > I would consider this as a bug of cmake or cmake configuration of ITK. > Thanks, > -Jinzhong > > -----Original Message----- > From: Matt McCormick [mailto:matt.mccormick at kitware.com] > Sent: Tuesday, September 27, 2016 3:56 PM > To: Yang, Jinzhong > Cc: Francois Budin ; Insight-users < > insight-users at itk.org> > Subject: Re: [ITK-users] ITK build_shared_libs > > Hi Jinzhong, > > Thanks for the information. It seems that > ITK_IO_FACTORY_REGISTER_MANAGER is passed correctly, then. Without it, > the itk::ImageFileReader will not be able to read any formats. > > I would keep investigating why all the ITK IO libraries are not being > linked in by checking the contents of the "ITK_LIBRARIES" CMake > variable, not using the link_libraries command, etc. > > HTH, > Matt > > On Tue, Sep 27, 2016 at 10:54 AM, Yang, Jinzhong > wrote: > > Hi Matt, > > > > This information is helpful. The ITK_IO_FACTORY_REGISTER_MANAGER was > added to the definition of ContourWarping. The BUILD_DLL did not overwrite > anything. To be safe, I took your suggestion. I compiled using the new > CMake file, the problem still exists. Now, if I removed > ITK_IO_FACTORY_REGISTER_MANAGER from definition, it gave me a go. Nothing > complained. It seems that the IO factory has to be manually registered if I > would like to build a shared lib. I am not sure which lib file(s) contain > the definition of those missing functions... It seems that I include all > possible IO libs from ITK. > > > > My other question is that, if I don't include the > ITK_IO_FACTORY_REGISTER_MANAGER, will I have any trouble to read in files > (common format supported by ITK) using the code I compiled? > > Thank you, > > -Jinzhong > > > > > > -----Original Message----- > > From: Matt McCormick [mailto:matt.mccormick at kitware.com] > > Sent: Tuesday, September 27, 2016 8:34 AM > > To: Yang, Jinzhong > > Cc: Francois Budin ; Insight-users < > insight-users at itk.org> > > Subject: Re: [ITK-users] ITK build_shared_libs > > > > Hi, > > > > I am not sure how the BUILD_DLL definition causes a shared library, > > but the concern is that setting the COMPILE_DEFINITIONS in this way is > > somehow interfering with the other definitions that need to be added > > to target. This definition is required to add the symbols that are > > missing. > > > > > > What happens: > > > > The itkImageFileReader.h file conditionally includes > > itkImageIOFactoryRegisterManager.h: > > > > https://github.com/InsightSoftwareConsortium/ITK/blob/ > dfe042df74dd2a69bfca7fc3349a9c0fcc65c6e6/Modules/IO/ImageBase/include/ > itkImageFileReader.h#L170-L172 > > > > This condition is based on the preprocessor definition of > > ITK_IO_FACTORY_REGISTER_MANAGER. This definition is added in the > > UseITK.cmake file: > > > > https://github.com/InsightSoftwareConsortium/ITK/blob/ > dfe042df74dd2a69bfca7fc3349a9c0fcc65c6e6/CMake/UseITK.cmake#L286-L291 > > > > when your CMake code calls "include(${ITK_USE_FILE})". > > > > > > Since the ITK_IO_FACTORY_REGISTER_MANAGER is added as > > COMPILE_DEFINITIONS on the CMake directory where the CMakeLists.txt > > exists, the ContourWarping target should have that definition. Check > > to verify that the definition is added to the build command. > > > > > > In general, to ensure that compile definitions are appended instead of > > replacing existing definitions, use: > > > > set_property(TARGET ContourWarping APPEND PROPERTY > > COMPILE_DEFINITIONS "BUILD_DLL") > > > > instead of > > > > SET_TARGET_PROPERTIES(ContourWarping > > > > PROPERTIES COMPILE_DEFINITIONS "BUILD_DLL") > > > > HTH, > > Matt > > > > On Tue, Sep 27, 2016 at 12:41 AM, Yang, Jinzhong > wrote: > >> If I remove that line, I essentially build the library as static > library. That works as I pointed out before. But I need to keep a copy of > shared library because I have several mex functions depending on this > library. I would like them to share this library. This is not a problem > when I compiled it with ITK 3.16. I can compile both shared and static > libraries with ITK 3.16 compiled as static library. > >> > >> -Jinzhong > >> > >> > >> -----Original Message----- > >> From: Matt McCormick [mailto:matt.mccormick at kitware.com] > >> Sent: Monday, September 26, 2016 11:30 PM > >> To: Yang, Jinzhong > >> Cc: Francois Budin ; Insight-users < > insight-users at itk.org> > >> Subject: Re: [ITK-users] ITK build_shared_libs > >> > >> Hi Jinzhong, > >> > >> Does removing this block: > >> > >> > >> IF (BUILD_SHARED_LIBS) > >> > >> SET_TARGET_PROPERTIES(ContourWarping > >> > >> PROPERTIES COMPILE_DEFINITIONS "BUILD_DLL" > >> > >> ) > >> > >> # Need to enable BUILD_SHARED_LIBS in ITK but NOT in VTK > >> > >> ENDIF(BUILD_SHARED_LIBS) > >> > >> > >> Address the issue? > >> > >> Thanks, > >> Matt > >> > >> On Mon, Sep 26, 2016 at 10:28 PM, Yang, Jinzhong > wrote: > >>> Hi Francois, > >>> > >>> > >>> > >>> It was added already. > >>> > >>> > >>> > >>>> TARGET_LINK_LIBRARIES( > >>>> > >>>> ContourWarping > >>>> > >>>> ${ITK_LIBRARIES} > >>>> > >>>> ${VTK_LIBRARIES} > >>>> > >>>> #vtkIO vtkFiltering vtkGraphics > >>>> > >>>> #debug vld.lib # for memory leak detection > >>>> > >>>> ) > >>> > >>> -Jinzhong > >>> > >>> > >>> > >>> From: Francois Budin [mailto:francois.budin at kitware.com] > >>> Sent: Monday, September 26, 2016 6:55 PM > >>> To: Yang, Jinzhong > >>> Cc: Matt McCormick ; Insight-users > >>> > >>> > >>> > >>> Subject: Re: [ITK-users] ITK build_shared_libs > >>> > >>> > >>> > >>> Hello Jinzhong, > >>> > >>> Could you try to add ${ITK_LIBRARIES} to your call of > >>> "TARGET_LINK_LIBRARIES"? > >>> > >>> Francois > >>> > >>> > >>> > >>> On Mon, Sep 26, 2016 at 6:39 PM, Yang, Jinzhong > >>> wrote: > >>> > >>> Hi Matt, > >>> > >>> When I built ITK, I turned on ITKV3_COMPATIBILITY. Could this cause the > >>> problem? > >>> Thanks, > >>> -Jinzhong > >>> > >>> > >>> -----Original Message----- > >>> From: Matt McCormick [mailto:matt.mccormick at kitware.com] > >>> Sent: Monday, September 26, 2016 2:57 PM > >>> To: Yang, Jinzhong > >>> > >>> Cc: Insight-users > >>> Subject: Re: [ITK-users] ITK build_shared_libs > >>> > >>> Hi Jinzhong, > >>> > >>> Does replacing link_libraries calls with target_link_libraries address > >>> the issue (this should be done regardless)? > >>> > >>> HTH, > >>> Matt > >>> > >>> On Mon, Sep 26, 2016 at 3:53 PM, Yang, Jinzhong > >>> wrote: > >>>> Hi Matt, > >>>> > >>>> > >>>> > >>>> I use CMake, but the CMakeLists.txt was written for old ITK (3.16). I > >>>> recently upgraded to ITK 4.10 in order for a project depending on this > >>>> library and GDCM library ( I had trouble to compile that project with > ITK > >>>> 3.16). I don't want to manually register the factories. I might need > to > >>>> revise my CMakeLists.txt. Below is my CMakeLists.txt. Please let me > know > >>>> if > >>>> there is anything wrong here. To help you understand my problem, I > >>>> summarize > >>>> my problem below - > >>>> > >>>> - ITK 4.10 compiled with "BUILD_SHARED_LIBS", my project compiled with > >>>> "BUILD_SHARED_LIBS", WORK > >>>> > >>>> - ITK 4.10 compiled with "BUILD_SHARED_LIBS", my project NOT compiled > with > >>>> "BUILD_SHARED_LIBS", WORK > >>>> > >>>> - ITK 4.10 NOT compiled with "BUILD_SHARED_LIBS", my project NOT > compiled > >>>> with "BUILD_SHARED_LIBS", WORK > >>>> > >>>> - ITK 4.10 NOT compiled with "BUILD_SHARED_LIBS", my project compiled > with > >>>> "BUILD_SHARED_LIBS", NOT WORKING > >>>> > >>>> > >>>> > >>>> I prefer to compiling ITK without using shared libs because I don?t > want > >>>> to > >>>> distribute a lot of files to other computers with my program. > >>>> > >>>> Thank you, > >>>> > >>>> Jinzhong > >>>> > >>>> > >>>> > >>>> //////////////////CMakeLists.txt //////////////////////////// > >>>> > >>>> CMAKE_MINIMUM_REQUIRED(VERSION 2.6) > >>>> > >>>> > >>>> > >>>> PROJECT(ContourWarping) > >>>> > >>>> > >>>> > >>>> FIND_PACKAGE(ITK) > >>>> > >>>> IF(ITK_FOUND) > >>>> > >>>> INCLUDE(${ITK_USE_FILE}) > >>>> > >>>> ELSE(ITK_FOUND) > >>>> > >>>> MESSAGE(FATAL_ERROR > >>>> > >>>> "ITK not found. Please set ITK_DIR.") > >>>> > >>>> ENDIF(ITK_FOUND) > >>>> > >>>> > >>>> > >>>> FIND_PACKAGE(VTK) > >>>> > >>>> IF (VTK_FOUND) > >>>> > >>>> INCLUDE (${VTK_USE_FILE}) > >>>> > >>>> ELSE (VTK_FOUND) > >>>> > >>>> MESSAGE(FATAL_ERROR > >>>> > >>>> "VTK not found. Please set VTK_DIR.") > >>>> > >>>> ENDIF(VTK_FOUND) > >>>> > >>>> > >>>> > >>>> OPTION(BUILD_SHARED_LIBS "Build ContourWarping with shared libraries." > >>>> OFF) > >>>> > >>>> > >>>> > >>>> OPTION(BUILD_LIB_TEST "Build ContourWarping with testing option > enabled." > >>>> OFF) > >>>> > >>>> IF (BUILD_LIB_TEST) > >>>> > >>>> ADD_DEFINITIONS(-D_LIB_TEST) > >>>> > >>>> ENDIF(BUILD_LIB_TEST) > >>>> > >>>> > >>>> > >>>> LINK_LIBRARIES( > >>>> > >>>> ${ITK_LIBRARIES} > >>>> > >>>> ${VTK_LIBRARIES} > >>>> > >>>> #vtkIO vtkCommon vtkFiltering vtkGraphics > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> SET(BOOST_DIR "D:/boost_1_41_0" CACHE PATH "D:/boost_1_41_0") > >>>> > >>>> > >>>> > >>>> IF (CMAKE_SIZEOF_VOID_P EQUAL 8) > >>>> > >>>> SET(BOOST_LIB_DIR "D:/boost_1_41_0/stage64/lib" CACHE > PATH > >>>> "D:/boost_1_41_0/stage64/lib") > >>>> > >>>> ELSE (CMAKE_SIZEOF_VOID_P EQUAL 8) > >>>> > >>>> SET(BOOST_LIB_DIR "D:/boost_1_41_0/stage/lib" CACHE > PATH > >>>> "D:/boost_1_41_0/stage/lib") > >>>> > >>>> ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 8) > >>>> > >>>> > >>>> > >>>> INCLUDE_DIRECTORIES( "C:/Program Files/Visual Leak Detector/include" > # for > >>>> memory leak detection, "vld.h" > >>>> > >>>> ${BOOST_DIR} #boost > >>>> > >>>> ${PROJECT_SOURCE_DIR} > >>>> > >>>> "${PROJECT_SOURCE_DIR}/itkLabelMap" > >>>> > >>>> > >>>> "${PROJECT_SOURCE_DIR}/boost" > >>>> > >>>> ) > >>>> > >>>> LINK_DIRECTORIES( ${PROJECT_BINARY_DIR}/${CMAKE_ > ARCHIVE_OUTPUT_DIRECTORY} > >>>> > >>>> "C:/Program Files/Visual Leak Detector/lib" # for > memory > >>>> leak detection, "vld.lib" > >>>> > >>>> ${BOOST_LIB_DIR} #boost > >>>> > >>>> ) > >>>> > >>>> #LINK_DIRECTORIES( ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}) > >>>> > >>>> > >>>> > >>>> SET(SRCS > >>>> > >>>> stdafx.h > >>>> > >>>> stdafx.cpp > >>>> > >>>> ContourWarpingWrapUp.cpp > >>>> > >>>> PinnacleROIStructInterface.cpp > >>>> > >>>> BinaryImageRoiPolyInterface.cpp > >>>> > >>>> contourwarpingparallel.cpp > >>>> > >>>> ParallelDispatcher.h > >>>> > >>>> ParallelDispatcher.cpp > >>>> > >>>> Win32Header.h > >>>> > >>>> PinnacleROIConvert.cpp > >>>> > >>>> PinnacleROIConvert.h > >>>> > >>>> PinnacleROIMesh.cpp > >>>> > >>>> PinnacleROIMesh.h > >>>> > >>>> PinnaclePOIConvert.cpp > >>>> > >>>> PinnaclePOIConvert.h > >>>> > >>>> PinnacleImage.cpp > >>>> > >>>> PinnacleImage.txx > >>>> > >>>> PinnacleImage.h > >>>> > >>>> Auxiliary.h > >>>> > >>>> MeshConvertor.cpp > >>>> > >>>> MeshConvertor.h > >>>> > >>>> vtkPolyContours.cpp > >>>> > >>>> vtkPolyContours.h > >>>> > >>>> vtkVoxelContoursToSurfaceFilterEx.cpp > >>>> > >>>> vtkVoxelContoursToSurfaceFilterEx.h > >>>> > >>>> vtkWindowedSincPolyDataFilterEx.cpp > >>>> > >>>> vtkWindowedSincPolyDataFilterEx.h > >>>> > >>>> vtkSurfaceToSliceContours.cpp > >>>> > >>>> vtkSurfaceToSliceContours.h > >>>> > >>>> vtkSurfaceCutter.cpp > >>>> > >>>> vtkSurfaceCutter.h > >>>> > >>>> vtkSurfaceMeshProcess.cpp > >>>> > >>>> vtkSurfaceMeshProcess.h > >>>> > >>>> vtkSurfaceDeformation.cpp > >>>> > >>>> vtkSurfaceDeformation.h > >>>> > >>>> vtkSurfaceDeformationUsingCatField.cpp > >>>> > >>>> vtkSurfaceDeformationUsingCatField.h > >>>> > >>>> vtkSurfaceTransformation.cpp > >>>> > >>>> vtkSurfaceTransformation.h > >>>> > >>>> vtkContourProcess.cpp > >>>> > >>>> vtkContourProcess.h > >>>> > >>>> vtkSurfaceClipper.cpp > >>>> > >>>> vtkSurfaceClipper.h > >>>> > >>>> vtkPolyContoursClipper.cpp > >>>> > >>>> vtkPolyContoursClipper.h > >>>> > >>>> vtkUndirectedGraphCPP.cpp > >>>> > >>>> vtkUndirectedGraphCPP.h > >>>> > >>>> itkPolygonFill2DBinaryImageFilter.h > >>>> > >>>> itkPolygonFill2DBinaryImageFilter.txx > >>>> > >>>> catDeformationField.cpp > >>>> > >>>> catDeformationField.h > >>>> > >>>> boundaries.txx > >>>> > >>>> boundaries.h > >>>> > >>>> PinnacleROI2ImagesParallel.cpp > >>>> > >>>> PinnacleROI2ImagesParallel.h > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> IF (WIN32) > >>>> > >>>> SET(SRCS ${SRCS} resource.h ContourWarping.rc) > >>>> > >>>> ENDIF(WIN32) > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> ADD_LIBRARY(ContourWarping ${SRCS}) > >>>> > >>>> > >>>> > >>>> SET(OUTPUTNAME ContourWarping) > >>>> > >>>> > >>>> > >>>> IF (BUILD_SHARED_LIBS) > >>>> > >>>> IF (CMAKE_SIZEOF_VOID_P EQUAL 8) > >>>> > >>>> SET_TARGET_PROPERTIES(ContourWarping > >>>> > >>>> > >>>> PROPERTIES OUTPUT_NAME ContourWarping64 > >>>> > >>>> ) > >>>> > >>>> SET(OUTPUTNAME ContourWarping64) > >>>> > >>>> ELSE (CMAKE_SIZEOF_VOID_P EQUAL 8) > >>>> > >>>> SET_TARGET_PROPERTIES(ContourWarping > >>>> > >>>> > >>>> PROPERTIES OUTPUT_NAME ContourWarping32 > >>>> > >>>> ) > >>>> > >>>> SET(OUTPUTNAME ContourWarping32) > >>>> > >>>> ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 8) > >>>> > >>>> ENDIF (BUILD_SHARED_LIBS) > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> #SET(CMAKE_BUILD_TYPE Release) > >>>> > >>>> #INCLUDE(PCHSupport.cmake) > >>>> > >>>> #ADD_PRECOMPILED_HEADER(ContourWarping stdafx.h) > >>>> > >>>> > >>>> > >>>> TARGET_LINK_LIBRARIES( > >>>> > >>>> ContourWarping > >>>> > >>>> ${ITK_LIBRARIES} > >>>> > >>>> ${VTK_LIBRARIES} > >>>> > >>>> #vtkIO vtkFiltering vtkGraphics > >>>> > >>>> #debug vld.lib # for memory leak detection > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> #SET(TARGET_LIB_VERSION "1.0" CACHE STRING "1.0") > >>>> > >>>> SET_TARGET_PROPERTIES(ContourWarping > >>>> > >>>> PROPERTIES VERSION 1.8.8 > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> IF (BUILD_SHARED_LIBS) > >>>> > >>>> SET_TARGET_PROPERTIES(ContourWarping > >>>> > >>>> PROPERTIES COMPILE_DEFINITIONS "BUILD_DLL" > >>>> > >>>> ) > >>>> > >>>> # Need to enable BUILD_SHARED_LIBS in ITK but NOT in VTK > >>>> > >>>> ENDIF(BUILD_SHARED_LIBS) > >>>> > >>>> > >>>> > >>>> IF (WIN32) #enable PCH support & add resource file > >>>> > >>>> SET_TARGET_PROPERTIES(ContourWarping > >>>> > >>>> PROPERTIES COMPILE_FLAGS /Yu"stdafx.h" > >>>> > >>>> ) > >>>> > >>>> SET_SOURCE_FILES_PROPERTIES(stdafx.cpp > >>>> > >>>> PROPERTIES COMPILE_FLAGS /Yc"stdafx.h" > >>>> > >>>> ) > >>>> > >>>> ENDIF(WIN32) > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> IF (BUILD_LIB_TEST) > >>>> > >>>> TARGET_LINK_LIBRARIES( > >>>> > >>>> ContourWarping > >>>> > >>>> vtkRendering vtkWidgets > >>>> > >>>> ) > >>>> > >>>> ENDIF(BUILD_LIB_TEST) > >>>> > >>>> > >>>> > >>>> ###### > >>>> > >>>> ADD_EXECUTABLE( ContourWarpingTest > >>>> > >>>> testdll.cpp > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> TARGET_LINK_LIBRARIES( > >>>> > >>>> ContourWarpingTest > >>>> > >>>> ${OUTPUTNAME}.lib > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> ADD_DEPENDENCIES( > >>>> > >>>> ContourWarpingTest > >>>> > >>>> ContourWarping > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> ###### > >>>> > >>>> ADD_EXECUTABLE( PinnacleROI2BinaryImage > >>>> > >>>> PinnacleROI2BinaryImage.cpp > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> TARGET_LINK_LIBRARIES( > >>>> > >>>> PinnacleROI2BinaryImage > >>>> > >>>> ${OUTPUTNAME}.lib > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> ADD_DEPENDENCIES( > >>>> > >>>> PinnacleROI2BinaryImage > >>>> > >>>> ContourWarping > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> ###### > >>>> > >>>> ADD_EXECUTABLE( PinnacleROIFromBitmap > >>>> > >>>> PinnacleROIFromBitmap.cpp > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> TARGET_LINK_LIBRARIES( > >>>> > >>>> PinnacleROIFromBitmap > >>>> > >>>> ${OUTPUTNAME}.lib > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> ADD_DEPENDENCIES( > >>>> > >>>> PinnacleROIFromBitmap > >>>> > >>>> ContourWarping > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> ###### > >>>> > >>>> ADD_EXECUTABLE( MeshTest > >>>> > >>>> MeshTest.cpp > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> TARGET_LINK_LIBRARIES( > >>>> > >>>> MeshTest > >>>> > >>>> ${OUTPUTNAME}.lib > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> ADD_DEPENDENCIES( > >>>> > >>>> MeshTest > >>>> > >>>> ContourWarping > >>>> > >>>> ) > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> -----Original Message----- > >>>> From: Matt McCormick [mailto:matt.mccormick at kitware.com] > >>>> Sent: Monday, September 26, 2016 1:50 PM > >>>> To: Yang, Jinzhong > >>>> Cc: Francois Budin ; D?enan Zuki? > >>>> ; Insight-users > >>>> Subject: Re: [ITK-users] ITK build_shared_libs > >>>> > >>>> > >>>> > >>>> Hi Jinzhong, > >>>> > >>>> > >>>> > >>>> It sounds like you are not using CMake to build the project or using > >>>> > >>>> it in some non-standard way? There are a few options: > >>>> > >>>> > >>>> > >>>> 1) Use CMake to compile the project. > >>>> > >>>> 2) Set ITK_NO_IO_FACTORY_REGISTER_MANAGER before calling > >>>> > >>>> "include(${ITK_USE_FILE})", the register the factories manually. > >>>> > >>>> > >>>> > >>>> HTH, > >>>> > >>>> Matt > >>>> > >>>> > >>>> > >>>> On Mon, Sep 26, 2016 at 2:32 PM, Yang, Jinzhong > > >>>> wrote: > >>>> > >>>>> Still no clue. I checked the file itkImageIOFactoryRegisterManager.h. > It > >>>> > >>>>> seems all classes imported in that header were not linked. However, I > >>>>> check > >>>> > >>>>> all IO libraries, it seems they were all included as dependency. As I > >>>> > >>>>> mentioned before, if I compiled my code as static library, there is > not > >>>>> such > >>>> > >>>>> a problem. > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> Here are all ITK/VTK related libraries passed to my compiler (they > are > >>>> > >>>>> generated by cmake. I enabled ITK_USE_SYSTEM_GDCM in building my > ITK): > >>>> > >>>>> > >>>> > >>>>> > >>>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > itkdouble-conversion-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itksys-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkvnl_algo-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkvnl-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkv3p_netlib-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itknetlib-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkvcl-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > itkNetlibSlatec-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKStatistics-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKTransform-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKIOImageBase-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOBMP-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmDICT.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmMSFF.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOGDCM-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkzlib-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOGIPL-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkjpeg-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOJPEG-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKMetaIO-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOMeta-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKznz-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKniftiio-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIONIFTI-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKNrrdIO-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIONRRD-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkpng-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOPNG-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itktiff-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOTIFF-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOVTK-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKLabelMap-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKMesh-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKSpatialObjects-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKPath-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKQuadEdgeMesh-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKOptimizers-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKPolynomials-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKBiasCorrection-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKBioCell-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKDICOMParser-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKDeprecated-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOBioRad-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOLSM-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKIOStimulate-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKEXPAT-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOXML-4.10.lib > >>>> > >>>>> > >>>> > >>>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKIOSpatialObjects-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKFEM-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKgiftiio-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOMesh-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkhdf5_cpp-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkhdf5-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOCSV-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOIPL-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOSiemens-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOHDF5-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOMRC-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKIOTransformBase-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKIOTransformHDF5-4.10.lib > >>>> > >>>>> > >>>> > >>>>> > >>>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKIOTransformInsightLegacy-4.10.lib > >>>> > >>>>> > >>>> > >>>>> > >>>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKIOTransformMatlab-4.10.lib > >>>> > >>>>> > >>>> > >>>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKKLMRegionGrowing-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKVTK-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKWatersheds-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKOptimizersv4-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKVideoCore-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKVideoIO-4.10.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkChartsCore-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonColor-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonDataModel-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonMath-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonCore-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtksys-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonMisc-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonSystem-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonTransforms-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInfovisCore-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersExtraction-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonExecutionModel-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersCore-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersGeneral-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonComputationalGeometry > -7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersStatistics-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingFourier-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingCore-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkalglib-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingContext2D-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingCore-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersGeometry-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersSources-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingFreeType-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkfreetype-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkzlib-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkDICOMParser-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkDomainsChemistry-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOXML-7.0.lib > >>>> > >>>>> > >>>> > >>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOGeometry-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOCore-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOXMLParser-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkexpat-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkDomainsChemistryOpenGL2-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingOpenGL2-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingHybrid-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOImage-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkmetaio-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkjpeg-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkpng-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtktiff-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkglew-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersAMR-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkParallelCore-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOLegacy-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersFlowPaths-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersGeneric-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersHybrid-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingSources-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersHyperTree-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersImaging-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingGeneral-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersModeling-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersParallel-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersParallelImaging-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersProgrammable-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersSMP-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersSelection-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersTexture-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersVerdict-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkverdict-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkGeovisCore-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInfovisLayout-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInteractionStyle-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInteractionWidgets-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingAnnotation-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingColor-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingVolume-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkViewsCore-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkproj4-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOAMR-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkhdf5_hl-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkhdf5-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOEnSight-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOExodus-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkexoIIc-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkNetCDF-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkNetCDF_cxx-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOExport-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingLabel-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOImport-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOInfovis-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtklibxml2-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOLSDyna-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOMINC-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOMovie-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkoggtheora-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIONetCDF-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOPLY-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOParallel-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkjsoncpp-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOParallelXML-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOSQL-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtksqlite-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOVideo-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingMath-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingMorphological-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingStatistics-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingStencil-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInteractionImage-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingContextOpenGL2-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingImage-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingLOD-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingVolumeOpenGL2-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkTestingGenericBridge-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkTestingIOSQL-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkTestingRendering-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkViewsContext2D-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkViewsInfovis-7.0.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmIOD.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmDSED.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmzlib.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmCommon.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmexpat.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmjpeg8.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmjpeg12.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmjpeg16.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmopenjpeg.lib > >>>> > >>>>> > >>>> > >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmcharls.lib > >>>> > >>>>> > >>>> > >>>>> rpcrt4.lib > >>>> > >>>>> > >>>> > >>>>> > >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ > ITKVNLInstantiation-4.10.lib > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> Thanks, > >>>> > >>>>> > >>>> > >>>>> -Jinzhong > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> From: Francois Budin [mailto:francois.budin at kitware.com] > >>>> > >>>>> Sent: Monday, September 26, 2016 8:04 AM > >>>> > >>>>> To: D?enan Zuki? > >>>> > >>>>> Cc: Yang, Jinzhong ; Insight-users > >>>> > >>>>> > >>>> > >>>>> Subject: Re: [ITK-users] ITK build_shared_libs > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> Hello, > >>>> > >>>>> > >>>> > >>>>> As Dzenan said, your problem most likely comes from a problem with > the > >>>>> ITK > >>>> > >>>>> IO factory. You may want to check that in your build directory, you > have > >>>>> a > >>>> > >>>>> directory called "ITKIOFactoryRegistration" that is created, and > that it > >>>> > >>>>> contains a file called itkImageIOFactoryRegisterManager.h. This file > >>>> > >>>>> specifies all the type of images that are automatically registered > to the > >>>> > >>>>> factory. You should compare the list of types included in this header > >>>>> file > >>>> > >>>>> with the list of ITK libraries that is passed to your compiler and > make > >>>>> sure > >>>> > >>>>> that it matches. > >>>> > >>>>> > >>>> > >>>>> Hope this helps, > >>>> > >>>>> > >>>> > >>>>> Francois > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> On Sun, Sep 25, 2016 at 10:36 AM, D?enan Zuki? > wrote: > >>>> > >>>>> > >>>> > >>>>> Hi Yang, > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> all your link errors are for I/O class factories. Can you read the > >>>>> following > >>>> > >>>>> and see whether it helps you solve the problem? > >>>> > >>>>> > >>>> > >>>>> https://itk.org/Wiki/Plugin_IO_mechanisms > >>>> > >>>>> > >>>> > >>>>> > >>>>> > >>>>> https://itk.org/ITKExamples/src/IO/ImageBase/RegisterIOFactories/ > Documentation.html > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> Regards, > >>>> > >>>>> > >>>> > >>>>> D?enan > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> On Fri, Sep 23, 2016 at 6:36 PM, Yang, Jinzhong < > jinzhong76 at gmail.com> > >>>> > >>>>> wrote: > >>>> > >>>>> > >>>> > >>>>> Hi all, > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> I have a very weird problem when I try to build my library. I have > an old > >>>> > >>>>> library, previously was built based on ITK 3.16 and VTK 5.8. I built > my > >>>> > >>>>> library to both DLL and static library. By configuring in cmake > properly, > >>>>> I > >>>> > >>>>> could build both types of libraries without any problem. Recently, I > >>>>> upgrade > >>>> > >>>>> it to ITK 4.10 and VTK 7.0. If I turned on BUILD_SHARED_LIBS in ITK, > >>>>> both > >>>> > >>>>> DLL and static lib for my library can be compiled and linked, > however, I > >>>> > >>>>> need to include all DLL files from ITK when I would like to > distribute my > >>>> > >>>>> library. I don?t want to do so. Then I turned off BUILD_SHARED_LIBS > in > >>>>> ITK. > >>>> > >>>>> The static lib of my library can be built, but the DLL couldn?t. > Error > >>>> > >>>>> happened during the link stage. The error message was attached > below. I > >>>>> used > >>>> > >>>>> CMake 3.6.2 + VS 2008 + Windows 7. > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> 2> Creating library > >>>> > >>>>> > >>>>> > >>>>> D:\MeshContourDeformation\ContourWarpingLib-x86-dll\ > Debug\ContourWarping32.lib > >>>> > >>>>> and object > >>>> > >>>>> > >>>>> > >>>>> D:\MeshContourDeformation\ContourWarpingLib-x86-dll\ > Debug\ContourWarping32.exp > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in > >>>> > >>>>> function > >>>> > >>>>> > >>>>> > >>>>> __unwindfunclet$??0?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk > @@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@IAE at XZ$0 > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in > >>>> > >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic > initializer > >>>>> for > >>>> > >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" > >>>> > >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MRCImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MRCImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MRCImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in > >>>> > >>>>> function "void __cdecl std::_Debug_order >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator>(class std::_Tree >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator,class std::_Tree >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned > >>>>> int)" > >>>> > >>>>> > >>>>> > >>>>> (??$_Debug_order at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std > @@V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V > ?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0 at 0PB_WI@Z) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MRCImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MRCImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MRCImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MRCImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MetaImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MetaImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MetaImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MetaImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) referenced > in > >>>> > >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic > initializer > >>>>> for > >>>> > >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" > >>>> > >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MetaImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MetaImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::MetaImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) > referenced in > >>>> > >>>>> function "public: __thiscall std::vector >>>> > >>>>> itk::BinaryImageToLabelMapFilter char,2>,class > >>>> > >>>>> itk::LabelMap > >::runLength,class > >>>> > >>>>> std::allocator >>>> > >>>>> itk::Image,class itk::LabelMap >>>> > >>>>> itk::LabelObject > >::runLength> >,class > std::allocator >>>> > >>>>> std::vector >>>>> itk::Image >>>> > >>>>> char,2>,class itk::LabelMap > > >>>> > >>>>>>::runLength,class std::allocator >>>> > >>>>> itk::BinaryImageToLabelMapFilter char,2>,class > >>>> > >>>>> itk::LabelMap > >::runLength> > > > >>>> > >>>>>>::~vector class > >>>> > >>>>> itk::Image,class itk::LabelMap >>>> > >>>>> itk::LabelObject > >::runLength,class std::allocator >>>> > >>>>> itk::BinaryImageToLabelMapFilter char,2>,class > >>>> > >>>>> itk::LabelMap > >::runLength> >,class > >>>> > >>>>> std::allocator >>>> > >>>>> itk::BinaryImageToLabelMapFilter char,2>,class > >>>> > >>>>> itk::LabelMap > >::runLength,class > >>>> > >>>>> std::allocator >>>> > >>>>> itk::Image,class itk::LabelMap >>>> > >>>>> itk::LabelObject > >::runLength> > > >(void)" > >>>> > >>>>> > >>>>> > >>>>> (??1?$vector at V?$vector at VrunLength@?$BinaryImageToLabelMapFilter at V? > $Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@ > @V?$allocator at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk > @@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@V?$allocator@ > V?$vector at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk > @@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@V?$allocator at VrunLength@? > $BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap@ > V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@@2@@std@@QAE at XZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2019: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) > referenced > >>>>> in > >>> > >>>> > >>>>> function "protected: __thiscall std::_Vector_val >>>> > >>>>> itk::ObjectStore itk::Index<3> > > >>>> > >>>>>>::MemoryBlock,class std::allocator >>>> > >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> > >>>> > >>>>>>::_Vector_val >>>> > >>>>> itk::SparseFieldLevelSetNode > > >::MemoryBlock,class > >>>> > >>>>> std::allocator >>>> > >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> > >>>>> >(class > >>>> > >>>>> std::allocator >>>> > >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock>)" > >>>> > >>>>> > >>>>> > >>>>> (??0?$_Vector_val at UMemoryBlock@?$ObjectStore at V?$ > SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@V?$ > allocator at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@ > $02 at itk@@@itk@@@itk@@@std@@@std@@IAE at V?$allocator at UMemoryBlock@ > ?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@@1@ > @Z) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::VTKImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::VTKImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::VTKImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::VTKImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in > >>>> > >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic > initializer > >>>>> for > >>>> > >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" > >>>> > >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::VTKImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::VTKImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::VTKImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) referenced > in > >>>> > >>>>> function > >>>> > >>>>> > >>>>> > >>>>> __ehhandler$??1?$vector at V?$vector at VrunLength@?$ > BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V > ?$LabelObject at F$01 at itk@@@2@@itk@@V?$allocator at VrunLength@? > $BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap@ > V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@V?$allocator@ > V?$vector at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk > @@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@V?$allocator at VrunLength@? > $BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap@ > V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@@2@@std@@QAE at XZ > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::PNGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::PNGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::PNGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in > >>>> > >>>>> function "void __cdecl std::_Debug_order2 >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator>(class std::_Tree >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator,class std::_Tree >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned > >>>> > >>>>> int,struct std::forward_iterator_tag)" > >>>> > >>>>> > >>>>> > >>>>> (??$_Debug_order2 at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@ > @V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V?$_Tset_ > traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0@ > 0PB_WIUforward_iterator_tag at 0@@Z) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::PNGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::PNGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::PNGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::PNGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::LSMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::LSMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::LSMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in > >>>> > >>>>> function "void __cdecl std::_Debug_order2 >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator>(class std::_Tree >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator,class std::_Tree >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned > >>>> > >>>>> int,struct std::forward_iterator_tag)" > >>>> > >>>>> > >>>>> > >>>>> (??$_Debug_order2 at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@ > @V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V?$_Tset_ > traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0@ > 0PB_WIUforward_iterator_tag at 0@@Z) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::LSMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::LSMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::LSMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::LSMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BMPImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2019: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BMPImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in > >>>> > >>>>> function "protected: void __thiscall std::vector >>>> > >>>>> itk::ObjectStore itk::Index<3> > > >>>> > >>>>>>::MemoryBlock,class std::allocator >>>> > >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> > >>>> > >>>>>>::_Tidy(void)" > >>>> > >>>>> > >>>>> > >>>>> (?_Tidy@?$vector at UMemoryBlock@?$ObjectStore at V?$ > SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@V?$ > allocator at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@ > $02 at itk@@@itk@@@itk@@@std@@@std@@IAEXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BMPImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BMPImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BMPImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BMPImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::BMPImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) referenced > in > >>>> > >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic > initializer > >>>>> for > >>>> > >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" > >>>> > >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) referenced > in > >>>> > >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic > initializer > >>>>> for > >>>> > >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" > >>>> > >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) referenced > in > >>>> > >>>>> function "public: __thiscall std::vector >>>> > >>>>> std::allocator >::~vector >>>> > >>>>> std::allocator >(void)" > >>>> > >>>>> (??1?$vector at KV?$allocator at K@std@@@std@@QAE at XZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GiplImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GiplImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GiplImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) referenced > in > >>>> > >>>>> function "void __cdecl std::_Debug_order2 >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator>(class std::_Tree >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator,class std::_Tree >>>> > >>>>> std::_Tset_traits,class > >>>> > >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned > >>>> > >>>>> int,struct std::forward_iterator_tag)" > >>>> > >>>>> > >>>>> > >>>>> (??$_Debug_order2 at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@ > @V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V?$_Tset_ > traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0@ > 0PB_WIUforward_iterator_tag at 0@@Z) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GiplImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GiplImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GiplImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::GiplImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2019: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) referenced > in > >>>> > >>>>> function "protected: bool __thiscall std::vector >>>> > >>>>> itk::ObjectStore itk::Index<3> > > >>>> > >>>>>>::MemoryBlock,class std::allocator >>>> > >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> > >>>> > >>>>>>::_Buy(unsigned int)" > >>>> > >>>>> > >>>>> > >>>>> (?_Buy@?$vector at UMemoryBlock@?$ObjectStore at V?$ > SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@V?$ > allocator at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@ > $02 at itk@@@itk@@@itk@@@std@@@std@@IAE_NI at Z) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) referenced > in > >>>> > >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic > initializer > >>>>> for > >>>> > >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" > >>>> > >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved > external > >>>>> symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external > symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol > >>>> > >>>>> "__declspec(dllimport) void __cdecl > >>>> > >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" > >>>> > >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) > >>>> > >>>>> > >>>> > >>>>> > >>>>> > >>>>> 2>D:\MeshContourDeformation\ContourWarpingLib-x86-dll\ > Debug\ContourWarping32.dll > >>>> > >>>>> : fatal error LNK1120: 17 unresolved externals > >>>> > >>>>> > >>>> > >>> > >>>>> > >>>> > >>>>> > >>>> > >>>>> _____________________________________ > >>>> > >>>>> Powered by www.kitware.com > >>>> > >>>>> > >>>> > >>>>> Visit other Kitware open-source projects at > >>>> > >>>>> http://www.kitware.com/opensource/opensource.html > >>>> > >>>>> > >>>> > >>>>> Kitware offers ITK Training Courses, for more information visit: > >>>> > >>>>> http://www.kitware.com/products/protraining.php > >>>> > >>>>> > >>>> > >>>>> Please keep messages on-topic and check the 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 jinzhong76 at gmail.com Tue Nov 8 18:02:38 2016 From: jinzhong76 at gmail.com (Yang, Jinzhong) Date: Tue, 8 Nov 2016 17:02:38 -0600 Subject: [ITK] [ITK-users] ITK build_shared_libs In-Reply-To: References: <015301d215ea$ee7b8a50$cb729ef0$@gmail.com> <000901d21824$6789f770$369de650$@gmail.com> <001b01d2182f$9943e9a0$cbcbbce0$@gmail.com> <003c01d21846$e91e4c60$bb5ae520$@gmail.com> <004701d21866$dbe3b5b0$93ab2110$@gmail.com> <005201d21879$595bbee0$0c133ca0$@gmail.com> <008201d218cf$1cdba7e0$5692f7a0$@gmail.com> <004a01d23a0b$2af9c930$80ed5b90$@gmail.com> Message-ID: <004d01d23a14$33c151b0$9b43f510$@gmail.com> Thank you, Francois. Yes, I think it?s related to this bug. -Jinzhong From: Francois Budin [mailto:francois.budin at kitware.com] Sent: Tuesday, November 08, 2016 4:13 PM To: Yang, Jinzhong Cc: Matt McCormick ; Insight-users Subject: Re: [ITK-users] ITK build_shared_libs Hi Jinzhong, Your problem may have been related to this bug: http://review.source.kitware.com/#/c/21634/ You can try to download the latest version of ITK: git clone http://itk.org/ITK.git Hopefully that will solve your problem cleanly. Hope that helps, Francois On Tue, Nov 8, 2016 at 4:57 PM, Yang, Jinzhong > wrote: Hi Matt, After a month I had the chance to look into this problem again and eventually I found out a workaround solution. Remember, I would like to compile my project as a shared library (output .dll file) with the ITK as static library (I did not turn on the build_shared_libs in cmake configuration for ITK). Now, when I used cmake to configure my project, it generated a folder ITKIOFactoryRegistration with two header files for all ITKIO libraries. This is line 41 of the iktImageIOFactoryRegisterManager.h - void ITK_ABI_IMPORT NiftiImageIOFactoryRegister__Private();void ITK_ABI_IMPORT NrrdImageIOFactoryRegister__Private();void ITK_ABI_IMPORT GiplImageIOFactoryRegister__Private();void ITK_ABI_IMPORT HDF5ImageIOFactoryRegister__Private();void ITK_ABI_IMPORT JPEGImageIOFactoryRegister__Private();void ITK_ABI_IMPORT GDCMImageIOFactoryRegister__Private();void ITK_ABI_IMPORT BMPImageIOFactoryRegister__Private();void ITK_ABI_IMPORT LSMImageIOFactoryRegister__Private();void ITK_ABI_IMPORT PNGImageIOFactoryRegister__Private();void ITK_ABI_IMPORT TIFFImageIOFactoryRegister__Private();void ITK_ABI_IMPORT VTKImageIOFactoryRegister__Private();void ITK_ABI_IMPORT StimulateImageIOFactoryRegister__Private();void ITK_ABI_IMPORT BioRadImageIOFactoryRegister__Private();void ITK_ABI_IMPORT MetaImageIOFactoryRegister__Private();void ITK_ABI_IMPORT MRCImageIOFactoryRegister__Private();void ITK_ABI_IMPORT GE4ImageIOFactoryRegister__Private();void ITK_ABI_IMPORT GE5ImageIOFactoryRegister__Private(); Notice that the ITK_ABI_IMPORT was defined for each function. With this definition, the project will look for DLL files instead of LIB file to link. However, I compiled my ITK as static libs. That's why it gave the link error. Now, I removed all ITK_ABI_IMPORT definitions for all functions and recompiled my project, BINGO~ all passed. I would consider this as a bug of cmake or cmake configuration of ITK. Thanks, -Jinzhong -----Original Message----- From: Matt McCormick [mailto:matt.mccormick at kitware.com ] Sent: Tuesday, September 27, 2016 3:56 PM To: Yang, Jinzhong > Cc: Francois Budin >; Insight-users > Subject: Re: [ITK-users] ITK build_shared_libs Hi Jinzhong, Thanks for the information. It seems that ITK_IO_FACTORY_REGISTER_MANAGER is passed correctly, then. Without it, the itk::ImageFileReader will not be able to read any formats. I would keep investigating why all the ITK IO libraries are not being linked in by checking the contents of the "ITK_LIBRARIES" CMake variable, not using the link_libraries command, etc. HTH, Matt On Tue, Sep 27, 2016 at 10:54 AM, Yang, Jinzhong > wrote: > Hi Matt, > > This information is helpful. The ITK_IO_FACTORY_REGISTER_MANAGER was added to the definition of ContourWarping. The BUILD_DLL did not overwrite anything. To be safe, I took your suggestion. I compiled using the new CMake file, the problem still exists. Now, if I removed ITK_IO_FACTORY_REGISTER_MANAGER from definition, it gave me a go. Nothing complained. It seems that the IO factory has to be manually registered if I would like to build a shared lib. I am not sure which lib file(s) contain the definition of those missing functions... It seems that I include all possible IO libs from ITK. > > My other question is that, if I don't include the ITK_IO_FACTORY_REGISTER_MANAGER, will I have any trouble to read in files (common format supported by ITK) using the code I compiled? > Thank you, > -Jinzhong > > > -----Original Message----- > From: Matt McCormick [mailto:matt.mccormick at kitware.com ] > Sent: Tuesday, September 27, 2016 8:34 AM > To: Yang, Jinzhong > > Cc: Francois Budin >; Insight-users > > Subject: Re: [ITK-users] ITK build_shared_libs > > Hi, > > I am not sure how the BUILD_DLL definition causes a shared library, > but the concern is that setting the COMPILE_DEFINITIONS in this way is > somehow interfering with the other definitions that need to be added > to target. This definition is required to add the symbols that are > missing. > > > What happens: > > The itkImageFileReader.h file conditionally includes > itkImageIOFactoryRegisterManager.h: > > https://github.com/InsightSoftwareConsortium/ITK/blob/dfe042df74dd2a69bfca7fc3349a9c0fcc65c6e6/Modules/IO/ImageBase/include/itkImageFileReader.h#L170-L172 > > This condition is based on the preprocessor definition of > ITK_IO_FACTORY_REGISTER_MANAGER. This definition is added in the > UseITK.cmake file: > > https://github.com/InsightSoftwareConsortium/ITK/blob/dfe042df74dd2a69bfca7fc3349a9c0fcc65c6e6/CMake/UseITK.cmake#L286-L291 > > when your CMake code calls "include(${ITK_USE_FILE})". > > > Since the ITK_IO_FACTORY_REGISTER_MANAGER is added as > COMPILE_DEFINITIONS on the CMake directory where the CMakeLists.txt > exists, the ContourWarping target should have that definition. Check > to verify that the definition is added to the build command. > > > In general, to ensure that compile definitions are appended instead of > replacing existing definitions, use: > > set_property(TARGET ContourWarping APPEND PROPERTY > COMPILE_DEFINITIONS "BUILD_DLL") > > instead of > > SET_TARGET_PROPERTIES(ContourWarping > > PROPERTIES COMPILE_DEFINITIONS "BUILD_DLL") > > HTH, > Matt > > On Tue, Sep 27, 2016 at 12:41 AM, Yang, Jinzhong > wrote: >> If I remove that line, I essentially build the library as static library. That works as I pointed out before. But I need to keep a copy of shared library because I have several mex functions depending on this library. I would like them to share this library. This is not a problem when I compiled it with ITK 3.16. I can compile both shared and static libraries with ITK 3.16 compiled as static library. >> >> -Jinzhong >> >> >> -----Original Message----- >> From: Matt McCormick [mailto:matt.mccormick at kitware.com ] >> Sent: Monday, September 26, 2016 11:30 PM >> To: Yang, Jinzhong > >> Cc: Francois Budin >; Insight-users > >> Subject: Re: [ITK-users] ITK build_shared_libs >> >> Hi Jinzhong, >> >> Does removing this block: >> >> >> IF (BUILD_SHARED_LIBS) >> >> SET_TARGET_PROPERTIES(ContourWarping >> >> PROPERTIES COMPILE_DEFINITIONS "BUILD_DLL" >> >> ) >> >> # Need to enable BUILD_SHARED_LIBS in ITK but NOT in VTK >> >> ENDIF(BUILD_SHARED_LIBS) >> >> >> Address the issue? >> >> Thanks, >> Matt >> >> On Mon, Sep 26, 2016 at 10:28 PM, Yang, Jinzhong > wrote: >>> Hi Francois, >>> >>> >>> >>> It was added already. >>> >>> >>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> ContourWarping >>>> >>>> ${ITK_LIBRARIES} >>>> >>>> ${VTK_LIBRARIES} >>>> >>>> #vtkIO vtkFiltering vtkGraphics >>>> >>>> #debug vld.lib # for memory leak detection >>>> >>>> ) >>> >>> -Jinzhong >>> >>> >>> >>> From: Francois Budin [mailto:francois.budin at kitware.com ] >>> Sent: Monday, September 26, 2016 6:55 PM >>> To: Yang, Jinzhong > >>> Cc: Matt McCormick >; Insight-users >>> > >>> >>> >>> Subject: Re: [ITK-users] ITK build_shared_libs >>> >>> >>> >>> Hello Jinzhong, >>> >>> Could you try to add ${ITK_LIBRARIES} to your call of >>> "TARGET_LINK_LIBRARIES"? >>> >>> Francois >>> >>> >>> >>> On Mon, Sep 26, 2016 at 6:39 PM, Yang, Jinzhong > >>> wrote: >>> >>> Hi Matt, >>> >>> When I built ITK, I turned on ITKV3_COMPATIBILITY. Could this cause the >>> problem? >>> Thanks, >>> -Jinzhong >>> >>> >>> -----Original Message----- >>> From: Matt McCormick [mailto:matt.mccormick at kitware.com ] >>> Sent: Monday, September 26, 2016 2:57 PM >>> To: Yang, Jinzhong > >>> >>> Cc: Insight-users > >>> Subject: Re: [ITK-users] ITK build_shared_libs >>> >>> Hi Jinzhong, >>> >>> Does replacing link_libraries calls with target_link_libraries address >>> the issue (this should be done regardless)? >>> >>> HTH, >>> Matt >>> >>> On Mon, Sep 26, 2016 at 3:53 PM, Yang, Jinzhong > >>> wrote: >>>> Hi Matt, >>>> >>>> >>>> >>>> I use CMake, but the CMakeLists.txt was written for old ITK (3.16). I >>>> recently upgraded to ITK 4.10 in order for a project depending on this >>>> library and GDCM library ( I had trouble to compile that project with ITK >>>> 3.16). I don't want to manually register the factories. I might need to >>>> revise my CMakeLists.txt. Below is my CMakeLists.txt. Please let me know >>>> if >>>> there is anything wrong here. To help you understand my problem, I >>>> summarize >>>> my problem below - >>>> >>>> - ITK 4.10 compiled with "BUILD_SHARED_LIBS", my project compiled with >>>> "BUILD_SHARED_LIBS", WORK >>>> >>>> - ITK 4.10 compiled with "BUILD_SHARED_LIBS", my project NOT compiled with >>>> "BUILD_SHARED_LIBS", WORK >>>> >>>> - ITK 4.10 NOT compiled with "BUILD_SHARED_LIBS", my project NOT compiled >>>> with "BUILD_SHARED_LIBS", WORK >>>> >>>> - ITK 4.10 NOT compiled with "BUILD_SHARED_LIBS", my project compiled with >>>> "BUILD_SHARED_LIBS", NOT WORKING >>>> >>>> >>>> >>>> I prefer to compiling ITK without using shared libs because I don?t want >>>> to >>>> distribute a lot of files to other computers with my program. >>>> >>>> Thank you, >>>> >>>> Jinzhong >>>> >>>> >>>> >>>> //////////////////CMakeLists.txt //////////////////////////// >>>> >>>> CMAKE_MINIMUM_REQUIRED(VERSION 2.6) >>>> >>>> >>>> >>>> PROJECT(ContourWarping) >>>> >>>> >>>> >>>> FIND_PACKAGE(ITK) >>>> >>>> IF(ITK_FOUND) >>>> >>>> INCLUDE(${ITK_USE_FILE}) >>>> >>>> ELSE(ITK_FOUND) >>>> >>>> MESSAGE(FATAL_ERROR >>>> >>>> "ITK not found. Please set ITK_DIR.") >>>> >>>> ENDIF(ITK_FOUND) >>>> >>>> >>>> >>>> FIND_PACKAGE(VTK) >>>> >>>> IF (VTK_FOUND) >>>> >>>> INCLUDE (${VTK_USE_FILE}) >>>> >>>> ELSE (VTK_FOUND) >>>> >>>> MESSAGE(FATAL_ERROR >>>> >>>> "VTK not found. Please set VTK_DIR.") >>>> >>>> ENDIF(VTK_FOUND) >>>> >>>> >>>> >>>> OPTION(BUILD_SHARED_LIBS "Build ContourWarping with shared libraries." >>>> OFF) >>>> >>>> >>>> >>>> OPTION(BUILD_LIB_TEST "Build ContourWarping with testing option enabled." >>>> OFF) >>>> >>>> IF (BUILD_LIB_TEST) >>>> >>>> ADD_DEFINITIONS(-D_LIB_TEST) >>>> >>>> ENDIF(BUILD_LIB_TEST) >>>> >>>> >>>> >>>> LINK_LIBRARIES( >>>> >>>> ${ITK_LIBRARIES} >>>> >>>> ${VTK_LIBRARIES} >>>> >>>> #vtkIO vtkCommon vtkFiltering vtkGraphics >>>> >>>> ) >>>> >>>> >>>> >>>> SET(BOOST_DIR "D:/boost_1_41_0" CACHE PATH "D:/boost_1_41_0") >>>> >>>> >>>> >>>> IF (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> SET(BOOST_LIB_DIR "D:/boost_1_41_0/stage64/lib" CACHE PATH >>>> "D:/boost_1_41_0/stage64/lib") >>>> >>>> ELSE (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> SET(BOOST_LIB_DIR "D:/boost_1_41_0/stage/lib" CACHE PATH >>>> "D:/boost_1_41_0/stage/lib") >>>> >>>> ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> >>>> >>>> INCLUDE_DIRECTORIES( "C:/Program Files/Visual Leak Detector/include" # for >>>> memory leak detection, "vld.h" >>>> >>>> ${BOOST_DIR} #boost >>>> >>>> ${PROJECT_SOURCE_DIR} >>>> >>>> "${PROJECT_SOURCE_DIR}/itkLabelMap" >>>> >>>> >>>> "${PROJECT_SOURCE_DIR}/boost" >>>> >>>> ) >>>> >>>> LINK_DIRECTORIES( ${PROJECT_BINARY_DIR}/${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} >>>> >>>> "C:/Program Files/Visual Leak Detector/lib" # for memory >>>> leak detection, "vld.lib" >>>> >>>> ${BOOST_LIB_DIR} #boost >>>> >>>> ) >>>> >>>> #LINK_DIRECTORIES( ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}) >>>> >>>> >>>> >>>> SET(SRCS >>>> >>>> stdafx.h >>>> >>>> stdafx.cpp >>>> >>>> ContourWarpingWrapUp.cpp >>>> >>>> PinnacleROIStructInterface.cpp >>>> >>>> BinaryImageRoiPolyInterface.cpp >>>> >>>> contourwarpingparallel.cpp >>>> >>>> ParallelDispatcher.h >>>> >>>> ParallelDispatcher.cpp >>>> >>>> Win32Header.h >>>> >>>> PinnacleROIConvert.cpp >>>> >>>> PinnacleROIConvert.h >>>> >>>> PinnacleROIMesh.cpp >>>> >>>> PinnacleROIMesh.h >>>> >>>> PinnaclePOIConvert.cpp >>>> >>>> PinnaclePOIConvert.h >>>> >>>> PinnacleImage.cpp >>>> >>>> PinnacleImage.txx >>>> >>>> PinnacleImage.h >>>> >>>> Auxiliary.h >>>> >>>> MeshConvertor.cpp >>>> >>>> MeshConvertor.h >>>> >>>> vtkPolyContours.cpp >>>> >>>> vtkPolyContours.h >>>> >>>> vtkVoxelContoursToSurfaceFilterEx.cpp >>>> >>>> vtkVoxelContoursToSurfaceFilterEx.h >>>> >>>> vtkWindowedSincPolyDataFilterEx.cpp >>>> >>>> vtkWindowedSincPolyDataFilterEx.h >>>> >>>> vtkSurfaceToSliceContours.cpp >>>> >>>> vtkSurfaceToSliceContours.h >>>> >>>> vtkSurfaceCutter.cpp >>>> >>>> vtkSurfaceCutter.h >>>> >>>> vtkSurfaceMeshProcess.cpp >>>> >>>> vtkSurfaceMeshProcess.h >>>> >>>> vtkSurfaceDeformation.cpp >>>> >>>> vtkSurfaceDeformation.h >>>> >>>> vtkSurfaceDeformationUsingCatField.cpp >>>> >>>> vtkSurfaceDeformationUsingCatField.h >>>> >>>> vtkSurfaceTransformation.cpp >>>> >>>> vtkSurfaceTransformation.h >>>> >>>> vtkContourProcess.cpp >>>> >>>> vtkContourProcess.h >>>> >>>> vtkSurfaceClipper.cpp >>>> >>>> vtkSurfaceClipper.h >>>> >>>> vtkPolyContoursClipper.cpp >>>> >>>> vtkPolyContoursClipper.h >>>> >>>> vtkUndirectedGraphCPP.cpp >>>> >>>> vtkUndirectedGraphCPP.h >>>> >>>> itkPolygonFill2DBinaryImageFilter.h >>>> >>>> itkPolygonFill2DBinaryImageFilter.txx >>>> >>>> catDeformationField.cpp >>>> >>>> catDeformationField.h >>>> >>>> boundaries.txx >>>> >>>> boundaries.h >>>> >>>> PinnacleROI2ImagesParallel.cpp >>>> >>>> PinnacleROI2ImagesParallel.h >>>> >>>> ) >>>> >>>> >>>> >>>> IF (WIN32) >>>> >>>> SET(SRCS ${SRCS} resource.h ContourWarping.rc) >>>> >>>> ENDIF(WIN32) >>>> >>>> >>>> >>>> >>>> >>>> ADD_LIBRARY(ContourWarping ${SRCS}) >>>> >>>> >>>> >>>> SET(OUTPUTNAME ContourWarping) >>>> >>>> >>>> >>>> IF (BUILD_SHARED_LIBS) >>>> >>>> IF (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> SET_TARGET_PROPERTIES(ContourWarping >>>> >>>> >>>> PROPERTIES OUTPUT_NAME ContourWarping64 >>>> >>>> ) >>>> >>>> SET(OUTPUTNAME ContourWarping64) >>>> >>>> ELSE (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> SET_TARGET_PROPERTIES(ContourWarping >>>> >>>> >>>> PROPERTIES OUTPUT_NAME ContourWarping32 >>>> >>>> ) >>>> >>>> SET(OUTPUTNAME ContourWarping32) >>>> >>>> ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 8) >>>> >>>> ENDIF (BUILD_SHARED_LIBS) >>>> >>>> >>>> >>>> >>>> >>>> #SET(CMAKE_BUILD_TYPE Release) >>>> >>>> #INCLUDE(PCHSupport.cmake) >>>> >>>> #ADD_PRECOMPILED_HEADER(ContourWarping stdafx.h) >>>> >>>> >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> ContourWarping >>>> >>>> ${ITK_LIBRARIES} >>>> >>>> ${VTK_LIBRARIES} >>>> >>>> #vtkIO vtkFiltering vtkGraphics >>>> >>>> #debug vld.lib # for memory leak detection >>>> >>>> ) >>>> >>>> >>>> >>>> #SET(TARGET_LIB_VERSION "1.0" CACHE STRING "1.0") >>>> >>>> SET_TARGET_PROPERTIES(ContourWarping >>>> >>>> PROPERTIES VERSION 1.8.8 >>>> >>>> ) >>>> >>>> >>>> >>>> IF (BUILD_SHARED_LIBS) >>>> >>>> SET_TARGET_PROPERTIES(ContourWarping >>>> >>>> PROPERTIES COMPILE_DEFINITIONS "BUILD_DLL" >>>> >>>> ) >>>> >>>> # Need to enable BUILD_SHARED_LIBS in ITK but NOT in VTK >>>> >>>> ENDIF(BUILD_SHARED_LIBS) >>>> >>>> >>>> >>>> IF (WIN32) #enable PCH support & add resource file >>>> >>>> SET_TARGET_PROPERTIES(ContourWarping >>>> >>>> PROPERTIES COMPILE_FLAGS /Yu"stdafx.h" >>>> >>>> ) >>>> >>>> SET_SOURCE_FILES_PROPERTIES(stdafx.cpp >>>> >>>> PROPERTIES COMPILE_FLAGS /Yc"stdafx.h" >>>> >>>> ) >>>> >>>> ENDIF(WIN32) >>>> >>>> >>>> >>>> >>>> >>>> IF (BUILD_LIB_TEST) >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> ContourWarping >>>> >>>> vtkRendering vtkWidgets >>>> >>>> ) >>>> >>>> ENDIF(BUILD_LIB_TEST) >>>> >>>> >>>> >>>> ###### >>>> >>>> ADD_EXECUTABLE( ContourWarpingTest >>>> >>>> testdll.cpp >>>> >>>> ) >>>> >>>> >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> ContourWarpingTest >>>> >>>> ${OUTPUTNAME}.lib >>>> >>>> ) >>>> >>>> >>>> >>>> ADD_DEPENDENCIES( >>>> >>>> ContourWarpingTest >>>> >>>> ContourWarping >>>> >>>> ) >>>> >>>> >>>> >>>> ###### >>>> >>>> ADD_EXECUTABLE( PinnacleROI2BinaryImage >>>> >>>> PinnacleROI2BinaryImage.cpp >>>> >>>> ) >>>> >>>> >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> PinnacleROI2BinaryImage >>>> >>>> ${OUTPUTNAME}.lib >>>> >>>> ) >>>> >>>> >>>> >>>> ADD_DEPENDENCIES( >>>> >>>> PinnacleROI2BinaryImage >>>> >>>> ContourWarping >>>> >>>> ) >>>> >>>> >>>> >>>> ###### >>>> >>>> ADD_EXECUTABLE( PinnacleROIFromBitmap >>>> >>>> PinnacleROIFromBitmap.cpp >>>> >>>> ) >>>> >>>> >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> PinnacleROIFromBitmap >>>> >>>> ${OUTPUTNAME}.lib >>>> >>>> ) >>>> >>>> >>>> >>>> ADD_DEPENDENCIES( >>>> >>>> PinnacleROIFromBitmap >>>> >>>> ContourWarping >>>> >>>> ) >>>> >>>> >>>> >>>> ###### >>>> >>>> ADD_EXECUTABLE( MeshTest >>>> >>>> MeshTest.cpp >>>> >>>> ) >>>> >>>> >>>> >>>> TARGET_LINK_LIBRARIES( >>>> >>>> MeshTest >>>> >>>> ${OUTPUTNAME}.lib >>>> >>>> ) >>>> >>>> >>>> >>>> ADD_DEPENDENCIES( >>>> >>>> MeshTest >>>> >>>> ContourWarping >>>> >>>> ) >>>> >>>> >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: Matt McCormick [mailto:matt.mccormick at kitware.com ] >>>> Sent: Monday, September 26, 2016 1:50 PM >>>> To: Yang, Jinzhong > >>>> Cc: Francois Budin >; D?enan Zuki? >>>> >; Insight-users > >>>> Subject: Re: [ITK-users] ITK build_shared_libs >>>> >>>> >>>> >>>> Hi Jinzhong, >>>> >>>> >>>> >>>> It sounds like you are not using CMake to build the project or using >>>> >>>> it in some non-standard way? There are a few options: >>>> >>>> >>>> >>>> 1) Use CMake to compile the project. >>>> >>>> 2) Set ITK_NO_IO_FACTORY_REGISTER_MANAGER before calling >>>> >>>> "include(${ITK_USE_FILE})", the register the factories manually. >>>> >>>> >>>> >>>> HTH, >>>> >>>> Matt >>>> >>>> >>>> >>>> On Mon, Sep 26, 2016 at 2:32 PM, Yang, Jinzhong > >>>> wrote: >>>> >>>>> Still no clue. I checked the file itkImageIOFactoryRegisterManager.h. It >>>> >>>>> seems all classes imported in that header were not linked. However, I >>>>> check >>>> >>>>> all IO libraries, it seems they were all included as dependency. As I >>>> >>>>> mentioned before, if I compiled my code as static library, there is not >>>>> such >>>> >>>>> a problem. >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> Here are all ITK/VTK related libraries passed to my compiler (they are >>>> >>>>> generated by cmake. I enabled ITK_USE_SYSTEM_GDCM in building my ITK): >>>> >>>>> >>>> >>>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkdouble-conversion-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itksys-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkvnl_algo-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkvnl-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkv3p_netlib-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itknetlib-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkvcl-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkNetlibSlatec-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKStatistics-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKTransform-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOImageBase-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOBMP-4.10.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmDICT.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmMSFF.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOGDCM-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkzlib-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOGIPL-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkjpeg-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOJPEG-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKMetaIO-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOMeta-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKznz-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKniftiio-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIONIFTI-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKNrrdIO-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIONRRD-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkpng-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOPNG-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itktiff-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOTIFF-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOVTK-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKLabelMap-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKMesh-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKSpatialObjects-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKPath-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKQuadEdgeMesh-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKOptimizers-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKPolynomials-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKBiasCorrection-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKBioCell-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKDICOMParser-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKDeprecated-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOBioRad-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOLSM-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOStimulate-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKEXPAT-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOXML-4.10.lib >>>> >>>>> >>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOSpatialObjects-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKFEM-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKgiftiio-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOMesh-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkhdf5_cpp-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\itkhdf5-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOCSV-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOIPL-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOSiemens-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOHDF5-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOMRC-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOTransformBase-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOTransformHDF5-4.10.lib >>>> >>>>> >>>> >>>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOTransformInsightLegacy-4.10.lib >>>> >>>>> >>>> >>>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKIOTransformMatlab-4.10.lib >>>> >>>>> >>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKKLMRegionGrowing-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKVTK-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKWatersheds-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKOptimizersv4-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKVideoCore-4.10.lib >>>> >>>>> >>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKVideoIO-4.10.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkChartsCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonColor-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonDataModel-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonMath-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtksys-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonMisc-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonSystem-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonTransforms-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInfovisCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersExtraction-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonExecutionModel-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersGeneral-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkCommonComputationalGeometry-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersStatistics-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingFourier-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkalglib-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingContext2D-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersGeometry-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersSources-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingFreeType-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkfreetype-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkzlib-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkDICOMParser-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkDomainsChemistry-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOXML-7.0.lib >>>> >>>>> >>>> >>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOGeometry-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOXMLParser-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkexpat-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkDomainsChemistryOpenGL2-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingOpenGL2-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingHybrid-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOImage-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkmetaio-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkjpeg-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkpng-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtktiff-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkglew-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersAMR-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkParallelCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOLegacy-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersFlowPaths-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersGeneric-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersHybrid-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingSources-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersHyperTree-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersImaging-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingGeneral-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersModeling-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersParallel-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersParallelImaging-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersProgrammable-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersSMP-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersSelection-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersTexture-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkFiltersVerdict-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkverdict-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkGeovisCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInfovisLayout-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInteractionStyle-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInteractionWidgets-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingAnnotation-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingColor-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingVolume-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkViewsCore-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkproj4-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOAMR-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkhdf5_hl-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkhdf5-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOEnSight-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOExodus-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkexoIIc-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkNetCDF-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkNetCDF_cxx-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOExport-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingLabel-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOImport-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOInfovis-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtklibxml2-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOLSDyna-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOMINC-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOMovie-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkoggtheora-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIONetCDF-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOPLY-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOParallel-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkjsoncpp-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOParallelXML-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOSQL-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtksqlite-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkIOVideo-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingMath-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingMorphological-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingStatistics-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkImagingStencil-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkInteractionImage-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingContextOpenGL2-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingImage-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingLOD-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkRenderingVolumeOpenGL2-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkTestingGenericBridge-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkTestingIOSQL-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkTestingRendering-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkViewsContext2D-7.0.lib >>>> >>>>> >>>> >>>>> D:\VTK-7.0.0\binary-x86\lib\Debug\vtkViewsInfovis-7.0.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmIOD.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmDSED.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmzlib.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmCommon.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmexpat.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmjpeg8.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmjpeg12.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmjpeg16.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmopenjpeg.lib >>>> >>>>> >>>> >>>>> D:\gdcm-2.6.5\binary-x86\bin\Debug\gdcmcharls.lib >>>> >>>>> >>>> >>>>> rpcrt4.lib >>>> >>>>> >>>> >>>>> >>>>> D:\InsightToolkit-4.10.0\binary-x86\lib\Debug\ITKVNLInstantiation-4.10.lib >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> Thanks, >>>> >>>>> >>>> >>>>> -Jinzhong >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> From: Francois Budin [mailto:francois.budin at kitware.com ] >>>> >>>>> Sent: Monday, September 26, 2016 8:04 AM >>>> >>>>> To: D?enan Zuki? > >>>> >>>>> Cc: Yang, Jinzhong >; Insight-users >>>> >>>>> > >>>> >>>>> Subject: Re: [ITK-users] ITK build_shared_libs >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> Hello, >>>> >>>>> >>>> >>>>> As Dzenan said, your problem most likely comes from a problem with the >>>>> ITK >>>> >>>>> IO factory. You may want to check that in your build directory, you have >>>>> a >>>> >>>>> directory called "ITKIOFactoryRegistration" that is created, and that it >>>> >>>>> contains a file called itkImageIOFactoryRegisterManager.h. This file >>>> >>>>> specifies all the type of images that are automatically registered to the >>>> >>>>> factory. You should compare the list of types included in this header >>>>> file >>>> >>>>> with the list of ITK libraries that is passed to your compiler and make >>>>> sure >>>> >>>>> that it matches. >>>> >>>>> >>>> >>>>> Hope this helps, >>>> >>>>> >>>> >>>>> Francois >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> On Sun, Sep 25, 2016 at 10:36 AM, D?enan Zuki? > wrote: >>>> >>>>> >>>> >>>>> Hi Yang, >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> all your link errors are for I/O class factories. Can you read the >>>>> following >>>> >>>>> and see whether it helps you solve the problem? >>>> >>>>> >>>> >>>>> https://itk.org/Wiki/Plugin_IO_mechanisms >>>> >>>>> >>>> >>>>> >>>>> >>>>> https://itk.org/ITKExamples/src/IO/ImageBase/RegisterIOFactories/Documentation.html >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> Regards, >>>> >>>>> >>>> >>>>> D?enan >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> On Fri, Sep 23, 2016 at 6:36 PM, Yang, Jinzhong > >>>> >>>>> wrote: >>>> >>>>> >>>> >>>>> Hi all, >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> I have a very weird problem when I try to build my library. I have an old >>>> >>>>> library, previously was built based on ITK 3.16 and VTK 5.8. I built my >>>> >>>>> library to both DLL and static library. By configuring in cmake properly, >>>>> I >>>> >>>>> could build both types of libraries without any problem. Recently, I >>>>> upgrade >>>> >>>>> it to ITK 4.10 and VTK 7.0. If I turned on BUILD_SHARED_LIBS in ITK, >>>>> both >>>> >>>>> DLL and static lib for my library can be compiled and linked, however, I >>>> >>>>> need to include all DLL files from ITK when I would like to distribute my >>>> >>>>> library. I don?t want to do so. Then I turned off BUILD_SHARED_LIBS in >>>>> ITK. >>>> >>>>> The static lib of my library can be built, but the DLL couldn?t. Error >>>> >>>>> happened during the link stage. The error message was attached below. I >>>>> used >>>> >>>>> CMake 3.6.2 + VS 2008 + Windows 7. >>>> >>>>> >>>> >>>>> >>>> >>>>> >>>> >>>>> 2> Creating library >>>> >>>>> >>>>> >>>>> D:\MeshContourDeformation\ContourWarpingLib-x86-dll\Debug\ContourWarping32.lib >>>> >>>>> and object >>>> >>>>> >>>>> >>>>> D:\MeshContourDeformation\ContourWarpingLib-x86-dll\Debug\ContourWarping32.exp >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function >>>> >>>>> >>>>> >>>>> __unwindfunclet$??0?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@IAE at XZ$0 >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GE4ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GE4ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl std::_Debug_order>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator>(class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned >>>>> int)" >>>> >>>>> >>>>> >>>>> (??$_Debug_order at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0 at 0PB_WI@Z) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MRCImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MRCImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::MetaImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?MetaImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "public: __thiscall std::vector>>> >>>>> itk::BinaryImageToLabelMapFilter,class >>>> >>>>> itk::LabelMap > >::runLength,class >>>> >>>>> std::allocator>>> >>>>> itk::Image,class itk::LabelMap>>> >>>>> itk::LabelObject > >::runLength> >,class std::allocator>>> >>>>> std::vector>>>> itk::Image>>> >>>>> char,2>,class itk::LabelMap > >>>> >>>>>>::runLength,class std::allocator>>> >>>>> itk::BinaryImageToLabelMapFilter,class >>>> >>>>> itk::LabelMap > >::runLength> > > >>>> >>>>>>::~vector>>> >>>>> itk::Image,class itk::LabelMap>>> >>>>> itk::LabelObject > >::runLength,class std::allocator>>> >>>>> itk::BinaryImageToLabelMapFilter,class >>>> >>>>> itk::LabelMap > >::runLength> >,class >>>> >>>>> std::allocator>>> >>>>> itk::BinaryImageToLabelMapFilter,class >>>> >>>>> itk::LabelMap > >::runLength,class >>>> >>>>> std::allocator>>> >>>>> itk::Image,class itk::LabelMap>>> >>>>> itk::LabelObject > >::runLength> > > >(void)" >>>> >>>>> >>>>> >>>>> (??1?$vector at V?$vector at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@V?$allocator at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@V?$allocator at V?$vector at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@V?$allocator at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@@2@@std@@QAE at XZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BioRadImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BioRadImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) referenced >>>>> in >>> >>>> >>>>> function "protected: __thiscall std::_Vector_val>>> >>>>> itk::ObjectStore > >>>> >>>>>>::MemoryBlock,class std::allocator>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> >>>> >>>>>>::_Vector_val>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock,class >>>> >>>>> std::allocator>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> >>>>> >(class >>>> >>>>> std::allocator>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock>)" >>>> >>>>> >>>>> >>>>> (??0?$_Vector_val at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@V?$allocator at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@@std@@@std@@IAE at V?$allocator at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@@1@@Z) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::StimulateImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?StimulateImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::VTKImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?VTKImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function >>>> >>>>> >>>>> >>>>> __ehhandler$??1?$vector at V?$vector at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@V?$allocator at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@V?$allocator at V?$vector at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@V?$allocator at VrunLength@?$BinaryImageToLabelMapFilter at V?$Image at E$01 at itk@@V?$LabelMap at V?$LabelObject at F$01 at itk@@@2@@itk@@@std@@@std@@@2@@std@@QAE at XZ >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::TIFFImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?TIFFImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl std::_Debug_order2>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator>(class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned >>>> >>>>> int,struct std::forward_iterator_tag)" >>>> >>>>> >>>>> >>>>> (??$_Debug_order2 at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0 at 0PB_WIUforward_iterator_tag@0@@Z) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::PNGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?PNGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl std::_Debug_order2>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator>(class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned >>>> >>>>> int,struct std::forward_iterator_tag)" >>>> >>>>> >>>>> >>>>> (??$_Debug_order2 at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0 at 0PB_WIUforward_iterator_tag@0@@Z) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::LSMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?LSMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "protected: void __thiscall std::vector>>> >>>>> itk::ObjectStore > >>>> >>>>>>::MemoryBlock,class std::allocator>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> >>>> >>>>>>::_Tidy(void)" >>>> >>>>> >>>>> >>>>> (?_Tidy@?$vector at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@V?$allocator at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@@std@@@std@@IAEXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::BMPImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?BMPImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GDCMImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GDCMImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::JPEGImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?JPEGImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "public: __thiscall std::vector>>> >>>>> std::allocator >::~vector>>> >>>>> std::allocator >(void)" >>>> >>>>> (??1?$vector at KV?$allocator at K@std@@@std@@QAE at XZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::HDF5ImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?HDF5ImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2019: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl std::_Debug_order2>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator>(class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,class std::_Tree>>> >>>>> std::_Tset_traits,class >>>> >>>>> std::allocator,0> >::iterator,wchar_t const *,unsigned >>>> >>>>> int,struct std::forward_iterator_tag)" >>>> >>>>> >>>>> >>>>> (??$_Debug_order2 at Viterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@std@@@std@@YAXViterator@?$_Tree at V?$_Tset_traits at KU?$less at K@std@@V?$allocator at K@2@$0A@@std@@@0 at 0PB_WIUforward_iterator_tag@0@@Z) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::GiplImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?GiplImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "protected: bool __thiscall std::vector>>> >>>>> itk::ObjectStore > >>>> >>>>>>::MemoryBlock,class std::allocator>>> >>>>> itk::SparseFieldLevelSetNode > >::MemoryBlock> >>>> >>>>>>::_Buy(unsigned int)" >>>> >>>>> >>>>> >>>>> (?_Buy@?$vector at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@V?$allocator at UMemoryBlock@?$ObjectStore at V?$SparseFieldLevelSetNode at V?$Index@$02 at itk@@@itk@@@itk@@@std@@@std@@IAE_NI at Z) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NrrdImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NrrdImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIConvert.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIMesh.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROI2ImagesParallel.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingwrapup.obj : error LNK2019: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) referenced in >>>> >>>>> function "void __cdecl itk::`anonymous namespace'::`dynamic initializer >>>>> for >>>> >>>>> 'ImageIOFactoryRegisterRegisterList''(void)" >>>> >>>>> (??__EImageIOFactoryRegisterRegisterList@?A0xb54261e9 at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>PinnacleROIStructInterface.obj : error LNK2001: unresolved external >>>>> symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>contourwarpingparallel.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> 2>ParallelDispatcher.obj : error LNK2001: unresolved external symbol >>>> >>>>> "__declspec(dllimport) void __cdecl >>>> >>>>> itk::NiftiImageIOFactoryRegister__Private(void)" >>>> >>>>> (__imp_?NiftiImageIOFactoryRegister__Private at itk@@YAXXZ) >>>> >>>>> >>>> >>>>> >>>>> >>>>> 2>D:\MeshContourDeformation\ContourWarpingLib-x86-dll\Debug\ContourWarping32.dll >>>> >>>>> : fatal error LNK1120: 17 unresolved externals >>>> >>>>> >>>> >>> >>>>> >>>> >>>>> >>>> >>>>> _____________________________________ >>>> >>>>> Powered by www.kitware.com >>>> >>>>> >>>> >>>>> Visit other Kitware open-source projects at >>>> >>>>> http://www.kitware.com/opensource/opensource.html >>>> >>>>> >>>> >>>>> Kitware offers ITK Training Courses, for more information visit: >>>> >>>>> http://www.kitware.com/products/protraining.php >>>> >>>>> >>>> >>>>> Please keep messages on-topic and check the 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 ivan.granata.na at gmail.com Wed Nov 9 08:51:55 2016 From: ivan.granata.na at gmail.com (ivan) Date: Wed, 9 Nov 2016 06:51:55 -0700 (MST) Subject: [ITK] [ITK-users] Simple ITK Overlap Two Image for example PET and MRI or CT ?? is it possible? and Image Fusion? Message-ID: <1478699515046-37753.post@n7.nabble.com> is it possible to Overlap Two Image for example PET and MRI or CT ? i use Simple ITK for java but also some python example is good for me and Image Fusion? is it possible in Simple ITK? -- View this message in context: http://itk-users.7.n7.nabble.com/ITK-users-Simple-ITK-Overlap-Two-Image-for-example-PET-and-MRI-or-CT-is-it-possible-and-Image-Fusion-tp37753.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 matimontg at gmail.com Wed Nov 9 11:17:00 2016 From: matimontg at gmail.com (Matias Montroull) Date: Wed, 09 Nov 2016 16:17:00 +0000 Subject: [ITK] [ITK-users] Simple ITK Overlap Two Image for example PET and MRI or CT ?? is it possible? and Image Fusion? In-Reply-To: <1478699515046-37753.post@n7.nabble.com> References: <1478699515046-37753.post@n7.nabble.com> Message-ID: I've done image fusion with ITK farely easy, I can share the code I've used but pretty similar to the examples in the web. El mi?., 9 de nov. de 2016 a la(s) 12:19, ivan escribi?: > is it possible to Overlap Two Image for example PET and MRI or CT ? > > i use Simple ITK for java but also some python example is good for me > > and Image Fusion? is it possible in Simple ITK? > > > > -- > View this message in context: > http://itk-users.7.n7.nabble.com/ITK-users-Simple-ITK-Overlap-Two-Image-for-example-PET-and-MRI-or-CT-is-it-possible-and-Image-Fusion-tp37753.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 > -- Matias -------------- 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 Nov 9 13:59:56 2016 From: noreply at insightsoftwareconsortium.org (Insight Journal) Date: Wed, 9 Nov 2016 13:59:56 -0500 (EST) Subject: [ITK] [ITK-users] New Submission: Anomalous Diffusion Paradigm for Image Denoising Process Message-ID: <20161109185956.ACDBD3D62091@insight-journal.org> Hello, A new submission has been added to the Insight Journal. Title: Anomalous Diffusion Paradigm for Image Denoising Process Authors: Senra Filho A.C., Murta Junior L.O. Abstract: Anisotropic and isotropic diffusion equations have been extensively applied on biomedical image processing for many years and a great diversity of algorithm have been proposed by the scientific community. Here, it is available a recent new implementation of the anomalous diffusion equation, based on the Fokker-Planck PDE diffusion equation (also known as the Porous Media equation). The major contribution of the anomalous process in the image processing area is the possibility to regulates a sub or super-diffusion characteristic in the noise attenuation problem, which have been showed as a suitable solution for the preservation of fine details in complex objects such as the human brain. An ITK Module is offered here in order to easily add the Anisotropic Anomalous Diffusion (AAD) and Isotropic Anomalous Diffusion (IAD) filters in the ITK hierarchy. Download and review this publication at: http://hdl.handle.net/10380/3565 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 ivan.granata.na at gmail.com Wed Nov 9 12:34:49 2016 From: ivan.granata.na at gmail.com (ivan) Date: Wed, 9 Nov 2016 10:34:49 -0700 (MST) Subject: [ITK] [ITK-users] Simple ITK Overlap Two Image for example PET and MRI or CT ?? is it possible? and Image Fusion? In-Reply-To: References: <1478699515046-37753.post@n7.nabble.com> Message-ID: <1478712889257-37756.post@n7.nabble.com> ok Matias... if is it possible for u can u post the sourcecode? python? c++? java? i would compile image fusion in java and i'm also looking for a image fusion with wavelet decomposition -- View this message in context: http://itk-users.7.n7.nabble.com/ITK-users-Simple-ITK-Overlap-Two-Image-for-example-PET-and-MRI-or-CT-is-it-possible-and-Image-Fusion-tp37753p37756.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 zivrafael.yaniv at nih.gov Wed Nov 9 14:57:09 2016 From: zivrafael.yaniv at nih.gov (Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]) Date: Wed, 9 Nov 2016 19:57:09 +0000 Subject: [ITK] [ITK-users] Simple ITK Overlap Two Image for example PET and MRI or CT ?? is it possible? and Image Fusion? In-Reply-To: <1478712889257-37756.post@n7.nabble.com> References: <1478699515046-37753.post@n7.nabble.com> <1478712889257-37756.post@n7.nabble.com> Message-ID: Hello Ivan, We have several Python notebooks that illustrate image fusion. An example with label maps - https://github.com/InsightSoftwareConsortium/SimpleITK-Notebooks/blob/maste r/Python/10_matplotlib's_imshow.ipynb relevant functions are LabelOverlay, LabelContour. An example with two images - https://github.com/InsightSoftwareConsortium/SimpleITK-Notebooks/blob/maste r/Python/56_VH_Registration1.ipynb relevant functions are CheckerBoard and just straight up alpha blending: img = (1.0 - alpha)*fixed + alpha*moving hope this helps Ziv On 11/9/16, 12:34 PM, "ivan" wrote: >ok Matias... if is it possible for u can u post the sourcecode? >python? c++? java? >i would compile image fusion in java and i'm also looking for a image >fusion with wavelet decomposition > > > >-- >View this message in context: >http://itk-users.7.n7.nabble.com/ITK-users-Simple-ITK-Overlap-Two-Image-fo >r-example-PET-and-MRI-or-CT-is-it-possible-and-Image-Fusion-tp37753p37756. >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 bakkari.abdelkhalek at hotmail.fr Thu Nov 10 08:24:46 2016 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Thu, 10 Nov 2016 13:24:46 +0000 Subject: [ITK] [ITK-users] Region Growing Message-ID: Dear ITK users, I am trying to use the example of Region Growing from the link below : http://www.paraview.org/Wiki/index.php?title=ITK/Examples/Broken/Images/RegionGrowImageFilter&redirect=no#RegionGrowImageFilter.cxx Unfortunately, I have got an error : error C2440: 'initializing' : cannot convert from 'itk::Object::Pointer' to 'itk::SmartPointer' with [ TObjectType=itk::RegionGrowImageFilter ] No constructor could take the source type, or constructor overload resolution was ambiguous I am wondering about how can I solve this issue. Thanks in advance! Best regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland -------------- 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 marcus.hanwell at kitware.com Thu Nov 10 14:11:59 2016 From: marcus.hanwell at kitware.com (Marcus D. Hanwell) Date: Thu, 10 Nov 2016 14:11:59 -0500 Subject: [ITK] [ITK-dev] Workaround for dynamic_cast on Mac OSX In-Reply-To: References: Message-ID: On Tue, Nov 8, 2016 at 5:01 PM, Matt McCormick wrote: > Hi folks, > > As we have wrestled with in Slicer, along with other applications > where ITK is used in multiple shared libraries, dynamic_cast can fail > on Mac OSX. > > I summarized the cause of the problem and steps for the proposed solution here: > > https://issues.itk.org/jira/browse/ITK-3490 > > Feedback is welcome. The effort is targeted for the ITK 4.11.0 release. > >From the issue it is not clear to me why you can't fix the symbol visibility issues, or which of these cases it causing the breakage. Reading the linked blog post it seems like Apple/Clang is doing the right thing, and C++ libraries must be careful to use consistent symbol visibility. I would be interested in further details on which case or cases are causing dynamic_cast to fail, and why using consistent symbol visibility in the interfaces is not feasible/possible. Thanks, Marcus _______________________________________________ Powered by www.kitware.com 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 hans-johnson at uiowa.edu Thu Nov 10 15:21:42 2016 From: hans-johnson at uiowa.edu (Johnson, Hans J) Date: Thu, 10 Nov 2016 20:21:42 +0000 Subject: [ITK] [ITK-dev] Workaround for dynamic_cast on Mac OSX In-Reply-To: References: Message-ID: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> I agree with Marcus. At least until it is very clear that not using dynamic_cast is the only solution to a broken compiler, I am very weary of ?doing what works today?. Hans -- On 11/10/16, 1:11 PM, "Insight-developers on behalf of Marcus D. Hanwell" wrote: On Tue, Nov 8, 2016 at 5:01 PM, Matt McCormick wrote: > Hi folks, > > As we have wrestled with in Slicer, along with other applications > where ITK is used in multiple shared libraries, dynamic_cast can fail > on Mac OSX. > > I summarized the cause of the problem and steps for the proposed solution here: > > https://issues.itk.org/jira/browse/ITK-3490 > > Feedback is welcome. The effort is targeted for the ITK 4.11.0 release. > From the issue it is not clear to me why you can't fix the symbol visibility issues, or which of these cases it causing the breakage. Reading the linked blog post it seems like Apple/Clang is doing the right thing, and C++ libraries must be careful to use consistent symbol visibility. I would be interested in further details on which case or cases are causing dynamic_cast to fail, and why using consistent symbol visibility in the interfaces is not feasible/possible. Thanks, Marcus _______________________________________________ Powered by www.kitware.com 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 francois.budin at kitware.com Thu Nov 10 18:40:55 2016 From: francois.budin at kitware.com (Francois Budin) Date: Thu, 10 Nov 2016 18:40:55 -0500 Subject: [ITK] [ITK-users] Region Growing In-Reply-To: References: Message-ID: Hello Abdelkhalek, This example is in the section "broken". I do not know since when it has not worked, but you will not be able to instantiate an object of type itk::RegionGrowImageFilter as it is a virtual class, thus the error you are getting. Hope this helps, Francois On Thu, Nov 10, 2016 at 8:24 AM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Dear ITK users, > > > I am trying to use the example of Region Growing from the link below : > http://www.paraview.org/Wiki/index.php?title=ITK/Examples/Broken/Images/ > RegionGrowImageFilter&redirect=no#RegionGrowImageFilter.cxx > > > Unfortunately, I have got an error : > > error C2440: 'initializing' : cannot convert from 'itk::Object::Pointer' > to 'itk::SmartPointer' with > [ > TObjectType=itk::RegionGrowImageFilter< > InputImageType,InputImageType> > ] > No constructor could take the source type, or constructor overload > resolution was ambiguous > > > I am wondering about how can I solve this issue. > > > Thanks in advance! > Best regards, > > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- 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 ivan.granata.na at gmail.com Fri Nov 11 02:43:43 2016 From: ivan.granata.na at gmail.com (ivan) Date: Fri, 11 Nov 2016 00:43:43 -0700 (MST) Subject: [ITK] [ITK-users] Simple ITK Overlap Two Image for example PET and MRI or CT ?? is it possible? and Image Fusion? In-Reply-To: References: <1478699515046-37753.post@n7.nabble.com> <1478712889257-37756.post@n7.nabble.com> Message-ID: <1478850223940-37760.post@n7.nabble.com> ok i'm thank u but really i see overlap not fusion this is my code and my result import org.itk.simple.*; class IterationUpdate extends Command { private ImageRegistrationMethod m_Method; public IterationUpdate(ImageRegistrationMethod m) { super(); m_Method=m; } public void execute() { org.itk.simple.VectorDouble pos = m_Method.getOptimizerPosition(); System.out.format("%3d = %10.5f : [%f, %f]\n", m_Method.getOptimizerIteration(), m_Method.getMetricValue(), pos.get(0), pos.get(1)); } } class ImageFusionFinal { public static void main(String argv[]) { //if ( argv.length < 3 ) // { // System.out.format( "Usage: %s \n", "ImageRegistrationMethod1"); // System.exit(-1); // } //-----------Read Image---------------------------------------------------------------------------------------------------- org.itk.simple.ImageFileReader reader = new org.itk.simple.ImageFileReader(); reader.setOutputPixelType( PixelIDValueEnum.sitkFloat32); reader.setFileName("D:/workspace/ImageFusionFinal/img/CT.nii"); Image ctimage = reader.execute(); reader.setOutputPixelType( PixelIDValueEnum.sitkFloat32); reader.setFileName("D:/workspace/ImageFusionFinal/img/PET.nii"); Image petimage = reader.execute(); System.out.format("Images Read\n"); // println("Images Read"); //------Initial Transform--------------------------------------------------------------------------------------------------------- org.itk.simple.CenteredTransformInitializerFilter initialTx = new org.itk.simple.CenteredTransformInitializerFilter(); org.itk.simple.Transform tx = initialTx.execute( ctimage, petimage, new org.itk.simple.AffineTransform(ctimage.getDimension()) ); //------Registration Method--------------------------------------------------------------------------------------------------------- org.itk.simple.ImageRegistrationMethod R = new org.itk.simple.ImageRegistrationMethod(); R.setMetricAsMattesMutualInformation(); // double maxStep = 4.0; // double minStep = 0.01; // int numberOfIterations = 200; // double relaxationFactor = 0.5; // R.setOptimizerAsRegularStepGradientDescent( maxStep, // minStep, // numberOfIterations, // relaxationFactor ); R.setInitialTransform( new org.itk.simple.Euler3DTransform() ); double learningRate = 1 ; long numberOfIterations = 100; long numberOfHistogramBins = 50; R.setMetricAsMattesMutualInformation(numberOfHistogramBins); R.setOptimizerAsGradientDescentLineSearch(learningRate,numberOfIterations); R.setOptimizerScalesFromIndexShift(); VectorUInt32 pts1 = new VectorUInt32(3); // org.itk.simple.VectorUInt32 pts1; pts1.clear(); pts1.push_back(4); pts1.push_back(2); pts1.push_back(1); R.setShrinkFactorsPerLevel(pts1); VectorDouble pts2 = new VectorDouble(3); /* seed points */ pts2.clear(); pts2.push_back(8); pts2.push_back(4); pts2.push_back(2); System.out.println(pts2); R.setSmoothingSigmasPerLevel(pts2); R.smoothingSigmasAreSpecifiedInPhysicalUnitsOn(); R.setMetricSamplingStrategy(org.itk.simple.ImageRegistrationMethod.MetricSamplingStrategyType.RANDOM); R.setMetricSamplingPercentage(0.1); R.setInitialTransform(tx); R.setInterpolator( InterpolatorEnum.sitkLinear ); IterationUpdate cmd = new IterationUpdate(R); R.addCommand( EventEnum.sitkIterationEvent, cmd); org.itk.simple.Transform outTx = R.execute( ctimage, petimage ); System.out.println("-------"); System.out.println(outTx.toString()); System.out.format("Optimizer stop condition: %s\n", R.getOptimizerStopConditionDescription()); System.out.format(" Iteration: %d\n", R.getOptimizerIteration()); System.out.format(" Metric value: %f\n", R.getMetricValue()); //tx.AddTransform(sitk.Transform(3,sitk.sitkAffine)); R.setInitialTransform(outTx,true); tx.addTransform ( R.execute( ctimage, petimage )); double learningRate2 = 1 ; long numberOfIterations2 = 100; //long numberOfHistogramBins2 = 50; R.setOptimizerAsGradientDescentLineSearch(learningRate2,numberOfIterations2); R.setOptimizerScalesFromIndexShift(); VectorUInt32 pts3 = new VectorUInt32(2); // org.itk.simple.VectorUInt32 pts1; pts3.clear(); pts3.push_back(2); pts3.push_back(1); R.setShrinkFactorsPerLevel(pts3); VectorDouble pts4 = new VectorDouble(2); /* seed points */ pts4.clear(); pts4.push_back(4); pts4.push_back(1); System.out.println(pts4); R.setSmoothingSigmasPerLevel(pts4); R.setInitialTransform(tx); R.smoothingSigmasAreSpecifiedInPhysicalUnitsOn(); R.setMetricSamplingStrategy(org.itk.simple.ImageRegistrationMethod.MetricSamplingStrategyType.RANDOM); R.setMetricSamplingPercentage(0.1); R.setInitialTransform(tx); R.setInterpolator( InterpolatorEnum.sitkLinear ); //------Resample Method--------------------------------------------------------------------------------------------------------- org.itk.simple.ResampleImageFilter resample = new org.itk.simple.ResampleImageFilter(); resample.setReferenceImage(ctimage); resample.setOutputPixelType(PixelIDValueEnum.sitkUInt32); //InterpolatorEnum interp = resample.setInterpolator(InterpolatorEnum.sitkBSpline); resample.setTransform(outTx); //transf.setInterpolator(interp); // VectorDouble orig = resample.getOutputOrigin(); //VectorDouble spac = resample.getOutputSpacing(); // VectorDouble dir = resample.getOutputDirection(); //Double pix = resample.getDefaultPixelValue(); //transf.setInterpolator(dir); //VectorUInt32 pts = new VectorUInt32(); resample.getSize(); resample.execute(petimage); Image out = resample.execute(petimage); //------Resample Method--------------------------------------------------------------------------------------------------------- ComposeImageFilter out_fin = new ComposeImageFilter(); Image out_fin2 = out_fin.execute(ctimage, petimage); // org.itk.simple.CheckerBoardImageFilter out_fin = new org.itk.simple.CheckerBoardImageFilter(); // out_fin.execute(ctimage, petimage); VectorUInt32 checkerPattern = new VectorUInt32(2); // org.itk.simple.VectorUInt32 pts1; checkerPattern.clear(); checkerPattern.push_back(8); checkerPattern.push_back(8); checkerPattern.push_back(1); CheckerBoardImageFilter out_fin3 = new CheckerBoardImageFilter(); Image out_fin4 = out_fin3.execute(ctimage, petimage,checkerPattern); // LabelOverlayImageFilter out_fin5 = new LabelOverlayImageFilter(); // org.itk.simple.Image petimage2 = new org.itk.simple.Image(ctimage.getSize(), PixelIDValueEnum.sitkVectorFloat64); // petimage2.copyInformation(ctimage); // Image out_fin6 = out_fin5.execute(ctimage, petimage2); //-----Write Fused Image--------------------------------------------------------------------------------------------------------- //Image blurredImg = filter.execute(img); // CastImageFilter caster = new CastImageFilter(); // caster.setOutputPixelType( img.getPixelIDValue() ); // Image castImg = caster.execute( blurredImg ); // ImageFileWriter writer = new ImageFileWriter(); // writer.setFileName(argv[1]); // writer.execute( castImg ); //Image blurredImg = resample.execute(out_fin2); //Image castImg = caster.execute(blurredImg); ImageFileWriter writer3 = new ImageFileWriter(); writer3.setFileName("D:/workspace/ImageFusionFinal/img/CT_PET_Fusion2.nii"); writer3.useCompressionOn(); writer3.execute(out_fin4); //writer.execute(transform.getResultImage()); // transform.setParameters(reader.execute()); //Image transform = reader.execute(); //Transform.setParameters(); // Perform warp // transform.logToConsoleOn(); // transform.execute(); } } result -- View this message in context: http://itk-users.7.n7.nabble.com/ITK-users-Simple-ITK-Overlap-Two-Image-for-example-PET-and-MRI-or-CT-is-it-possible-and-Image-Fusion-tp37753p37760.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 ivan.granata.na at gmail.com Fri Nov 11 02:47:11 2016 From: ivan.granata.na at gmail.com (ivan) Date: Fri, 11 Nov 2016 00:47:11 -0700 (MST) Subject: [ITK] [ITK-users] Simple ITK Overlap Two Image for example PET and MRI or CT ?? is it possible? and Image Fusion? In-Reply-To: <1478850223940-37760.post@n7.nabble.com> References: <1478699515046-37753.post@n7.nabble.com> <1478712889257-37756.post@n7.nabble.com> <1478850223940-37760.post@n7.nabble.com> Message-ID: <1478850431556-37761.post@n7.nabble.com> i'm sorry here my real image and result first ct second pet result -- View this message in context: http://itk-users.7.n7.nabble.com/ITK-users-Simple-ITK-Overlap-Two-Image-for-example-PET-and-MRI-or-CT-is-it-possible-and-Image-Fusion-tp37753p37761.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 fisidoro at ethz.ch Fri Nov 11 07:37:30 2016 From: fisidoro at ethz.ch (D'Isidoro Fabio) Date: Fri, 11 Nov 2016 12:37:30 +0000 Subject: [ITK] [ITK-users] intensity based 2d 3d registration Message-ID: <50B858FB5F53124F9E32314E5C1B40943A166949@MBX212.d.ethz.ch> Hallo, I work on itk V4.10 (latest version) with Python wrapping. I am trying to implement a basic intensity-based 2d3d registration, with a 3D translation as transform and without multi-level or multi-stage registration. I could successfully reproduce with Python wrapping the DRR generation code (DigitallyReconstructedRadiograph1.cxx) and the 3D-3D registration examples on the ITK manual (ImageRegistration8.cxx). I have combined now both for my 2D-3D registration, based on the template I found on [1]. This template is however based on registration method v3 and is more complex than the basic version I am trying to implement (because it involves the Euler transform and multi-level approach). My basic version (in attachment) does not work, sometimes showing a "Failed to allocate memory for image" and sometimes Python just crashes (I could not figure out the reason for this difference). I connected all components (optimizer, metric, fixed and moving interpolator) the way I believe it makes sense, but I am not sure whether ImageRegistrationMethodv4 supports the RayCastInterpolateImageFunction and how it wants it to be connected and initialized. The code fails at the registration.Update() command after a few seconds of running. My 3D volume is a 54 MB CT scan (360X450X160), I have reduced it from the original one to try to avoid memory allocation problems. Is my code wrong? Also, how can I debug it if I can't put breakpoints "inside registration.Update()"? Looking forward to your help. Thank you, Fabio. [1] https://github.com/InsightSoftwareConsortium/ITKApps/blob/master/IntensityBased2D3DRegistration/IntensityBased2D3DRegistration.cxx -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: IntBased2d3d.txt 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 bill.lorensen at gmail.com Fri Nov 11 10:41:37 2016 From: bill.lorensen at gmail.com (Bill Lorensen) Date: Fri, 11 Nov 2016 10:41:37 -0500 Subject: [ITK] [ITK-users] Region Growing In-Reply-To: References: Message-ID: Here is an example region growing filter: https://itk.org/Wiki/ITK/Examples/ImageSegmentation/ConfidenceConnectedImageFilter On Thu, Nov 10, 2016 at 6:40 PM, Francois Budin wrote: > Hello Abdelkhalek, > > This example is in the section "broken". I do not know since when it has not > worked, but you will not be able to instantiate an object of type > itk::RegionGrowImageFilter as it is a virtual class, thus the error you are > getting. > > Hope this helps, > Francois > > On Thu, Nov 10, 2016 at 8:24 AM, Abdelkhalek Bakkari > wrote: >> >> Dear ITK users, >> >> >> I am trying to use the example of Region Growing from the link below : >> >> http://www.paraview.org/Wiki/index.php?title=ITK/Examples/Broken/Images/RegionGrowImageFilter&redirect=no#RegionGrowImageFilter.cxx >> >> >> Unfortunately, I have got an error : >> >> error C2440: 'initializing' : cannot convert from 'itk::Object::Pointer' >> to 'itk::SmartPointer' with >> [ >> >> TObjectType=itk::RegionGrowImageFilter >> ] >> No constructor could take the source type, or constructor overload >> resolution was ambiguous >> >> >> I am wondering about how can I solve this issue. >> >> >> Thanks in advance! >> >> Best regards, >> >> >> >> Abdelkhalek Bakkari >> Ph.D candidate in Computer Science >> Institute of Applied Computer Science >> Lodz University of Technology, Poland >> >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > -- Unpaid intern in BillsBasement at noware dot com _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users From matt.mccormick at kitware.com Fri Nov 11 18:01:05 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Fri, 11 Nov 2016 18:01:05 -0500 Subject: [ITK] [ITK-dev] Workaround for dynamic_cast on Mac OSX In-Reply-To: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> References: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> Message-ID: Here are the tests: http://review.source.kitware.com/#/c/21755/ where reasonable export specification is added in both ITK and the client libraries. But, dynamic_cast fails on OSX: https://open.cdash.org/testDetails.php?test=499059765&build=4637669 Matt On Thu, Nov 10, 2016 at 3:21 PM, Johnson, Hans J wrote: > I agree with Marcus. At least until it is very clear that not using dynamic_cast is the only solution to a broken compiler, I am very weary of ?doing what works today?. > > Hans > > > -- > > > On 11/10/16, 1:11 PM, "Insight-developers on behalf of Marcus D. Hanwell" wrote: > > On Tue, Nov 8, 2016 at 5:01 PM, Matt McCormick > wrote: > > Hi folks, > > > > As we have wrestled with in Slicer, along with other applications > > where ITK is used in multiple shared libraries, dynamic_cast can fail > > on Mac OSX. > > > > I summarized the cause of the problem and steps for the proposed solution here: > > > > https://issues.itk.org/jira/browse/ITK-3490 > > > > Feedback is welcome. The effort is targeted for the ITK 4.11.0 release. > > > From the issue it is not clear to me why you can't fix the symbol > visibility issues, or which of these cases it causing the breakage. > Reading the linked blog post it seems like Apple/Clang is doing the > right thing, and C++ libraries must be careful to use consistent > symbol visibility. > > I would be interested in further details on which case or cases are > causing dynamic_cast to fail, and why using consistent symbol > visibility in the interfaces is not feasible/possible. > > Thanks, > > Marcus > _______________________________________________ > Powered by www.kitware.com > > 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 simon.warfield at childrens.harvard.edu Sat Nov 12 12:22:54 2016 From: simon.warfield at childrens.harvard.edu (Simon Warfield) Date: Sat, 12 Nov 2016 12:22:54 -0500 Subject: [ITK] [ITK-dev] Insight-developers Digest, Vol 151, Issue 16 In-Reply-To: References: Message-ID: <382501f3-ad7d-143f-3ae5-8c4690706c01@childrens.harvard.edu> On 11/12/16 12:00 PM, insight-developers-request at itk.org wrote: > > Here are the tests: > > https://urldefense.proofpoint.com/v2/url?u=http-3A__review.source.kitware.com_-23_c_21755_&d=DQICAg&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=spboX-Qn5Dn-uyspT__O0BtpSEF5erHIiRAwdzSaa_QAQ58afxHcHSMuB76pSgfl&m=M-IiPEMMeqHF1XHRKIyX7e1SrEaHJUjru2T5LMeNq48&s=e1f60RJqOXt5tQ7np0HYJNJAW7V0q3QiRYCHKw9CV_U&e= > > where reasonable export specification is added in both ITK and the > client libraries. But, dynamic_cast fails on OSX: > > https://urldefense.proofpoint.com/v2/url?u=https-3A__open.cdash.org_testDetails.php-3Ftest-3D499059765-26build-3D4637669&d=DQICAg&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=spboX-Qn5Dn-uyspT__O0BtpSEF5erHIiRAwdzSaa_QAQ58afxHcHSMuB76pSgfl&m=M-IiPEMMeqHF1XHRKIyX7e1SrEaHJUjru2T5LMeNq48&s=Fh8PMzdqTGvkcjXgnHusVcl_L6j6tMu22QGt88eXt6w&e= > > > Matt The document here: http://www.russellmcc.com/posts/2013-08-03-rtti.html , says this should work if all of the classes are appropriately marked as 'default' and that the linker will give a fatal warning if this is not the case. Where does the test code mark the classes shared across the dylib boundaries as 'default' rather than 'hidden' ? What does the OS X linker say about the code when fatal warnings are turned on ? --Simon _______________________________________________ Powered by www.kitware.com 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 bakkari.abdelkhalek at hotmail.fr Sun Nov 13 10:03:15 2016 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Sun, 13 Nov 2016 15:03:15 +0000 Subject: [ITK] [ITK-users] Region Growing for huge data set Message-ID: Dear ITK users, I am trying to evaluate my region growing ITK code. Unfortunately, for a huge data (more than 100 .dcm images), the application turn blocked and some errors appear (please find it in attachment) Do you have any suggestion or help ? Thank you in advance. Best regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: errors.txt 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 bakkari.abdelkhalek at hotmail.fr Sun Nov 13 20:46:04 2016 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Mon, 14 Nov 2016 01:46:04 +0000 Subject: [ITK] [ITK-users] LabelOverlayImageFilter Message-ID: Dear ITK users, I am tried to adopt the LabelOverlayImageFilter for 3D images. Unfortunately, the final result is not good enough. I will be glad, if you could help me. In the attachment, you can find a Slice result. Kind regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Slice result.png Type: image/png Size: 191091 bytes Desc: Slice result.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 dzenanz at gmail.com Mon Nov 14 09:20:55 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 14 Nov 2016 09:20:55 -0500 Subject: [ITK] [ITK-users] LabelOverlayImageFilter In-Reply-To: References: Message-ID: Hi Abdelkhalek, what did you expect the filter to do? How does this output differ from you expectation? Regards, D?enan On Sun, Nov 13, 2016 at 8:46 PM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Dear ITK users, > > > I am tried to adopt the LabelOverlayImageFilter for 3D images. > Unfortunately, the final result is not good enough. > > I will be glad, if you could help me. > > > In the attachment, you can find a Slice result. > > > Kind regards, > > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > -------------- 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 Mon Nov 14 09:29:06 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 14 Nov 2016 09:29:06 -0500 Subject: [ITK] [ITK-users] Region Growing for huge data set In-Reply-To: References: Message-ID: Hi Abdelkhalek, depending on the filters in your pipeline (whether all of them support streaming), it might be useful to use StreamingImageFilter . If not, you could have all intermediate results deallocated before starting the main (most memory intensive) processing step: ImageType::Pointer intermediate; //open a block, so that all variables created in it are deallocated at the end of it { //read image //do some processing lastFilterInThisBlock->Update(); intermediate=lastFilterInThisBlock->GetOutput(); } //everything except intermediate will be deallocated at this point, freeing memory mainProcessingStep(intermediate); Regards, D?enan On Sun, Nov 13, 2016 at 10:03 AM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Dear ITK users, > > > I am trying to evaluate my region growing ITK code. Unfortunately, for a > huge data (more than 100 .dcm images), the application turn blocked and > some errors appear (please find it in attachment) > > > Do you have any suggestion or help ? > > > > Thank you in advance. > > > Best regards, > > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- 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 bakkari.abdelkhalek at hotmail.fr Mon Nov 14 10:37:31 2016 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Mon, 14 Nov 2016 15:37:31 +0000 Subject: [ITK] [ITK-users] LabelOverlayImageFilter In-Reply-To: References: , Message-ID: Hi, I expected that the region which is not overlaid will preserve the same intensity. Best regards, ________________________________ From: Dzenan Zukic Sent: 14 November 2016 15:20 To: Abdelkhalek Bakkari Cc: insight-users Subject: Re: LabelOverlayImageFilter Hi Abdelkhalek, what did you expect the filter to do? How does this output differ from you expectation? Regards, Dzenan On Sun, Nov 13, 2016 at 8:46 PM, Abdelkhalek Bakkari > wrote: Dear ITK users, I am tried to adopt the LabelOverlayImageFilter for 3D images. Unfortunately, the final result is not good enough. I will be glad, if you could help me. In the attachment, you can find a Slice result. Kind regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: expected result.png Type: image/png Size: 66661 bytes Desc: expected result.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 dzenanz at gmail.com Mon Nov 14 11:08:19 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 14 Nov 2016 11:08:19 -0500 Subject: [ITK] [ITK-users] LabelOverlayImageFilter In-Reply-To: References: Message-ID: What you are describing is the default behavior of the filter. What your problem might be is casting the background value to 8-bit unsigned which is used for the color image. Try rescaling the background image to unsigned char before inputting it to the overlay filter. Regards On Mon, Nov 14, 2016 at 10:37 AM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Hi, > > > I expected that the region which is not overlaid will preserve the same > intensity. > > > Best regards, > > > > > ------------------------------ > *From:* D?enan Zuki? > *Sent:* 14 November 2016 15:20 > *To:* Abdelkhalek Bakkari > *Cc:* insight-users > *Subject:* Re: LabelOverlayImageFilter > > Hi Abdelkhalek, > > what did you expect the filter to do? How does this output differ from you > expectation? > > Regards, > D?enan > > On Sun, Nov 13, 2016 at 8:46 PM, Abdelkhalek Bakkari < > bakkari.abdelkhalek at hotmail.fr> wrote: > >> Dear ITK users, >> >> >> I am tried to adopt the LabelOverlayImageFilter for 3D images. >> Unfortunately, the final result is not good enough. >> >> I will be glad, if you could help me. >> >> >> In the attachment, you can find a Slice result. >> >> >> Kind regards, >> >> >> >> Abdelkhalek Bakkari >> Ph.D candidate in Computer Science >> Institute of Applied Computer Science >> Lodz University of Technology, Poland >> >> >> > -------------- 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 Nov 14 11:33:54 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Mon, 14 Nov 2016 16:33:54 +0000 Subject: [ITK] [ITK-users] Region Growing for huge data set In-Reply-To: References: Message-ID: <373427AA-0235-40C7-8E2F-596C9341444C@mail.nih.gov> Hello, Unfortunately, the region growing algorithms do not support streaming to my knowledge. But this certainly could help other parts of the pipeline, along with releasing unneeded data. Firstly, what OS and architecture are you compiling for? Did you choose Win64 or ensure your using 64-bits architecture? Next, many region grown algorithms are equivalent to running a binary threshold then a connected components algorithm these choosing the correct label(s). I have found for large data this is frequently more computational and memory efficient than the region growing methods. In addition, the BinaryThesholdImageFilter can be run ?InPlace?, and the BinaryImageToLabelMapFilter is an implementation of the connected components algorithm to RLE labels is memory efficient as well. HTH, Brad On Nov 14, 2016, at 9:29 AM, D?enan Zuki? > wrote: Hi Abdelkhalek, depending on the filters in your pipeline (whether all of them support streaming), it might be useful to use StreamingImageFilter. If not, you could have all intermediate results deallocated before starting the main (most memory intensive) processing step: ImageType::Pointer intermediate; //open a block, so that all variables created in it are deallocated at the end of it { //read image //do some processing lastFilterInThisBlock->Update(); intermediate=lastFilterInThisBlock->GetOutput(); } //everything except intermediate will be deallocated at this point, freeing memory mainProcessingStep(intermediate); Regards, D?enan On Sun, Nov 13, 2016 at 10:03 AM, Abdelkhalek Bakkari > wrote: Dear ITK users, I am trying to evaluate my region growing ITK code. Unfortunately, for a huge data (more than 100 .dcm images), the application turn blocked and some errors appear (please find it in attachment) Do you have any suggestion or help ? Thank you in advance. Best regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 tevain at telecom-paristech.fr Mon Nov 14 12:36:30 2016 From: tevain at telecom-paristech.fr (Timothee Evain) Date: Mon, 14 Nov 2016 18:36:30 +0100 (CET) Subject: [ITK] Retrieving transform by downcast In-Reply-To: <1606649268.29022064.1479144429315.JavaMail.zimbra@enst.fr> Message-ID: <35012579.29029459.1479144990966.JavaMail.zimbra@enst.fr> Hi everyone, I'm wondering how can I retrieve the inverse of a VersorRigid3DTransform through the GetInverseTransform() method to assign to another VersorRigid3DTransform. As this return a itk::Transform pointer, downcasting with dynamic_cast leads to an error related to pointer being not one to a complete class. I guess this had to do with Transform being a abstract class, so what is the "standard" way to do ? Should I go through inverse parameters to initialize the inverse transform ? Tim From dzenanz at gmail.com Mon Nov 14 12:45:48 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 14 Nov 2016 12:45:48 -0500 Subject: [ITK] Retrieving transform by downcast In-Reply-To: <35012579.29029459.1479144990966.JavaMail.zimbra@enst.fr> References: <1606649268.29022064.1479144429315.JavaMail.zimbra@enst.fr> <35012579.29029459.1479144990966.JavaMail.zimbra@enst.fr> Message-ID: Hi Tim, have you tried static_casting to VersorRigid3DTransform? Regards, D?enan On Mon, Nov 14, 2016 at 12:36 PM, Timothee Evain < tevain at telecom-paristech.fr> wrote: > Hi everyone, > > I'm wondering how can I retrieve the inverse of a VersorRigid3DTransform > through the GetInverseTransform() method to assign to another > VersorRigid3DTransform. > As this return a itk::Transform pointer, downcasting with dynamic_cast > leads to an error related to pointer being not one to a complete class. > I guess this had to do with Transform being a abstract class, so what is > the "standard" way to do ? Should I go through inverse parameters to > initialize the inverse transform ? > > Tim > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > -------------- next part -------------- An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Mon Nov 14 14:18:55 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Mon, 14 Nov 2016 19:18:55 +0000 Subject: [ITK] [ITK-dev] [slicer-devel] Workaround for dynamic_cast on Mac OSX In-Reply-To: <8aa1ac5103314c068ca9c3034159d775@PHSX10HT6.partners.org> References: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> <8aa1ac5103314c068ca9c3034159d775@PHSX10HT6.partners.org> Message-ID: Matt, I believe that GCC 4.1 also had a very similar problem to what is occurring in with Apple Clang now. That looks like a good example for the problem. The replacement of all dynamic_casts of all itk::Objects is one approach. Here is a few others: 1) Make an explicit instantiation library with the ITK classes part of the shared libraries' interfaces. 2) Just compile the problematic libraries with default visibility. 3) Restore the functionality of the old ?WrapITK? Explicit language/feature to explicitly instantiate all of ITK. 4) Write an entire library which fully encapsulates the ITK templated interface and used it?s own object for the visibility specified API :) It?s interesting to note that Slicer CLI interface does not contain ITK templated objects. Does Slicer use ITK objects any where in it?s public API?s? HTH, Brad > On Nov 11, 2016, at 6:01 PM, Matt McCormick wrote: > > Here are the tests: > > http://review.source.kitware.com/#/c/21755/ > > where reasonable export specification is added in both ITK and the > client libraries. But, dynamic_cast fails on OSX: > > https://open.cdash.org/testDetails.php?test=499059765&build=4637669 > > > Matt > > On Thu, Nov 10, 2016 at 3:21 PM, Johnson, Hans J wrote: >> I agree with Marcus. At least until it is very clear that not using dynamic_cast is the only solution to a broken compiler, I am very weary of ?doing what works today?. >> >> Hans >> >> >> -- >> >> >> On 11/10/16, 1:11 PM, "Insight-developers on behalf of Marcus D. Hanwell" wrote: >> >> On Tue, Nov 8, 2016 at 5:01 PM, Matt McCormick >> wrote: >>> Hi folks, >>> >>> As we have wrestled with in Slicer, along with other applications >>> where ITK is used in multiple shared libraries, dynamic_cast can fail >>> on Mac OSX. >>> >>> I summarized the cause of the problem and steps for the proposed solution here: >>> >>> https://issues.itk.org/jira/browse/ITK-3490 >>> >>> Feedback is welcome. The effort is targeted for the ITK 4.11.0 release. >>> >> From the issue it is not clear to me why you can't fix the symbol >> visibility issues, or which of these cases it causing the breakage. >> Reading the linked blog post it seems like Apple/Clang is doing the >> right thing, and C++ libraries must be careful to use consistent >> symbol visibility. >> >> I would be interested in further details on which case or cases are >> causing dynamic_cast to fail, and why using consistent symbol >> visibility in the interfaces is not feasible/possible. >> >> Thanks, >> >> Marcus >> _______________________________________________ >> Powered by www.kitware.com >> >> 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 >> >> > _______________________________________________ > slicer-devel mailing list > slicer-devel at bwh.harvard.edu > http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel > To unsubscribe: send email to slicer-devel-request at bwh.harvard.edu with unsubscribe as the subject > http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ _______________________________________________ Powered by www.kitware.com 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 Nov 14 14:30:03 2016 From: jchris.fillionr at kitware.com (Jean-Christophe Fillion-Robin) Date: Mon, 14 Nov 2016 14:30:03 -0500 Subject: [ITK] [ITK-dev] [slicer-devel] Workaround for dynamic_cast on Mac OSX In-Reply-To: References: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> <8aa1ac5103314c068ca9c3034159d775@PHSX10HT6.partners.org> Message-ID: Hi Brad, > Make an explicit instantiation library with the ITK classes part of the shared libraries' interfaces. My understanding is that we have been working on this for the past year without much success. Getting this right across compiler is difficult and hard to maintain Does Slicer use ITK objects any where in it?s public API?s? Yes, in few places: Base/CLI/itkPluginUtilities.h Libs/vtkITK/* Libs/MRML/IDImageIO/* Libs/MRML/Core/vtkITKTransformInverse.h Thanks 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 sean at rogue-research.com Mon Nov 14 14:47:13 2016 From: sean at rogue-research.com (Sean McBride) Date: Mon, 14 Nov 2016 14:47:13 -0500 Subject: [ITK] [ITK-dev] Workaround for dynamic_cast on Mac OSX In-Reply-To: References: Message-ID: <20161114194713.731719343@mail.rogue-research.com> On Thu, 10 Nov 2016 14:11:59 -0500, Marcus D. Hanwell said: >I would be interested in further details on which case or cases are >causing dynamic_cast to fail, and why using consistent symbol >visibility in the interfaces is not feasible/possible. I'm not really following this issue, but... Is this really a Mac OS X issue, or is it being conflated with clang? That is, does the issue happen with clang on linux for example? Is it only Apple's fork or clang, or the open source one too? Does it happen with gcc on Mac OS X? etc. 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 isaiah.norton at gmail.com Mon Nov 14 14:53:44 2016 From: isaiah.norton at gmail.com (Isaiah Norton) Date: Mon, 14 Nov 2016 20:53:44 +0100 Subject: [ITK] [ITK-dev] Workaround for dynamic_cast on Mac OSX In-Reply-To: References: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> Message-ID: Hi Matt, > Here are the tests: > http://review.source.kitware.com/#/c/21755/ where reasonable export specification is added in both ITK and the > client libraries. But, dynamic_cast fails on OSX: The export changes in this merge request don't seem to be related to the casts that are failing. A small change [1] allows all of the tests to pass. Of course, many more export annotations would be required for general applicability. There is a compiler option that could potentially address the issue "-fvisibility-ms-compat" -- see [2]. As mentioned on that page, these RTTI type_info issues *also break exception handling*, so simply changing all of the ITK `dynamic_cast` uses to a custom implementation will not fully address the issue (I have encountered this a number of times in Slicer: ITK exceptions thrown by dynamic libraries are incorrectly identified). Alternatively, if there is concern about symbol bloat (I've seen some threads to that effect related to SimpleITK) then a linker script could be used to export all `_ZTN*` symbols. Best, Isaiah [1] ``` diff --git a/Modules/Core/Common/include/itkImage.h b/Modules/Core/Common/include/itkImage.h index 2e601c2..9592957 100644 --- a/Modules/Core/Common/include/itkImage.h +++ b/Modules/Core/Common/include/itkImage.h @@ -72,7 +72,7 @@ namespace itk * \endwiki */ template< typename TPixel, unsigned int VImageDimension = 2 > -class Image:public ImageBase< VImageDimension > +class ITK_ABI_EXPORT Image:public ImageBase< VImageDimension > { public: /** Standard class typedefs */ ``` [2] https://developer.apple.com/library/content/technotes/tn2185/_index.html#//apple_ref/doc/uid/DTS10004200-CH1-SUBSECTION2 and https://developer.apple.com/library/content/technotes/tn2185/_index.html#//apple_ref/doc/uid/DTS10004200-CH1-SUBSECTION6 On Sat, Nov 12, 2016 at 12:01 AM, Matt McCormick wrote: > Here are the tests: > > http://review.source.kitware.com/#/c/21755/ > > where reasonable export specification is added in both ITK and the > client libraries. But, dynamic_cast fails on OSX: > > https://open.cdash.org/testDetails.php?test=499059765&build=4637669 > > > Matt > > On Thu, Nov 10, 2016 at 3:21 PM, Johnson, Hans J > wrote: > > I agree with Marcus. At least until it is very clear that not using > dynamic_cast is the only solution to a broken compiler, I am very weary of > ?doing what works today?. > > > > Hans > > > > > > -- > > > > > > On 11/10/16, 1:11 PM, "Insight-developers on behalf of Marcus D. > Hanwell" marcus.hanwell at kitware.com> wrote: > > > > On Tue, Nov 8, 2016 at 5:01 PM, Matt McCormick > > wrote: > > > Hi folks, > > > > > > As we have wrestled with in Slicer, along with other applications > > > where ITK is used in multiple shared libraries, dynamic_cast can > fail > > > on Mac OSX. > > > > > > I summarized the cause of the problem and steps for the proposed > solution here: > > > > > > https://issues.itk.org/jira/browse/ITK-3490 > > > > > > Feedback is welcome. The effort is targeted for the ITK 4.11.0 > release. > > > > > From the issue it is not clear to me why you can't fix the symbol > > visibility issues, or which of these cases it causing the breakage. > > Reading the linked blog post it seems like Apple/Clang is doing the > > right thing, and C++ libraries must be careful to use consistent > > symbol visibility. > > > > I would be interested in further details on which case or cases are > > causing dynamic_cast to fail, and why using consistent symbol > > visibility in the interfaces is not feasible/possible. > > > > Thanks, > > > > Marcus > > _______________________________________________ > > Powered by www.kitware.com > > > > 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 > -------------- 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 blowekamp at mail.nih.gov Mon Nov 14 15:06:39 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Mon, 14 Nov 2016 20:06:39 +0000 Subject: [ITK] [ITK-dev] [slicer-devel] Workaround for dynamic_cast on Mac OSX In-Reply-To: References: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> <8aa1ac5103314c068ca9c3034159d775@PHSX10HT6.partners.org> Message-ID: <5C023ABD-2C26-4424-835E-60A603F31880@mail.nih.gov> JC, On Nov 14, 2016, at 2:30 PM, Jean-Christophe Fillion-Robin > wrote: Hi Brad, > Make an explicit instantiation library with the ITK classes part of the shared libraries' interfaces. My understanding is that we have been working on this for the past year without much success. Getting this right across compiler is difficult and hard to maintain It is a potential solutions for smaller projects which have a couple well defined ITK classes in the API. Yes is certainly is hard to maintain. SimpleITK did this and were are seeing some portabilities to this solution today. But SimpleITK?s motivation was for library size reduction and compilation efficiency. This is why there is a additional suggestion of restoring ITK?s wrapping infrastructure to do explicit instantiation. With the terrific advancements of class_xml and the general infrastructure, it would be ideal to enable the option to instantiate the templated itk::Objects based on the CMake parameters used for languages wrapping. On a large scale I don?t see an alternative to automate the explicit instantiation. Does Slicer use ITK objects any where in it?s public API?s? Yes, in few places: Do these really produce itk::Objects? Here is my quick view. Base/CLI/itkPluginUtilities.h I see some template functions and an itk::ProcessObject in the interface. That does not look like the problematic pattern. Libs/vtkITK/* The vtkITK infrastructure is an example of the proposed solution #4 Libs/MRML/IDImageIO/* This appears to be an ITK ImageIO Factory. This pattern should be correctly exports specified and not an issue with the templated ImageFileReader. Libs/MRML/Core/vtkITKTransformInverse.h OK, this one could have issues ITK BSplines with ITK Images. Would need a close look. I was hoping that after the ITK Transform factory most of the dynamic_cast issues would be gone. What is remaining? Thanks 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 isaiah.norton at gmail.com Mon Nov 14 15:08:47 2016 From: isaiah.norton at gmail.com (Isaiah Norton) Date: Mon, 14 Nov 2016 21:08:47 +0100 Subject: [ITK] [ITK-dev] Workaround for dynamic_cast on Mac OSX In-Reply-To: <20161114194713.731719343@mail.rogue-research.com> References: <20161114194713.731719343@mail.rogue-research.com> Message-ID: On Mon, Nov 14, 2016 at 8:47 PM, Sean McBride wrote: > On Thu, 10 Nov 2016 14:11:59 -0500, Marcus D. Hanwell said: > > >I would be interested in further details on which case or cases are > >causing dynamic_cast to fail, and why using consistent symbol > >visibility in the interfaces is not feasible/possible. > > I'm not really following this issue, but... > > Is this really a Mac OS X issue, or is it being conflated with clang? > That is, does the issue happen with clang on linux for example? Is it only > Apple's fork or clang, or the open source one too? Does it happen with gcc > on Mac OS X? etc. > The compiler ABI rules and behavior have not changed. What has changed is that OS X linker fallbacks have been removed [1], and Slicer (and perhaps ITK itself by default, I haven't spelunked the log) have set the default symbol visibility to hidden, which means that (now-hidden) type_info symbols are not coalesced across compilation unit boundaries. I would recommend this summary of the issue from a libreoffice commit message [2], as well as the summary linked in a previous message [3]. Recent libstdc++ have reinstated a strcmp fallback [4], so the issue is unlikely to be encountered on most Linux distributions. [1] On OS X, my understanding is that libc++ (cxxabi) was compiled with "_LIBCXX_DYNAMIC_FALLBACK" until OS X 10.11, which causes a fallback to strcmp comparison of the type_info name (10.11 still contains a program name-based fallback for two Adobe products that Apple could not reasonably break). [2] https://lists.freedesktop.org/archives/libreoffice-commits/2015-January/091572.html [3] http://www.russellmcc.com/posts/2013-08-03-rtti.html [4] https://gcc.gnu.org/ml/gcc-patches/2009-07/msg01239.html > > 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 > -------------- 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 fisidoro at ethz.ch Mon Nov 14 15:48:55 2016 From: fisidoro at ethz.ch (D'Isidoro Fabio) Date: Mon, 14 Nov 2016 20:48:55 +0000 Subject: [ITK] [ITK-users] FW: intensity based 2d 3d registration Message-ID: <50B858FB5F53124F9E32314E5C1B40943A16CCCC@MBX212.d.ethz.ch> Hallo, I forward again my previous email hoping for a reply. Within the context of intensity based 2D-3D registration, can RayCastInterpolateImageFunction be used with ImageRegistrationMethodv4, as the other interpolators listed in the manual? RayCastInterpolateImageFunction is not in the manual as the other interpolators: does this mean that has not been implemented for use with ImageRegistrationMethodv4 (given that my code does not seem to work)? The problem why my code does not work is apparently not a memory issue (I tried with a very very small 3D volume and the registration still does not work). Thank you! From: D'Isidoro Fabio Sent: Freitag, 11. November 2016 13:37 To: insight-users at itk.org Subject: intensity based 2d 3d registration Hallo, I work on itk V4.10 (latest version) with Python wrapping. I am trying to implement a basic intensity-based 2d3d registration, with a 3D translation as transform and without multi-level or multi-stage registration. I could successfully reproduce with Python wrapping the DRR generation code (DigitallyReconstructedRadiograph1.cxx) and the 3D-3D registration examples on the ITK manual (ImageRegistration8.cxx). I have combined now both for my 2D-3D registration, based on the template I found on [1]. This template is however based on registration method v3 and is more complex than the basic version I am trying to implement (because it involves the Euler transform and multi-level approach). My basic version (in attachment) does not work, sometimes showing a "Failed to allocate memory for image" and sometimes Python just crashes (I could not figure out the reason for this difference). I connected all components (optimizer, metric, fixed and moving interpolator) the way I believe it makes sense, but I am not sure whether ImageRegistrationMethodv4 supports the RayCastInterpolateImageFunction and how it wants it to be connected and initialized. The code fails at the registration.Update() command after a few seconds of running. My 3D volume is a 54 MB CT scan (360X450X160), I have reduced it from the original one to try to avoid memory allocation problems. Is my code wrong? Also, how can I debug it if I can't put breakpoints "inside registration.Update()"? Looking forward to your help. Thank you, Fabio. [1] https://github.com/InsightSoftwareConsortium/ITKApps/blob/master/IntensityBased2D3DRegistration/IntensityBased2D3DRegistration.cxx -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: IntBased2d3d.txt 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 Nov 14 18:16:40 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 14 Nov 2016 18:16:40 -0500 Subject: [ITK] [ITK-dev] Insight-developers Digest, Vol 151, Issue 16 In-Reply-To: <382501f3-ad7d-143f-3ae5-8c4690706c01@childrens.harvard.edu> References: <382501f3-ad7d-143f-3ae5-8c4690706c01@childrens.harvard.edu> Message-ID: On Sat, Nov 12, 2016 at 12:22 PM, Simon Warfield wrote: > On 11/12/16 12:00 PM, insight-developers-request at itk.org wrote: >> >> >> Here are the tests: >> >> >> https://urldefense.proofpoint.com/v2/url?u=http-3A__review.source.kitware.com_-23_c_21755_&d=DQICAg&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=spboX-Qn5Dn-uyspT__O0BtpSEF5erHIiRAwdzSaa_QAQ58afxHcHSMuB76pSgfl&m=M-IiPEMMeqHF1XHRKIyX7e1SrEaHJUjru2T5LMeNq48&s=e1f60RJqOXt5tQ7np0HYJNJAW7V0q3QiRYCHKw9CV_U&e= >> >> where reasonable export specification is added in both ITK and the >> client libraries. But, dynamic_cast fails on OSX: >> >> >> https://urldefense.proofpoint.com/v2/url?u=https-3A__open.cdash.org_testDetails.php-3Ftest-3D499059765-26build-3D4637669&d=DQICAg&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=spboX-Qn5Dn-uyspT__O0BtpSEF5erHIiRAwdzSaa_QAQ58afxHcHSMuB76pSgfl&m=M-IiPEMMeqHF1XHRKIyX7e1SrEaHJUjru2T5LMeNq48&s=Fh8PMzdqTGvkcjXgnHusVcl_L6j6tMu22QGt88eXt6w&e= >> >> >> Matt > > > The document here: http://www.russellmcc.com/posts/2013-08-03-rtti.html , > says this should work if all of the classes are appropriately marked as > 'default' and that the linker will give a fatal warning if this is not the > case. > > Where does the test code mark the classes shared across the dylib boundaries > as 'default' rather than 'hidden' ? The client libraries are marked as default using the _EXPORT macros. For example: class ClientTestLibraryA_EXPORT ITKObjectProducer The ClientTestLibraryA_EXPORT macro is defined in ClientTestLibraryAExport.h: # define ClientTestLibraryA_EXPORT __attribute__((visibility("default"))) However, the issue is with the itk::Image< float, 3 > type, which is implicitly instantiated. > What does the OS X linker say about the code when fatal warnings are turned > on ? The OSX linker does not throw any warnings in the test case provided because of implicit instantiation. OSX is an important platform to support, and we must also support implicit instantiation. Thanks, Matt _______________________________________________ Powered by www.kitware.com 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 Nov 14 18:18:05 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 14 Nov 2016 18:18:05 -0500 Subject: [ITK] [ITK-dev] [slicer-devel] Workaround for dynamic_cast on Mac OSX In-Reply-To: References: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> <8aa1ac5103314c068ca9c3034159d775@PHSX10HT6.partners.org> Message-ID: On Mon, Nov 14, 2016 at 2:18 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] wrote: > Matt, > > I believe that GCC 4.1 also had a very similar problem to what is occurring in with Apple Clang now. Thanks to the GCC version dashboard builds that you maintain, we should be able to see if other GCC's have that issue, too :-). > That looks like a good example for the problem. > > The replacement of all dynamic_casts of all itk::Objects is one approach. Here is a few others: > > 1) Make an explicit instantiation library with the ITK classes part of the shared libraries' interfaces. > 2) Just compile the problematic libraries with default visibility. > 3) Restore the functionality of the old ?WrapITK? Explicit language/feature to explicitly instantiate all of ITK. > 4) Write an entire library which fully encapsulates the ITK templated interface and used it?s own object for the visibility specified API :) These may be good solutions for some use cases. However, we still need to support general implicit instantiation. ITK is predominantly used via implicit instantiation. Explicit instantiation results in building libraries with types that are unused and have an associated negative build time, size, and load time. And, it limits the types that can be used relative to implicit instantiation. > It?s interesting to note that Slicer CLI interface does not contain ITK templated objects. Does Slicer use ITK objects any where in it?s public API?s? Note that this issue becomes predominantly problematic when ITK templated objects are not in the ABI but used internally (as in the test case). Thanks, Matt _______________________________________________ Powered by www.kitware.com 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 Nov 14 18:36:00 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 14 Nov 2016 18:36:00 -0500 Subject: [ITK] [ITK-dev] Workaround for dynamic_cast on Mac OSX In-Reply-To: References: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> Message-ID: On Mon, Nov 14, 2016 at 2:53 PM, Isaiah Norton wrote: > Hi Matt, > >> >> Here are the tests: >> http://review.source.kitware.com/#/c/21755/ >> >> where reasonable export specification is added in both ITK and the >> client libraries. But, dynamic_cast fails on OSX: > > > The export changes in this merge request don't seem to be related to the > casts that are failing. Correct. This patch is intended to just be a self-contained test that demonstrates the issue. > A small change [1] allows all of the tests to pass. > Of course, many more export annotations would be required for general > applicability. Thanks for implementing and testing a possible solution. ITK_API_EXPORT does not work with Windows static builds, but we could try ITKCommon_TEMPLATE_EXPORT, which we developed for explicit template instantiation markup [1]. However, more testing is required to determine if this works for implicit template instantiation on all platforms and does not have other side effects. A statement in one of the links you referenced [2], "there is unfortunately no way to mark only the (implicitly generated) RTTI symbols for default visibility" implies caution. > There is a compiler option that could potentially address the issue > "-fvisibility-ms-compat" -- see [2]. As mentioned on that page, these RTTI > type_info issues *also break exception handling*, so simply changing all of > the ITK `dynamic_cast` uses to a custom implementation will not fully > address the issue (I have encountered this a number of times in Slicer: ITK > exceptions thrown by dynamic libraries are incorrectly identified). > > Alternatively, if there is concern about symbol bloat (I've seen some > threads to that effect related to SimpleITK) then a linker script could be > used to export all `_ZTN*` symbols. Thanks for the pointer. Symbol bloat is a concern. Also, there are potential issues with how symbols are handled with dlopen and RTLD_GLOBAL, along with keeping a GlobalModifiedTime across the process, especially with respect to Python wrapping. This patch remarks on some of the issues we are currently trying to address [3]. We will test further with Python wrapping for OSX with the ITKCommon_TEMPLATE_EXPORT approach, then investigate -fvisibility-ms-compat if that does not prove viable. Thanks, Matt [1] https://github.com/InsightSoftwareConsortium/ITK/commit/d9633b7562c8223bf5ea8e1ee08eaa2e91506e58 [2] https://lists.freedesktop.org/archives/libreoffice-commits/2015-January/091572.html [3] http://review.source.kitware.com/#/c/21361/ _______________________________________________ Powered by www.kitware.com 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 tevain at telecom-paristech.fr Tue Nov 15 04:40:14 2016 From: tevain at telecom-paristech.fr (Timothee Evain) Date: Tue, 15 Nov 2016 10:40:14 +0100 (CET) Subject: [ITK] Retrieving transform by downcast In-Reply-To: References: <1606649268.29022064.1479144429315.JavaMail.zimbra@enst.fr> <35012579.29029459.1479144990966.JavaMail.zimbra@enst.fr> Message-ID: <258952933.29419620.1479202814824.JavaMail.zimbra@enst.fr> Hi D?enan, static_cast do the job, thanks for the hint. Tim ----- Mail original ----- De: "D?enan Zuki?" ?: "Timothee Evain" Cc: community at itk.org Envoy?: Lundi 14 Novembre 2016 18:45:48 Objet: Re: [ITK] Retrieving transform by downcast Hi Tim, have you tried static_casting to VersorRigid3DTransform? Regards, D?enan On Mon, Nov 14, 2016 at 12:36 PM, Timothee Evain < tevain at telecom-paristech.fr> wrote: > Hi everyone, > > I'm wondering how can I retrieve the inverse of a VersorRigid3DTransform > through the GetInverseTransform() method to assign to another > VersorRigid3DTransform. > As this return a itk::Transform pointer, downcasting with dynamic_cast > leads to an error related to pointer being not one to a complete class. > I guess this had to do with Transform being a abstract class, so what is > the "standard" way to do ? Should I go through inverse parameters to > initialize the inverse transform ? > > Tim > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > From blowekamp at mail.nih.gov Tue Nov 15 10:17:39 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Tue, 15 Nov 2016 15:17:39 +0000 Subject: [ITK] [ITK-dev] [slicer-devel] Workaround for dynamic_cast on Mac OSX In-Reply-To: References: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> <8aa1ac5103314c068ca9c3034159d775@PHSX10HT6.partners.org> Message-ID: <0106B066-3F3C-4509-9397-BD19EC7C707F@mail.nih.gov> > On Nov 14, 2016, at 6:18 PM, Matt McCormick wrote: > > On Mon, Nov 14, 2016 at 2:18 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] > wrote: >> Matt, >> >> I believe that GCC 4.1 also had a very similar problem to what is occurring in with Apple Clang now. > > Thanks to the GCC version dashboard builds that you maintain, we > should be able to see if other GCC's have that issue, too :-). > Based on the good information Isaiah has referenced: It may be that the prior gcc 4.1 behavior was due to the version of libstdc++ that was distributed with gcc 4.1, so with the dashboard system using gcc4.1 with libstdc++.so.6.0.19 at runtime may have different behavior. > >> It?s interesting to note that Slicer CLI interface does not contain ITK templated objects. Does Slicer use ITK objects any where in it?s public API?s? > > Note that this issue becomes predominantly problematic when ITK > templated objects are not in the ABI but used internally (as in the > test case). > > > Thanks, > Matt I?m not sure what the right term is. Yes, in the test case the templated object is not explicitly in the ABI/API of the library, but the method exposes private templated objects by producing objects which are intended to be ?cast" to the templated object. So by documentation and behavior instances of private templated object are exposed in the API of the test case? So my point? I think that developing a clean interface without excessive multiple instances as well as not exposing private instance is important and should be the first approach. If there are places remaining in Slicer or ITK which ?expose? private symbols I would like to help to directly address them. I also acknowledge that some interfaces were not designed with this in mind and are limited in their ability to meet these best practices and therefor need the ?SafeDownCast? work around. I think I have gone past my 2 cents on this issue. HTH, Brad _______________________________________________ Powered by www.kitware.com 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 blowekamp at mail.nih.gov Tue Nov 15 10:30:10 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Tue, 15 Nov 2016 15:30:10 +0000 Subject: [ITK] [ITK-dev] Installed External Module list Message-ID: <0D7C32B4-D65A-4004-AE74-82A033EDB45A@mail.nih.gov> Hi! I am working on the SimpleITK Superbuid. I have install ITK to a directory, then I build an external ITK module, and install that too. All the headers are happily there and works just fine! However, I would like to verify that the ITK install has the additional external ITK module. I expected it to be listed in ITK_MODULES_ENABLED, but it?s not. How can I detect if an external ITK module is installed? Do we need to update the install behavior to support this? Thanks, Brad _______________________________________________ Powered by www.kitware.com 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 hans-johnson at uiowa.edu Tue Nov 15 10:25:03 2016 From: hans-johnson at uiowa.edu (Johnson, Hans J) Date: Tue, 15 Nov 2016 15:25:03 +0000 Subject: [ITK] [ITK-dev] [slicer-devel] Workaround for dynamic_cast on Mac OSX In-Reply-To: <0106B066-3F3C-4509-9397-BD19EC7C707F@mail.nih.gov> References: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> <8aa1ac5103314c068ca9c3034159d775@PHSX10HT6.partners.org> <0106B066-3F3C-4509-9397-BD19EC7C707F@mail.nih.gov> Message-ID: <670247C4-4B65-4F42-B52C-46B702E43DD5@uiowa.edu> Brad, Nicely put. Thank you everyone for digging into this issues and putting careful consideration into identifying the root of the problem. Hans -- On 11/15/16, 9:17 AM, "Lowekamp, Bradley (NIH/NLM/LHC) [C]" wrote: > On Nov 14, 2016, at 6:18 PM, Matt McCormick wrote: > > On Mon, Nov 14, 2016 at 2:18 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] > wrote: >> Matt, >> >> I believe that GCC 4.1 also had a very similar problem to what is occurring in with Apple Clang now. > > Thanks to the GCC version dashboard builds that you maintain, we > should be able to see if other GCC's have that issue, too :-). > Based on the good information Isaiah has referenced: It may be that the prior gcc 4.1 behavior was due to the version of libstdc++ that was distributed with gcc 4.1, so with the dashboard system using gcc4.1 with libstdc++.so.6.0.19 at runtime may have different behavior. > >> It?s interesting to note that Slicer CLI interface does not contain ITK templated objects. Does Slicer use ITK objects any where in it?s public API?s? > > Note that this issue becomes predominantly problematic when ITK > templated objects are not in the ABI but used internally (as in the > test case). > > > Thanks, > Matt I?m not sure what the right term is. Yes, in the test case the templated object is not explicitly in the ABI/API of the library, but the method exposes private templated objects by producing objects which are intended to be ?cast" to the templated object. So by documentation and behavior instances of private templated object are exposed in the API of the test case? So my point? I think that developing a clean interface without excessive multiple instances as well as not exposing private instance is important and should be the first approach. If there are places remaining in Slicer or ITK which ?expose? private symbols I would like to help to directly address them. I also acknowledge that some interfaces were not designed with this in mind and are limited in their ability to meet these best practices and therefor need the ?SafeDownCast? work around. I think I have gone past my 2 cents on this issue. HTH, Brad _______________________________________________ Powered by www.kitware.com 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 Nov 15 13:29:35 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Tue, 15 Nov 2016 13:29:35 -0500 Subject: [ITK] [ITK-users] FW: intensity based 2d 3d registration In-Reply-To: <50B858FB5F53124F9E32314E5C1B40943A16CCCC@MBX212.d.ethz.ch> References: <50B858FB5F53124F9E32314E5C1B40943A16CCCC@MBX212.d.ethz.ch> Message-ID: Hallo, Could you please share the small volumes are used? With the data and the code, we can add this as a test case, and get the test passing :-). Thanks, Matt On Mon, Nov 14, 2016 at 3:48 PM, D'Isidoro Fabio wrote: > Hallo, > > > > I forward again my previous email hoping for a reply. > > > > Within the context of intensity based 2D-3D registration, can > RayCastInterpolateImageFunction be used with ImageRegistrationMethodv4, as > the other interpolators listed in the manual? > RayCastInterpolateImageFunction is not in the manual as the other > interpolators: does this mean that has not been implemented for use with > ImageRegistrationMethodv4 (given that my code does not seem to work)? > > > > The problem why my code does not work is apparently not a memory issue (I > tried with a very very small 3D volume and the registration still does not > work). > > > > Thank you! > > > > From: D'Isidoro Fabio > Sent: Freitag, 11. November 2016 13:37 > To: insight-users at itk.org > Subject: intensity based 2d 3d registration > > > > Hallo, > > > > I work on itk V4.10 (latest version) with Python wrapping. I am trying to > implement a basic intensity-based 2d3d registration, with a 3D translation > as transform and without multi-level or multi-stage registration. > > I could successfully reproduce with Python wrapping the DRR generation code > (DigitallyReconstructedRadiograph1.cxx) and the 3D-3D registration examples > on the ITK manual (ImageRegistration8.cxx). > > I have combined now both for my 2D-3D registration, based on the template I > found on [1]. This template is however based on registration method v3 and > is more complex than the basic version I am trying to implement (because it > involves the Euler transform and multi-level approach). > > > > My basic version (in attachment) does not work, sometimes showing a ?Failed > to allocate memory for image? and sometimes Python just crashes (I could not > figure out the reason for this difference). I connected all components > (optimizer, metric, fixed and moving interpolator) the way I believe it > makes sense, but I am not sure whether ImageRegistrationMethodv4 supports > the RayCastInterpolateImageFunction and how it wants it to be connected and > initialized. The code fails at the registration.Update() command after a few > seconds of running. > > > > My 3D volume is a 54 MB CT scan (360X450X160), I have reduced it from the > original one to try to avoid memory allocation problems. > > > > Is my code wrong? Also, how can I debug it if I can?t put breakpoints > ?inside registration.Update()?? > > > > Looking forward to your help. > > > > Thank you, > > Fabio. > > > > [1] > https://github.com/InsightSoftwareConsortium/ITKApps/blob/master/IntensityBased2D3DRegistration/IntensityBased2D3DRegistration.cxx > > > > > > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 Tue Nov 15 13:40:37 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Tue, 15 Nov 2016 13:40:37 -0500 Subject: [ITK] [ITK-dev] Installed External Module list In-Reply-To: <0D7C32B4-D65A-4004-AE74-82A033EDB45A@mail.nih.gov> References: <0D7C32B4-D65A-4004-AE74-82A033EDB45A@mail.nih.gov> Message-ID: Hi, To require an external module, add it to the COMPONENTS argument of find_package(ITK). For example, find_package(ITK REQUIRED COMPONENTS AnExternalModule) HTH, Matt On Tue, Nov 15, 2016 at 10:30 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] wrote: > Hi! > > I am working on the SimpleITK Superbuid. I have install ITK to a directory, then I build an external ITK module, and install that too. All the headers are happily there and works just fine! > > However, I would like to verify that the ITK install has the additional external ITK module. I expected it to be listed in ITK_MODULES_ENABLED, but it?s not. How can I detect if an external ITK module is installed? > > Do we need to update the install behavior to support this? > > Thanks, > Brad > > _______________________________________________ > Powered by www.kitware.com > > 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 blowekamp at mail.nih.gov Tue Nov 15 14:07:05 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Tue, 15 Nov 2016 19:07:05 +0000 Subject: [ITK] [ITK-dev] Installed External Module list In-Reply-To: References: <0D7C32B4-D65A-4004-AE74-82A033EDB45A@mail.nih.gov> Message-ID: <59518A9E-8526-437A-BF12-11D3C3FC609B@mail.nih.gov> Matt, Yes, that is the documented usage. I do that for the subdirectories where I am about to use the components [3,4] But at the top-level, I am trying to ask what components are installed [1,2] so I know what options to turn on and how to control some aspects for the build process. How do I get a list of modules available? I am now testing with find_package?s ?OPTIONAL_COMPONENTS? to see what happens. Thanks, Brad [1] https://github.com/SimpleITK/SimpleITK/blob/master/CMakeLists.txt#L61-L83 [2] https://github.com/SimpleITK/SimpleITK/blob/master/CMake/sitkCheckForITKModuleDependencies.cmake [3] https://github.com/SimpleITK/SimpleITK/blob/master/Code/IO/src/CMakeLists.txt#L14-L20 [4] https://github.com/SimpleITK/SimpleITK/blob/master/Code/Common/src/CMakeLists.txt#L32-L34 > On Nov 15, 2016, at 1:40 PM, Matt McCormick wrote: > > Hi, > > To require an external module, add it to the COMPONENTS argument of > find_package(ITK). For example, > > find_package(ITK REQUIRED COMPONENTS AnExternalModule) > > HTH, > Matt > > On Tue, Nov 15, 2016 at 10:30 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] > wrote: >> Hi! >> >> I am working on the SimpleITK Superbuid. I have install ITK to a directory, then I build an external ITK module, and install that too. All the headers are happily there and works just fine! >> >> However, I would like to verify that the ITK install has the additional external ITK module. I expected it to be listed in ITK_MODULES_ENABLED, but it?s not. How can I detect if an external ITK module is installed? >> >> Do we need to update the install behavior to support this? >> >> Thanks, >> Brad >> >> _______________________________________________ >> Powered by www.kitware.com >> >> 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 blowekamp at mail.nih.gov Tue Nov 15 14:42:17 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Tue, 15 Nov 2016 19:42:17 +0000 Subject: [ITK] [ITK-dev] Installed External Module list In-Reply-To: <59518A9E-8526-437A-BF12-11D3C3FC609B@mail.nih.gov> References: <0D7C32B4-D65A-4004-AE74-82A033EDB45A@mail.nih.gov> <59518A9E-8526-437A-BF12-11D3C3FC609B@mail.nih.gov> Message-ID: OK, Here is my test code: set(op_mod "ITKReview") find_package(ITK REQUIRED OPTIONAL_COMPONENTS ${op_mod}) message("ITK_${op_mod}_FOUND: ${ITK_${op_mod}_FOUND}?) I?m running CMake 3.6.2. According to this documentation [1], I expect the above variable to be set if the component is available or not. Here the output: ITK_ITKReview_FOUND: So it appears these per-component variables are not being set. I thought I?d first test this with an internal module before checking an installed external. How do I optionally use ITK components? How do I know what components are available in an installed ITK? Thanks, Brad [1] https://cmake.org/cmake/help/v3.0/manual/cmake-developer.7.html#module-documentation > On Nov 15, 2016, at 2:07 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] wrote: > > Matt, > > Yes, that is the documented usage. I do that for the subdirectories where I am about to use the components [3,4] > > But at the top-level, I am trying to ask what components are installed [1,2] so I know what options to turn on and how to control some aspects for the build process. How do I get a list of modules available? > > I am now testing with find_package?s ?OPTIONAL_COMPONENTS? to see what happens. > > Thanks, > Brad > > [1] https://github.com/SimpleITK/SimpleITK/blob/master/CMakeLists.txt#L61-L83 > [2] https://github.com/SimpleITK/SimpleITK/blob/master/CMake/sitkCheckForITKModuleDependencies.cmake > [3] https://github.com/SimpleITK/SimpleITK/blob/master/Code/IO/src/CMakeLists.txt#L14-L20 > [4] https://github.com/SimpleITK/SimpleITK/blob/master/Code/Common/src/CMakeLists.txt#L32-L34 > >> On Nov 15, 2016, at 1:40 PM, Matt McCormick wrote: >> >> Hi, >> >> To require an external module, add it to the COMPONENTS argument of >> find_package(ITK). For example, >> >> find_package(ITK REQUIRED COMPONENTS AnExternalModule) >> >> HTH, >> Matt >> >> On Tue, Nov 15, 2016 at 10:30 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] >> wrote: >>> Hi! >>> >>> I am working on the SimpleITK Superbuid. I have install ITK to a directory, then I build an external ITK module, and install that too. All the headers are happily there and works just fine! >>> >>> However, I would like to verify that the ITK install has the additional external ITK module. I expected it to be listed in ITK_MODULES_ENABLED, but it?s not. How can I detect if an external ITK module is installed? >>> >>> Do we need to update the install behavior to support this? >>> >>> Thanks, >>> Brad >>> >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> 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 > _______________________________________________ > 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://kitware.com/products/protraining.php Please keep messages on-topic and check 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 Nov 15 15:16:25 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Tue, 15 Nov 2016 15:16:25 -0500 Subject: [ITK] [ITK-dev] Installed External Module list In-Reply-To: References: <0D7C32B4-D65A-4004-AE74-82A033EDB45A@mail.nih.gov> <59518A9E-8526-437A-BF12-11D3C3FC609B@mail.nih.gov> Message-ID: It does not look like that feature is implemented. Here is an issue to track: https://issues.itk.org/jira/browse/ITK-3498 Thanks, Matt On Tue, Nov 15, 2016 at 2:42 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] wrote: > OK, > > Here is my test code: > > set(op_mod "ITKReview") > find_package(ITK REQUIRED OPTIONAL_COMPONENTS ${op_mod}) > message("ITK_${op_mod}_FOUND: ${ITK_${op_mod}_FOUND}?) > > I?m running CMake 3.6.2. According to this documentation [1], I expect the above variable to be set if the component is available or not. Here the output: > > ITK_ITKReview_FOUND: > > So it appears these per-component variables are not being set. I thought I?d first test this with an internal module before checking an installed external. > > How do I optionally use ITK components? How do I know what components are available in an installed ITK? > > Thanks, > Brad > > > > [1] https://cmake.org/cmake/help/v3.0/manual/cmake-developer.7.html#module-documentation > > >> On Nov 15, 2016, at 2:07 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] wrote: >> >> Matt, >> >> Yes, that is the documented usage. I do that for the subdirectories where I am about to use the components [3,4] >> >> But at the top-level, I am trying to ask what components are installed [1,2] so I know what options to turn on and how to control some aspects for the build process. How do I get a list of modules available? >> >> I am now testing with find_package?s ?OPTIONAL_COMPONENTS? to see what happens. >> >> Thanks, >> Brad >> >> [1] https://github.com/SimpleITK/SimpleITK/blob/master/CMakeLists.txt#L61-L83 >> [2] https://github.com/SimpleITK/SimpleITK/blob/master/CMake/sitkCheckForITKModuleDependencies.cmake >> [3] https://github.com/SimpleITK/SimpleITK/blob/master/Code/IO/src/CMakeLists.txt#L14-L20 >> [4] https://github.com/SimpleITK/SimpleITK/blob/master/Code/Common/src/CMakeLists.txt#L32-L34 >> >>> On Nov 15, 2016, at 1:40 PM, Matt McCormick wrote: >>> >>> Hi, >>> >>> To require an external module, add it to the COMPONENTS argument of >>> find_package(ITK). For example, >>> >>> find_package(ITK REQUIRED COMPONENTS AnExternalModule) >>> >>> HTH, >>> Matt >>> >>> On Tue, Nov 15, 2016 at 10:30 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] >>> wrote: >>>> Hi! >>>> >>>> I am working on the SimpleITK Superbuid. I have install ITK to a directory, then I build an external ITK module, and install that too. All the headers are happily there and works just fine! >>>> >>>> However, I would like to verify that the ITK install has the additional external ITK module. I expected it to be listed in ITK_MODULES_ENABLED, but it?s not. How can I detect if an external ITK module is installed? >>>> >>>> Do we need to update the install behavior to support this? >>>> >>>> Thanks, >>>> Brad >>>> >>>> _______________________________________________ >>>> Powered by www.kitware.com >>>> >>>> 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 >> _______________________________________________ >> 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://kitware.com/products/protraining.php Please keep messages on-topic and check 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 blowekamp at mail.nih.gov Wed Nov 16 08:42:59 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Wed, 16 Nov 2016 13:42:59 +0000 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: References: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> Message-ID: <9C1668AE-7DE4-4980-A62F-D6FFD68F68A3@mail.nih.gov> Hello Zack, I am looking at the SImpleITK dashboard [1]. It appears the hyper links are not being parsed/displayed properly. With the level of nested templates SimpleITK has this would be classified as a torture test for parsing to distinguish HTML tags from C++ templates. Please let me know if this is a known issue and if it can be fixed. Thanks, Brad [1] https://open.cdash.org/viewBuildError.php?type=1&buildid=4642955 On Nov 8, 2016, at 9:02 AM, Zack Galbreath > wrote: On Mon, Nov 7, 2016 at 9:30 AM, Zack Galbreath > wrote: I just purged the cache of coverage files on open.cdash.org, so line-by-line coverage should be properly displayed once this data is resubmitted tonight. I'll double check this tomorrow morning. It looks like this is fixed now. _______________________________________________ Powered by www.kitware.com 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 _______________________________________________ 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://kitware.com/products/protraining.php Please keep messages on-topic and check 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 marc-michel.rohe at inria.fr Wed Nov 16 08:55:51 2016 From: marc-michel.rohe at inria.fr (=?UTF-8?Q?Marc-Michel_Roh=c3=a9?=) Date: Wed, 16 Nov 2016 14:55:51 +0100 Subject: [ITK] [ITK-users] Python Wrapper Pybuffer Message-ID: <582C6567.6040505@inria.fr> Hello, is there a way to read an vector image (itk::Image,3>) with the python wrapper and to convert it easily to a numpy array ? I tried using PyBuffer but it does not seem to work and I get the following error: vectorType=itk.Vector[itk.F,3] fieldType=itk.Image[vectorType,3] readerType=itk.ImageFileReader[fieldType,3] reader=readerType.New() reader.SetFileName("file") reader.Update() image=reader.GetOutput() buf = itk.PyBuffer[imageType].GetArrayFromImage(image) / //Traceback (most recent call last):// // File "", line 1, in // //NameError: name 'imageType' is not defined// //>>> buf = itk.PyBuffer[fieldType].GetArrayFromImage(image)// //Traceback (most recent call last):// // File "", line 1, in // // File "/home/mrohe/Librairies/ITK-4.9.0_wrap/build/Wrapping/Generators/Python/itkTemplate.py", line 252, in __getitem__// // (str(parameters), self.__name__))// //KeyError: "itkTemplate : No template [] for the itk::PyBuffer class"/ What I do is to cast manually the image to the numpy array (see below) with for loops (since I did not find any iterator on the python wrapper). It works but is really slow and inefficient. There must be a better way no ? for sx in range(sizeX): for sy in range(sizeY): for sz in range(sizeZ): vector=image.GetPixel([sx,sy,sz]) data[sx,sy,sz,0]=vector[0] data[sx,sy,sz,1]=vector[1] data[sx,sy,sz,2]=vector[2] -------------- 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 zack.galbreath at kitware.com Wed Nov 16 11:26:33 2016 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Wed, 16 Nov 2016 11:26:33 -0500 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: <9C1668AE-7DE4-4980-A62F-D6FFD68F68A3@mail.nih.gov> References: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> <9C1668AE-7DE4-4980-A62F-D6FFD68F68A3@mail.nih.gov> Message-ID: On Wed, Nov 16, 2016 at 8:42 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] < blowekamp at mail.nih.gov> wrote: > Hello Zack, > > I am looking at the SImpleITK dashboard [1]. It appears the hyper links > are not being parsed/displayed properly. With the level of nested templates > SimpleITK has this would be classified as a torture test for parsing to > distinguish HTML tags from C++ templates. > > Please let me know if this is a known issue and if it can be fixed. > I see what you mean. I'll report back here when I know more about what's causing this. -------------- 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 jchris.fillionr at kitware.com Wed Nov 16 13:28:09 2016 From: jchris.fillionr at kitware.com (Jean-Christophe Fillion-Robin) Date: Wed, 16 Nov 2016 13:28:09 -0500 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: References: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> <9C1668AE-7DE4-4980-A62F-D6FFD68F68A3@mail.nih.gov> Message-ID: Hi Zach, Could you also look into updating trunk.cdash.org (which is the instance behind slicer.cdash.org) ? Thanks Jc On Wed, Nov 16, 2016 at 11:26 AM, Zack Galbreath wrote: > On Wed, Nov 16, 2016 at 8:42 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] < > blowekamp at mail.nih.gov> wrote: > >> Hello Zack, >> >> I am looking at the SImpleITK dashboard [1]. It appears the hyper links >> are not being parsed/displayed properly. With the level of nested templates >> SimpleITK has this would be classified as a torture test for parsing to >> distinguish HTML tags from C++ templates. >> >> Please let me know if this is a known issue and if it can be fixed. >> > > I see what you mean. I'll report back here when I know more about what's > causing this. > > _______________________________________________ > Powered by www.kitware.com > > 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 > > -- +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 matt.mccormick at kitware.com Wed Nov 16 14:13:09 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 16 Nov 2016 14:13:09 -0500 Subject: [ITK] [ITK-users] mingw, gcc5: "too many sections" and "undefined reference to vtable" errors In-Reply-To: References: Message-ID: Hello Boris, On Sun, Oct 23, 2016 at 6:57 PM, Nagaev Boris wrote: > On Mon, Oct 24, 2016 at 12:09 AM, Nagaev Boris wrote: >> Hello, >> >> I need help building ITK 4.8.0. I cross-compile on gcc 5.3.0 from >> Linux to Windows using MinGW-w64. Everything was Ok on gcc 4.9.4. >> >> I get the same errors as in this tread: >> https://cmake.org/pipermail/insight-users/2015-September/052511.html >> My log: https://git.io/vPNmf >> >> I added -Wa,-mbig-obj flags and the same error: >> https://cmake.org/pipermail/insight-users/2015-September/052512.html >> My log: https://git.io/vPNqh >> I added the flags by adding the following to cmake command: >> -DCMAKE_C_FLAGS='-Wa,-mbig-obj' >> -DCMAKE_CXX_FLAGS='-Wa,-mbig-obj' >> >> If I add these flags and compile with gcc 4.9.0, it works. > > Latest ITK (4.10.1) builds successfully with gcc 6 after disabling > try-run (https://gist.github.com/starius/b7b1ee84faa76de1f52efe3f1959dc1d). Thanks for checking and reporting your results. If WINE is installed -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/wine is added to the cmake call, does the build complete without needing to remove the try_run statements? Thanks, Matt _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 siyuanshan at buaa.edu.cn Thu Nov 17 00:48:13 2016 From: siyuanshan at buaa.edu.cn (=?GBK?B?taXLvNS2?=) Date: Thu, 17 Nov 2016 13:48:13 +0800 (GMT+08:00) Subject: [ITK] How to implement SyNImageRegistrationMethod Message-ID: <3605c9f5.d3f.15870d4081b.Coremail.siyuanshan@buaa.edu.cn> Dear developers of ITK, I have read "the ITK software guide", and this guide is very helpful. However, I can't find anything related to SyNImageRegistrationMethod. As far as I know, Symmetric Diffeomorphic Mapping is probably the best medical image registration method now (please correct me if I am wrong, I am a newcomer). Could you give me some examples on how to implement Symmetric Diffeomorphic Mapping by ITK? Best wishes! Siyuan Shan -------------- next part -------------- An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Thu Nov 17 10:31:08 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Thu, 17 Nov 2016 15:31:08 +0000 Subject: [ITK] How to implement SyNImageRegistrationMethod In-Reply-To: <3605c9f5.d3f.15870d4081b.Coremail.siyuanshan@buaa.edu.cn> References: <3605c9f5.d3f.15870d4081b.Coremail.siyuanshan@buaa.edu.cn> Message-ID: Hello, Have you looked at the tests? Many of these were written to like examples too. This one may help you out: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Registration/RegistrationMethodsv4/test/itkSyNImageRegistrationTest.cxx HTH, Brad On Nov 17, 2016, at 12:48 AM, ??? > wrote: Dear developers of ITK, I have read "the ITK software guide", and this guide is very helpful. However, I can't find anything related to SyNImageRegistrationMethod. As far as I know, Symmetric Diffeomorphic Mapping is probably the best medical image registration method now (please correct me if I am wrong, I am a newcomer). Could you give me some examples on how to implement Symmetric Diffeomorphic Mapping by ITK? Best wishes! Siyuan Shan _______________________________________________ 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 Nov 17 10:47:46 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 17 Nov 2016 10:47:46 -0500 Subject: [ITK] How to implement SyNImageRegistrationMethod In-Reply-To: References: <3605c9f5.d3f.15870d4081b.Coremail.siyuanshan@buaa.edu.cn> Message-ID: Hi, This article also provides a good overview: http://journal.frontiersin.org/article/10.3389/fninf.2014.00044/full HTH, Matt On Thu, Nov 17, 2016 at 10:31 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] wrote: > Hello, > > Have you looked at the tests? Many of these were written to like examples > too. This one may help you out: > > https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Registration/RegistrationMethodsv4/test/itkSyNImageRegistrationTest.cxx > > HTH, > Brad > > On Nov 17, 2016, at 12:48 AM, ??? wrote: > > > Dear developers of ITK, > I have read "the ITK software guide", and this guide is very helpful. > However, I can't find anything related to SyNImageRegistrationMethod. As far > as I know, Symmetric Diffeomorphic Mapping is probably the best medical > image registration method now (please correct me if I am wrong, I am a > newcomer). Could you give me some examples on how to implement Symmetric > Diffeomorphic Mapping by ITK? > Best wishes! > Siyuan Shan > > _______________________________________________ > 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 > From blowekamp at mail.nih.gov Thu Nov 17 10:52:21 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Thu, 17 Nov 2016 15:52:21 +0000 Subject: [ITK] How to implement SyNImageRegistrationMethod In-Reply-To: References: <3605c9f5.d3f.15870d4081b.Coremail.siyuanshan@buaa.edu.cn> Message-ID: We probably should link to that article in many of the Registration methods. Brad > On Nov 17, 2016, at 10:47 AM, Matt McCormick wrote: > > Hi, > > This article also provides a good overview: > > http://journal.frontiersin.org/article/10.3389/fninf.2014.00044/full > > HTH, > Matt > > On Thu, Nov 17, 2016 at 10:31 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] > wrote: >> Hello, >> >> Have you looked at the tests? Many of these were written to like examples >> too. This one may help you out: >> >> https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Registration/RegistrationMethodsv4/test/itkSyNImageRegistrationTest.cxx >> >> HTH, >> Brad >> >> On Nov 17, 2016, at 12:48 AM, ??? wrote: >> >> >> Dear developers of ITK, >> I have read "the ITK software guide", and this guide is very helpful. >> However, I can't find anything related to SyNImageRegistrationMethod. As far >> as I know, Symmetric Diffeomorphic Mapping is probably the best medical >> image registration method now (please correct me if I am wrong, I am a >> newcomer). Could you give me some examples on how to implement Symmetric >> Diffeomorphic Mapping by ITK? >> Best wishes! >> Siyuan Shan >> >> _______________________________________________ >> 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 >> From zack.galbreath at kitware.com Fri Nov 18 15:17:28 2016 From: zack.galbreath at kitware.com (Zack Galbreath) Date: Fri, 18 Nov 2016 15:17:28 -0500 Subject: [ITK] [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT In-Reply-To: References: <61F71A78-0415-4827-AAE7-D331F5FF09FC@mail.nih.gov> <9C1668AE-7DE4-4980-A62F-D6FFD68F68A3@mail.nih.gov> Message-ID: On Wed, Nov 16, 2016 at 1:28 PM, Jean-Christophe Fillion-Robin < jchris.fillionr at kitware.com> wrote: > Hi Zach, > > Could you also look into updating trunk.cdash.org (which is the instance > behind slicer.cdash.org) ? > Will do! Just want to get a couple more PRs merged first. I'll reply back when the upgrade is complete. -------------- 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 Nov 18 17:58:17 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Fri, 18 Nov 2016 17:58:17 -0500 Subject: [ITK] [ITK-users] FW: intensity based 2d 3d registration In-Reply-To: <50B858FB5F53124F9E32314E5C1B40943A16CE8F@MBX212.d.ethz.ch> References: <50B858FB5F53124F9E32314E5C1B40943A16CCCC@MBX212.d.ethz.ch> <50B858FB5F53124F9E32314E5C1B40943A16CE8F@MBX212.d.ethz.ch> Message-ID: Hi, Thanks for sharing the code and data. After a little investigation, it appears that the wrapping is working fine, but some tweaks may be required in the spatial parameters (?). Current work is uploaded here: http://review.source.kitware.com/#/c/21775/ I noted that movCenter computation was not generating the correct value and fixed it. Also, since the ITKv4 registration method works more like a traditional pipeline filter, it is important to change the fixed image Origin with an itk.ChangeInformationImageFilter so it does not get re-set on a pipeline update. The test currently outputs: Starting registration M: 0.000000 P: 0.000000 0.000000 WARNING: In /home/matt/src/ITK/Modules/Numerics/Optimizersv4/include/itkObjectToObjectMetric.hxx, line 529 MeanSquaresImageToImageMetricv4 (0x336c9d0): No valid points were found during metric evaluation. For image metrics, verify that the images overlap appropriately. For instance, you can align the image centers by translation. For point-set metrics, verify that the fixed points, once transformed into the virtual domain space, actually lie within the virtual domain. Thanks, Matt On Tue, Nov 15, 2016 at 1:38 PM, D'Isidoro Fabio wrote: > In the zip folder you find the (slightly modified) code, the small 3D volume and relative DRR. I guess the extrinsic parameters for generation of the DRR (i.e. position of the 3D volume in the image coordinate system) is not relevant at the moment. > > Thank you! > Fabio > > -----Original Message----- > From: Matt McCormick [mailto:matt.mccormick at kitware.com] > Sent: Dienstag, 15. November 2016 19:30 > To: D'Isidoro Fabio > Cc: insight-users at itk.org > Subject: Re: [ITK-users] FW: intensity based 2d 3d registration > > Hallo, > > Could you please share the small volumes are used? With the data and the code, we can add this as a test case, and get the test passing :-). > > Thanks, > Matt > > On Mon, Nov 14, 2016 at 3:48 PM, D'Isidoro Fabio wrote: >> Hallo, >> >> >> >> I forward again my previous email hoping for a reply. >> >> >> >> Within the context of intensity based 2D-3D registration, can >> RayCastInterpolateImageFunction be used with >> ImageRegistrationMethodv4, as the other interpolators listed in the manual? >> RayCastInterpolateImageFunction is not in the manual as the other >> interpolators: does this mean that has not been implemented for use >> with >> ImageRegistrationMethodv4 (given that my code does not seem to work)? >> >> >> >> The problem why my code does not work is apparently not a memory issue >> (I tried with a very very small 3D volume and the registration still >> does not work). >> >> >> >> Thank you! >> >> >> >> From: D'Isidoro Fabio >> Sent: Freitag, 11. November 2016 13:37 >> To: insight-users at itk.org >> Subject: intensity based 2d 3d registration >> >> >> >> Hallo, >> >> >> >> I work on itk V4.10 (latest version) with Python wrapping. I am trying >> to implement a basic intensity-based 2d3d registration, with a 3D >> translation as transform and without multi-level or multi-stage registration. >> >> I could successfully reproduce with Python wrapping the DRR generation >> code >> (DigitallyReconstructedRadiograph1.cxx) and the 3D-3D registration >> examples on the ITK manual (ImageRegistration8.cxx). >> >> I have combined now both for my 2D-3D registration, based on the >> template I found on [1]. This template is however based on >> registration method v3 and is more complex than the basic version I am >> trying to implement (because it involves the Euler transform and multi-level approach). >> >> >> >> My basic version (in attachment) does not work, sometimes showing a >> ?Failed to allocate memory for image? and sometimes Python just >> crashes (I could not figure out the reason for this difference). I >> connected all components (optimizer, metric, fixed and moving >> interpolator) the way I believe it makes sense, but I am not sure >> whether ImageRegistrationMethodv4 supports the >> RayCastInterpolateImageFunction and how it wants it to be connected >> and initialized. The code fails at the registration.Update() command after a few seconds of running. >> >> >> >> My 3D volume is a 54 MB CT scan (360X450X160), I have reduced it from >> the original one to try to avoid memory allocation problems. >> >> >> >> Is my code wrong? Also, how can I debug it if I can?t put breakpoints >> ?inside registration.Update()?? >> >> >> >> Looking forward to your help. >> >> >> >> Thank you, >> >> Fabio. >> >> >> >> [1] >> https://github.com/InsightSoftwareConsortium/ITKApps/blob/master/Inten >> sityBased2D3DRegistration/IntensityBased2D3DRegistration.cxx >> >> >> >> >> >> >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the 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 tofijoy at gmail.com Mon Nov 21 11:09:56 2016 From: tofijoy at gmail.com (Fijoy Vadakkumpadan) Date: Mon, 21 Nov 2016 11:09:56 -0500 Subject: [ITK] 3D visualization Message-ID: Hello, What APIs does ITK provide to aid visualization of 3D images? I understand that ITK does not provide visualization tools themselves, but I'm looking for any ITK APIs that will produce an output that can be used in other visualization too ls, like VTK. I already see that there is an API for extracting isosurfaces. Are there any other APIs that can help with 3D visualization? Thanks, --Fijoy -------------- next part -------------- An HTML attachment was scrubbed... URL: From francois.budin at kitware.com Mon Nov 21 11:16:06 2016 From: francois.budin at kitware.com (Francois Budin) Date: Mon, 21 Nov 2016 11:16:06 -0500 Subject: [ITK] 3D visualization In-Reply-To: References: Message-ID: Hello Fijoy, You can use the "Module_ITKVtkGlue" in ITK to allow to easily pass data from ITK to VTK and back. It is convenient if you want to use VTK as your visualization library. You can look at Module_LesionSizingToolkit [1] as an example as it uses it. Hope this helps, Francois [1] https://github.com/InsightSoftwareConsortium/LesionSizingToolkit On Mon, Nov 21, 2016 at 11:09 AM, Fijoy Vadakkumpadan wrote: > Hello, > > What APIs does ITK provide to aid visualization of 3D images? > > I understand that ITK does not provide visualization tools themselves, but > I'm looking for any ITK APIs that will produce an output that can be used > in other visualization too ls, like VTK. I already see that there is an API > for extracting isosurfaces. Are there any other APIs that can help with 3D > visualization? > > Thanks, > --Fijoy > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simpsona at gmail.com Mon Nov 21 12:17:57 2016 From: simpsona at gmail.com (Amber Simpson) Date: Mon, 21 Nov 2016 12:17:57 -0500 Subject: [ITK] exporting MHD to DICOM RT Message-ID: Hi All, I have 200 images and segmented masks in MHD format that I would like to export to DICOM RT for sharing on The Cancer Imaging Archive. There is a publication that covers this topic, but the code appears to be restricted to ITK 3.10. The issues I encountered while compiling on Ubuntu 16.04 and OS X 10.9.5 are detailed below. The paper and source code: http://www.insight-journal.org/browse/publication/316 Any help would be greatly appreciated. I'm open to other approaches as well. Thanks, Amber --------------------- Compile error on the RTSTRUCT code with ITK 4.10: [ 50%] Building CXX object CMakeFiles/export2RTSTRUCT.dir /export2RTSTRUCT.cxx.o In file included from /Users/simpsonl/Dropbox/Liver/ src/RTSTRUCT/export2RTSTRUCT.cxx:8: */Users/simpsonl/Dropbox/Liver/src/RTSTRUCT/itkRTSTRUCTIO.h:28:10: **fatal error: * * 'gdcmSeqEntry.h' file not found* #include "gdcmSeqEntry.h" * ^* There is a bug report discussed here: http://public.kitware.com/pipermail/insight-users/2009-April/029900.html The error is apparently solved by reverting to ITK 3.10. Unfortunately, ITK 3.10 is not compiling on either workstation. This is the compile error with ITK 3.10 on OS X (Ubuntu was similarly problematic): */Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:668:1: note: * candidate function abs(long double __x) _NOEXCEPT {return fabsl(__x);} *^* 27 warnings and 4 errors generated. This is apparently solvable with ITK 4: https://itk.org/pipermail/insight-users/2015-March/051696.html and the cycle continues ... -------------- next part -------------- An HTML attachment was scrubbed... URL: From hans-johnson at uiowa.edu Mon Nov 21 10:08:39 2016 From: hans-johnson at uiowa.edu (Johnson, Hans J) Date: Mon, 21 Nov 2016 15:08:39 +0000 Subject: [ITK] [ITK-dev] NIFTI -- Proposed change to be more compliant Message-ID: <57FC866C-D90B-4C57-963A-F77FC872883C@uiowa.edu> ITK Developers, The following patch provides 100% backwards compatibility and an end-user modifiable interface for setting the intents of the qform & sform. http://review.source.kitware.com/#/c/21795/ The previous configuration for NIFTI files is OK if we only live in an ITK echo-system. In the ITK echo-system we ignore both the sform & qform the intent codes because we only use the values in the qform. These two lines have intent codes that are EXACTLY BACKWARDS from the recommendations https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/IO/NIFTI/src/itkNiftiImageIO.cxx#L1717 https://nifti.nimh.nih.gov/nifti-1/documentation/nifti1fields/nifti1fields_pages/qsform_brief_usage The qform_code should be set to either NIFTI_XFORM_UNKNOWN or NIFTI_XFORM_SCANNER_ANAT. The sform code should be set to either NIFTI_XFORM_UNKNOWN, NIFTI_XFORM_ALIGNED_ANAT, NIFTI_XFORM_TALAIRACH or NIFTI_XFORM_MNI_152. ================= This is a long-standing bug that should be fixed with a new patch set: The sform & qform defaults were EXACTLY BACKWARDS from the recommended uses. ================= QUESTION ========== Please help me determine the balance between backwards compatibility conformance and improved interpretation of these nifi files. Thanks, Hans ======================================================================== | Hans J. Johnson, Ph.D., Associate Professor | | Appointments: | | - Electrical and Computer Engineering (Primary) | | - Biomedical Engineering | | - Psychiatry ,NMMM~ | | - Health Informatics MMMMMMMMMMMMMMN | | - Iowa Institute for Biomedical Imaging MMMMMMMMMMMMMMMMMMM | | - Iowa Informatics Institute MMMMMMMMMMM MMMM MMM | | MMMMMMMMMM I ?MMM MM M | | hans-johnson at uiowa.edu MMMMMMM ,$M, MMMM | | (319) 621 7185 (cell) MMMM~ MMMM MMMMMM | | (319) 384 3538 ECE Phone (Primary) MM 8MMMMMM MM | | M MMMMMMM, ,M~ M | | 4316 Seamans Center MMMMMM MM | | Iowa City, IA 52242 ,? | ======================================================================== http://emailcharter.org -------------- 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 dzenanz at gmail.com Mon Nov 21 16:50:07 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 21 Nov 2016 16:50:07 -0500 Subject: [ITK] exporting MHD to DICOM RT In-Reply-To: References: Message-ID: Hi Amber, what you can try to do is use ITK 3.20.1 , which is much more similar to v3.10 than ITK 4 is. Another solution for one-off conversion is usage of SlicerRT . Regards, D?enan On Mon, Nov 21, 2016 at 12:17 PM, Amber Simpson wrote: > Hi All, > > I have 200 images and segmented masks in MHD format that I would like to > export to DICOM RT for sharing on The Cancer Imaging Archive. There is a > publication that covers this topic, but the code appears to be restricted > to ITK 3.10. The issues I encountered while compiling on Ubuntu 16.04 and > OS X 10.9.5 are detailed below. > > The paper and source code: > http://www.insight-journal.org/browse/publication/316 > > Any help would be greatly appreciated. I'm open to other approaches as > well. > > Thanks, > Amber > > > > --------------------- > > > Compile error on the RTSTRUCT code with ITK 4.10: > > [ 50%] Building CXX object CMakeFiles/export2RTSTRUCT.dir > /export2RTSTRUCT.cxx.o > > In file included from /Users/simpsonl/Dropbox/Liver/ > src/RTSTRUCT/export2RTSTRUCT.cxx:8: > > */Users/simpsonl/Dropbox/Liver/src/RTSTRUCT/itkRTSTRUCTIO.h:28:10: **fatal > error: * > > * 'gdcmSeqEntry.h' file not found* > > #include "gdcmSeqEntry.h" > > * ^* > > There is a bug report discussed here: > http://public.kitware.com/pipermail/insight-users/2009-April/029900.html > > > The error is apparently solved by reverting to ITK 3.10. Unfortunately, > ITK 3.10 is not compiling on either workstation. This is the compile error > with ITK 3.10 on OS X (Ubuntu was similarly problematic): > > */Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:668:1: > note: * > > candidate function > > abs(long double __x) _NOEXCEPT {return fabsl(__x);} > > *^* > > 27 warnings and 4 errors generated. > > This is apparently solvable with ITK 4: > > https://itk.org/pipermail/insight-users/2015-March/051696.html > > and the cycle continues ... > > > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lasso at queensu.ca Mon Nov 21 16:20:04 2016 From: lasso at queensu.ca (Andras Lasso) Date: Mon, 21 Nov 2016 21:20:04 +0000 Subject: [ITK] exporting MHD to DICOM RT In-Reply-To: References: Message-ID: I?m not sure if it helps, but you create DICOM-RT structure sets (RTSTRUCT) from labelmaps using 3D Slicer?s DICOM module and the SlicerRT extension. www.slicerrt.org https://www.slicer.org/wiki/Documentation/Nightly/Modules/DICOM#DICOM_export Andras From: Community [mailto:community-bounces at itk.org] On Behalf Of Amber Simpson Sent: November 21, 2016 12:18 To: community at itk.org Subject: [ITK] exporting MHD to DICOM RT Hi All, I have 200 images and segmented masks in MHD format that I would like to export to DICOM RT for sharing on The Cancer Imaging Archive. There is a publication that covers this topic, but the code appears to be restricted to ITK 3.10. The issues I encountered while compiling on Ubuntu 16.04 and OS X 10.9.5 are detailed below. The paper and source code: http://www.insight-journal.org/browse/publication/316 Any help would be greatly appreciated. I'm open to other approaches as well. Thanks, Amber --------------------- Compile error on the RTSTRUCT code with ITK 4.10: [ 50%] Building CXX object CMakeFiles/export2RTSTRUCT.dir/export2RTSTRUCT.cxx.o In file included from /Users/simpsonl/Dropbox/Liver/src/RTSTRUCT/export2RTSTRUCT.cxx:8: /Users/simpsonl/Dropbox/Liver/src/RTSTRUCT/itkRTSTRUCTIO.h:28:10: fatal error: 'gdcmSeqEntry.h' file not found #include "gdcmSeqEntry.h" ^ There is a bug report discussed here: http://public.kitware.com/pipermail/insight-users/2009-April/029900.html The error is apparently solved by reverting to ITK 3.10. Unfortunately, ITK 3.10 is not compiling on either workstation. This is the compile error with ITK 3.10 on OS X (Ubuntu was similarly problematic): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:668:1: note: candidate function abs(long double __x) _NOEXCEPT {return fabsl(__x);} ^ 27 warnings and 4 errors generated. This is apparently solvable with ITK 4: https://itk.org/pipermail/insight-users/2015-March/051696.html and the cycle continues ... -------------- next part -------------- An HTML attachment was scrubbed... URL: From c.spanakis83 at gmail.com Tue Nov 22 02:52:10 2016 From: c.spanakis83 at gmail.com (Constantinus Spanakis) Date: Tue, 22 Nov 2016 09:52:10 +0200 Subject: [ITK] problem with calculating Normalized Mutual Information Message-ID: Hello. I want to caculate mutual information between 2 images. The problem is that the outcome changes only when the angle of rotation changes. What could be the problem? #include "itkMutualInformationImageToImageMetric.h" #include "itkRandomImageSource.h" #include "itkTranslationTransform.h" #include"itkCenteredRigid2DTransform.h" #include "itkCenteredTransformInitializer.h" #include "itkLinearInterpolateImageFunction.h" #include"itkImageFileReader.h" #include"itkNormalizedMutualInformationHistogramImageToImageMetric.h" typedef itk::Image< unsigned char, 2> ImageType; //typedef itk::Image< float, 2> ImageType; 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; 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(); typedef itk::TranslationTransform TranslationTransformType; // This cannot be float for some reason? TranslationTransformType::Pointer transform = TranslationTransformType::New(); typedef itk::CenteredRigid2DTransform RigidTransformType; typedef itk::CenteredTransformInitializer < RigidTransformType, FixedImage, MovingImage> RigidTransformInitializerType; RigidTransformType::Pointer rigidtransform = RigidTransformType::New(); RigidTransformInitializerType::Pointer initializer = RigidTransformInitializerType::New(); initializer->SetTransform(rigidtransform); initializer->SetFixedImage(fixedreader->GetOutput()); initializer->SetMovingImage(movingreader->GetOutput()); initializer->GeometryOn(); initializer->InitializeTransform(); rigidtransform->SetAngleInDegrees(atof(argv[3])); RigidTransformType::OutputVectorType translation = rigidtransform->GetTranslation(); translation[0] = atof(argv[4]); translation[1] = atof(argv[5]); /*typedef itk::MutualInformationImageToImageMetric MetricType;*/ typedef itk::NormalizedMutualInformationHistogramImageToImageMetric MetricType; MetricType::Pointer metric = MetricType::New(); metric->SetTransform(rigidtransform); metric->SetFixedImageRegion(fixedImage->GetLargestPossibleRegion()); MetricType::MeasurementVectorType lower, upper; lower.SetSize(2); lower.Fill(0); upper.SetSize(2); upper.Fill(255); metric->SetLowerBound(lower); metric->SetUpperBound(upper); MetricType::HistogramType::SizeType histogramSize; histogramSize.SetSize(2); histogramSize[0] = 128; histogramSize[1] = 128; metric->SetHistogramSize(histogramSize); const unsigned int numberOfParameters = rigidtransform->GetNumberOfParameters(); typedef MetricType::ScalesType ScalesType; ScalesType scales(numberOfParameters); scales.Fill(1.0); metric->SetDerivativeStepLengthScales(scales); metric->SetFixedImage(fixedImage); metric->SetMovingImage(movingImage); metric->SetFixedImageRegion(fixedImage->GetLargestPossibleRegion()); itk::LinearInterpolateImageFunction::Pointer interpolator = itk::LinearInterpolateImageFunction::New(); interpolator->SetInputImage(fixedImage); metric->SetInterpolator(interpolator); std::cout << fixedreader->GetOutput()->GetLargestPossibleRegion().GetSize(); RigidTransformType::InputPointType m = rigidtransform->GetCenter(); m[0] = 300; m[1] = 300; rigidtransform->SetCenter(m); std::cout << "parameters: " << rigidtransform->GetParameters() << std::endl; std::cout << "pcenter: " << m << std::endl; metric->SetTransformParameters(rigidtransform->GetParameters()); MetricType::MeasureType value = metric->GetValue(rigidtransform->GetParameters()); std::cout << "Value: " << value << std::endl; return EXIT_SUCCESS; } -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzenanz at gmail.com Tue Nov 22 09:03:34 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Tue, 22 Nov 2016 09:03:34 -0500 Subject: [ITK] problem with calculating Normalized Mutual Information In-Reply-To: References: Message-ID: Hi Constantinus, the line RigidTransformType::OutputVectorType translation = rigidtransform->GetTranslation(); copies the translation into a new variable. Changing the new variable translation leaves the rigidtransform totally unaffected. After setting values to translation, you should do something like rigidtransform->SetTranslation(translation); Regards, D?enan On Tue, Nov 22, 2016 at 2:52 AM, Constantinus Spanakis < c.spanakis83 at gmail.com> wrote: > Hello. I want to caculate mutual information between 2 images. The problem > is that the outcome changes only when the angle of rotation changes. What > could be the problem? > > #include "itkMutualInformationImageToImageMetric.h" > #include "itkRandomImageSource.h" > #include "itkTranslationTransform.h" > #include"itkCenteredRigid2DTransform.h" > #include "itkCenteredTransformInitializer.h" > #include "itkLinearInterpolateImageFunction.h" > #include"itkImageFileReader.h" > #include"itkNormalizedMutualInformationHistogramImageToImageMetric.h" > > > typedef itk::Image< unsigned char, 2> ImageType; > //typedef itk::Image< float, 2> ImageType; > > 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; > > 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(); > > > typedef itk::TranslationTransform TranslationTransformType; > // This cannot be float for some reason? > TranslationTransformType::Pointer transform = > TranslationTransformType::New(); > > typedef itk::CenteredRigid2DTransform RigidTransformType; > typedef itk::CenteredTransformInitializer < RigidTransformType, > FixedImage, MovingImage> RigidTransformInitializerType; > > > RigidTransformType::Pointer rigidtransform = RigidTransformType::New(); > RigidTransformInitializerType::Pointer initializer = > RigidTransformInitializerType::New(); > > initializer->SetTransform(rigidtransform); > initializer->SetFixedImage(fixedreader->GetOutput()); > initializer->SetMovingImage(movingreader->GetOutput()); > initializer->GeometryOn(); > initializer->InitializeTransform(); > > rigidtransform->SetAngleInDegrees(atof(argv[3])); > > RigidTransformType::OutputVectorType translation = rigidtransform-> > GetTranslation(); > translation[0] = atof(argv[4]); > translation[1] = atof(argv[5]); > > > > /*typedef itk::MutualInformationImageToImageMetric MovingImage > MetricType;*/ > > typedef itk::NormalizedMutualInformationHistogramImageToImageMetric MovingImage> MetricType; > > > MetricType::Pointer metric = MetricType::New(); > > metric->SetTransform(rigidtransform); > > > metric->SetFixedImageRegion(fixedImage->GetLargestPossibleRegion()); > MetricType::MeasurementVectorType lower, upper; > lower.SetSize(2); > lower.Fill(0); > > upper.SetSize(2); > upper.Fill(255); > > metric->SetLowerBound(lower); > metric->SetUpperBound(upper); > > MetricType::HistogramType::SizeType histogramSize; > histogramSize.SetSize(2); > histogramSize[0] = 128; > histogramSize[1] = 128; > > metric->SetHistogramSize(histogramSize); > > const unsigned int numberOfParameters = rigidtransform-> > GetNumberOfParameters(); > typedef MetricType::ScalesType ScalesType; > ScalesType scales(numberOfParameters); > > scales.Fill(1.0); > > metric->SetDerivativeStepLengthScales(scales); > > metric->SetFixedImage(fixedImage); > metric->SetMovingImage(movingImage); > > > > > metric->SetFixedImageRegion(fixedImage->GetLargestPossibleRegion()); > > > itk::LinearInterpolateImageFunction::Pointer > interpolator = itk::LinearInterpolateImageFunction double>::New(); > interpolator->SetInputImage(fixedImage); > metric->SetInterpolator(interpolator); > > > > std::cout << fixedreader->GetOutput()->GetLargestPossibleRegion(). > GetSize(); > RigidTransformType::InputPointType m = rigidtransform->GetCenter(); > m[0] = 300; > m[1] = 300; > rigidtransform->SetCenter(m); > std::cout << "parameters: " << rigidtransform->GetParameters() << > std::endl; > std::cout << "pcenter: " << m << std::endl; > > metric->SetTransformParameters(rigidtransform->GetParameters()); > MetricType::MeasureType value = metric->GetValue( > rigidtransform->GetParameters()); > > std::cout << "Value: " << value << std::endl; > > return EXIT_SUCCESS; > } > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Tue Nov 22 09:33:13 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Tue, 22 Nov 2016 14:33:13 +0000 Subject: [ITK] [ITK-dev] [slicer-devel] Workaround for dynamic_cast on Mac OSX In-Reply-To: References: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> <8aa1ac5103314c068ca9c3034159d775@PHSX10HT6.partners.org> Message-ID: Hello, I had one more thought on this issue as I was reading on other topics. There appears to be ways to pass the linker list of symbols or REGEX of symbols to export (-export-symbols and -export-symbols-regex). Perhaps instead of monkeying too much with the ITK casting and class export specification, maybe a regex for the RTTI or a generated list of symbols could be generated to export for the problematic configuration for WrapITK? Just another thought. Brad > On Nov 15, 2016, at 10:17 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] wrote: > > >> On Nov 14, 2016, at 6:18 PM, Matt McCormick wrote: >> >> On Mon, Nov 14, 2016 at 2:18 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] >> wrote: >>> Matt, >>> >>> I believe that GCC 4.1 also had a very similar problem to what is occurring in with Apple Clang now. >> >> Thanks to the GCC version dashboard builds that you maintain, we >> should be able to see if other GCC's have that issue, too :-). >> > > Based on the good information Isaiah has referenced: It may be that the prior gcc 4.1 behavior was due to the version of libstdc++ that was distributed with gcc 4.1, so with the dashboard system using gcc4.1 with libstdc++.so.6.0.19 at runtime may have different behavior. > >> >>> It?s interesting to note that Slicer CLI interface does not contain ITK templated objects. Does Slicer use ITK objects any where in it?s public API?s? >> >> Note that this issue becomes predominantly problematic when ITK >> templated objects are not in the ABI but used internally (as in the >> test case). >> >> >> Thanks, >> Matt > > I?m not sure what the right term is. Yes, in the test case the templated object is not explicitly in the ABI/API of the library, but the method exposes private templated objects by producing objects which are intended to be ?cast" to the templated object. So by documentation and behavior instances of private templated object are exposed in the API of the test case? > > So my point? I think that developing a clean interface without excessive multiple instances as well as not exposing private instance is important and should be the first approach. If there are places remaining in Slicer or ITK which ?expose? private symbols I would like to help to directly address them. > > I also acknowledge that some interfaces were not designed with this in mind and are limited in their ability to meet these best practices and therefor need the ?SafeDownCast? work around. > > I think I have gone past my 2 cents on this issue. > > HTH, > Brad > _______________________________________________ > slicer-devel mailing list > slicer-devel at bwh.harvard.edu > http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel > To unsubscribe: send email to slicer-devel-request at bwh.harvard.edu with unsubscribe as the subject > http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ _______________________________________________ Powered by www.kitware.com 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 simpsona at gmail.com Tue Nov 22 11:06:29 2016 From: simpsona at gmail.com (Amber Simpson) Date: Tue, 22 Nov 2016 11:06:29 -0500 Subject: [ITK] exporting MHD to DICOM RT In-Reply-To: References: Message-ID: Thanks all. I made a mistake in the previous: I used ITK 3.20. I will make one last attempt to get the source code from the publication up and running by compiling on an older Ubuntu workstation. I'll let you know how it goes. On Mon, Nov 21, 2016 at 4:50 PM, D?enan Zuki? wrote: > Hi Amber, > > what you can try to do is use ITK 3.20.1 > , > which is much more similar to v3.10 than ITK 4 is. Another solution for > one-off conversion is usage of SlicerRT . > > Regards, > D?enan > > On Mon, Nov 21, 2016 at 12:17 PM, Amber Simpson > wrote: > >> Hi All, >> >> I have 200 images and segmented masks in MHD format that I would like to >> export to DICOM RT for sharing on The Cancer Imaging Archive. There is a >> publication that covers this topic, but the code appears to be restricted >> to ITK 3.10. The issues I encountered while compiling on Ubuntu 16.04 and >> OS X 10.9.5 are detailed below. >> >> The paper and source code: >> http://www.insight-journal.org/browse/publication/316 >> >> Any help would be greatly appreciated. I'm open to other approaches as >> well. >> >> Thanks, >> Amber >> >> >> >> --------------------- >> >> >> Compile error on the RTSTRUCT code with ITK 4.10: >> >> [ 50%] Building CXX object CMakeFiles/export2RTSTRUCT.dir >> /export2RTSTRUCT.cxx.o >> >> In file included from /Users/simpsonl/Dropbox/Liver/ >> src/RTSTRUCT/export2RTSTRUCT.cxx:8: >> >> */Users/simpsonl/Dropbox/Liver/src/RTSTRUCT/itkRTSTRUCTIO.h:28:10: **fatal >> error: * >> >> * 'gdcmSeqEntry.h' file not found* >> >> #include "gdcmSeqEntry.h" >> >> * ^* >> >> There is a bug report discussed here: >> http://public.kitware.com/pipermail/insight-users/2009-April/029900.html >> >> >> The error is apparently solved by reverting to ITK 3.10. Unfortunately, >> ITK 3.10 is not compiling on either workstation. This is the compile error >> with ITK 3.10 on OS X (Ubuntu was similarly problematic): >> >> */Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:668:1: >> note: * >> >> candidate function >> >> abs(long double __x) _NOEXCEPT {return fabsl(__x);} >> >> *^* >> >> 27 warnings and 4 errors generated. >> >> This is apparently solvable with ITK 4: >> >> https://itk.org/pipermail/insight-users/2015-March/051696.html >> >> and the cycle continues ... >> >> >> >> >> _______________________________________________ >> Community mailing list >> Community at itk.org >> http://public.kitware.com/mailman/listinfo/community >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From isaiah.norton at gmail.com Tue Nov 22 11:22:59 2016 From: isaiah.norton at gmail.com (Isaiah Norton) Date: Tue, 22 Nov 2016 11:22:59 -0500 Subject: [ITK] [ITK-dev] [slicer-devel] Workaround for dynamic_cast on Mac OSX In-Reply-To: References: <2702DADA-25CD-42D6-9CCE-BA306F400B1C@uiowa.edu> <8aa1ac5103314c068ca9c3034159d775@PHSX10HT6.partners.org> Message-ID: On Tue, Nov 22, 2016 at 9:33 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] < blowekamp at mail.nih.gov> wrote: > > There appears to be ways to pass the linker list of symbols or REGEX of > symbols to export (-export-symbols and -export-symbols-regex). Perhaps > instead of monkeying too much with the ITK casting and class export > specification, maybe a regex for the RTTI or a generated list of symbols > could be generated to export for the problematic configuration for WrapITK? > These are libtool options, and they aren't supported by the OS X version of libtool. There is a related `-exported_symbols_list` ld option, but the Apple documentation warns that the export list cannot positively override the symbol visibility set by the compiler: https://developer.apple.com/library/content/technotes/ tn2185/_index.html#//apple_ref/doc/uid/DTS10004200-CH1-SUBSECTION5 On a related note, I looked at the implementation of `-fvisibility-ms-compat` in Clang, and it turns out there is a corresponding `__attribute__(type_visibility(...))` annotation which could be used on class declarations. See: http://stackoverflow.com/questions/28437772/what-does- clangs-type-visibility-attribute-do-and-when-should-one-use-it But the annotation is not supported by GCC, so `visibility-ms-compat` is probably still a better option to allow compatibility with both OSX and Linux. Best, Isaiah Just another thought. > Brad > > > On Nov 15, 2016, at 10:17 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] < > blowekamp at mail.nih.gov> wrote: > > > > > >> On Nov 14, 2016, at 6:18 PM, Matt McCormick > wrote: > >> > >> On Mon, Nov 14, 2016 at 2:18 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] > >> wrote: > >>> Matt, > >>> > >>> I believe that GCC 4.1 also had a very similar problem to what is > occurring in with Apple Clang now. > >> > >> Thanks to the GCC version dashboard builds that you maintain, we > >> should be able to see if other GCC's have that issue, too :-). > >> > > > > Based on the good information Isaiah has referenced: It may be that the > prior gcc 4.1 behavior was due to the version of libstdc++ that was > distributed with gcc 4.1, so with the dashboard system using gcc4.1 with > libstdc++.so.6.0.19 at runtime may have different behavior. > > > >> > >>> It?s interesting to note that Slicer CLI interface does not contain > ITK templated objects. Does Slicer use ITK objects any where in it?s public > API?s? > >> > >> Note that this issue becomes predominantly problematic when ITK > >> templated objects are not in the ABI but used internally (as in the > >> test case). > >> > >> > >> Thanks, > >> Matt > > > > I?m not sure what the right term is. Yes, in the test case the templated > object is not explicitly in the ABI/API of the library, but the method > exposes private templated objects by producing objects which are intended > to be ?cast" to the templated object. So by documentation and behavior > instances of private templated object are exposed in the API of the test > case? > > > > So my point? I think that developing a clean interface without excessive > multiple instances as well as not exposing private instance is important > and should be the first approach. If there are places remaining in Slicer > or ITK which ?expose? private symbols I would like to help to directly > address them. > > > > I also acknowledge that some interfaces were not designed with this in > mind and are limited in their ability to meet these best practices and > therefor need the ?SafeDownCast? work around. > > > > I think I have gone past my 2 cents on this issue. > > > > HTH, > > Brad > > _______________________________________________ > > slicer-devel mailing list > > slicer-devel at bwh.harvard.edu > > http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel > > To unsubscribe: send email to slicer-devel-request at bwh.harvard.edu with > unsubscribe as the subject > > http://www.slicer.org/slicerWiki/index.php/Documentation/ > Nightly/Developers/FAQ > > _______________________________________________ > Powered by www.kitware.com > > 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 c.spanakis83 at gmail.com Tue Nov 22 14:03:15 2016 From: c.spanakis83 at gmail.com (Constantinus Spanakis) Date: Tue, 22 Nov 2016 21:03:15 +0200 Subject: [ITK] Exception occurence Message-ID: Hello. I tried to compute Normalized Mutual information for a number of different transformations and I get an exception. Them I tried to do some debugging and Microsoft Visual Studio directed me to unhandld.cpp and specifically at line 40. /*** *unhandld.cxx - Wrapper to call terminate() when an exception goes unhandled. * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * Wrapper to call terminate() when an exception goes unhandled. ****/ #include #include #include #include #include #include #include #include #pragma hdrstop #include extern "C" int __cdecl __CxxSetUnhandledExceptionFilter(void); ///////////////////////////////////////////////////////////////////////////// // // __CxxUnhandledExceptionFilter - if the exception is ours, call terminate(); // // Returns: // If the exception was MSVC C++ EH, does not return. // If the previous filter was NULL, returns EXCEPTION_CONTINUE_SEARCH. // Otherwise returns value returned by previous filter. // LONG WINAPI __CxxUnhandledExceptionFilter( LPEXCEPTION_POINTERS pPtrs ) { if (PER_IS_MSVC_PURE_OR_NATIVE_EH((EHExceptionRecord*)(pPtrs->ExceptionRecord))) { terminate(); // Does not return return EXCEPTION_EXECUTE_HANDLER; } return EXCEPTION_CONTINUE_SEARCH; } The break point is at return EXCEPTION_EXECUTE_HANDLER; What could envoke this exception? Thank you in advance -------------- next part -------------- An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Tue Nov 22 14:06:19 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Tue, 22 Nov 2016 19:06:19 +0000 Subject: [ITK] Exception occurence In-Reply-To: References: Message-ID: <4191B623-E027-4EF9-9F36-629F7C2EFD79@mail.nih.gov> Hello, Have you tried placing a try {?} catch{std::exception &e) {?} around you code? http://www.cplusplus.com/doc/tutorial/exceptions/ Brad > On Nov 22, 2016, at 2:03 PM, Constantinus Spanakis wrote: > > Hello. I tried to compute Normalized Mutual information for a number of different transformations > and I get an exception. Them I tried to do some debugging and Microsoft Visual Studio directed me to unhandld.cpp and specifically at line 40. > > /*** > *unhandld.cxx - Wrapper to call terminate() when an exception goes unhandled. > * > * Copyright (c) Microsoft Corporation. All rights reserved. > * > *Purpose: > * Wrapper to call terminate() when an exception goes unhandled. > ****/ > > #include > #include > #include > #include > #include > #include > #include > #include > > #pragma hdrstop > > #include > > extern "C" int __cdecl __CxxSetUnhandledExceptionFilter(void); > > ///////////////////////////////////////////////////////////////////////////// > // > // __CxxUnhandledExceptionFilter - if the exception is ours, call terminate(); > // > // Returns: > // If the exception was MSVC C++ EH, does not return. > // If the previous filter was NULL, returns EXCEPTION_CONTINUE_SEARCH. > // Otherwise returns value returned by previous filter. > // > LONG WINAPI __CxxUnhandledExceptionFilter( > LPEXCEPTION_POINTERS pPtrs > ) > { > if (PER_IS_MSVC_PURE_OR_NATIVE_EH((EHExceptionRecord*)(pPtrs->ExceptionRecord))) { > terminate(); // Does not return > return EXCEPTION_EXECUTE_HANDLER; > } > return EXCEPTION_CONTINUE_SEARCH; > } > > > The break point is at return EXCEPTION_EXECUTE_HANDLER; > > What could envoke this exception? > > Thank you in advance > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community From c.spanakis83 at gmail.com Tue Nov 22 15:40:04 2016 From: c.spanakis83 at gmail.com (Constantinus Spanakis) Date: Tue, 22 Nov 2016 22:40:04 +0200 Subject: [ITK] Exception occurence In-Reply-To: <4191B623-E027-4EF9-9F36-629F7C2EFD79@mail.nih.gov> References: <4191B623-E027-4EF9-9F36-629F7C2EFD79@mail.nih.gov> Message-ID: I did what you said, and i got the following error Description: itk::ERROR: NormalizedMutualInformationHistogramImageToImageMetric(000000ECBF28D810): All the points mapped to outside of the moving image. which is peculiar. What could be the problem? On Tue, Nov 22, 2016 at 9:06 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] < blowekamp at mail.nih.gov> wrote: > Hello, > > Have you tried placing a try {?} catch{std::exception &e) {?} around you > code? > > http://www.cplusplus.com/doc/tutorial/exceptions/ > > Brad > > > On Nov 22, 2016, at 2:03 PM, Constantinus Spanakis < > c.spanakis83 at gmail.com> wrote: > > > > Hello. I tried to compute Normalized Mutual information for a number of > different transformations > > and I get an exception. Them I tried to do some debugging and Microsoft > Visual Studio directed me to unhandld.cpp and specifically at line 40. > > > > /*** > > *unhandld.cxx - Wrapper to call terminate() when an exception goes > unhandled. > > * > > * Copyright (c) Microsoft Corporation. All rights reserved. > > * > > *Purpose: > > * Wrapper to call terminate() when an exception goes unhandled. > > ****/ > > > > #include > > #include > > #include > > #include > > #include > > #include > > #include > > #include > > > > #pragma hdrstop > > > > #include > > > > extern "C" int __cdecl __CxxSetUnhandledExceptionFilter(void); > > > > //////////////////////////////////////////////////////////// > ///////////////// > > // > > // __CxxUnhandledExceptionFilter - if the exception is ours, call > terminate(); > > // > > // Returns: > > // If the exception was MSVC C++ EH, does not return. > > // If the previous filter was NULL, returns > EXCEPTION_CONTINUE_SEARCH. > > // Otherwise returns value returned by previous filter. > > // > > LONG WINAPI __CxxUnhandledExceptionFilter( > > LPEXCEPTION_POINTERS pPtrs > > ) > > { > > if (PER_IS_MSVC_PURE_OR_NATIVE_EH((EHExceptionRecord*)(pPtrs->ExceptionRecord))) > { > > terminate(); // Does not return > > return EXCEPTION_EXECUTE_HANDLER; > > } > > return EXCEPTION_CONTINUE_SEARCH; > > } > > > > > > The break point is at return EXCEPTION_EXECUTE_HANDLER; > > > > What could envoke this exception? > > > > Thank you 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 dzenanz at gmail.com Tue Nov 22 17:57:36 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Tue, 22 Nov 2016 17:57:36 -0500 Subject: [ITK] Exception occurence In-Reply-To: References: <4191B623-E027-4EF9-9F36-629F7C2EFD79@mail.nih.gov> Message-ID: You most likely did not initialize the transform properly. In other words, when your image is transformed it does not overlap the other image. Regards On Tue, Nov 22, 2016 at 3:40 PM, Constantinus Spanakis < c.spanakis83 at gmail.com> wrote: > I did what you said, and i got the following error > > Description: itk::ERROR: NormalizedMutualInformationHis > togramImageToImageMetric(000000ECBF28D810): All the points mapped to > outside of the moving image. > > which is peculiar. What could be the problem? > > On Tue, Nov 22, 2016 at 9:06 PM, Lowekamp, Bradley (NIH/NLM/LHC) [C] < > blowekamp at mail.nih.gov> wrote: > >> Hello, >> >> Have you tried placing a try {?} catch{std::exception &e) {?} around you >> code? >> >> http://www.cplusplus.com/doc/tutorial/exceptions/ >> >> Brad >> >> > On Nov 22, 2016, at 2:03 PM, Constantinus Spanakis < >> c.spanakis83 at gmail.com> wrote: >> > >> > Hello. I tried to compute Normalized Mutual information for a number of >> different transformations >> > and I get an exception. Them I tried to do some debugging and Microsoft >> Visual Studio directed me to unhandld.cpp and specifically at line 40. >> > >> > /*** >> > *unhandld.cxx - Wrapper to call terminate() when an exception goes >> unhandled. >> > * >> > * Copyright (c) Microsoft Corporation. All rights reserved. >> > * >> > *Purpose: >> > * Wrapper to call terminate() when an exception goes unhandled. >> > ****/ >> > >> > #include >> > #include >> > #include >> > #include >> > #include >> > #include >> > #include >> > #include >> > >> > #pragma hdrstop >> > >> > #include >> > >> > extern "C" int __cdecl __CxxSetUnhandledExceptionFilter(void); >> > >> > //////////////////////////////////////////////////////////// >> ///////////////// >> > // >> > // __CxxUnhandledExceptionFilter - if the exception is ours, call >> terminate(); >> > // >> > // Returns: >> > // If the exception was MSVC C++ EH, does not return. >> > // If the previous filter was NULL, returns >> EXCEPTION_CONTINUE_SEARCH. >> > // Otherwise returns value returned by previous filter. >> > // >> > LONG WINAPI __CxxUnhandledExceptionFilter( >> > LPEXCEPTION_POINTERS pPtrs >> > ) >> > { >> > if (PER_IS_MSVC_PURE_OR_NATIVE_EH((EHExceptionRecord*)(pPtrs->ExceptionRecord))) >> { >> > terminate(); // Does not return >> > return EXCEPTION_EXECUTE_HANDLER; >> > } >> > return EXCEPTION_CONTINUE_SEARCH; >> > } >> > >> > >> > The break point is at return EXCEPTION_EXECUTE_HANDLER; >> > >> > What could envoke this exception? >> > >> > Thank you in advance >> > >> > _______________________________________________ >> > 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 jothybasu at gmail.com Fri Nov 25 04:54:57 2016 From: jothybasu at gmail.com (Jothybasu Selvaraj) Date: Fri, 25 Nov 2016 20:54:57 +1100 Subject: [ITK] [ITK-users] Reading private tags Message-ID: Hi Guys How do I read a private tag using gdcm? I tried both ITK::GDCMIO and also gdcm seperately. GDCM docs say we need to to enable ReadSelectedPrivateTags() Is there any example? Thanks Jothy -------------- 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 Fri Nov 25 05:59:18 2016 From: noreply at insightsoftwareconsortium.org (Insight Journal) Date: Fri, 25 Nov 2016 05:59:18 -0500 (EST) Subject: [ITK] [ITK-users] New Submission: Perturbing Mesh Vertices with Additive Gaussian Noise Message-ID: <20161125105918.0EFFA3D6209F@insight-journal.org> Hello, A new submission has been added to the Insight Journal. Title: Perturbing Mesh Vertices with Additive Gaussian Noise Authors: Vigneault D. Abstract: This brief document provides an introduction to an external ITK module, DVMeshNoise. This module provides classes for perturbing the positions of the vertices of either an itk::Mesh or itk::QuadEdgeMesh with Gaussian noise. This may be useful in testing the robustness of an algorithm to small changes in the input mesh, augmenting datasets for machine learning, and counteracting deleterious effects which highly regular regions of a mesh may occasionally have on mesh processing. After demonstrating basic usage, we present a practical example to show how these classes can be incorporated into a pipeline to improve mesh quality. Download and review this publication at: http://hdl.handle.net/10380/3567 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 blowekamp at mail.nih.gov Fri Nov 25 08:34:00 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Fri, 25 Nov 2016 13:34:00 +0000 Subject: [ITK] Retrieving transform by downcast In-Reply-To: <258952933.29419620.1479202814824.JavaMail.zimbra@enst.fr> References: <1606649268.29022064.1479144429315.JavaMail.zimbra@enst.fr> <35012579.29029459.1479144990966.JavaMail.zimbra@enst.fr> <258952933.29419620.1479202814824.JavaMail.zimbra@enst.fr> Message-ID: What version of ITK are you using? If this transform originated from IO, then there is a patch in 4.10.1 that should address the problem so that the more robust and safe dynamic_cast can stilll be used. HTH, Brad > On Nov 15, 2016, at 4:40 AM, Timothee Evain wrote: > > Hi D?enan, > > static_cast do the job, thanks for the hint. > > Tim > > ----- Mail original ----- > De: "D?enan Zuki?" > ?: "Timothee Evain" > Cc: community at itk.org > Envoy?: Lundi 14 Novembre 2016 18:45:48 > Objet: Re: [ITK] Retrieving transform by downcast > > Hi Tim, > > have you tried static_casting to VersorRigid3DTransform? > > Regards, > D?enan > > On Mon, Nov 14, 2016 at 12:36 PM, Timothee Evain < > tevain at telecom-paristech.fr> wrote: > >> Hi everyone, >> >> I'm wondering how can I retrieve the inverse of a VersorRigid3DTransform >> through the GetInverseTransform() method to assign to another >> VersorRigid3DTransform. >> As this return a itk::Transform pointer, downcasting with dynamic_cast >> leads to an error related to pointer being not one to a complete class. >> I guess this had to do with Transform being a abstract class, so what is >> the "standard" way to do ? Should I go through inverse parameters to >> initialize the inverse transform ? >> >> Tim >> _______________________________________________ >> 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 From tevain at telecom-paristech.fr Fri Nov 25 09:06:48 2016 From: tevain at telecom-paristech.fr (Timothee Evain) Date: Fri, 25 Nov 2016 15:06:48 +0100 (CET) Subject: [ITK] Retrieving transform by downcast In-Reply-To: References: <1606649268.29022064.1479144429315.JavaMail.zimbra@enst.fr> <35012579.29029459.1479144990966.JavaMail.zimbra@enst.fr> <258952933.29419620.1479202814824.JavaMail.zimbra@enst.fr> Message-ID: <1710281691.38096470.1480082808191.JavaMail.zimbra@enst.fr> Hi Brad, I'm on 4.10(.0). Thanks for the follow-up, I will take a look. Tim ----- Mail original ----- De: "Bradley Lowekamp (NIH/NLM/LHC) [C]" ?: "Timothee Evain" Cc: "D?enan Zuki?" , community at itk.org Envoy?: Vendredi 25 Novembre 2016 14:34:00 Objet: Re: [ITK] Retrieving transform by downcast What version of ITK are you using? If this transform originated from IO, then there is a patch in 4.10.1 that should address the problem so that the more robust and safe dynamic_cast can stilll be used. HTH, Brad > On Nov 15, 2016, at 4:40 AM, Timothee Evain wrote: > > Hi D?enan, > > static_cast do the job, thanks for the hint. > > Tim > > ----- Mail original ----- > De: "D?enan Zuki?" > ?: "Timothee Evain" > Cc: community at itk.org > Envoy?: Lundi 14 Novembre 2016 18:45:48 > Objet: Re: [ITK] Retrieving transform by downcast > > Hi Tim, > > have you tried static_casting to VersorRigid3DTransform? > > Regards, > D?enan > > On Mon, Nov 14, 2016 at 12:36 PM, Timothee Evain < > tevain at telecom-paristech.fr> wrote: > >> Hi everyone, >> >> I'm wondering how can I retrieve the inverse of a VersorRigid3DTransform >> through the GetInverseTransform() method to assign to another >> VersorRigid3DTransform. >> As this return a itk::Transform pointer, downcasting with dynamic_cast >> leads to an error related to pointer being not one to a complete class. >> I guess this had to do with Transform being a abstract class, so what is >> the "standard" way to do ? Should I go through inverse parameters to >> initialize the inverse transform ? >> >> Tim >> _______________________________________________ >> 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 From dzenanz at gmail.com Fri Nov 25 10:06:10 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Fri, 25 Nov 2016 10:06:10 -0500 Subject: [ITK] [ITK-users] Reading private tags In-Reply-To: References: Message-ID: Hi Jothy, you should call SetLoadPrivateTags method on GDCMImageIO. See also read tags example . Regards, D?enan On Fri, Nov 25, 2016 at 4:54 AM, Jothybasu Selvaraj wrote: > Hi Guys > > How do I read a private tag using gdcm? > > I tried both ITK::GDCMIO and also gdcm seperately. GDCM docs say we need > to to enable ReadSelectedPrivateTags() > > Is there any example? > > Thanks > > Jothy > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 Gordian.Kabelitz at medma.uni-heidelberg.de Fri Nov 25 10:20:35 2016 From: Gordian.Kabelitz at medma.uni-heidelberg.de (Kabelitz, Gordian) Date: Fri, 25 Nov 2016 15:20:35 +0000 Subject: [ITK] [ITK-users] Conversion from cv::mat to writable itk::image Message-ID: <4c486ee23a55475d9816e42cb1c8c564@exch06.ad.uni-heidelberg.de> Hello, i started working on a program that uses ITK in combination with OpenCV. At the moment I encounter the problem with the image conversion from cv::Mat to itk::image. Using OpenCVImageBridge:: ITKImageToCVMat() can convert ITK images to cv::Mat and works pretty well. That part is similar to [1]. A problem occurs, when I want to convert the images back to ITK images by using OpenCVImageBridge:: CVMatToITKImage (). Here is a code snippet (similar to [2]): [...] cv::Mat outimage = cvImage; // outimage is an image previously converted from itk::image to cv::Mat typedef itk::OpenCVImageBridge BridgeType; CVImageType::Pointer outputImage = BridgeType::CVMatToITKImage(outimage); typedef itk::CastImageFilter< CVImageType, OutImage > CastFilterType; CastFilterType::Pointer caster = CastFilterType::New(); caster->SetInput(outputImage); typedef itk::ImageFileWriter WriterType; WriterType::Pointer outputWriter = WriterType::New(); outputWriter->SetImageIO(gdcmIO); outputWriter->SetInput(caster->GetOutput()); outputWriter->SetFileName(argv[2]); try { outputWriter->Update(); } catch (itk::ExceptionObject err) { std::cout << "EXCEPTION CAUGHT!" << std::endl; std::cout << err << std::endl; return EXIT_FAILURE; } It compiles and runs with only the following error: Description: itk::ERROR: GDCMImageIO(0000000003B22290): A Floating point buffer was passed but the stored pixel type was not specified. This is currently not supported. Is there an option to get a writable image? Did I make an obvious mistake? Is there a website to get more examples working for ITK with Opencv? Thanks in advance, Gordian [1]: https://github.com/InsightSoftwareConsortium/ITK-OpenCV-Bridge-Tutorial [2]: https://github.com/InsightSoftwareConsortium/ITK-OpenCV-Bridge-Tutorial/blob/master/Exercises/ITKOpenCVBridge/exercise2/BasicVideoFilteringITKOpenCVBridge.cxx _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Nov 25 11:26:24 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Fri, 25 Nov 2016 11:26:24 -0500 Subject: [ITK] [ITK-users] Conversion from cv::mat to writable itk::image In-Reply-To: <4c486ee23a55475d9816e42cb1c8c564@exch06.ad.uni-heidelberg.de> References: <4c486ee23a55475d9816e42cb1c8c564@exch06.ad.uni-heidelberg.de> Message-ID: Hi Gordian, can you try giving the filename .nrrd or .mha extension instead of .dcm? Regards, D?enan On Fri, Nov 25, 2016 at 10:20 AM, Kabelitz, Gordian < Gordian.Kabelitz at medma.uni-heidelberg.de> wrote: > Hello, > > i started working on a program that uses ITK in combination with OpenCV. > At the moment I encounter the problem with the image conversion from > cv::Mat to itk::image. > Using OpenCVImageBridge:: ITKImageToCVMat() can convert ITK images to > cv::Mat and works pretty well. That part is similar to [1]. > > A problem occurs, when I want to convert the images back to ITK images by > using OpenCVImageBridge:: CVMatToITKImage (). > Here is a code snippet (similar to [2]): > [...] > cv::Mat outimage = cvImage; // outimage is an image previously converted > from itk::image to cv::Mat > typedef itk::OpenCVImageBridge BridgeType; > CVImageType::Pointer outputImage = BridgeType::CVMatToITKImage< > CVImageType>(outimage); > > typedef itk::CastImageFilter< CVImageType, OutImage > CastFilterType; > CastFilterType::Pointer caster = CastFilterType::New(); > caster->SetInput(outputImage); > > typedef itk::ImageFileWriter WriterType; > WriterType::Pointer outputWriter = WriterType::New(); > outputWriter->SetImageIO(gdcmIO); > outputWriter->SetInput(caster->GetOutput()); > outputWriter->SetFileName(argv[2]); > try { > outputWriter->Update(); > } catch (itk::ExceptionObject err) { > std::cout << "EXCEPTION CAUGHT!" << std::endl; > std::cout << err << std::endl; > return EXIT_FAILURE; > } > > It compiles and runs with only the following error: > Description: itk::ERROR: GDCMImageIO(0000000003B22290): A Floating point > buffer was passed but the stored pixel type was not specified. This is > currently not supported. > > Is there an option to get a writable image? Did I make an obvious mistake? > Is there a website to get more examples working for ITK with Opencv? > > Thanks in advance, > Gordian > > [1]: https://github.com/InsightSoftwareConsortium/ITK- > OpenCV-Bridge-Tutorial > [2]: https://github.com/InsightSoftwareConsortium/ITK- > OpenCV-Bridge-Tutorial/blob/master/Exercises/ITKOpenCVBridge/exercise2/ > BasicVideoFilteringITKOpenCVBridge.cxx > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 Fri Nov 25 11:28:32 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Fri, 25 Nov 2016 11:28:32 -0500 Subject: [ITK] [ITK-users] Conversion from cv::mat to writable itk::image In-Reply-To: <4c486ee23a55475d9816e42cb1c8c564@exch06.ad.uni-heidelberg.de> References: <4c486ee23a55475d9816e42cb1c8c564@exch06.ad.uni-heidelberg.de> Message-ID: Hi Gordian, The runtime error is related to limited support for float pixel images in DICOM and GDCM. Try using an itk::CastImageFilter or itk::RescaleIntensityImageFilter to cast the written image pixel type to something like unsigned short. Or, use an output image type that supports floats well, like MetaImage. Here are some more examples for working with OpenCV: https://itk.org/ITKExamples/src/Video/BridgeOpenCV/index.html HTH, Matt On Fri, Nov 25, 2016 at 10:20 AM, Kabelitz, Gordian wrote: > Hello, > > i started working on a program that uses ITK in combination with OpenCV. > At the moment I encounter the problem with the image conversion from cv::Mat to itk::image. > Using OpenCVImageBridge:: ITKImageToCVMat() can convert ITK images to cv::Mat and works pretty well. That part is similar to [1]. > > A problem occurs, when I want to convert the images back to ITK images by using OpenCVImageBridge:: CVMatToITKImage (). > Here is a code snippet (similar to [2]): > [...] > cv::Mat outimage = cvImage; // outimage is an image previously converted from itk::image to cv::Mat > typedef itk::OpenCVImageBridge BridgeType; > CVImageType::Pointer outputImage = BridgeType::CVMatToITKImage(outimage); > > typedef itk::CastImageFilter< CVImageType, OutImage > CastFilterType; > CastFilterType::Pointer caster = CastFilterType::New(); > caster->SetInput(outputImage); > > typedef itk::ImageFileWriter WriterType; > WriterType::Pointer outputWriter = WriterType::New(); > outputWriter->SetImageIO(gdcmIO); > outputWriter->SetInput(caster->GetOutput()); > outputWriter->SetFileName(argv[2]); > try { > outputWriter->Update(); > } catch (itk::ExceptionObject err) { > std::cout << "EXCEPTION CAUGHT!" << std::endl; > std::cout << err << std::endl; > return EXIT_FAILURE; > } > > It compiles and runs with only the following error: > Description: itk::ERROR: GDCMImageIO(0000000003B22290): A Floating point buffer was passed but the stored pixel type was not specified. This is currently not supported. > > Is there an option to get a writable image? Did I make an obvious mistake? > Is there a website to get more examples working for ITK with Opencv? > > Thanks in advance, > Gordian > > [1]: https://github.com/InsightSoftwareConsortium/ITK-OpenCV-Bridge-Tutorial > [2]: https://github.com/InsightSoftwareConsortium/ITK-OpenCV-Bridge-Tutorial/blob/master/Exercises/ITKOpenCVBridge/exercise2/BasicVideoFilteringITKOpenCVBridge.cxx > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 sean at rogue-research.com Fri Nov 25 15:47:26 2016 From: sean at rogue-research.com (Sean McBride) Date: Fri, 25 Nov 2016 15:47:26 -0500 Subject: [ITK] [ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName() Message-ID: <20161125204726.859979322@mail.rogue-research.com> Hi all, I'm trying to rebuild my app and all its C++ libraries with -fvisibility=hidden -fvisibility-inlines-hidden. It all builds, but I get 3 very similar link warnings building my app; the first is: ld: warning: direct access in function 'itk::MetaDataObject >::GetMetaDataObjectTypeName() const' from file 'libITKCommon.a(itkMetaDataObject.cxx.o)' to global weak symbol 'typeinfo for itk::Array' from file 'MyOwnCode.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings. I'm using ITK 4.10.1 on OS X 10.11.6 with Xcode 7.3.1 (AppleClang 7.3). I'm hoping one of you C++ wizards could help me decipher the problem. :) It sorta reminds me of the 'dynamic_cast on Mac OSX' thread, is it related? Thanks, -- ____________________________________________________________ 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 blowekamp at mail.nih.gov Fri Nov 25 15:55:31 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Fri, 25 Nov 2016 20:55:31 +0000 Subject: [ITK] [ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName() In-Reply-To: <20161125204726.859979322@mail.rogue-research.com> References: <20161125204726.859979322@mail.rogue-research.com> Message-ID: <8DB39FAA-F297-4EBB-9560-31C6A97DE43E@mail.nih.gov> Hello, I presume you are compiling ITK with shared libraries? Would you happen to have a minimal example of ?MyOwnCode.cxx? that reproduces this warning? Thanks, Brad > On Nov 25, 2016, at 3:47 PM, Sean McBride wrote: > > Hi all, > > I'm trying to rebuild my app and all its C++ libraries with -fvisibility=hidden -fvisibility-inlines-hidden. It all builds, but I get 3 very similar link warnings building my app; the first is: > > ld: warning: direct access in function 'itk::MetaDataObject >::GetMetaDataObjectTypeName() const' from file 'libITKCommon.a(itkMetaDataObject.cxx.o)' to global weak symbol 'typeinfo for itk::Array' from file 'MyOwnCode.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings. > > I'm using ITK 4.10.1 on OS X 10.11.6 with Xcode 7.3.1 (AppleClang 7.3). > > I'm hoping one of you C++ wizards could help me decipher the problem. :) It sorta reminds me of the 'dynamic_cast on Mac OSX' thread, is it related? > > Thanks, > > -- > ____________________________________________________________ > 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 _______________________________________________ Powered by www.kitware.com 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 chm5q at eservices.virginia.edu Fri Nov 25 17:57:55 2016 From: chm5q at eservices.virginia.edu (Meyer, Craig H. (chm5q)) Date: Fri, 25 Nov 2016 22:57:55 +0000 Subject: [ITK] Faculty Positions in Neural Engineering at the University of Virgina Message-ID: Faculty Positions in Neural Engineering University of Virginia The School of Engineering and Applied Science at the University of Virginia (UVA) seeks candidates for multiple open rank, tenure and tenure-track faculty positions as part of the Neural Engineering cross-cutting initiative. Candidates will be expected to engage in externally funded research, to teach at the undergraduate and graduate levels, and to perform service for the institution and professional organizations. Rank, tenure-status, and compensation are contingent upon experience. The primary and secondary appointments for these positions will be determined by the candidate's areas of expertise. Neural engineering broadly encompasses research that lies at the intersection of engineering and the study of the brain. Neural engineering can take shape in at least two forms ? (1) where neuroscience is used as a roadmap for engineering design and (2) where engineering design, modeling and/or tools benefit the study or treatment of neurons, the nervous system and the brain. Example research areas include, but are not limited to, neuro-inspired computer architectures and neuro-inspired machine learning algorithms, neural imaging (including but not limited to fMRI), neural signal/image analysis, neuromodulation and related areas. Candidates must have a Ph.D. in engineering or science by the time of appointment. Candidates must have a record of excellence in research, as appropriate for the candidate's rank, and a commitment to teaching excellence. Appointment with tenure requires documented excellence in research and teaching, and an emerging national reputation. The candidate should have a research focus in the above-mentioned areas or related areas. Preference will be given to candidates that are collaborative in nature and would complement or expand the school's current strengths in neural engineering. UVA is committed to building a culturally diverse community and strongly encourages applications from underrepresented groups and dual career applicants. UVA is situated in the beautiful foothills of the Blue Ridge Mountains in Charlottesville and is close to Washington, D.C. Charlottesville consistently ranks among the top cities in which to live and work. UVA is consistently ranked as a top public university. To apply, visit http://jobs.virginia.edu and search for Posting 0619779. Complete a Candidate Profile online and attach a cover letter, curriculum vitae, statement of teaching philosophy, statement of research interest, and contact information for at least three references. Review of applications will begin on December 1, 2016 and will continue until the positions are filled. For questions about the position, please contact Prof. Scott Acton via email at acton at virginia.edu. For questions about the application process, please contact Joseph Rehder via email at jdr6s at virginia.edu. The University of Virginia is an Equal Opportunity/Affirmative Action Employer. Women, minorities, veterans and persons with disabilities are encouraged to apply. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bakkari.abdelkhalek at hotmail.fr Sat Nov 26 14:18:54 2016 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Sat, 26 Nov 2016 19:18:54 +0000 Subject: [ITK] [ITK-users] AnisotropicDiffusionLBRImageFilter Message-ID: Dear ITK users, I am trying to apply the AnisotropicDiffusionLBRImageFilter to my 3D Dicom series images. But, I've got an error during the Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland -------------- 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 bakkari.abdelkhalek at hotmail.fr Sat Nov 26 14:24:03 2016 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Sat, 26 Nov 2016 19:24:03 +0000 Subject: [ITK] [ITK-users] CoherenceEnhancingDiffusionImageFilter In-Reply-To: References: Message-ID: Dear ITK users, I am trying to apply the CoherenceEnhancingDiffusionImageFilter to my 3D Dicom series images. But, I've got an error during the execution. Unhandled exception at 0x00fcba3e in main.exe: 0xC0000005: Access violation reading location 0xfeeefefe. Attached, please find my code. Kind regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: CoherenceEnhancingDiffusionImageFilter.txt 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 Sat Nov 26 14:28:34 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Sat, 26 Nov 2016 14:28:34 -0500 Subject: [ITK] [ITK-users] CoherenceEnhancingDiffusionImageFilter In-Reply-To: References: Message-ID: Hi Abdelkhalek, this is not a self-contained example, so I can't debug it. The most suspicious part is: image_view->GetInput(); because one usually gets the output of something, not its input. Regards, D?enan On Sat, Nov 26, 2016 at 2:24 PM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > > Dear ITK users, > > > I am trying to apply the CoherenceEnhancingDiffusionImageFilter to my 3D > Dicom series images. > > But, I've got an error during the execution. > > > Unhandled exception at 0x00fcba3e in main.exe: 0xC0000005: Access > violation reading location 0xfeeefefe. > > > Attached, please find my code. > > > Kind regards, > > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > -------------- 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 bakkari.abdelkhalek at hotmail.fr Sat Nov 26 14:34:44 2016 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Sat, 26 Nov 2016 19:34:44 +0000 Subject: [ITK] [ITK-users] CoherenceEnhancingDiffusionImageFilter In-Reply-To: References: , Message-ID: Hi D?enan, Thank you for your availability, image_view is defined in my mainwindow.cpp as : image_view = vtkImageViewer2::New(); Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland ________________________________ From: D?enan Zuki? Sent: 26 November 2016 20:28 To: Abdelkhalek Bakkari Cc: insight-users Subject: Re: CoherenceEnhancingDiffusionImageFilter Hi Abdelkhalek, this is not a self-contained example, so I can't debug it. The most suspicious part is: image_view->GetInput(); because one usually gets the output of something, not its input. Regards, On Sat, Nov 26, 2016 at 2:24 PM, Abdelkhalek Bakkari > wrote: Dear ITK users, I am trying to apply the CoherenceEnhancingDiffusionImageFilter to my 3D Dicom series images. But, I've got an error during the execution. Unhandled exception at 0x00fcba3e in main.exe: 0xC0000005: Access violation reading location 0xfeeefefe. Attached, please find my code. Kind regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland -------------- 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 Sat Nov 26 14:50:04 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Sat, 26 Nov 2016 14:50:04 -0500 Subject: [ITK] [ITK-users] CoherenceEnhancingDiffusionImageFilter In-Reply-To: References: Message-ID: Hi Abdelkhalek, can you provide a self-contained example ? Regards, D?enan On Sat, Nov 26, 2016 at 2:34 PM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Hi D?enan, > > > Thank you for your availability, > > > image_view is defined in my mainwindow.cpp as : > > > image_view = vtkImageViewer2::New(); > > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > > ------------------------------ > *From:* D?enan Zuki? > *Sent:* 26 November 2016 20:28 > *To:* Abdelkhalek Bakkari > *Cc:* insight-users > *Subject:* Re: CoherenceEnhancingDiffusionImageFilter > > Hi Abdelkhalek, > > this is not a self-contained example, so I can't debug it. The most > suspicious part is: > image_view->GetInput(); > because one usually gets the output of something, not its input. > > Regards, > > On Sat, Nov 26, 2016 at 2:24 PM, Abdelkhalek Bakkari < > bakkari.abdelkhalek at hotmail.fr> wrote: > >> >> Dear ITK users, >> >> >> I am trying to apply the CoherenceEnhancingDiffusionImageFilter to my >> 3D Dicom series images. >> >> But, I've got an error during the execution. >> >> >> Unhandled exception at 0x00fcba3e in main.exe: 0xC0000005: Access >> violation reading location 0xfeeefefe. >> >> >> Attached, please find my code. >> >> >> Kind regards, >> >> >> >> Abdelkhalek Bakkari >> Ph.D candidate in Computer Science >> Institute of Applied Computer Science >> Lodz University of Technology, Poland >> >> >> > -------------- 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 bakkari.abdelkhalek at hotmail.fr Sat Nov 26 15:38:28 2016 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Sat, 26 Nov 2016 20:38:28 +0000 Subject: [ITK] [ITK-users] CoherenceEnhancingDiffusionImageFilter In-Reply-To: References: , Message-ID: Hi D?enan, In the attachment, you can find the file.cpp and the input image. Thank you in advance. Kind regards, ________________________________ From: D?enan Zuki? Sent: 26 November 2016 20:50 To: Abdelkhalek Bakkari Cc: insight-users Subject: Re: CoherenceEnhancingDiffusionImageFilter Hi Abdelkhalek, can you provide a self-contained example? Regards, D?enan On Sat, Nov 26, 2016 at 2:34 PM, Abdelkhalek Bakkari > wrote: Hi D?enan, Thank you for your availability, image_view is defined in my mainwindow.cpp as : image_view = vtkImageViewer2::New(); Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland ________________________________ From: D?enan Zuki? > Sent: 26 November 2016 20:28 To: Abdelkhalek Bakkari Cc: insight-users Subject: Re: CoherenceEnhancingDiffusionImageFilter Hi Abdelkhalek, this is not a self-contained example, so I can't debug it. The most suspicious part is: image_view->GetInput(); because one usually gets the output of something, not its input. Regards, On Sat, Nov 26, 2016 at 2:24 PM, Abdelkhalek Bakkari > wrote: Dear ITK users, I am trying to apply the CoherenceEnhancingDiffusionImageFilter to my 3D Dicom series images. But, I've got an error during the execution. Unhandled exception at 0x00fcba3e in main.exe: 0xC0000005: Access violation reading location 0xfeeefefe. Attached, please find my code. Kind regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: AnisotropicDiffusion.cpp URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: IM-0001-0011.dcm Type: application/octet-stream Size: 169478 bytes Desc: IM-0001-0011.dcm 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 Sat Nov 26 15:57:58 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Sat, 26 Nov 2016 15:57:58 -0500 Subject: [ITK] [ITK-users] CoherenceEnhancingDiffusionImageFilter In-Reply-To: References: Message-ID: Hi, the attached program runs without error on my computer. Attached is a screenshot of it. Regards, D?enan On Sat, Nov 26, 2016 at 3:38 PM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Hi D?enan, > > > In the attachment, you can find the file.cpp and the input image. > > > Thank you in advance. > > > Kind regards, > > > > > ------------------------------ > *From:* D?enan Zuki? > *Sent:* 26 November 2016 20:50 > > *To:* Abdelkhalek Bakkari > *Cc:* insight-users > *Subject:* Re: CoherenceEnhancingDiffusionImageFilter > > Hi Abdelkhalek, > > can you provide a self-contained example ? > > Regards, > D?enan > > On Sat, Nov 26, 2016 at 2:34 PM, Abdelkhalek Bakkari < > bakkari.abdelkhalek at hotmail.fr> wrote: > >> Hi D?enan, >> >> >> Thank you for your availability, >> >> >> image_view is defined in my mainwindow.cpp as : >> >> >> image_view = vtkImageViewer2::New(); >> >> >> >> Abdelkhalek Bakkari >> Ph.D candidate in Computer Science >> Institute of Applied Computer Science >> Lodz University of Technology, Poland >> >> >> >> >> ------------------------------ >> *From:* D?enan Zuki? >> *Sent:* 26 November 2016 20:28 >> *To:* Abdelkhalek Bakkari >> *Cc:* insight-users >> *Subject:* Re: CoherenceEnhancingDiffusionImageFilter >> >> Hi Abdelkhalek, >> >> this is not a self-contained example, so I can't debug it. The most >> suspicious part is: >> image_view->GetInput(); >> because one usually gets the output of something, not its input. >> >> Regards, >> >> On Sat, Nov 26, 2016 at 2:24 PM, Abdelkhalek Bakkari < >> bakkari.abdelkhalek at hotmail.fr> wrote: >> >>> >>> Dear ITK users, >>> >>> >>> I am trying to apply the CoherenceEnhancingDiffusionImageFilter to my >>> 3D Dicom series images. >>> >>> But, I've got an error during the execution. >>> >>> >>> Unhandled exception at 0x00fcba3e in main.exe: 0xC0000005: Access >>> violation reading location 0xfeeefefe. >>> >>> >>> Attached, please find my code. >>> >>> >>> Kind regards, >>> >>> >>> >>> Abdelkhalek Bakkari >>> Ph.D candidate in Computer Science >>> Institute of Applied Computer Science >>> Lodz University of Technology, Poland >>> >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot 2016-11-26 15.57.27.png Type: image/png Size: 78398 bytes Desc: not available 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 bakkari.abdelkhalek at hotmail.fr Sat Nov 26 16:10:36 2016 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Sat, 26 Nov 2016 21:10:36 +0000 Subject: [ITK] [ITK-users] CoherenceEnhancingDiffusionImageFilter In-Reply-To: References: , Message-ID: Hi, The CoherenceEnhancingDiffusionImageFilter does not change the input image . This filter should be adopted to enhance the intensity. Kind regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland ________________________________ From: D?enan Zuki? Sent: 26 November 2016 21:57 To: Abdelkhalek Bakkari Cc: insight-users Subject: Re: CoherenceEnhancingDiffusionImageFilter Hi, the attached program runs without error on my computer. Attached is a screenshot of it. Regards, D?enan On Sat, Nov 26, 2016 at 3:38 PM, Abdelkhalek Bakkari > wrote: Hi D?enan, In the attachment, you can find the file.cpp and the input image. Thank you in advance. Kind regards, ________________________________ From: D?enan Zuki? > Sent: 26 November 2016 20:50 To: Abdelkhalek Bakkari Cc: insight-users Subject: Re: CoherenceEnhancingDiffusionImageFilter Hi Abdelkhalek, can you provide a self-contained example? Regards, D?enan On Sat, Nov 26, 2016 at 2:34 PM, Abdelkhalek Bakkari > wrote: Hi D?enan, Thank you for your availability, image_view is defined in my mainwindow.cpp as : image_view = vtkImageViewer2::New(); Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland ________________________________ From: D?enan Zuki? > Sent: 26 November 2016 20:28 To: Abdelkhalek Bakkari Cc: insight-users Subject: Re: CoherenceEnhancingDiffusionImageFilter Hi Abdelkhalek, this is not a self-contained example, so I can't debug it. The most suspicious part is: image_view->GetInput(); because one usually gets the output of something, not its input. Regards, On Sat, Nov 26, 2016 at 2:24 PM, Abdelkhalek Bakkari > wrote: Dear ITK users, I am trying to apply the CoherenceEnhancingDiffusionImageFilter to my 3D Dicom series images. But, I've got an error during the execution. Unhandled exception at 0x00fcba3e in main.exe: 0xC0000005: Access violation reading location 0xfeeefefe. Attached, please find my code. Kind regards, Abdelkhalek Bakkari Ph.D candidate in Computer Science Institute of Applied Computer Science Lodz University of Technology, Poland -------------- 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 Sat Nov 26 16:27:42 2016 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Sat, 26 Nov 2016 16:27:42 -0500 Subject: [ITK] [ITK-users] CoherenceEnhancingDiffusionImageFilter In-Reply-To: References: Message-ID: It does change the image, but not by a lot with the chosen parameters. Try playing with them to see their effect. Regards On Sat, Nov 26, 2016 at 4:10 PM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Hi, > > > The CoherenceEnhancingDiffusionImageFilter does not change the input > image . This filter should be adopted to enhance the intensity. > > > Kind regards, > > > Abdelkhalek Bakkari > Ph.D candidate in Computer Science > Institute of Applied Computer Science > Lodz University of Technology, Poland > > > > > ------------------------------ > *From:* D?enan Zuki? > *Sent:* 26 November 2016 21:57 > > *To:* Abdelkhalek Bakkari > *Cc:* insight-users > *Subject:* Re: CoherenceEnhancingDiffusionImageFilter > > Hi, > > the attached program runs without error on my computer. Attached is a > screenshot of it. > > Regards, > D?enan > > On Sat, Nov 26, 2016 at 3:38 PM, Abdelkhalek Bakkari < > bakkari.abdelkhalek at hotmail.fr> wrote: > >> Hi D?enan, >> >> >> In the attachment, you can find the file.cpp and the input image. >> >> >> Thank you in advance. >> >> >> Kind regards, >> >> >> >> >> ------------------------------ >> *From:* D?enan Zuki? >> *Sent:* 26 November 2016 20:50 >> >> *To:* Abdelkhalek Bakkari >> *Cc:* insight-users >> *Subject:* Re: CoherenceEnhancingDiffusionImageFilter >> >> Hi Abdelkhalek, >> >> can you provide a self-contained example ? >> >> Regards, >> D?enan >> >> On Sat, Nov 26, 2016 at 2:34 PM, Abdelkhalek Bakkari < >> bakkari.abdelkhalek at hotmail.fr> wrote: >> >>> Hi D?enan, >>> >>> >>> Thank you for your availability, >>> >>> >>> image_view is defined in my mainwindow.cpp as : >>> >>> >>> image_view = vtkImageViewer2::New(); >>> >>> >>> >>> Abdelkhalek Bakkari >>> Ph.D candidate in Computer Science >>> Institute of Applied Computer Science >>> Lodz University of Technology, Poland >>> >>> >>> >>> >>> ------------------------------ >>> *From:* D?enan Zuki? >>> *Sent:* 26 November 2016 20:28 >>> *To:* Abdelkhalek Bakkari >>> *Cc:* insight-users >>> *Subject:* Re: CoherenceEnhancingDiffusionImageFilter >>> >>> Hi Abdelkhalek, >>> >>> this is not a self-contained example, so I can't debug it. The most >>> suspicious part is: >>> image_view->GetInput(); >>> because one usually gets the output of something, not its input. >>> >>> Regards, >>> >>> On Sat, Nov 26, 2016 at 2:24 PM, Abdelkhalek Bakkari < >>> bakkari.abdelkhalek at hotmail.fr> wrote: >>> >>>> >>>> Dear ITK users, >>>> >>>> >>>> I am trying to apply the CoherenceEnhancingDiffusionImageFilter to my >>>> 3D Dicom series images. >>>> >>>> But, I've got an error during the execution. >>>> >>>> >>>> Unhandled exception at 0x00fcba3e in main.exe: 0xC0000005: Access >>>> violation reading location 0xfeeefefe. >>>> >>>> >>>> Attached, please find my code. >>>> >>>> >>>> Kind regards, >>>> >>>> >>>> >>>> Abdelkhalek Bakkari >>>> Ph.D candidate in Computer Science >>>> Institute of Applied Computer Science >>>> Lodz University of Technology, Poland >>>> >>>> >>>> >>> >> > -------------- 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 jothybasu at gmail.com Mon Nov 28 02:44:59 2016 From: jothybasu at gmail.com (Jothybasu Selvaraj) Date: Mon, 28 Nov 2016 18:44:59 +1100 Subject: [ITK] [ITK-users] Reading private tags In-Reply-To: References: Message-ID: Thanks to all you guys. It works by turning on gdcmIO->SetLoadPrivateTags(true); gdcmIO->SetLoadSequences(true); Cheers Jothy On Sat, Nov 26, 2016 at 2:06 AM, D?enan Zuki? wrote: > Hi Jothy, > > you should call SetLoadPrivateTags > method > on GDCMImageIO. See also read tags example > > . > > Regards, > D?enan > > > On Fri, Nov 25, 2016 at 4:54 AM, Jothybasu Selvaraj > wrote: > >> Hi Guys >> >> How do I read a private tag using gdcm? >> >> I tried both ITK::GDCMIO and also gdcm seperately. GDCM docs say we need >> to to enable ReadSelectedPrivateTags() >> >> Is there any example? >> >> Thanks >> >> Jothy >> >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the 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.Atwood at diamond.ac.uk Mon Nov 28 08:46:43 2016 From: Robert.Atwood at diamond.ac.uk (Robert.Atwood at diamond.ac.uk) Date: Mon, 28 Nov 2016 13:46:43 +0000 Subject: [ITK] [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? Message-ID: <6CCDD8FC6578314C902BBF87D511D9D8F294A5A7@exchmbx01> Hi, I just can't get this to work, I've tried any permutation I can think of. I want to pad an array up to a calculated value on all dimensions. The calculation is easy to do in vectors with numpy , but whatever I try to do the mirrorpad function will not accept the data type. Fsize is the array size and padsize is the desired size in all dimensions. The calculation produces initially a floating point number The line in comment # works, but I can't find a simple way to get the calculated output into a type that the function accepts. So my question : 1. is there a more integrated way to make the image fit the requirements of the FFT filter, because that's what all this is in aid of. 2. if this is the best way to do it, how do I make the function accept the dimension vector?? Thanks! The error is as follows: _____________________________ Traceback (most recent call last): File "/home/kny48981/progs/segment_sitk/trysitkmask.py", line 92, in padim=sitk.MirrorPad(medim,padextratup,padtoptup) File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad return _SimpleITK.MirrorPad(*args, **kwargs) TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' _____________________ Complete reproducer with dummy image: (full output below) reproducer.py >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> import SimpleITK as sitk import numpy as np medim=sitk.Image(120,122,135,sitk.sitkFloat32) fsize=np.array(medim.GetSize()) fctr=fsize/2.0 padsize=(256,256,256) padextra=(((padsize-fsize)/2.0)).astype(np.int32) print "fsize=",fsize print "padsize=",padsize print"padextra=", padextra print type(padextra) padfix = padsize - fsize - padextra - padextra print "padfix",padfix padtop=(padextra + padfix).astype(np.int32) padextratup=tuple(padextra) padtoptup=tuple(padtop) #padextratup=(125,125,100) print type(padtoptup) print padtoptup print type(padtoptup[0]) print type(padtoptup[1]) print type(padtoptup[2]) print type(padextratup) print padextratup print type(padextratup[0]) print type(padextratup[1]) print type(padextratup[2]) padim=sitk.MirrorPad(medim,padextratup,padtoptup) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Output: python ./reproducer.py fsize= [120 122 135] padsize= (256, 256, 256) padextra= [68 67 60] padfix [0 0 1] (68, 67, 61) (68, 67, 60) Traceback (most recent call last): File "./reproducer.py", line 42, in padim=sitk.MirrorPad(medim,padextratup,padtoptup) File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad return _SimpleITK.MirrorPad(*args, **kwargs) TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' [kny48981 at i12-ws011 testseg_sitk]$ __________________________________ -- 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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Nov 28 09:08:28 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Mon, 28 Nov 2016 14:08:28 +0000 Subject: [ITK] [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? In-Reply-To: <6CCDD8FC6578314C902BBF87D511D9D8F294A5A7@exchmbx01> References: <6CCDD8FC6578314C902BBF87D511D9D8F294A5A7@exchmbx01> Message-ID: <6C73CA67-4191-4001-8A21-F784D3DA0288@mail.nih.gov> Hello, It looks like there is rightfully so no implicit conversion from numpy.int32 to ?unsigned int? for value in tuples. The following worked for me: padim=sitk.MirrorPad(medim,padextra.astype(int),padtop.astype(int)) and so does the following: padim=sitk.MirrorPad(medim,padextra.astype(np.int),padtop.astype(np.int)) Here is an example for manual padding for FFTs: https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/FFTConvolution.py HTH, Brad > On Nov 28, 2016, at 8:46 AM, Robert.Atwood at diamond.ac.uk wrote: > > Hi, > I just can't get this to work, I've tried any permutation I can think of. > I want to pad an array up to a calculated value on all dimensions. The calculation is easy to do in vectors with numpy , but whatever I try to do the mirrorpad function will not accept the data type. > > > Fsize is the array size and padsize is the desired size in all dimensions. The calculation produces initially a floating point number > The line in comment # works, but I can't find a simple way to get the calculated output into a type that the function accepts. > So my question : > > 1. is there a more integrated way to make the image fit the requirements of the FFT filter, because that's what all this is in aid of. > 2. if this is the best way to do it, how do I make the function accept the dimension vector?? > > > Thanks! > > The error is as follows: > > _____________________________ > > Traceback (most recent call last): > File "/home/kny48981/progs/segment_sitk/trysitkmask.py", line 92, in > padim=sitk.MirrorPad(medim,padextratup,padtoptup) > File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad > return _SimpleITK.MirrorPad(*args, **kwargs) > TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' > > _____________________ > > > Complete reproducer with dummy image: (full output below) > > > reproducer.py >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > import SimpleITK as sitk > import numpy as np > > > > medim=sitk.Image(120,122,135,sitk.sitkFloat32) > > fsize=np.array(medim.GetSize()) > fctr=fsize/2.0 > > padsize=(256,256,256) > > padextra=(((padsize-fsize)/2.0)).astype(np.int32) > > print "fsize=",fsize > print "padsize=",padsize > print"padextra=", padextra > print type(padextra) > padfix = padsize - fsize - padextra - padextra > print "padfix",padfix > padtop=(padextra + padfix).astype(np.int32) > > > padextratup=tuple(padextra) > padtoptup=tuple(padtop) > > #padextratup=(125,125,100) > > print type(padtoptup) > print padtoptup > print type(padtoptup[0]) > print type(padtoptup[1]) > print type(padtoptup[2]) > > print type(padextratup) > print padextratup > print type(padextratup[0]) > print type(padextratup[1]) > print type(padextratup[2]) > > > padim=sitk.MirrorPad(medim,padextratup,padtoptup) > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > Output: > > python ./reproducer.py > fsize= [120 122 135] > padsize= (256, 256, 256) > padextra= [68 67 60] > > padfix [0 0 1] > > (68, 67, 61) > > > > > (68, 67, 60) > > > > Traceback (most recent call last): > File "./reproducer.py", line 42, in > padim=sitk.MirrorPad(medim,padextratup,padtoptup) > File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad > return _SimpleITK.MirrorPad(*args, **kwargs) > TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' > [kny48981 at i12-ws011 testseg_sitk]$ > __________________________________ > > > -- > 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 > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 Robert.Atwood at diamond.ac.uk Mon Nov 28 09:18:01 2016 From: Robert.Atwood at diamond.ac.uk (Robert.Atwood at diamond.ac.uk) Date: Mon, 28 Nov 2016 14:18:01 +0000 Subject: [ITK] [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? In-Reply-To: <6C73CA67-4191-4001-8A21-F784D3DA0288@mail.nih.gov> References: <6CCDD8FC6578314C902BBF87D511D9D8F294A5A7@exchmbx01> <6C73CA67-4191-4001-8A21-F784D3DA0288@mail.nih.gov> Message-ID: <6CCDD8FC6578314C902BBF87D511D9D8F294A5ED@exchmbx01> Further question ... >Here is an example for manual padding for FFTs: >https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/FFTConvolution.py # pad the image img = sitk.MirrorPad( img, [128] *2, [128]*2 ) size = img.GetSize(); I don't understand what this line does. I expect it would increase the size of the array by adding 128 on the top and bottom. This does not guarantee that the final size is within the restriction of powers of 2,3, and 5 required by the fft module, does it? Or do I not follow what MirrorPad is doing with the input vectors? Or can I get rid of this restriction some other way... --- Is it possible to configure sitk to use fftw (or pyfftw) instead? Thanks! Robert -----Original Message----- From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] Sent: Monday, November 28, 2016 2:08 PM To: Atwood, Robert (DLSLtd,RAL,SCI) Cc: insight-users at itk.org Subject: Re: [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? Hello, It looks like there is rightfully so no implicit conversion from numpy.int32 to ?unsigned int? for value in tuples. The following worked for me: padim=sitk.MirrorPad(medim,padextra.astype(int),padtop.astype(int)) and so does the following: padim=sitk.MirrorPad(medim,padextra.astype(np.int),padtop.astype(np.int)) Here is an example for manual padding for FFTs: https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/FFTConvolution.py HTH, Brad > On Nov 28, 2016, at 8:46 AM, Robert.Atwood at diamond.ac.uk wrote: > > Hi, > I just can't get this to work, I've tried any permutation I can think of. > I want to pad an array up to a calculated value on all dimensions. The calculation is easy to do in vectors with numpy , but whatever I try to do the mirrorpad function will not accept the data type. > > > Fsize is the array size and padsize is the desired size in all > dimensions. The calculation produces initially a floating point number The line in comment # works, but I can't find a simple way to get the calculated output into a type that the function accepts. > So my question : > > 1. is there a more integrated way to make the image fit the requirements of the FFT filter, because that's what all this is in aid of. > 2. if this is the best way to do it, how do I make the function accept the dimension vector?? > > > Thanks! > > The error is as follows: > > _____________________________ > > Traceback (most recent call last): > File "/home/kny48981/progs/segment_sitk/trysitkmask.py", line 92, in > padim=sitk.MirrorPad(medim,padextratup,padtoptup) > File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad > return _SimpleITK.MirrorPad(*args, **kwargs) > TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' > > _____________________ > > > Complete reproducer with dummy image: (full output below) > > > reproducer.py >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > import SimpleITK as sitk > import numpy as np > > > > medim=sitk.Image(120,122,135,sitk.sitkFloat32) > > fsize=np.array(medim.GetSize()) > fctr=fsize/2.0 > > padsize=(256,256,256) > > padextra=(((padsize-fsize)/2.0)).astype(np.int32) > > print "fsize=",fsize > print "padsize=",padsize > print"padextra=", padextra > print type(padextra) > padfix = padsize - fsize - padextra - padextra print "padfix",padfix > padtop=(padextra + padfix).astype(np.int32) > > > padextratup=tuple(padextra) > padtoptup=tuple(padtop) > > #padextratup=(125,125,100) > > print type(padtoptup) > print padtoptup > print type(padtoptup[0]) > print type(padtoptup[1]) > print type(padtoptup[2]) > > print type(padextratup) > print padextratup > print type(padextratup[0]) > print type(padextratup[1]) > print type(padextratup[2]) > > > padim=sitk.MirrorPad(medim,padextratup,padtoptup) > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > Output: > > python ./reproducer.py > fsize= [120 122 135] > padsize= (256, 256, 256) > padextra= [68 67 60] > > padfix [0 0 1] > > (68, 67, 61) > > > > > (68, 67, 60) > > > > Traceback (most recent call last): > File "./reproducer.py", line 42, in > padim=sitk.MirrorPad(medim,padextratup,padtoptup) > File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad > return _SimpleITK.MirrorPad(*args, **kwargs) > TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' > [kny48981 at i12-ws011 testseg_sitk]$ > __________________________________ > > > -- > 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 > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users -- This e-mail 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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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.Atwood at diamond.ac.uk Mon Nov 28 09:11:13 2016 From: Robert.Atwood at diamond.ac.uk (Robert.Atwood at diamond.ac.uk) Date: Mon, 28 Nov 2016 14:11:13 +0000 Subject: [ITK] [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? In-Reply-To: <6C73CA67-4191-4001-8A21-F784D3DA0288@mail.nih.gov> References: <6CCDD8FC6578314C902BBF87D511D9D8F294A5A7@exchmbx01> <6C73CA67-4191-4001-8A21-F784D3DA0288@mail.nih.gov> Message-ID: <6CCDD8FC6578314C902BBF87D511D9D8F294A5E1@exchmbx01> Thanks! D'oh! , I somehow thought you had to use np.int## , I missed that it was possible to use just 'int' ! (after trying np.uint32, np.uint16 ... ) -----Original Message----- From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] Sent: Monday, November 28, 2016 2:08 PM To: Atwood, Robert (DLSLtd,RAL,SCI) Cc: insight-users at itk.org Subject: Re: [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? Hello, It looks like there is rightfully so no implicit conversion from numpy.int32 to ?unsigned int? for value in tuples. The following worked for me: padim=sitk.MirrorPad(medim,padextra.astype(int),padtop.astype(int)) and so does the following: padim=sitk.MirrorPad(medim,padextra.astype(np.int),padtop.astype(np.int)) Here is an example for manual padding for FFTs: https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/FFTConvolution.py HTH, Brad > On Nov 28, 2016, at 8:46 AM, Robert.Atwood at diamond.ac.uk wrote: > > Hi, > I just can't get this to work, I've tried any permutation I can think of. > I want to pad an array up to a calculated value on all dimensions. The calculation is easy to do in vectors with numpy , but whatever I try to do the mirrorpad function will not accept the data type. > > > Fsize is the array size and padsize is the desired size in all > dimensions. The calculation produces initially a floating point number The line in comment # works, but I can't find a simple way to get the calculated output into a type that the function accepts. > So my question : > > 1. is there a more integrated way to make the image fit the requirements of the FFT filter, because that's what all this is in aid of. > 2. if this is the best way to do it, how do I make the function accept the dimension vector?? > > > Thanks! > > The error is as follows: > > _____________________________ > > Traceback (most recent call last): > File "/home/kny48981/progs/segment_sitk/trysitkmask.py", line 92, in > padim=sitk.MirrorPad(medim,padextratup,padtoptup) > File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad > return _SimpleITK.MirrorPad(*args, **kwargs) > TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' > > _____________________ > > > Complete reproducer with dummy image: (full output below) > > > reproducer.py >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > import SimpleITK as sitk > import numpy as np > > > > medim=sitk.Image(120,122,135,sitk.sitkFloat32) > > fsize=np.array(medim.GetSize()) > fctr=fsize/2.0 > > padsize=(256,256,256) > > padextra=(((padsize-fsize)/2.0)).astype(np.int32) > > print "fsize=",fsize > print "padsize=",padsize > print"padextra=", padextra > print type(padextra) > padfix = padsize - fsize - padextra - padextra print "padfix",padfix > padtop=(padextra + padfix).astype(np.int32) > > > padextratup=tuple(padextra) > padtoptup=tuple(padtop) > > #padextratup=(125,125,100) > > print type(padtoptup) > print padtoptup > print type(padtoptup[0]) > print type(padtoptup[1]) > print type(padtoptup[2]) > > print type(padextratup) > print padextratup > print type(padextratup[0]) > print type(padextratup[1]) > print type(padextratup[2]) > > > padim=sitk.MirrorPad(medim,padextratup,padtoptup) > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > Output: > > python ./reproducer.py > fsize= [120 122 135] > padsize= (256, 256, 256) > padextra= [68 67 60] > > padfix [0 0 1] > > (68, 67, 61) > > > > > (68, 67, 60) > > > > Traceback (most recent call last): > File "./reproducer.py", line 42, in > padim=sitk.MirrorPad(medim,padextratup,padtoptup) > File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad > return _SimpleITK.MirrorPad(*args, **kwargs) > TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' > [kny48981 at i12-ws011 testseg_sitk]$ > __________________________________ > > > -- > 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 > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users -- This e-mail 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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Nov 28 09:29:41 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Mon, 28 Nov 2016 14:29:41 +0000 Subject: [ITK] [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? In-Reply-To: <6CCDD8FC6578314C902BBF87D511D9D8F294A5ED@exchmbx01> References: <6CCDD8FC6578314C902BBF87D511D9D8F294A5A7@exchmbx01> <6C73CA67-4191-4001-8A21-F784D3DA0288@mail.nih.gov> <6CCDD8FC6578314C902BBF87D511D9D8F294A5ED@exchmbx01> Message-ID: Hi, You are correct that it does not guarantee that image fits the requirements of the underlying FFT algorithm. But it is an an example of how it could be manually done. If you want to automatically do the FFT convolution there is the FFT convolution filter. SimpleITK will use what ever FFT library ITK is configured with. When you compile the SimpleITK Superbuild with ITK_USE_FFTWD and ITK_USE_FFTWF defined true on the command line it will build ITK with FFTW and thereby SimpleITK will use FFTW. HTH, Brad [1] https://itk.org/SimpleITKDoxygen/html/classitk_1_1simple_1_1FFTConvolutionImageFilter.html > On Nov 28, 2016, at 9:18 AM, Robert.Atwood at diamond.ac.uk wrote: > > Further question ... > >> Here is an example for manual padding for FFTs: >> https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/FFTConvolution.py > > # pad the image > img = sitk.MirrorPad( img, [128] *2, [128]*2 ) > size = img.GetSize(); > > > I don't understand what this line does. I expect it would increase the size of the array by adding 128 on the top and bottom. This does not guarantee that the final size is within the restriction of powers of 2,3, and 5 required by the fft module, does it? Or do I not follow what MirrorPad is doing with the input vectors? > > Or can I get rid of this restriction some other way... > > --- Is it possible to configure sitk to use fftw (or pyfftw) instead? > > > Thanks! > Robert > > > > > > > > -----Original Message----- > From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] > Sent: Monday, November 28, 2016 2:08 PM > To: Atwood, Robert (DLSLtd,RAL,SCI) > Cc: insight-users at itk.org > Subject: Re: [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? > > Hello, > > It looks like there is rightfully so no implicit conversion from numpy.int32 to ?unsigned int? for value in tuples. > > > The following worked for me: > > padim=sitk.MirrorPad(medim,padextra.astype(int),padtop.astype(int)) > > and so does the following: > > padim=sitk.MirrorPad(medim,padextra.astype(np.int),padtop.astype(np.int)) > > Here is an example for manual padding for FFTs: > https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/FFTConvolution.py > > > HTH, > Brad > >> On Nov 28, 2016, at 8:46 AM, Robert.Atwood at diamond.ac.uk wrote: >> >> Hi, >> I just can't get this to work, I've tried any permutation I can think of. >> I want to pad an array up to a calculated value on all dimensions. The calculation is easy to do in vectors with numpy , but whatever I try to do the mirrorpad function will not accept the data type. >> >> >> Fsize is the array size and padsize is the desired size in all >> dimensions. The calculation produces initially a floating point number The line in comment # works, but I can't find a simple way to get the calculated output into a type that the function accepts. >> So my question : >> >> 1. is there a more integrated way to make the image fit the requirements of the FFT filter, because that's what all this is in aid of. >> 2. if this is the best way to do it, how do I make the function accept the dimension vector?? >> >> >> Thanks! >> >> The error is as follows: >> >> _____________________________ >> >> Traceback (most recent call last): >> File "/home/kny48981/progs/segment_sitk/trysitkmask.py", line 92, in >> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >> File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad >> return _SimpleITK.MirrorPad(*args, **kwargs) >> TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' >> >> _____________________ >> >> >> Complete reproducer with dummy image: (full output below) >> >> >> reproducer.py >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >> import SimpleITK as sitk >> import numpy as np >> >> >> >> medim=sitk.Image(120,122,135,sitk.sitkFloat32) >> >> fsize=np.array(medim.GetSize()) >> fctr=fsize/2.0 >> >> padsize=(256,256,256) >> >> padextra=(((padsize-fsize)/2.0)).astype(np.int32) >> >> print "fsize=",fsize >> print "padsize=",padsize >> print"padextra=", padextra >> print type(padextra) >> padfix = padsize - fsize - padextra - padextra print "padfix",padfix >> padtop=(padextra + padfix).astype(np.int32) >> >> >> padextratup=tuple(padextra) >> padtoptup=tuple(padtop) >> >> #padextratup=(125,125,100) >> >> print type(padtoptup) >> print padtoptup >> print type(padtoptup[0]) >> print type(padtoptup[1]) >> print type(padtoptup[2]) >> >> print type(padextratup) >> print padextratup >> print type(padextratup[0]) >> print type(padextratup[1]) >> print type(padextratup[2]) >> >> >> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >> Output: >> >> python ./reproducer.py >> fsize= [120 122 135] >> padsize= (256, 256, 256) >> padextra= [68 67 60] >> >> padfix [0 0 1] >> >> (68, 67, 61) >> >> >> >> >> (68, 67, 60) >> >> >> >> Traceback (most recent call last): >> File "./reproducer.py", line 42, in >> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >> File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad >> return _SimpleITK.MirrorPad(*args, **kwargs) >> TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' >> [kny48981 at i12-ws011 testseg_sitk]$ >> __________________________________ >> >> >> -- >> 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 >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users > > > -- > This e-mail 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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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.Atwood at diamond.ac.uk Mon Nov 28 09:39:09 2016 From: Robert.Atwood at diamond.ac.uk (Robert.Atwood at diamond.ac.uk) Date: Mon, 28 Nov 2016 14:39:09 +0000 Subject: [ITK] [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? In-Reply-To: References: <6CCDD8FC6578314C902BBF87D511D9D8F294A5A7@exchmbx01> <6C73CA67-4191-4001-8A21-F784D3DA0288@mail.nih.gov> <6CCDD8FC6578314C902BBF87D511D9D8F294A5ED@exchmbx01> Message-ID: <6CCDD8FC6578314C902BBF87D511D9D8F294A61F@exchmbx01> Ok, I was trying to avoid having to build it ;) padding to a 2^n is probably going to work ok now that your advice has solved my problem. I was implementing a fft-high-pass filter because it works really well in ImageJ for the particular issues we have .. but is better done in proper 3d and I know ITK could do it -- Is there a simple equivalent module as the 'FFT bandpass' in ImageJ but for 2/3(4?) d ? Creating the filter function is another annoyance for which I have a solution but it's not very general. (PS> I did get it to work if I manually set the values to a known amount ... as in the commented line of the code #padextratup=(125,125,100) ) -----Original Message----- From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] Sent: Monday, November 28, 2016 2:30 PM To: Atwood, Robert (DLSLtd,RAL,SCI) Cc: insight-users at itk.org Subject: Re: [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? Hi, You are correct that it does not guarantee that image fits the requirements of the underlying FFT algorithm. But it is an an example of how it could be manually done. If you want to automatically do the FFT convolution there is the FFT convolution filter. SimpleITK will use what ever FFT library ITK is configured with. When you compile the SimpleITK Superbuild with ITK_USE_FFTWD and ITK_USE_FFTWF defined true on the command line it will build ITK with FFTW and thereby SimpleITK will use FFTW. HTH, Brad [1] https://itk.org/SimpleITKDoxygen/html/classitk_1_1simple_1_1FFTConvolutionImageFilter.html > On Nov 28, 2016, at 9:18 AM, Robert.Atwood at diamond.ac.uk wrote: > > Further question ... > >> Here is an example for manual padding for FFTs: >> https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/FF >> TConvolution.py > > # pad the image > img = sitk.MirrorPad( img, [128] *2, [128]*2 ) size = img.GetSize(); > > > I don't understand what this line does. I expect it would increase the size of the array by adding 128 on the top and bottom. This does not guarantee that the final size is within the restriction of powers of 2,3, and 5 required by the fft module, does it? Or do I not follow what MirrorPad is doing with the input vectors? > > Or can I get rid of this restriction some other way... > > --- Is it possible to configure sitk to use fftw (or pyfftw) instead? > > > Thanks! > Robert > > > > > > > > -----Original Message----- > From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] > Sent: Monday, November 28, 2016 2:08 PM > To: Atwood, Robert (DLSLtd,RAL,SCI) > Cc: insight-users at itk.org > Subject: Re: [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? > > Hello, > > It looks like there is rightfully so no implicit conversion from numpy.int32 to ?unsigned int? for value in tuples. > > > The following worked for me: > > padim=sitk.MirrorPad(medim,padextra.astype(int),padtop.astype(int)) > > and so does the following: > > padim=sitk.MirrorPad(medim,padextra.astype(np.int),padtop.astype(np.int)) > > Here is an example for manual padding for FFTs: > https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/FFTConvolution.py > > > HTH, > Brad > >> On Nov 28, 2016, at 8:46 AM, Robert.Atwood at diamond.ac.uk wrote: >> >> Hi, >> I just can't get this to work, I've tried any permutation I can think of. >> I want to pad an array up to a calculated value on all dimensions. The calculation is easy to do in vectors with numpy , but whatever I try to do the mirrorpad function will not accept the data type. >> >> >> Fsize is the array size and padsize is the desired size in all >> dimensions. The calculation produces initially a floating point number The line in comment # works, but I can't find a simple way to get the calculated output into a type that the function accepts. >> So my question : >> >> 1. is there a more integrated way to make the image fit the requirements of the FFT filter, because that's what all this is in aid of. >> 2. if this is the best way to do it, how do I make the function accept the dimension vector?? >> >> >> Thanks! >> >> The error is as follows: >> >> _____________________________ >> >> Traceback (most recent call last): >> File "/home/kny48981/progs/segment_sitk/trysitkmask.py", line 92, in >> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >> File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad >> return _SimpleITK.MirrorPad(*args, **kwargs) >> TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' >> >> _____________________ >> >> >> Complete reproducer with dummy image: (full output below) >> >> >> reproducer.py >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >> import SimpleITK as sitk >> import numpy as np >> >> >> >> medim=sitk.Image(120,122,135,sitk.sitkFloat32) >> >> fsize=np.array(medim.GetSize()) >> fctr=fsize/2.0 >> >> padsize=(256,256,256) >> >> padextra=(((padsize-fsize)/2.0)).astype(np.int32) >> >> print "fsize=",fsize >> print "padsize=",padsize >> print"padextra=", padextra >> print type(padextra) >> padfix = padsize - fsize - padextra - padextra print "padfix",padfix >> padtop=(padextra + padfix).astype(np.int32) >> >> >> padextratup=tuple(padextra) >> padtoptup=tuple(padtop) >> >> #padextratup=(125,125,100) >> >> print type(padtoptup) >> print padtoptup >> print type(padtoptup[0]) >> print type(padtoptup[1]) >> print type(padtoptup[2]) >> >> print type(padextratup) >> print padextratup >> print type(padextratup[0]) >> print type(padextratup[1]) >> print type(padextratup[2]) >> >> >> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >> Output: >> >> python ./reproducer.py >> fsize= [120 122 135] >> padsize= (256, 256, 256) >> padextra= [68 67 60] >> >> padfix [0 0 1] >> >> (68, 67, 61) >> >> >> >> >> (68, 67, 60) >> >> >> >> Traceback (most recent call last): >> File "./reproducer.py", line 42, in >> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >> File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad >> return _SimpleITK.MirrorPad(*args, **kwargs) >> TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' >> [kny48981 at i12-ws011 testseg_sitk]$ >> __________________________________ >> >> >> -- >> 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 >> >> _____________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users > > > -- > This e-mail 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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Nov 28 10:08:42 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Mon, 28 Nov 2016 15:08:42 +0000 Subject: [ITK] [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? In-Reply-To: <6CCDD8FC6578314C902BBF87D511D9D8F294A61F@exchmbx01> References: <6CCDD8FC6578314C902BBF87D511D9D8F294A5A7@exchmbx01> <6C73CA67-4191-4001-8A21-F784D3DA0288@mail.nih.gov> <6CCDD8FC6578314C902BBF87D511D9D8F294A5ED@exchmbx01> <6CCDD8FC6578314C902BBF87D511D9D8F294A61F@exchmbx01> Message-ID: <1DEC34EB-ECE3-4B69-AA21-686556E44A0B@mail.nih.gov> FFTW has a GPL license which makes packaging with it problematic. I would just directly use the FFTConvolution filter for your case, as it already does the needed padding. For FFT base high pass filtering you will likely have to create your own kernel for your need. The PhysicalPointSouce and the VectorIndexSelectionCast filters along with overloaded operators can be useful see here for an example [1]. ITK also has good implementations of Gaussian derivatives and Laplacian convolutions which can be used for high pass filtering as well. HTH, Brad [1] http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/20_Expand_With_Interpolators.html > On Nov 28, 2016, at 9:39 AM, Robert.Atwood at diamond.ac.uk wrote: > > Ok, I was trying to avoid having to build it ;) padding to a 2^n is probably going to work ok now that your advice has solved my problem. > > > I was implementing a fft-high-pass filter because it works really well in ImageJ for the particular issues we have .. but is better done in proper 3d and I know ITK could do it > > -- Is there a simple equivalent module as the 'FFT bandpass' in ImageJ but for 2/3(4?) d ? Creating the filter function is another annoyance for which I have a solution but it's not very general. > > > (PS> I did get it to work if I manually set the values to a known amount ... as in the commented line of the code #padextratup=(125,125,100) ) > > > > -----Original Message----- > From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] > Sent: Monday, November 28, 2016 2:30 PM > To: Atwood, Robert (DLSLtd,RAL,SCI) > Cc: insight-users at itk.org > Subject: Re: [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? > > Hi, > > You are correct that it does not guarantee that image fits the requirements of the underlying FFT algorithm. But it is an an example of how it could be manually done. If you want to automatically do the FFT convolution there is the FFT convolution filter. > > SimpleITK will use what ever FFT library ITK is configured with. When you compile the SimpleITK Superbuild with ITK_USE_FFTWD and ITK_USE_FFTWF defined true on the command line it will build ITK with FFTW and thereby SimpleITK will use FFTW. > > HTH, > Brad > > [1] https://itk.org/SimpleITKDoxygen/html/classitk_1_1simple_1_1FFTConvolutionImageFilter.html > >> On Nov 28, 2016, at 9:18 AM, Robert.Atwood at diamond.ac.uk wrote: >> >> Further question ... >> >>> Here is an example for manual padding for FFTs: >>> https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/FF >>> TConvolution.py >> >> # pad the image >> img = sitk.MirrorPad( img, [128] *2, [128]*2 ) size = img.GetSize(); >> >> >> I don't understand what this line does. I expect it would increase the size of the array by adding 128 on the top and bottom. This does not guarantee that the final size is within the restriction of powers of 2,3, and 5 required by the fft module, does it? Or do I not follow what MirrorPad is doing with the input vectors? >> >> Or can I get rid of this restriction some other way... >> >> --- Is it possible to configure sitk to use fftw (or pyfftw) instead? >> >> >> Thanks! >> Robert >> >> >> >> >> >> >> >> -----Original Message----- >> From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] >> Sent: Monday, November 28, 2016 2:08 PM >> To: Atwood, Robert (DLSLtd,RAL,SCI) >> Cc: insight-users at itk.org >> Subject: Re: [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? >> >> Hello, >> >> It looks like there is rightfully so no implicit conversion from numpy.int32 to ?unsigned int? for value in tuples. >> >> >> The following worked for me: >> >> padim=sitk.MirrorPad(medim,padextra.astype(int),padtop.astype(int)) >> >> and so does the following: >> >> padim=sitk.MirrorPad(medim,padextra.astype(np.int),padtop.astype(np.int)) >> >> Here is an example for manual padding for FFTs: >> https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/FFTConvolution.py >> >> >> HTH, >> Brad >> >>> On Nov 28, 2016, at 8:46 AM, Robert.Atwood at diamond.ac.uk wrote: >>> >>> Hi, >>> I just can't get this to work, I've tried any permutation I can think of. >>> I want to pad an array up to a calculated value on all dimensions. The calculation is easy to do in vectors with numpy , but whatever I try to do the mirrorpad function will not accept the data type. >>> >>> >>> Fsize is the array size and padsize is the desired size in all >>> dimensions. The calculation produces initially a floating point number The line in comment # works, but I can't find a simple way to get the calculated output into a type that the function accepts. >>> So my question : >>> >>> 1. is there a more integrated way to make the image fit the requirements of the FFT filter, because that's what all this is in aid of. >>> 2. if this is the best way to do it, how do I make the function accept the dimension vector?? >>> >>> >>> Thanks! >>> >>> The error is as follows: >>> >>> _____________________________ >>> >>> Traceback (most recent call last): >>> File "/home/kny48981/progs/segment_sitk/trysitkmask.py", line 92, in >>> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >>> File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad >>> return _SimpleITK.MirrorPad(*args, **kwargs) >>> TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' >>> >>> _____________________ >>> >>> >>> Complete reproducer with dummy image: (full output below) >>> >>> >>> reproducer.py >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>> import SimpleITK as sitk >>> import numpy as np >>> >>> >>> >>> medim=sitk.Image(120,122,135,sitk.sitkFloat32) >>> >>> fsize=np.array(medim.GetSize()) >>> fctr=fsize/2.0 >>> >>> padsize=(256,256,256) >>> >>> padextra=(((padsize-fsize)/2.0)).astype(np.int32) >>> >>> print "fsize=",fsize >>> print "padsize=",padsize >>> print"padextra=", padextra >>> print type(padextra) >>> padfix = padsize - fsize - padextra - padextra print "padfix",padfix >>> padtop=(padextra + padfix).astype(np.int32) >>> >>> >>> padextratup=tuple(padextra) >>> padtoptup=tuple(padtop) >>> >>> #padextratup=(125,125,100) >>> >>> print type(padtoptup) >>> print padtoptup >>> print type(padtoptup[0]) >>> print type(padtoptup[1]) >>> print type(padtoptup[2]) >>> >>> print type(padextratup) >>> print padextratup >>> print type(padextratup[0]) >>> print type(padextratup[1]) >>> print type(padextratup[2]) >>> >>> >>> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>> Output: >>> >>> python ./reproducer.py >>> fsize= [120 122 135] >>> padsize= (256, 256, 256) >>> padextra= [68 67 60] >>> >>> padfix [0 0 1] >>> >>> (68, 67, 61) >>> >>> >>> >>> >>> (68, 67, 60) >>> >>> >>> >>> Traceback (most recent call last): >>> File "./reproducer.py", line 42, in >>> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >>> File "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleITK.py", line 35916, in MirrorPad >>> return _SimpleITK.MirrorPad(*args, **kwargs) >>> TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' >>> [kny48981 at i12-ws011 testseg_sitk]$ >>> __________________________________ >>> >>> >>> -- >>> 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 >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.php >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/insight-users >> >> >> -- >> This e-mail 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 > _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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.Atwood at diamond.ac.uk Mon Nov 28 13:33:39 2016 From: Robert.Atwood at diamond.ac.uk (Robert.Atwood at diamond.ac.uk) Date: Mon, 28 Nov 2016 18:33:39 +0000 Subject: [ITK] [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? In-Reply-To: <1DEC34EB-ECE3-4B69-AA21-686556E44A0B@mail.nih.gov> References: <6CCDD8FC6578314C902BBF87D511D9D8F294A5A7@exchmbx01> <6C73CA67-4191-4001-8A21-F784D3DA0288@mail.nih.gov> <6CCDD8FC6578314C902BBF87D511D9D8F294A5ED@exchmbx01> <6CCDD8FC6578314C902BBF87D511D9D8F294A61F@exchmbx01> <1DEC34EB-ECE3-4B69-AA21-686556E44A0B@mail.nih.gov> Message-ID: <6CCDD8FC6578314C902BBF87D511D9D8F294B7C9@exchmbx01> Thanks! Original problem solved! and will investigate alternate filters too. The size of the real data as opposed to the quick test .. does make the FFT a bit tricky since the memory gets filled up. -----Original Message----- From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] Sent: Monday, November 28, 2016 3:09 PM To: Atwood, Robert (DLSLtd,RAL,SCI) Cc: insight-users at itk.org Subject: Re: [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? FFTW has a GPL license which makes packaging with it problematic. I would just directly use the FFTConvolution filter for your case, as it already does the needed padding. For FFT base high pass filtering you will likely have to create your own kernel for your need. The PhysicalPointSouce and the VectorIndexSelectionCast filters along with overloaded operators can be useful see here for an example [1]. ITK also has good implementations of Gaussian derivatives and Laplacian convolutions which can be used for high pass filtering as well. HTH, Brad [1] http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/20_Expand_With_Interpolators.html > On Nov 28, 2016, at 9:39 AM, Robert.Atwood at diamond.ac.uk wrote: > > Ok, I was trying to avoid having to build it ;) padding to a 2^n is probably going to work ok now that your advice has solved my problem. > > > I was implementing a fft-high-pass filter because it works really well > in ImageJ for the particular issues we have .. but is better done in > proper 3d and I know ITK could do it > > -- Is there a simple equivalent module as the 'FFT bandpass' in ImageJ but for 2/3(4?) d ? Creating the filter function is another annoyance for which I have a solution but it's not very general. > > > (PS> I did get it to work if I manually set the values to a known > amount ... as in the commented line of the code > #padextratup=(125,125,100) ) > > > > -----Original Message----- > From: Lowekamp, Bradley (NIH/NLM/LHC) [C] > [mailto:blowekamp at mail.nih.gov] > Sent: Monday, November 28, 2016 2:30 PM > To: Atwood, Robert (DLSLtd,RAL,SCI) > Cc: insight-users at itk.org > Subject: Re: [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? > > Hi, > > You are correct that it does not guarantee that image fits the requirements of the underlying FFT algorithm. But it is an an example of how it could be manually done. If you want to automatically do the FFT convolution there is the FFT convolution filter. > > SimpleITK will use what ever FFT library ITK is configured with. When you compile the SimpleITK Superbuild with ITK_USE_FFTWD and ITK_USE_FFTWF defined true on the command line it will build ITK with FFTW and thereby SimpleITK will use FFTW. > > HTH, > Brad > > [1] > https://itk.org/SimpleITKDoxygen/html/classitk_1_1simple_1_1FFTConvolu > tionImageFilter.html > >> On Nov 28, 2016, at 9:18 AM, Robert.Atwood at diamond.ac.uk wrote: >> >> Further question ... >> >>> Here is an example for manual padding for FFTs: >>> https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/F >>> F >>> TConvolution.py >> >> # pad the image >> img = sitk.MirrorPad( img, [128] *2, [128]*2 ) size = img.GetSize(); >> >> >> I don't understand what this line does. I expect it would increase the size of the array by adding 128 on the top and bottom. This does not guarantee that the final size is within the restriction of powers of 2,3, and 5 required by the fft module, does it? Or do I not follow what MirrorPad is doing with the input vectors? >> >> Or can I get rid of this restriction some other way... >> >> --- Is it possible to configure sitk to use fftw (or pyfftw) instead? >> >> >> Thanks! >> Robert >> >> >> >> >> >> >> >> -----Original Message----- >> From: Lowekamp, Bradley (NIH/NLM/LHC) [C] >> [mailto:blowekamp at mail.nih.gov] >> Sent: Monday, November 28, 2016 2:08 PM >> To: Atwood, Robert (DLSLtd,RAL,SCI) >> Cc: insight-users at itk.org >> Subject: Re: [ITK-users] simpleitk + python + vector type in sitk.mirrorpad args? >> >> Hello, >> >> It looks like there is rightfully so no implicit conversion from numpy.int32 to ?unsigned int? for value in tuples. >> >> >> The following worked for me: >> >> padim=sitk.MirrorPad(medim,padextra.astype(int),padtop.astype(int)) >> >> and so does the following: >> >> padim=sitk.MirrorPad(medim,padextra.astype(np.int),padtop.astype(np.i >> nt)) >> >> Here is an example for manual padding for FFTs: >> https://github.com/SimpleITK/SimpleITK/blob/master/Examples/Python/FF >> TConvolution.py >> >> >> HTH, >> Brad >> >>> On Nov 28, 2016, at 8:46 AM, Robert.Atwood at diamond.ac.uk wrote: >>> >>> Hi, >>> I just can't get this to work, I've tried any permutation I can think of. >>> I want to pad an array up to a calculated value on all dimensions. The calculation is easy to do in vectors with numpy , but whatever I try to do the mirrorpad function will not accept the data type. >>> >>> >>> Fsize is the array size and padsize is the desired size in all >>> dimensions. The calculation produces initially a floating point number The line in comment # works, but I can't find a simple way to get the calculated output into a type that the function accepts. >>> So my question : >>> >>> 1. is there a more integrated way to make the image fit the requirements of the FFT filter, because that's what all this is in aid of. >>> 2. if this is the best way to do it, how do I make the function accept the dimension vector?? >>> >>> >>> Thanks! >>> >>> The error is as follows: >>> >>> _____________________________ >>> >>> Traceback (most recent call last): >>> File "/home/kny48981/progs/segment_sitk/trysitkmask.py", line 92, in >>> >>> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >>> File >>> "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleI >>> TK.py", line 35916, in MirrorPad return _SimpleITK.MirrorPad(*args, >>> **kwargs) >>> TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' >>> >>> _____________________ >>> >>> >>> Complete reproducer with dummy image: (full output below) >>> >>> >>> reproducer.py >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>> import SimpleITK as sitk >>> import numpy as np >>> >>> >>> >>> medim=sitk.Image(120,122,135,sitk.sitkFloat32) >>> >>> fsize=np.array(medim.GetSize()) >>> fctr=fsize/2.0 >>> >>> padsize=(256,256,256) >>> >>> padextra=(((padsize-fsize)/2.0)).astype(np.int32) >>> >>> print "fsize=",fsize >>> print "padsize=",padsize >>> print"padextra=", padextra >>> print type(padextra) >>> padfix = padsize - fsize - padextra - padextra print "padfix",padfix >>> padtop=(padextra + padfix).astype(np.int32) >>> >>> >>> padextratup=tuple(padextra) >>> padtoptup=tuple(padtop) >>> >>> #padextratup=(125,125,100) >>> >>> print type(padtoptup) >>> print padtoptup >>> print type(padtoptup[0]) >>> print type(padtoptup[1]) >>> print type(padtoptup[2]) >>> >>> print type(padextratup) >>> print padextratup >>> print type(padextratup[0]) >>> print type(padextratup[1]) >>> print type(padextratup[2]) >>> >>> >>> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>> Output: >>> >>> python ./reproducer.py >>> fsize= [120 122 135] >>> padsize= (256, 256, 256) >>> padextra= [68 67 60] >>> >>> padfix [0 0 1] >>> >>> (68, 67, 61) >>> >>> >>> >>> >>> (68, 67, 60) >>> >>> >>> >>> Traceback (most recent call last): >>> File "./reproducer.py", line 42, in >>> padim=sitk.MirrorPad(medim,padextratup,padtoptup) >>> File >>> "/home/kny48981/.local/lib/python2.7/site-packages/SimpleITK/SimpleI >>> TK.py", line 35916, in MirrorPad return _SimpleITK.MirrorPad(*args, >>> **kwargs) >>> TypeError: in method 'MirrorPad', argument 2 of type 'std::vector< unsigned int,std::allocator< unsigned int > > const &' >>> [kny48981 at i12-ws011 testseg_sitk]$ >>> __________________________________ >>> >>> >>> -- >>> 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 >>> >>> _____________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.php >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/insight-users >> >> >> -- >> This e-mail 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 > -- 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 _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 isaiah.norton at gmail.com Mon Nov 28 12:14:31 2016 From: isaiah.norton at gmail.com (Isaiah Norton) Date: Mon, 28 Nov 2016 12:14:31 -0500 Subject: [ITK] [ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName() In-Reply-To: <20161125204726.859979322@mail.rogue-research.com> References: <20161125204726.859979322@mail.rogue-research.com> Message-ID: > > It sorta reminds me of the 'dynamic_cast on Mac OSX' thread, is it related? Yes. This is a symptom of the same issue: missing export annotations. Hans emailed about the same warnings in April (the mailing list archive is currently down so I can't provide a link, but I can find it in my gmail folder for insight-dev with a search for "global weak symbol"). On Fri, Nov 25, 2016 at 3:47 PM, Sean McBride wrote: > Hi all, > > I'm trying to rebuild my app and all its C++ libraries with > -fvisibility=hidden -fvisibility-inlines-hidden. It all builds, but I get > 3 very similar link warnings building my app; the first is: > > ld: warning: direct access in function 'itk::MetaDataObject > >::GetMetaDataObjectTypeName() const' from file 'libITKCommon.a(itkMetaDataObject.cxx.o)' > to global weak symbol 'typeinfo for itk::Array' from file > 'MyOwnCode.o' means the weak symbol cannot be overridden at runtime. This > was likely caused by different translation units being compiled with > different visibility settings. > > I'm using ITK 4.10.1 on OS X 10.11.6 with Xcode 7.3.1 (AppleClang 7.3). > > I'm hoping one of you C++ wizards could help me decipher the problem. :) > It sorta reminds me of the 'dynamic_cast on Mac OSX' thread, is it related? > > Thanks, > > -- > ____________________________________________________________ > 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 > -------------- 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 blowekamp at mail.nih.gov Mon Nov 28 10:59:41 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Mon, 28 Nov 2016 15:59:41 +0000 Subject: [ITK] [ITK-dev] MSVC linking errors down but still problems Message-ID: <7A701955-0708-4A5F-B215-7E92CF133813@mail.nih.gov> Hello, I have recently added needed standard export specification to the explicitly instantiated ParametricPath class [1] to address many compilation errors [2] with standard shared library configuration with MSCV. The linker errors had the following form: ITKPath-4.11.lib(ITKPath-4.11.dll) : error LNK2005: "public: virtual void __cdecl itk::ParametricPath<2>::SetDefaultInputStepSize(double)" (?SetDefaultInputStepSize@?$ParametricPath@$01 at itk@@UEAAXN at Z) already defined in itkPathIteratorTest.obj [C:\d\itk-vs11-64rs\ITK-build\Modules\Filtering\Path\test\ITKPathTestDriver.vcxproj] The patch successfully address the problem with ?normal? shared libraries. Now a new linker error [3] has popped up with the CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS option enabled with just one MSVC compiler vs12: itkPolylineMask2DImageFilterTest.cxx.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) const itk::Path,2>::`vftable'" (__imp_??_7?$Path at NV?$ContinuousIndex at N$01 at itk@@$01 at itk@@6B@) referenced in function "protected: virtual __cdecl itk::PolyLineParametricPath<2>::~PolyLineParametricPath<2>(void)" (??1?$PolyLineParametricPath@$01 at itk@@MEAA at XZ) It is important to note that the missing Path symbol is the parent class of the explicitly instantiated and exported ParametricPath class. So who wants to take up this issue? Thanks, Brad [1] https://github.com/InsightSoftwareConsortium/ITK/compare/7ed1d9b058715f00a08ecac8cbc1498728296d57...0aa2e6fe7411c46ec21c27cbcde8eb42f4cdc4b4 [2] https://open.cdash.org/viewBuildError.php?buildid=4657350 [3] https://open.cdash.org/viewBuildError.php?buildid=4661233 _______________________________________________ Powered by www.kitware.com 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 sean at rogue-research.com Mon Nov 28 16:59:46 2016 From: sean at rogue-research.com (Sean McBride) Date: Mon, 28 Nov 2016 16:59:46 -0500 Subject: [ITK] [ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName() In-Reply-To: <8DB39FAA-F297-4EBB-9560-31C6A97DE43E@mail.nih.gov> References: <20161125204726.859979322@mail.rogue-research.com> <8DB39FAA-F297-4EBB-9560-31C6A97DE43E@mail.nih.gov> Message-ID: <20161128215946.318358223@mail.rogue-research.com> On Fri, 25 Nov 2016 20:55:31 +0000, Lowekamp, Bradley (NIH/NLM/LHC) [C] said: >I presume you are compiling ITK with shared libraries? No, as static libraries. >Would you happen to have a minimal example of ?MyOwnCode.cxx? that >reproduces this warning? I reduced it to a very small Xcode project with only 1 source file. Then I continued to reduce it to just a command line invocation of clang and it stopped reproducing. :( I soon discovered that between Xcode 6.4 and 7.0 a bug seems to have been introduced where turning on "symbols hidden by default" in the GUI (aka "GCC_SYMBOLS_PRIVATE_EXTERN = YES") doesn't actually pass "-fvisibility=hidden" to clang! So, for my particular case at least, there is no ITK issue here. Sorry for the noise. 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 blowekamp at mail.nih.gov Tue Nov 29 09:19:06 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Tue, 29 Nov 2016 14:19:06 +0000 Subject: [ITK] [ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName() In-Reply-To: <20161128215946.318358223@mail.rogue-research.com> References: <20161125204726.859979322@mail.rogue-research.com> <8DB39FAA-F297-4EBB-9560-31C6A97DE43E@mail.nih.gov> <20161128215946.318358223@mail.rogue-research.com> Message-ID: <271A2422-E884-47D5-8631-4A90C154975C@mail.nih.gov> Thanks for the update, and the work to narrow your problem down. Just to let you know, another alternative to managing the flags is to use CMake preset property variables. When I build ITK for SimpleITK I apply (depending on the configuration) the following CMake options: -DCMAKE_C_VISIBILITY_PRESET:BOOL=hidden -DCMAKE_CXX_VISIBILITY_PRESET:BOOL=hidden -DCMAKE_VISIBILITY_INLINES_HIDDEN:BOOL=ON This seems to work well now. And CMake appears to append the option after on the programatic manipulation of the standard flag variables. HTH, Brad > On Nov 28, 2016, at 4:59 PM, Sean McBride wrote: > > On Fri, 25 Nov 2016 20:55:31 +0000, Lowekamp, Bradley (NIH/NLM/LHC) [C] said: > >> I presume you are compiling ITK with shared libraries? > > No, as static libraries. > >> Would you happen to have a minimal example of ?MyOwnCode.cxx? that >> reproduces this warning? > > I reduced it to a very small Xcode project with only 1 source file. Then I continued to reduce it to just a command line invocation of clang and it stopped reproducing. :( > > I soon discovered that between Xcode 6.4 and 7.0 a bug seems to have been introduced where turning on "symbols hidden by default" in the GUI (aka "GCC_SYMBOLS_PRIVATE_EXTERN = YES") doesn't actually pass "-fvisibility=hidden" to clang! > > So, for my particular case at least, there is no ITK issue here. Sorry for the noise. > > 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 hans-johnson at uiowa.edu Tue Nov 29 10:04:12 2016 From: hans-johnson at uiowa.edu (Johnson, Hans J) Date: Tue, 29 Nov 2016 15:04:12 +0000 Subject: [ITK] [ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName() In-Reply-To: <271A2422-E884-47D5-8631-4A90C154975C@mail.nih.gov> References: <20161125204726.859979322@mail.rogue-research.com> <8DB39FAA-F297-4EBB-9560-31C6A97DE43E@mail.nih.gov> <20161128215946.318358223@mail.rogue-research.com> <271A2422-E884-47D5-8631-4A90C154975C@mail.nih.gov> Message-ID: Brad, Is that command line correct? :BOOL=hidden ? Is that true, or false, or should it be :STRING=hidden ? Hans -- On 11/29/16, 8:19 AM, "Insight-developers on behalf of Lowekamp, Bradley (NIH/NLM/LHC) [C]" wrote: Thanks for the update, and the work to narrow your problem down. Just to let you know, another alternative to managing the flags is to use CMake preset property variables. When I build ITK for SimpleITK I apply (depending on the configuration) the following CMake options: -DCMAKE_C_VISIBILITY_PRESET:BOOL=hidden -DCMAKE_CXX_VISIBILITY_PRESET:BOOL=hidden -DCMAKE_VISIBILITY_INLINES_HIDDEN:BOOL=ON This seems to work well now. And CMake appears to append the option after on the programatic manipulation of the standard flag variables. HTH, Brad > On Nov 28, 2016, at 4:59 PM, Sean McBride wrote: > > On Fri, 25 Nov 2016 20:55:31 +0000, Lowekamp, Bradley (NIH/NLM/LHC) [C] said: > >> I presume you are compiling ITK with shared libraries? > > No, as static libraries. > >> Would you happen to have a minimal example of ?MyOwnCode.cxx? that >> reproduces this warning? > > I reduced it to a very small Xcode project with only 1 source file. Then I continued to reduce it to just a command line invocation of clang and it stopped reproducing. :( > > I soon discovered that between Xcode 6.4 and 7.0 a bug seems to have been introduced where turning on "symbols hidden by default" in the GUI (aka "GCC_SYMBOLS_PRIVATE_EXTERN = YES") doesn't actually pass "-fvisibility=hidden" to clang! > > So, for my particular case at least, there is no ITK issue here. Sorry for the noise. > > 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 _______________________________________________ Powered by www.kitware.com 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 blowekamp at mail.nih.gov Tue Nov 29 10:23:50 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Tue, 29 Nov 2016 15:23:50 +0000 Subject: [ITK] [ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName() In-Reply-To: References: <20161125204726.859979322@mail.rogue-research.com> <8DB39FAA-F297-4EBB-9560-31C6A97DE43E@mail.nih.gov> <20161128215946.318358223@mail.rogue-research.com> <271A2422-E884-47D5-8631-4A90C154975C@mail.nih.gov> Message-ID: You are right! I am surprised CMake does not generate warning about that. Thank you for the suggestion: https://github.com/SimpleITK/SimpleITK/pull/76 Brad > On Nov 29, 2016, at 10:04 AM, Johnson, Hans J wrote: > > Brad, > > Is that command line correct? > > :BOOL=hidden ? Is that true, or false, or should it be :STRING=hidden ? > > Hans > > > -- > > > On 11/29/16, 8:19 AM, "Insight-developers on behalf of Lowekamp, Bradley (NIH/NLM/LHC) [C]" wrote: > > Thanks for the update, and the work to narrow your problem down. > > Just to let you know, another alternative to managing the flags is to use CMake preset property variables. When I build ITK for SimpleITK I apply (depending on the configuration) the following CMake options: > > -DCMAKE_C_VISIBILITY_PRESET:BOOL=hidden > -DCMAKE_CXX_VISIBILITY_PRESET:BOOL=hidden > -DCMAKE_VISIBILITY_INLINES_HIDDEN:BOOL=ON > > This seems to work well now. And CMake appears to append the option after on the programatic manipulation of the standard flag variables. > > HTH, > Brad > >> On Nov 28, 2016, at 4:59 PM, Sean McBride wrote: >> >> On Fri, 25 Nov 2016 20:55:31 +0000, Lowekamp, Bradley (NIH/NLM/LHC) [C] said: >> >>> I presume you are compiling ITK with shared libraries? >> >> No, as static libraries. >> >>> Would you happen to have a minimal example of ?MyOwnCode.cxx? that >>> reproduces this warning? >> >> I reduced it to a very small Xcode project with only 1 source file. Then I continued to reduce it to just a command line invocation of clang and it stopped reproducing. :( >> >> I soon discovered that between Xcode 6.4 and 7.0 a bug seems to have been introduced where turning on "symbols hidden by default" in the GUI (aka "GCC_SYMBOLS_PRIVATE_EXTERN = YES") doesn't actually pass "-fvisibility=hidden" to clang! >> >> So, for my particular case at least, there is no ITK issue here. Sorry for the noise. >> >> 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 > > _______________________________________________ Powered by www.kitware.com 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 Nov 29 15:53:46 2016 From: matt.mccormick at kitware.com (Matt McCormick) Date: Tue, 29 Nov 2016 15:53:46 -0500 Subject: [ITK] [ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName() In-Reply-To: References: <20161125204726.859979322@mail.rogue-research.com> Message-ID: On Mon, Nov 28, 2016 at 12:14 PM, Isaiah Norton wrote: >> It sorta reminds me of the 'dynamic_cast on Mac OSX' thread, is it >> related? > > > Yes. This is a symptom of the same issue: missing export annotations. Hans > emailed about the same warnings in April (the mailing list archive is > currently down so I can't provide a link, but I can find it in my gmail > folder for insight-dev with a search for "global weak symbol"). This patch: http://review.source.kitware.com/#/c/21805/2/Modules/Core/Common/include/itkArray.h will address the issue. > > On Fri, Nov 25, 2016 at 3:47 PM, Sean McBride > wrote: >> >> Hi all, >> >> I'm trying to rebuild my app and all its C++ libraries with >> -fvisibility=hidden -fvisibility-inlines-hidden. It all builds, but I get 3 >> very similar link warnings building my app; the first is: >> >> ld: warning: direct access in function >> 'itk::MetaDataObject >::GetMetaDataObjectTypeName() >> const' from file 'libITKCommon.a(itkMetaDataObject.cxx.o)' to global weak >> symbol 'typeinfo for itk::Array' from file 'MyOwnCode.o' means the >> weak symbol cannot be overridden at runtime. This was likely caused by >> different translation units being compiled with different visibility >> settings. >> >> I'm using ITK 4.10.1 on OS X 10.11.6 with Xcode 7.3.1 (AppleClang 7.3). >> >> I'm hoping one of you C++ wizards could help me decipher the problem. :) >> It sorta reminds me of the 'dynamic_cast on Mac OSX' thread, is it related? >> >> Thanks, >> >> -- >> ____________________________________________________________ >> 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 > > > > _______________________________________________ > Powered by www.kitware.com > > 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 blowekamp at mail.nih.gov Tue Nov 29 20:58:38 2016 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Wed, 30 Nov 2016 01:58:38 +0000 Subject: [ITK] [ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName() In-Reply-To: <20161128215946.318358223@mail.rogue-research.com> References: <20161125204726.859979322@mail.rogue-research.com> <8DB39FAA-F297-4EBB-9560-31C6A97DE43E@mail.nih.gov>, <20161128215946.318358223@mail.rogue-research.com> Message-ID: Sean, One more question, if you have a moment: What is the purpose or goal of adding the hidden visibility flag when building ITK with static libraries? What API are you trying to expose on your "Application"? Thanks, Brad ________________________________________ From: Sean McBride [sean at rogue-research.com] Sent: Monday, November 28, 2016 4:59 PM To: Lowekamp, Bradley (NIH/NLM/LHC) [C] Cc: insight-developers at itk.org Subject: Re: [ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName() On Fri, 25 Nov 2016 20:55:31 +0000, Lowekamp, Bradley (NIH/NLM/LHC) [C] said: >I presume you are compiling ITK with shared libraries? No, as static libraries. >Would you happen to have a minimal example of ?MyOwnCode.cxx? that >reproduces this warning? I reduced it to a very small Xcode project with only 1 source file. Then I continued to reduce it to just a command line invocation of clang and it stopped reproducing. :( I soon discovered that between Xcode 6.4 and 7.0 a bug seems to have been introduced where turning on "symbols hidden by default" in the GUI (aka "GCC_SYMBOLS_PRIVATE_EXTERN = YES") doesn't actually pass "-fvisibility=hidden" to clang! So, for my particular case at least, there is no ITK issue here. Sorry for the noise. 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 sean at rogue-research.com Wed Nov 30 12:39:44 2016 From: sean at rogue-research.com (Sean McBride) Date: Wed, 30 Nov 2016 12:39:44 -0500 Subject: [ITK] [ITK-dev] -fvisibility=hidden link warnings with GetMetaDataObjectTypeName() In-Reply-To: References: <20161125204726.859979322@mail.rogue-research.com> <8DB39FAA-F297-4EBB-9560-31C6A97DE43E@mail.nih.gov>,<20161128215946.31835822 3@mail.rogue-research.com> Message-ID: <20161130173944.2066079195@mail.rogue-research.com> On Wed, 30 Nov 2016 01:58:38 +0000, Lowekamp, Bradley (NIH/NLM/LHC) [C] said: >One more question, if you have a moment: > >What is the purpose or goal of adding the hidden visibility flag when >building ITK with static libraries? What API are you trying to expose on >your "Application"? Brad, Well, for one, it's just best practice to build anything, especially library code like ITK, with -fvisibility=hidden. But my actual motivation was that I started using OpenCV and its build system forces -fvisibility=hidden. This caused link warnings in my app because indeed I had different code built with different visibility settings. So I figured it was time to rebuild all my 3rd party libs with -fvisibility=hidden. Once I did, I still had the 3 link warnings that started this thread, but in the end those 3 were an Xcode bug. 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