From sean at rogue-research.com Mon Oct 2 11:56:14 2017 From: sean at rogue-research.com (Sean McBride) Date: Mon, 2 Oct 2017 11:56:14 -0400 Subject: [ITK] [ITK-dev] Patches for 4.12.2 release In-Reply-To: <1C12646C-C41C-4B67-9692-8FA6295E27AA@mail.nih.gov> References: <20170929153939.2106354230@mail.rogue-research.com> <1C12646C-C41C-4B67-9692-8FA6295E27AA@mail.nih.gov> Message-ID: <20171002155614.338261949@mail.rogue-research.com> On Fri, 29 Sep 2017 17:28:36 +0000, Lowekamp, Bradley (NIH/NLM/LHC) [C] said: >Could you explicitly include nigti1_io.h in you code? Brad, . Thanks. I had mistakenly assumed that the symbols were made private and the header was no longer installed. I see now that it's merely no longer #included implicitly. Sorry for the noise. Cheers, Sean _______________________________________________ Powered by www.kitware.com 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 Oct 2 17:14:20 2017 From: bakkari.abdelkhalek at hotmail.fr (Abdelkhalek Bakkari) Date: Mon, 2 Oct 2017 21:14:20 +0000 Subject: [ITK] [ITK-users] Binary Contour of surface - 1 pixel Thickness - Message-ID: Dear ITK users, I tried to apply the BinaryContourFilter in order to extract the binary coutour of a 3D binary image. But, the thickness wich I've got is more than one pixel. Could you please provide me a solution for this issue ? Kind regards, -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users From dzenanz at gmail.com Mon Oct 2 17:54:53 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 2 Oct 2017 17:54:53 -0400 Subject: [ITK] [ITK-users] Binary Contour of surface - 1 pixel Thickness - In-Reply-To: References: Message-ID: Hi Abdelkhalek, if you are looking at 2D intersections of 3D contours, they will appear thicker than one pixel in some areas, but this is normal . If this is not your problem, then please better explain the problem (with example images). Also, we are transitioning to discourse , so it would be good if you posted future questions there. Regards, D?enan On Mon, Oct 2, 2017 at 5:14 PM, Abdelkhalek Bakkari < bakkari.abdelkhalek at hotmail.fr> wrote: > Dear ITK users, > > > I tried to apply the BinaryContourFilter in order to extract the binary > coutour of a 3D binary image. But, the thickness wich I've got is more than > one pixel. > > Could you please provide me a solution for this issue ? > > > Kind regards, > > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users From francois.budin at kitware.com Tue Oct 3 10:55:18 2017 From: francois.budin at kitware.com (Francois Budin) Date: Tue, 3 Oct 2017 10:55:18 -0400 Subject: [ITK] [ITK-users] ITK 4.12 build issues with cmake 2.8.12 In-Reply-To: <20A76CF9-5FE0-482D-AF95-42B8F66182AB@mathworks.com> References: <20A76CF9-5FE0-482D-AF95-42B8F66182AB@mathworks.com> Message-ID: Hi, I see in the compilation flags '-std=c++11`. Did you change any compilation flags or CMake option? I will try to reproduce your bug locally. Thanks, Francois PS: The new ITK discourse forum is a good place also to post these questions: https://discourse.itk.org/ On Fri, Sep 29, 2017 at 4:50 PM, Anchit Dhar wrote: > Hello, > > > > I am trying to build ITK 4.12 with cmake 2.8.12 on a linux machine with > GCC 6.3. My build fails at the configuration sets with the error snippets > added below. > > > > I was wondering if there are any known/open build issues with this > combination on cmake and ITK? Does anyone have any pointers on resolving > these configuration issues? > > > > Thanks in advance. > > > > Regards, > > Anchit. > > > > *Error Snippet* > > > > Performing C SOURCE FILE Test C_HAS_WARNING-Wno-long-double failed with > the following output: > > Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp > > > > Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" > "cmTC_91c4b/fast" > > gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_91c4b.dir/build.make > CMakeFiles/cmTC_91c4b.dir/build > > gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > Building C object CMakeFiles/cmTC_91c4b.dir/src.c.o > > /internal/2501977/glnxa64/gcc-6.3.0/bin/gcc -O2 -pipe -pthread -fPIC > -DC_HAS_WARNING-Wno-long-double -Wno-long-double -o > CMakeFiles/cmTC_91c4b.dir/src.c.o -c /home/adhar/3p-tmw/3p/derived/ > glnxa64/ITK/CMakeFiles/CMakeTmp/src.c > > :0:14: warning: ISO C99 requires whitespace after the macro > name > > cc1: warning: unrecognized command line option ?-Wno-long-double? > > Linking C executable cmTC_91c4b > > /home/adhar/3p-tmw/3p/private/unknown/glnxa64/cmake-bin/glnx86/cmake -E > cmake_link_script CMakeFiles/cmTC_91c4b.dir/link.txt --verbose=1 > > /internal/2501977/glnxa64/gcc-6.3.0/bin/gcc -O2 -pipe -pthread -fPIC > -DC_HAS_WARNING-Wno-long-double -pthread -Wl,--hash-style=both > -L/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > -Wl,-rpath-link,/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > CMakeFiles/cmTC_91c4b.dir/src.c.o -o cmTC_91c4b -rdynamic > > gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > > > Source file was: > > int main(void) { return 0; } > > Performing C++ SOURCE FILE Test CXX_HAS_WARNING-Wno-long-double failed > with the following output: > > Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp > > > > Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" > "cmTC_82695/fast" > > gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_82695.dir/build.make > CMakeFiles/cmTC_82695.dir/build > > gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > Building CXX object CMakeFiles/cmTC_82695.dir/src.cxx.o > > /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC > -std=c++11 -DCXX_HAS_WARNING-Wno-long-double -Wno-long-double -o > CMakeFiles/cmTC_82695.dir/src.cxx.o -c /home/adhar/3p-tmw/3p/derived/ > glnxa64/ITK/CMakeFiles/CMakeTmp/src.cxx > > :0:16: warning: ISO C++11 requires whitespace after the > macro name > > cc1plus: warning: unrecognized command line option ?-Wno-long-double? > > Linking CXX executable cmTC_82695 > > /home/adhar/3p-tmw/3p/private/unknown/glnxa64/cmake-bin/glnx86/cmake -E > cmake_link_script CMakeFiles/cmTC_82695.dir/link.txt --verbose=1 > > /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC > -std=c++11 -DCXX_HAS_WARNING-Wno-long-double -pthread > -Wl,--hash-style=both -L/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > -Wl,-rpath-link,/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > CMakeFiles/cmTC_82695.dir/src.cxx.o -o cmTC_82695 -rdynamic > > gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > > > Source file was: > > int main() { return 0;} > > Performing C++ SOURCE FILE Test have_gold failed with the following output: > > Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp > > > > Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" > "cmTC_93f61/fast" > > gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_93f61.dir/build.make > CMakeFiles/cmTC_93f61.dir/build > > gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > Building CXX object CMakeFiles/cmTC_93f61.dir/src.cxx.o > > /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC > -std=c++11 -Wall -Wcast-align -Wdisabled-optimization -Wextra -Wformat=2 > -Winvalid-pch -Wno-format-nonliteral -Wpointer-arith -Wshadow -Wunused > -Wwrite-strings -funit-at-a-time -Wno-strict-overflow -Wno-deprecated > -Wno-invalid-offsetof -Woverloaded-virtual -Wstrict-null-sentinel > -Dhave_gold -fuse-ld=gold -o CMakeFiles/cmTC_93f61.dir/src.cxx.o -c > /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp/src.cxx > > Linking CXX executable cmTC_93f61 > > /home/adhar/3p-tmw/3p/private/unknown/glnxa64/cmake-bin/glnx86/cmake -E > cmake_link_script CMakeFiles/cmTC_93f61.dir/link.txt --verbose=1 > > /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC > -std=c++11 -Wall -Wcast-align -Wdisabled-optimization -Wextra -Wformat=2 > -Winvalid-pch -Wno-format-nonliteral -Wpointer-arith -Wshadow -Wunused > -Wwrite-strings -funit-at-a-time -Wno-strict-overflow -Wno-deprecated > -Wno-invalid-offsetof -Woverloaded-virtual -Wstrict-null-sentinel > -Dhave_gold -fuse-ld=gold -pthread -Wl,--hash-style=both > -L/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > -Wl,-rpath-link,/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > CMakeFiles/cmTC_93f61.dir/src.cxx.o -o cmTC_93f61 -rdynamic > > /internal/2501977/glnxa64/gcc-6.3.0/bin/ld.gold: -plugin: unknown option > > /internal/2501977/glnxa64/gcc-6.3.0/bin/ld.gold: use the --help option > for usage information > > collect2: error: ld returned 1 exit status > > gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > gmake[3]: *** [CMakeFiles/cmTC_93f61.dir/build.make:98: cmTC_93f61] Error > 1 > > gmake[2]: *** [Makefile:126: cmTC_93f61/fast] Error 2 > > gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > . > > . > > . > > . > > . > > . > > . > > > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx:24:1: error: ?__int64? does not name a type > > __int64 f(__int64 n) > > ^~~~~~~ > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx: > In function ?int main()?: > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx:30:3: error: ?__int64? was not declared in this > scope > > __int64 n = 0; > > ^~~~~~~ > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx:31:29: error: ?n? was not declared in this scope > > return static_cast(f(n)); > > ^ > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx:31:30: error: ?f? was not declared in this scope > > return static_cast(f(n)); > > ^ > > gmake[3]: *** [CMakeFiles/cmTC_797a6.dir/build.make:66: > CMakeFiles/cmTC_797a6.dir/kwsysPlatformTestsCXX.cxx.o] Error 1 > > . > > . > > . > > . > > . > > . > > . > > Checking whether CXX compiler has _atoi64 failed to compile with the > following output: > > Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/Modules/ > ThirdParty/KWSys/src/KWSys/CMakeFiles/CMakeTmp > > > > Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" > "cmTC_82d35/fast" > > gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/ > derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > CMakeFiles/CMakeTmp' > > /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_82d35.dir/build.make > CMakeFiles/cmTC_82d35.dir/build > > gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/ > derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > CMakeFiles/CMakeTmp' > > Building CXX object CMakeFiles/cmTC_82d35.dir/kwsysPlatformTestsCXX.cxx.o > > /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ > -DTEST_KWSYS_CXX_HAS__ATOI64 -O2 -pipe -pthread -fPIC -std=c++11 -Wall > -Wcast-align -Wdisabled-optimization -Wextra -Wformat=2 -Winvalid-pch > -Wno-format-nonliteral -Wpointer-arith -Wshadow -Wunused -Wwrite-strings > -funit-at-a-time -Wno-strict-overflow -Wno-deprecated -Wno-invalid-offsetof > -Woverloaded-virtual -Wstrict-null-sentinel -w -fPIE -o > CMakeFiles/cmTC_82d35.dir/kwsysPlatformTestsCXX.cxx.o -c > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx: > In function ?int main()?: > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx:252:38: error: ?_atoi64? was not declared in > this scope > > return static_cast(_atoi64(str)); > > ^ > > gmake[3]: *** [CMakeFiles/cmTC_82d35.dir/build.make:66: > CMakeFiles/cmTC_82d35.dir/kwsysPlatformTestsCXX.cxx.o] Error 1 > > gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/ > derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > CMakeFiles/CMakeTmp' > > gmake[2]: *** [Makefile:126: cmTC_82d35/fast] Error 2 > > gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/ > derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > CMakeFiles/CMakeTmp' > > > > > > > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 Anchit.Dhar at mathworks.com Wed Oct 4 10:13:46 2017 From: Anchit.Dhar at mathworks.com (Anchit Dhar) Date: Wed, 4 Oct 2017 14:13:46 +0000 Subject: [ITK] [ITK-users] ITK 4.12 build issues with cmake 2.8.12 In-Reply-To: References: <20A76CF9-5FE0-482D-AF95-42B8F66182AB@mathworks.com> Message-ID: <9C17BA0A-BC77-4723-8DA7-EC1452DDB6C7@mathworks.com> Thanks for looking into this, Francois. I have not changed any CMake options prior to the build. -Anchit From: Francois Budin Date: Tuesday, October 3, 2017 at 10:55 AM To: Anchit Dhar Cc: "insight-users at itk.org" Subject: Re: [ITK-users] ITK 4.12 build issues with cmake 2.8.12 Hi, I see in the compilation flags '-std=c++11`. Did you change any compilation flags or CMake option? I will try to reproduce your bug locally. Thanks, Francois PS: The new ITK discourse forum is a good place also to post these questions: https://discourse.itk.org/ On Fri, Sep 29, 2017 at 4:50 PM, Anchit Dhar > wrote: Hello, I am trying to build ITK 4.12 with cmake 2.8.12 on a linux machine with GCC 6.3. My build fails at the configuration sets with the error snippets added below. I was wondering if there are any known/open build issues with this combination on cmake and ITK? Does anyone have any pointers on resolving these configuration issues? Thanks in advance. Regards, Anchit. Error Snippet Performing C SOURCE FILE Test C_HAS_WARNING-Wno-long-double failed with the following output: Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" "cmTC_91c4b/fast" gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_91c4b.dir/build.make CMakeFiles/cmTC_91c4b.dir/build gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_91c4b.dir/src.c.o /internal/2501977/glnxa64/gcc-6.3.0/bin/gcc -O2 -pipe -pthread -fPIC -DC_HAS_WARNING-Wno-long-double -Wno-long-double -o CMakeFiles/cmTC_91c4b.dir/src.c.o -c /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp/src.c :0:14: warning: ISO C99 requires whitespace after the macro name cc1: warning: unrecognized command line option ?-Wno-long-double? Linking C executable cmTC_91c4b /home/adhar/3p-tmw/3p/private/unknown/glnxa64/cmake-bin/glnx86/cmake -E cmake_link_script CMakeFiles/cmTC_91c4b.dir/link.txt --verbose=1 /internal/2501977/glnxa64/gcc-6.3.0/bin/gcc -O2 -pipe -pthread -fPIC -DC_HAS_WARNING-Wno-long-double -pthread -Wl,--hash-style=both -L/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib -Wl,-rpath-link,/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib CMakeFiles/cmTC_91c4b.dir/src.c.o -o cmTC_91c4b -rdynamic gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' Source file was: int main(void) { return 0; } Performing C++ SOURCE FILE Test CXX_HAS_WARNING-Wno-long-double failed with the following output: Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" "cmTC_82695/fast" gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_82695.dir/build.make CMakeFiles/cmTC_82695.dir/build gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_82695.dir/src.cxx.o /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC -std=c++11 -DCXX_HAS_WARNING-Wno-long-double -Wno-long-double -o CMakeFiles/cmTC_82695.dir/src.cxx.o -c /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp/src.cxx :0:16: warning: ISO C++11 requires whitespace after the macro name cc1plus: warning: unrecognized command line option ?-Wno-long-double? Linking CXX executable cmTC_82695 /home/adhar/3p-tmw/3p/private/unknown/glnxa64/cmake-bin/glnx86/cmake -E cmake_link_script CMakeFiles/cmTC_82695.dir/link.txt --verbose=1 /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC -std=c++11 -DCXX_HAS_WARNING-Wno-long-double -pthread -Wl,--hash-style=both -L/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib -Wl,-rpath-link,/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib CMakeFiles/cmTC_82695.dir/src.cxx.o -o cmTC_82695 -rdynamic gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' Source file was: int main() { return 0;} Performing C++ SOURCE FILE Test have_gold failed with the following output: Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" "cmTC_93f61/fast" gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_93f61.dir/build.make CMakeFiles/cmTC_93f61.dir/build gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_93f61.dir/src.cxx.o /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC -std=c++11 -Wall -Wcast-align -Wdisabled-optimization -Wextra -Wformat=2 -Winvalid-pch -Wno-format-nonliteral -Wpointer-arith -Wshadow -Wunused -Wwrite-strings -funit-at-a-time -Wno-strict-overflow -Wno-deprecated -Wno-invalid-offsetof -Woverloaded-virtual -Wstrict-null-sentinel -Dhave_gold -fuse-ld=gold -o CMakeFiles/cmTC_93f61.dir/src.cxx.o -c /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp/src.cxx Linking CXX executable cmTC_93f61 /home/adhar/3p-tmw/3p/private/unknown/glnxa64/cmake-bin/glnx86/cmake -E cmake_link_script CMakeFiles/cmTC_93f61.dir/link.txt --verbose=1 /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC -std=c++11 -Wall -Wcast-align -Wdisabled-optimization -Wextra -Wformat=2 -Winvalid-pch -Wno-format-nonliteral -Wpointer-arith -Wshadow -Wunused -Wwrite-strings -funit-at-a-time -Wno-strict-overflow -Wno-deprecated -Wno-invalid-offsetof -Woverloaded-virtual -Wstrict-null-sentinel -Dhave_gold -fuse-ld=gold -pthread -Wl,--hash-style=both -L/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib -Wl,-rpath-link,/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib CMakeFiles/cmTC_93f61.dir/src.cxx.o -o cmTC_93f61 -rdynamic /internal/2501977/glnxa64/gcc-6.3.0/bin/ld.gold: -plugin: unknown option /internal/2501977/glnxa64/gcc-6.3.0/bin/ld.gold: use the --help option for usage information collect2: error: ld returned 1 exit status gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' gmake[3]: *** [CMakeFiles/cmTC_93f61.dir/build.make:98: cmTC_93f61] Error 1 gmake[2]: *** [Makefile:126: cmTC_93f61/fast] Error 2 gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp' . . . . . . . /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx:24:1: error: ?__int64? does not name a type __int64 f(__int64 n) ^~~~~~~ /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx: In function ?int main()?: /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx:30:3: error: ?__int64? was not declared in this scope __int64 n = 0; ^~~~~~~ /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx:31:29: error: ?n? was not declared in this scope return static_cast(f(n)); ^ /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx:31:30: error: ?f? was not declared in this scope return static_cast(f(n)); ^ gmake[3]: *** [CMakeFiles/cmTC_797a6.dir/build.make:66: CMakeFiles/cmTC_797a6.dir/kwsysPlatformTestsCXX.cxx.o] Error 1 . . . . . . . Checking whether CXX compiler has _atoi64 failed to compile with the following output: Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/CMakeTmp Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" "cmTC_82d35/fast" gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/CMakeTmp' /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_82d35.dir/build.make CMakeFiles/cmTC_82d35.dir/build gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_82d35.dir/kwsysPlatformTestsCXX.cxx.o /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -DTEST_KWSYS_CXX_HAS__ATOI64 -O2 -pipe -pthread -fPIC -std=c++11 -Wall -Wcast-align -Wdisabled-optimization -Wextra -Wformat=2 -Winvalid-pch -Wno-format-nonliteral -Wpointer-arith -Wshadow -Wunused -Wwrite-strings -funit-at-a-time -Wno-strict-overflow -Wno-deprecated -Wno-invalid-offsetof -Woverloaded-virtual -Wstrict-null-sentinel -w -fPIE -o CMakeFiles/cmTC_82d35.dir/kwsysPlatformTestsCXX.cxx.o -c /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx: In function ?int main()?: /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx:252:38: error: ?_atoi64? was not declared in this scope return static_cast(_atoi64(str)); ^ gmake[3]: *** [CMakeFiles/cmTC_82d35.dir/build.make:66: CMakeFiles/cmTC_82d35.dir/kwsysPlatformTestsCXX.cxx.o] Error 1 gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/CMakeTmp' gmake[2]: *** [Makefile:126: cmTC_82d35/fast] Error 2 gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/CMakeTmp' _____________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 addison.elliott at gmail.com Wed Oct 4 11:34:37 2017 From: addison.elliott at gmail.com (Addison Elliott) Date: Wed, 4 Oct 2017 10:34:37 -0500 Subject: [ITK] N4 Bias Correction in Python Message-ID: I need to perform N4 bias correction in Python on two sets of MRI scans. I am using the default settings for N4BiasFieldCorrectionImageFilter. Beforehand, I shrink the image by a factor of 4x to speed up the processing. However, the issue with that is I lose resolution when I get the output image. I would like to use a shrink factor of 4x but keep the initial resolution. An example of how to do that in C++ is shown here: https://github.com/midas-journal/midas-journal-640/blob/master/Source/itkN3MRIBiasFieldCorrectionImageFilterTest.cxx My issue is that BSplineControlPointImageFilter is not wrapped in Python. Just about everything else in that module is. I took a look at the source code for the module and it would take me a few weeks to understand and implement that in Python. So here are my series of questions: 1. How can I go about wrapping BSplineControlPointImageFilter in Python? I'm willing to build the source code to do so. 2. Assuming I decide to go the route of wrapping BSplineControlPointImageFilter, how can I go about contributing my code to the project? 3. I'm confused as to whether you are using GitHub or your own Git server for contributions? There is a GitHub project link with no pull requests that I could contribute too. But there's also your git server on itk.org which has more active contributions. 4. I'm unable to sign up for Gerrit access as described on this link. https://itk.org/Wiki/ITK/Git/Account#Gerrit Am I supposed to mail any patches? 5. As a temporary solution, is it valid to do this to get the bias field: v(x) = u(x)f(x) + n(x) But since noise is ignored according to Sled's paper, it becomes: v(x) = u(x)f(x) *Can I do this? f(x) = u(x) / v(x) * Any help is appreciated. Thanks, Addison -------------- next part -------------- An HTML attachment was scrubbed... URL: From francois.budin at kitware.com Wed Oct 4 13:45:53 2017 From: francois.budin at kitware.com (Francois Budin) Date: Wed, 4 Oct 2017 13:45:53 -0400 Subject: [ITK] [ITK-users] ITK 4.12 build issues with cmake 2.8.12 In-Reply-To: <9C17BA0A-BC77-4723-8DA7-EC1452DDB6C7@mathworks.com> References: <20A76CF9-5FE0-482D-AF95-42B8F66182AB@mathworks.com> <9C17BA0A-BC77-4723-8DA7-EC1452DDB6C7@mathworks.com> Message-ID: Hello Anchit, I was not able to reproduce your problem locally with the same CMake and gcc version. It is most likely coming from your computer configuration. Francois On Wed, Oct 4, 2017 at 10:13 AM, Anchit Dhar wrote: > Thanks for looking into this, Francois. > > I have not changed any CMake options prior to the build. > > > > -Anchit > > > > *From: *Francois Budin > *Date: *Tuesday, October 3, 2017 at 10:55 AM > *To: *Anchit Dhar > *Cc: *"insight-users at itk.org" > *Subject: *Re: [ITK-users] ITK 4.12 build issues with cmake 2.8.12 > > > > Hi, > > I see in the compilation flags '-std=c++11`. Did you change any > compilation flags or CMake option? I will try to reproduce your bug locally. > > Thanks, > > Francois > > PS: The new ITK discourse forum is a good place also to post these > questions: https://discourse.itk.org/ > > > > On Fri, Sep 29, 2017 at 4:50 PM, Anchit Dhar > wrote: > > Hello, > > > > I am trying to build ITK 4.12 with cmake 2.8.12 on a linux machine with > GCC 6.3. My build fails at the configuration sets with the error snippets > added below. > > > > I was wondering if there are any known/open build issues with this > combination on cmake and ITK? Does anyone have any pointers on resolving > these configuration issues? > > > > Thanks in advance. > > > > Regards, > > Anchit. > > > > *Error Snippet* > > > > Performing C SOURCE FILE Test C_HAS_WARNING-Wno-long-double failed with > the following output: > > Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp > > > > Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" > "cmTC_91c4b/fast" > > gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_91c4b.dir/build.make > CMakeFiles/cmTC_91c4b.dir/build > > gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > Building C object CMakeFiles/cmTC_91c4b.dir/src.c.o > > /internal/2501977/glnxa64/gcc-6.3.0/bin/gcc -O2 -pipe -pthread -fPIC > -DC_HAS_WARNING-Wno-long-double -Wno-long-double -o > CMakeFiles/cmTC_91c4b.dir/src.c.o -c /home/adhar/3p-tmw/3p/derived/ > glnxa64/ITK/CMakeFiles/CMakeTmp/src.c > > :0:14: warning: ISO C99 requires whitespace after the macro > name > > cc1: warning: unrecognized command line option ?-Wno-long-double? > > Linking C executable cmTC_91c4b > > /home/adhar/3p-tmw/3p/private/unknown/glnxa64/cmake-bin/glnx86/cmake -E > cmake_link_script CMakeFiles/cmTC_91c4b.dir/link.txt --verbose=1 > > /internal/2501977/glnxa64/gcc-6.3.0/bin/gcc -O2 -pipe -pthread -fPIC > -DC_HAS_WARNING-Wno-long-double -pthread -Wl,--hash-style=both > -L/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > -Wl,-rpath-link,/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > CMakeFiles/cmTC_91c4b.dir/src.c.o -o cmTC_91c4b -rdynamic > > gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > > > Source file was: > > int main(void) { return 0; } > > Performing C++ SOURCE FILE Test CXX_HAS_WARNING-Wno-long-double failed > with the following output: > > Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp > > > > Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" > "cmTC_82695/fast" > > gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_82695.dir/build.make > CMakeFiles/cmTC_82695.dir/build > > gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > Building CXX object CMakeFiles/cmTC_82695.dir/src.cxx.o > > /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC > -std=c++11 -DCXX_HAS_WARNING-Wno-long-double -Wno-long-double -o > CMakeFiles/cmTC_82695.dir/src.cxx.o -c /home/adhar/3p-tmw/3p/derived/ > glnxa64/ITK/CMakeFiles/CMakeTmp/src.cxx > > :0:16: warning: ISO C++11 requires whitespace after the > macro name > > cc1plus: warning: unrecognized command line option ?-Wno-long-double? > > Linking CXX executable cmTC_82695 > > /home/adhar/3p-tmw/3p/private/unknown/glnxa64/cmake-bin/glnx86/cmake -E > cmake_link_script CMakeFiles/cmTC_82695.dir/link.txt --verbose=1 > > /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC > -std=c++11 -DCXX_HAS_WARNING-Wno-long-double -pthread > -Wl,--hash-style=both -L/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > -Wl,-rpath-link,/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > CMakeFiles/cmTC_82695.dir/src.cxx.o -o cmTC_82695 -rdynamic > > gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > > > Source file was: > > int main() { return 0;} > > Performing C++ SOURCE FILE Test have_gold failed with the following output: > > Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp > > > > Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" > "cmTC_93f61/fast" > > gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_93f61.dir/build.make > CMakeFiles/cmTC_93f61.dir/build > > gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > Building CXX object CMakeFiles/cmTC_93f61.dir/src.cxx.o > > /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC > -std=c++11 -Wall -Wcast-align -Wdisabled-optimization -Wextra -Wformat=2 > -Winvalid-pch -Wno-format-nonliteral -Wpointer-arith -Wshadow -Wunused > -Wwrite-strings -funit-at-a-time -Wno-strict-overflow -Wno-deprecated > -Wno-invalid-offsetof -Woverloaded-virtual -Wstrict-null-sentinel > -Dhave_gold -fuse-ld=gold -o CMakeFiles/cmTC_93f61.dir/src.cxx.o -c > /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/CMakeFiles/CMakeTmp/src.cxx > > Linking CXX executable cmTC_93f61 > > /home/adhar/3p-tmw/3p/private/unknown/glnxa64/cmake-bin/glnx86/cmake -E > cmake_link_script CMakeFiles/cmTC_93f61.dir/link.txt --verbose=1 > > /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ -O2 -pipe -pthread -fPIC > -std=c++11 -Wall -Wcast-align -Wdisabled-optimization -Wextra -Wformat=2 > -Winvalid-pch -Wno-format-nonliteral -Wpointer-arith -Wshadow -Wunused > -Wwrite-strings -funit-at-a-time -Wno-strict-overflow -Wno-deprecated > -Wno-invalid-offsetof -Woverloaded-virtual -Wstrict-null-sentinel > -Dhave_gold -fuse-ld=gold -pthread -Wl,--hash-style=both > -L/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > -Wl,-rpath-link,/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/lib > CMakeFiles/cmTC_93f61.dir/src.cxx.o -o cmTC_93f61 -rdynamic > > /internal/2501977/glnxa64/gcc-6.3.0/bin/ld.gold: -plugin: unknown option > > /internal/2501977/glnxa64/gcc-6.3.0/bin/ld.gold: use the --help option > for usage information > > collect2: error: ld returned 1 exit status > > gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > gmake[3]: *** [CMakeFiles/cmTC_93f61.dir/build.make:98: cmTC_93f61] Error > 1 > > gmake[2]: *** [Makefile:126: cmTC_93f61/fast] Error 2 > > gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/derived/glnxa64/ITK/ > CMakeFiles/CMakeTmp' > > . > > . > > . > > . > > . > > . > > . > > > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx:24:1: error: ?__int64? does not name a type > > __int64 f(__int64 n) > > ^~~~~~~ > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx: > In function ?int main()?: > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx:30:3: error: ?__int64? was not declared in this > scope > > __int64 n = 0; > > ^~~~~~~ > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx:31:29: error: ?n? was not declared in this scope > > return static_cast(f(n)); > > ^ > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx:31:30: error: ?f? was not declared in this scope > > return static_cast(f(n)); > > ^ > > gmake[3]: *** [CMakeFiles/cmTC_797a6.dir/build.make:66: > CMakeFiles/cmTC_797a6.dir/kwsysPlatformTestsCXX.cxx.o] Error 1 > > . > > . > > . > > . > > . > > . > > . > > Checking whether CXX compiler has _atoi64 failed to compile with the > following output: > > Change Dir: /home/adhar/3p-tmw/3p/derived/glnxa64/ITK/Modules/ > ThirdParty/KWSys/src/KWSys/CMakeFiles/CMakeTmp > > > > Run Build Command:"/internal/2106168/glnxa64/gmake/bin/gmake" > "cmTC_82d35/fast" > > gmake[2]: Entering directory '/home/adhar/3p-tmw/3p/ > derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > CMakeFiles/CMakeTmp' > > /internal/2106168/glnxa64/gmake/bin/gmake -f CMakeFiles/cmTC_82d35.dir/build.make > CMakeFiles/cmTC_82d35.dir/build > > gmake[3]: Entering directory '/home/adhar/3p-tmw/3p/ > derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > CMakeFiles/CMakeTmp' > > Building CXX object CMakeFiles/cmTC_82d35.dir/kwsysPlatformTestsCXX.cxx.o > > /internal/2501977/glnxa64/gcc-6.3.0/bin/g++ > -DTEST_KWSYS_CXX_HAS__ATOI64 -O2 -pipe -pthread -fPIC -std=c++11 -Wall > -Wcast-align -Wdisabled-optimization -Wextra -Wformat=2 -Winvalid-pch > -Wno-format-nonliteral -Wpointer-arith -Wshadow -Wunused -Wwrite-strings > -funit-at-a-time -Wno-strict-overflow -Wno-deprecated -Wno-invalid-offsetof > -Woverloaded-virtual -Wstrict-null-sentinel -w -fPIE -o > CMakeFiles/cmTC_82d35.dir/kwsysPlatformTestsCXX.cxx.o -c > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/kwsysPlatformTestsCXX.cxx: > In function ?int main()?: > > /home/adhar/3p-tmw/3p/sources/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > kwsysPlatformTestsCXX.cxx:252:38: error: ?_atoi64? was not declared in > this scope > > return static_cast(_atoi64(str)); > > ^ > > gmake[3]: *** [CMakeFiles/cmTC_82d35.dir/build.make:66: > CMakeFiles/cmTC_82d35.dir/kwsysPlatformTestsCXX.cxx.o] Error 1 > > gmake[3]: Leaving directory '/home/adhar/3p-tmw/3p/ > derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > CMakeFiles/CMakeTmp' > > gmake[2]: *** [Makefile:126: cmTC_82d35/fast] Error 2 > > gmake[2]: Leaving directory '/home/adhar/3p-tmw/3p/ > derived/glnxa64/ITK/Modules/ThirdParty/KWSys/src/KWSys/ > CMakeFiles/CMakeTmp' > > > > > > > > > > > _____________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 Thu Oct 5 16:46:38 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 5 Oct 2017 16:46:38 -0400 Subject: [ITK] Image Registration Initialization In-Reply-To: References: <9CB383E0-28BD-4755-AF64-79B18E94501C@mail.nih.gov> Message-ID: Hi Brian, Thanks for the investigation and sharing the results. It seems that adding an option to change the smoothing filter to itk::SmoothingRecursiveGuassianImageFilter or to the even faster SmothingRecursiveYvvGaussianImageFilter [1] could help. We will also be discussing performance in general [2] -- your participation is welcome. Thanks, Matt [1] https://itk.org/Doxygen/html/classitk_1_1SmoothingRecursiveYvvGaussianImageFilter.html [2] https://discourse.itk.org/t/next-itk-october-performance-confab/268/1 On Wed, Sep 27, 2017 at 12:44 PM, Brian Eastwood wrote: > Hi Brad, > > > > Thank you for your suggestions. The performance profiling I did was rather > rudimentary, just inserting chrono timings in ITK code. I created a small > example program to illustrate the situation, but I?ve seen this in many > cases of multiresolution registration, especially if the coarse levels of > the registration require a lot of smoothing. > > > > In my example program (below), I?m performing 3D-to-3D registration using > itk::CenteredEuler3DTransform, itk::CorrelationImageToImageMetricv4, and > itk::RegularStepGradientDescentOptimizerv4. My fixed image is a 3D mouse > brain image from the Allen Institute, with size [456, 320, 528] and 25 um > isotropic spacing; my moving image is just a synthetically rotated and > translated version of the same image. I run registration with a single > resolution level, smoothing the image with a standard deviation of 100 um > and shrinking by a factor of 8. > > > > Sample timings from this program show that the smoothing that occurs in > itk::ImageRegistrationMethodv4::InitializeRegistrationAtEachLevel() > dominates the level initialization (15 s), the moving image?s gradient image > computation dominates the metric initialization (4 s), and the registration > itself runs pretty speedily (1.6 s). (The chrono timing part is not in my > example code, so I?ve indicated which method the timings have been added > to.) > > > > Fixed image: > > size [456, 320, 528] > > spacing [25, 25, 25] > > Initial transform: > > parameters [0, 0, 0, 5695.034988478505, 3726.9738602938187, > 7309.779123793645, 279.5341527061055, -247.51563557593, -1.3564556700512185] > > center [5695.03, 3726.97, 7309.78] > > ImageRegistrationMethodv4::GenerateData() level: 0 > > InitializeRegistrationAtEachLevel() smoothing: 15.4068 > > this->InitializeRegistrationAtEachLevel(): 15.4224 > > ImageToImageMetricv4::ComputeMovingImageGradientFilterImage(): 3.9064 > > this->m_Metric->Initialize(): 3.9064 > > this->m_Optimizer->StartOptimization(): 1.62503 > > Final: -0.987401 @ [0.0007390244255403159, 0.03171806411143246, > 0.25914684071268346, 5693.978269101054, 3725.58761384107, 7309.850962050369, > 278.47743332865645, -248.90188202867876, -1.2846174133290214] > > > > I fully understand that smoothing takes time and that it?s a critically > important part of multiresolution registration. My example program will not > converge with lower smoothing values. It?s just that there are situations > where the smoothed images could be faster to compute another way or may be > readily available from elsewhere, so I was hoping there would be a way to > exert more control over the multiresolution component of the framework. In > fact, switching to itk::SmoothingRecursiveGaussianImageFilter reduces the > initial smoothing time significantly (1.4 s), but it has different features > that may have minor knock-on effects to ImageRegistrtaionMethodv4. I may > also take your suggestion to separately configure and run each level, but as > I understand it there will always be some smoothing applied to the fixed and > moving images in itk::ImageRegistrationMethodv4, no matter how those images > have been preprocessed upstream of registration. > > > > Thank you, > > Brian Eastwood > > > > > > /** > > * \file TestRegistrationv4.cpp > > * \brief ITKv4 registration test. > > * \author Brian Eastwood > > * \date 9/26/2017 > > * > > * Example using ITK registration framework. This is a place to try out > several > > * different registration procedures on different data sets. > > */ > > #include > > > > #include "itkCenteredEuler3DTransform.h" > > #include "itkCenteredTransformInitializer.h" > > #include "itkCommand.h" > > #include "itkCorrelationImageToImageMetricv4.h" > > #include "itkImage.h" > > #include "itkImageFileReader.h" > > #include "itkImageRegistrationMethodv4.h" > > #include "itkLinearInterpolateImageFunction.h" > > #include "itkObjectToObjectOptimizerBase.h" > > #include "itkRegularStepGradientDescentOptimizerv4.h" > > #include "itkVersorRigid3DTransform.h" > > > > > > /** > > * 3D-to-3D volume registration. > > */ > > void testVolumeRegistration(int argc, char* argv[]) > > { > > // define image types > > const unsigned int Dimension = 3; > > typedef float PixelType; > > typedef itk::Image< PixelType, Dimension > ImageType; > > typedef itk::ImageFileReader< ImageType > ReaderType; > > > > // define registration types > > typedef itk::CenteredEuler3DTransform TransformType; > > typedef itk::CenteredTransformInitializer< TransformType, > ImageType, ImageType > InitializerType; > > typedef itk::CorrelationImageToImageMetricv4< ImageType, > ImageType > MetricType; > > typedef itk::RegularStepGradientDescentOptimizerv4< double > > OptimizerType; > > typedef itk::ImageRegistrationMethodv4< ImageType, ImageType >> RegistrationType; > > > > if (argc < 3) > > { > > std::cerr << "Usage " << argv[0] << " > fixedImage movingImage" << std::endl; > > exit(1); > > } > > > > // create image pre-processing pipeline > > std::string fixedIn(argv[1]); > > std::string movingIn(argv[2]); > > ReaderType::Pointer fixedReader = ReaderType::New(); > > fixedReader->SetFileName(fixedIn); > > fixedReader->Update(); > > ReaderType::Pointer movingReader = ReaderType::New(); > > movingReader->SetFileName(movingIn); > > movingReader->Update(); > > std::cout << "Fixed image:" << std::endl; > > std::cout << " size " << > fixedReader->GetOutput()->GetLargestPossibleRegion().GetSize() << std::endl; > > std::cout << " spacing " << > fixedReader->GetOutput()->GetSpacing() << std::endl; > > > > // initialize transform parameters > > TransformType::Pointer transform = TransformType::New(); > > InitializerType::Pointer initializer = > InitializerType::New(); > > initializer->SetFixedImage(fixedReader->GetOutput()); > > initializer->SetMovingImage(movingReader->GetOutput()); > > initializer->SetTransform(transform); > > initializer->MomentsOn(); > > initializer->InitializeTransform(); > > std::cout << "Initial transform:" << std::endl; > > std::cout << " parameters " << transform->GetParameters() > << std::endl; > > std::cout << " center " << transform->GetCenter() << > std::endl; > > > > // create registration objects > > OptimizerType::Pointer optimizer = OptimizerType::New(); > > MetricType::Pointer metric = MetricType::New(); > > RegistrationType::Pointer registration = > RegistrationType::New(); > > registration->SetFixedImage(fixedReader->GetOutput()); > > registration->SetMovingImage(movingReader->GetOutput()); > > registration->SetOptimizer(optimizer); > > registration->SetMetric(metric); > > registration->SetInitialTransform(transform); > > registration->InPlaceOn(); > > > > // configure resolution levels > > itk::SizeValueType levels = 1; > > ImageType::SpacingType spacing = > fixedReader->GetOutput()->GetSpacing(); > > RegistrationType::SmoothingSigmasArrayType sigmas(levels); > > RegistrationType::ShrinkFactorsArrayType shrink(levels); > > sigmas[0] = spacing[0] * 4; > > shrink[0] = 8; > > registration->SetNumberOfLevels(levels); > > registration->SetSmoothingSigmasPerLevel(sigmas); > > > registration->SetSmoothingSigmasAreSpecifiedInPhysicalUnits(true); > > registration->SetShrinkFactorsPerLevel(shrink); > > > > // configure optimizer > > OptimizerType::ScalesType > scales(transform->GetNumberOfParameters()); > > scales.fill(1e-4); > > scales[0] = scales[1] = scales[2] = 1; > > optimizer->SetScales(scales); > > optimizer->SetLearningRate(1); > > optimizer->SetMinimumStepLength(1e-3); > > optimizer->SetMinimumConvergenceValue(1e-4); > > optimizer->SetNumberOfIterations(60); > > > > // run registration > > try > > { > > registration->Update(); > > } > > catch (itk::ExceptionObject& err) > > { > > std::cerr << "Exception occurred during > registration:\n" << err << std::endl; > > } > > > > // print result of registration > > std::cout << "Final: " << > optimizer->GetCurrentMetricValue() << " @ " << transform->GetParameters() << > std::endl; > > } > > > > int main(int argc, char* argv[]) > > { > > testVolumeRegistration(argc, argv); > > return 0; > > } > > > > > > > > From: Lowekamp, Bradley (NIH/NLM/LHC) [C] [mailto:blowekamp at mail.nih.gov] > Sent: Monday, September 25, 2017 10:02 AM > To: Brian Eastwood ; community at itk.org > Cc: Nick Tustison > Subject: Re: [ITK] Image Registration Initialization > > > > Hello, > > > > Did you do any specific profiling to determine these bottlenecks? If so > could you please share the profiling code along with the timing you got? > > > > Also you did not provide any details about the situation where you found > these performance issues. What transform you are using? What is the size of > the image? What optimizer are you using? > > > > With the v4 framework, in some situations the initialization, and iterations > are slower, however for many registration setups with a large number of > parameters good results can be achieved with fewer iterations. Additionally, > when the framework is combined with the parameters estimators the results > are more robust. And with the built in multi-resolution and metric sampling > efficient results can be achieved by using all these features of the > framework. > > > > Based on your comments, I looked through the itk::ImageRegistrationMethodv4. > I see that it is using the itk::DiscreteGaussianImageFilter. The > itk::SmoothingRecursiveGuassianImageFilter is generally known to be more > efficient. I would suggest hacking the ImageRegistrationMethodv4 to use the > itk::SmoothingRecursiveGaussianImageFilter, and determine if there is a > performance improvement. > > > > You cannot swap the fixed and moving inputs images at each resolution scale > iteration. However, you could take control of scale iterations yourself, by > just running the ImageRegistrationMethod at one level, where you choose the > appropriate scale for setting the fixed and moving input images. > > > > HTH, > > Brad > > > > > > From: Brian Eastwood > Date: Friday, September 22, 2017 at 4:55 PM > To: "community at itk.org" > Subject: [ITK] Image Registration Initialization > > > > Hi Folks, > > > > I really like the changes implemented for ITK v4 registration. The composite > transform makes multistage registration much easier to implement. Nice work! > > > > Is there a way to explicitly set the fixed and moving images to be used at > each level of a multiresolution registration? How about the gradient images > used by the image metric? I see you can set gradient filters on the metric, > but what if you already have the gradients precomputed? > > > > I get the feeling that v4 registration runs slower than similar v3 > registration, but I think it?s mainly down to the initialization where the > fixed and moving images are smoothed and the metric computes the image > gradients. > > > > It seems like there could be some real advantages to using precomputed > smoothed and gradient images. For example, the smoothing could be > implemented with a cascade of Gaussians where the standard deviation used at > a level k is given by s^2 = s_k^2 - s_{k-1}^2. Or the smoothing could be > implemented on the GPU. Or we could be reusing a resolution level in a > different registration stage, perhaps optimizing a different set of > transform parameters. > > > > Have I missed something in the API where it is possible to explicitly set > the images and gradients to use at each level of the registration? I could > probably create an itk::Command that swaps the fixed and moving images > before each registration iteration, but is there a way to disable the > smoothing step? > > > > Regards, > > Brian > > > _______________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > From matt.mccormick at kitware.com Thu Oct 5 17:07:40 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 5 Oct 2017 17:07:40 -0400 Subject: [ITK] ITK Logo Message-ID: Hi folks, Steve Jordan has put effort into generating an updated ITK logo: https://discourse.itk.org/t/updated-itk-logo/269 Check it out! From matt.mccormick at kitware.com Thu Oct 5 18:35:28 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 5 Oct 2017 18:35:28 -0400 Subject: [ITK] N4 Bias Correction in Python In-Reply-To: References: Message-ID: Dear Addison, On Wed, Oct 4, 2017 at 11:34 AM, Addison Elliott wrote: > I need to perform N4 bias correction in Python on two sets of MRI scans. I > am using the default settings for N4BiasFieldCorrectionImageFilter. > Beforehand, I shrink the image by a factor of 4x to speed up the processing. > > However, the issue with that is I lose resolution when I get the output > image. I would like to use a shrink factor of 4x but keep the initial > resolution. > > An example of how to do that in C++ is shown here: > https://github.com/midas-journal/midas-journal-640/blob/master/Source/itkN3MRIBiasFieldCorrectionImageFilterTest.cxx > > My issue is that BSplineControlPointImageFilter is not wrapped in Python. > Just about everything else in that module is. I took a look at the source > code for the module and it would take me a few weeks to understand and > implement that in Python. > > So here are my series of questions: > > How can I go about wrapping BSplineControlPointImageFilter in Python? I'm > willing to build the source code to do so. A explanation for the wrapping system can be found in the ITK Software Guide: https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch9.html#x48-1540009.5 To understand the filter, first look at its class declaration, https://github.com/InsightSoftwareConsortium/ITK/blob/9ed88517d771bcbbcd5293e59c7aece9fa411145/Modules/Filtering/ImageGrid/include/itkBSplineControlPointImageFilter.h#L59-L61 It is an ImageToImageFilter with two template arguments, TInputImage and TOutputImage. Since TOutputImage defaults to TInputImage, we can assume common usage is to use the same type for TInputImage and TOutputImage, and only wrap with the same type. A good (untested) started point is to add: itk_wrap_class("itk::BSplineControlPointImageFilter" POINTER) itk_wrap_image_filter("${WRAP_ITK_SCALAR}" 2) itk_end_wrap_class() to the file ITK/Modules/Filtering/ImageGrid/wrapping/itkBSplineControlPointImageFilter.wrap. > Assuming I decide to go the route of wrapping > BSplineControlPointImageFilter, how can I go about contributing my code to > the project? Your contributions are welcome! Please see https://itk.org/Wiki/ITK/Git/Develop on how to contribute a patch. We are also migrating this content to markdown files: http://review.source.kitware.com/#/c/22654/ Your reviews and feedback are welcome. Additional information on our community software process can be found in the ITK Software Guide: https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch10.html#x49-16200010 > I'm confused as to whether you are using GitHub or your own Git server for > contributions? There is a GitHub project link with no pull requests that I > could contribute too. But there's also your git server on itk.org which has > more active contributions. We are currently migrating from a Gerrit-based code review process to GitHub. Sorry for any confusion. The GitHub, itk.org/ITK.git, and Gerrit repositories are kept in sync. > I'm unable to sign up for Gerrit access as described on this link. > https://itk.org/Wiki/ITK/Git/Account#Gerrit Am I supposed to mail any > patches? You should be able to use your GitHub account to login. Did that not work? Patches can also be sent to the mailing list. > As a temporary solution, is it valid to do this to get the bias field: > v(x) = u(x)f(x) + n(x) > > But since noise is ignored according to Sled's paper, it becomes: > v(x) = u(x)f(x) > > Can I do this? > f(x) = u(x) / v(x) Offhand, I am not sure of these details. Thanks, Matt From ntustison at gmail.com Thu Oct 5 19:13:11 2017 From: ntustison at gmail.com (Nick Tustison) Date: Thu, 5 Oct 2017 16:13:11 -0700 Subject: [ITK] N4 Bias Correction in Python In-Reply-To: References: Message-ID: Hi Addison, > As a temporary solution, is it valid to do this to get the bias field: > v(x) = u(x)f(x) + n(x) > > But since noise is ignored according to Sled's paper, it becomes: > v(x) = u(x)f(x) > > Can I do this? > f(x) = u(x) / v(x) > That won?t work unless you reconstruct the bias field using the b-spline control point filter. Here?s how you do it: https://github.com/ANTsX/ANTs/blob/master/Examples/N4BiasFieldCorrection.cxx#L414-L454 Nick > On Oct 5, 2017, at 3:35 PM, Matt McCormick wrote: > > Dear Addison, > > On Wed, Oct 4, 2017 at 11:34 AM, Addison Elliott > wrote: >> I need to perform N4 bias correction in Python on two sets of MRI scans. I >> am using the default settings for N4BiasFieldCorrectionImageFilter. >> Beforehand, I shrink the image by a factor of 4x to speed up the processing. >> >> However, the issue with that is I lose resolution when I get the output >> image. I would like to use a shrink factor of 4x but keep the initial >> resolution. >> >> An example of how to do that in C++ is shown here: >> https://github.com/midas-journal/midas-journal-640/blob/master/Source/itkN3MRIBiasFieldCorrectionImageFilterTest.cxx >> >> My issue is that BSplineControlPointImageFilter is not wrapped in Python. >> Just about everything else in that module is. I took a look at the source >> code for the module and it would take me a few weeks to understand and >> implement that in Python. >> >> So here are my series of questions: >> >> How can I go about wrapping BSplineControlPointImageFilter in Python? I'm >> willing to build the source code to do so. > > A explanation for the wrapping system can be found in the ITK Software Guide: > > https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch9.html#x48-1540009.5 > > To understand the filter, first look at its class declaration, > > https://github.com/InsightSoftwareConsortium/ITK/blob/9ed88517d771bcbbcd5293e59c7aece9fa411145/Modules/Filtering/ImageGrid/include/itkBSplineControlPointImageFilter.h#L59-L61 > > It is an ImageToImageFilter with two template arguments, TInputImage > and TOutputImage. Since TOutputImage defaults to TInputImage, we can > assume common usage is to use the same type for TInputImage and > TOutputImage, and only wrap with the same type. > > A good (untested) started point is to add: > > itk_wrap_class("itk::BSplineControlPointImageFilter" POINTER) > itk_wrap_image_filter("${WRAP_ITK_SCALAR}" 2) > itk_end_wrap_class() > > to the file > > ITK/Modules/Filtering/ImageGrid/wrapping/itkBSplineControlPointImageFilter.wrap. > > >> Assuming I decide to go the route of wrapping >> BSplineControlPointImageFilter, how can I go about contributing my code to >> the project? > > Your contributions are welcome! Please see https://itk.org/Wiki/ITK/Git/Develop > on how to contribute a patch. We are also migrating this content to > markdown files: > > http://review.source.kitware.com/#/c/22654/ > > Your reviews and feedback are welcome. > > Additional information on our community software process can be found > in the ITK Software Guide: > > https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch10.html#x49-16200010 > > > >> I'm confused as to whether you are using GitHub or your own Git server for >> contributions? There is a GitHub project link with no pull requests that I >> could contribute too. But there's also your git server on itk.org which has >> more active contributions. > > We are currently migrating from a Gerrit-based code review process to > GitHub. Sorry for any confusion. > > The GitHub, itk.org/ITK.git, and Gerrit repositories are kept in sync. > > >> I'm unable to sign up for Gerrit access as described on this link. >> https://itk.org/Wiki/ITK/Git/Account#Gerrit Am I supposed to mail any >> patches? > > You should be able to use your GitHub account to login. Did that not work? > > Patches can also be sent to the mailing list. > > >> As a temporary solution, is it valid to do this to get the bias field: >> v(x) = u(x)f(x) + n(x) >> >> But since noise is ignored according to Sled's paper, it becomes: >> v(x) = u(x)f(x) >> >> Can I do this? >> f(x) = u(x) / v(x) > > Offhand, I am not sure of these details. > > > Thanks, > Matt From matt.mccormick at kitware.com Thu Oct 5 19:19:15 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 5 Oct 2017 19:19:15 -0400 Subject: [ITK] [ITK-dev] Proper ThirdParty (GDCM specifically) update procedure? In-Reply-To: References: <20170925174021.217863588@mail.rogue-research.com> Message-ID: Jon has created an UpdatingThirdParty.md doc: http://review.source.kitware.com/#/c/22670/ On Mon, Sep 25, 2017 at 4:32 PM, Matt McCormick wrote: > Hi Sean, > > Thanks for helping to update these third party libraries. > >> I'm going to try to update ITK's GDCM... are there docs for this procedure? > > Essentially, run the UpdateFromUpstream.sh script, but we should add > some instructions in comments at the top of that file to address your > questions. > > >> I know about the ITK/Modules/ThirdParty/GDCM/UpdateFromUpstream.sh script, but I'm wondering things like: >> - do I run it on the master branch, or should I first create a branch of my own? > > Yes, a local branch can be created first, like GDCMUpdate. > > >> - running the script creates a branch called 'upstream-gdcm'. After the script runs, there are conflicts. After I just resolve them manually, which branch do I commit to? > > After the merge conflicts are resolved, run > > git add file/with/conflict > git commit > git gerrit-push > > > Thanks, > Matt The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ______________________________________ Powered by www.kitware.com 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 ruizhi at mit.edu Fri Oct 6 14:29:40 2017 From: ruizhi at mit.edu (Ruizhi Liao) Date: Fri, 6 Oct 2017 18:29:40 +0000 Subject: [ITK] Unit of deformation field Message-ID: Hello! I?m using itk::TransformToDisplacementFieldFilter to generate deformation field from BSpline registration results. I wonder the unit of vectors in the the deformation field is mm or voxel? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 1838 bytes Desc: not available URL: From matt.mccormick at kitware.com Fri Oct 6 16:20:09 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Fri, 6 Oct 2017 16:20:09 -0400 Subject: [ITK] Unit of deformation field In-Reply-To: References: Message-ID: Hi Ruizshi, Welcome to ITK! As with most cases in ITK, the vector components are in physical units, e.g. mm. Hope this helps, Matt On Fri, Oct 6, 2017 at 2:29 PM, Ruizhi Liao wrote: > Hello! > > I?m using itk::TransformToDisplacementFieldFilter to generate deformation > field from BSpline registration results. I wonder the unit of vectors in the > the deformation field is mm or voxel? > > Thanks! > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > From nasil122002 at yahoo.de Sun Oct 8 07:30:45 2017 From: nasil122002 at yahoo.de (Yusuf OEZBEK) Date: Sun, 8 Oct 2017 11:30:45 +0000 (UTC) Subject: [ITK] itk::Fem::Solver update problem References: <1474997685.6007109.1507462245088.ref@mail.yahoo.com> Message-ID: <1474997685.6007109.1507462245088@mail.yahoo.com> Dear ITK Users, According the mail https://public.kitware.com/pipermail/insight-users/2007-November/024272.html , I have converted my vtkUnstructuredGrid, wich I extracted from a vtkPolyData and contains TRIANGLE_CELL's to the itkMesh and than from itkMesh to itk::Fem::Object to deform my mesh:My problem is: If I call "m_FemSolver->Update();" ,I get a segmentation fault, which I really not understand. Program received signal SIGSEGV, Segmentation fault. 0x00007fffb1086dd5 in itk::fem::FEMObject<2u>::DeepCopy (this=0x4cc5ee0, ??? Copy=0x4cc1780) ??? at /home/toolkits/itk-4.7.2/Modules/Numerics/FEM/include/itkFEMObject.hxx:157 157??? ??? a->UnRegister(); void itkMeshToFemMesh::updateItkMeshSlot(itk::Mesh *itkMesh) { ? typedef itk::fem::FEMObject<3> FemObjectType; ? FemObjectType::Pointer m_FemObject= FemObjectType::New(); ? typedef itk::fem::Solver<3> SolverType; ? typedef SolverType::Pointer SolverPointerType; ? SolverPointerType m_FemSolver= SolverType::New(); ? // Define the Element Material properties ? typedef itk::fem::MaterialLinearElasticity MaterialType; ? MaterialType::Pointer material= MaterialType::New(); ? material->SetGlobalNumber(0); ? material->SetYoungsModulus(200E6); ? material->SetCrossSectionalArea(1.0); ? material->SetThickness(1.0); ? material->SetMomentOfInertia(1.0); ? material->SetPoissonsRatio(0.2); ? material->SetDensityHeatProduct(1.0); ? m_FemObject->AddNextMaterial(material); ? // Define the element type ? typedef itk::fem::Element2DC0LinearTriangularStrain TriangularElementType; ? TriangularElementType::Pointer triangularElement= TriangularElementType::New(); ? triangularElement->SetMaterial(material.GetPointer()); ? // Convert mesh points into nodes ? VectorType point(3); ? PointType*ptr; ? PointType pt; ? ptr= &pt; ? int numOfPoints= itkMesh->GetNumberOfPoints(); ? cout<<"itkMesh numOfPoints: "<GetNumberOfCells(); ? cout<<"itkMesh numberOfCells: "<GetCells(); ? CellIterator cells= cellIterator->Begin(); ? bool flag= true; ? for(int k=0; k< numberOfCells; k++) ? { ??? CellType *cellPtr= cells.Value(); ??? cout<<"Cell Value: "<< cells.Value() << " Cell Type= " << cellPtr->GetType()<GetType()) ??? { ????? case CellType::TRIANGLE_CELL: ????? { ??????? if(flag== true) // To make sure that the nodes are created just once ??????? { ??? ??? ? for(int j= 0; j< numOfPoints; j++) ??? ??? ? { ??? ??? ??? itkMesh->GetPoint(j, ptr); ??? ??? ??? typedef TriangularElementType::Node TriangularNodeType; ??? ??? ??? TriangularNodeType::Pointer triangularNode= TriangularNodeType::New(); ??? ??? ??? point[0]= -1.0; ??? ??? ??? point[1]= 2.0; ??? ??? ??? point[2]= 3.0; ??? ??? ??? triangularNode->SetCoordinates(point); ??? ??? ??? triangularNode->SetGlobalNumber(j); ??? ??? ??? m_FemObject->AddNextNode(triangularNode.GetPointer()); ??? ??? ? } ??? ??? ? flag= false; ??????? } ??????? PointIdIterator pointIt= cellPtr->PointIdsBegin(); ??????? int i= 0; ??????? while(pointIt!= cellPtr->PointIdsEnd()) ??????? { ??? ???? ? triangularElement->SetNode(i, m_FemObject->GetNode(*pointIt)); ??? ????? pointIt++; ??? ????? i++; ??? ??? } ??? ??? cells++; ??? ??? triangularElement->SetGlobalNumber(k); ??? ??? m_FemObject->AddNextElement(triangularElement.GetPointer()); ??? ??? break; ????? } ??? } ? } ? // Define some Load ? LoadNodePointerType loadNode =LoadNodeType::New(); ? loadNode->SetElement(triangularElement); ? loadNode->SetGlobalNumber(3); ? loadNode->SetNode(1); ? vnl_vector force(2); ? force[0]= 20.0; ? force[1]= -20.0;? force[2]= 10.0; ? loadNode->SetForce(force); ? m_FemObject->AddNextLoad(loadNode); ? //Solve for displacements. ? m_FemObject->FinalizeMesh(); ? m_FemSolver->SetInput(m_FemObject); ? m_FemSolver->Update();???? // SEGMENTATION FAULT ? cout<< "Fem Solver Output: "<< m_FemSolver->GetOutput()<GetInput()->GetNumberOfNodes(); ? for(int i= 0; i< numberOfNodes; i++) ? { ??? itk::fem::Element::Node::Pointer node= m_FemSolver->GetInput()->GetNode(i); ??? cout<<"Fem Node : "<< node->GetGlobalNumber()<GetDegreeOfFreedom(j))!= invalidId; j++) ??? { ????? cout <<"Solver GetSolution: "<< m_FemSolver->GetSolution(dof)< FemObjectSpatialObjectType; ? FemObjectSpatialObjectType::Pointer m_FemSpatialObject= FemObjectSpatialObjectType::New(); ? m_FemSpatialObject->SetFEMObject(m_FemSolver->GetOutput()); ? typedef itk::FEMSpatialObjectWriter<3>????? ??? ??? ??? ??? FemSpatialObjectWriterType; ? FemSpatialObjectWriterType::Pointer femSpatialWriter= FemSpatialObjectWriterType::New(); ? femSpatialWriter->SetInput(m_FemSpatialObject); ? femSpatialWriter->SetFileName("deformedMesh.meta"); ? femSpatialWriter->Update(); } Thank you for any help! -------------- next part -------------- An HTML attachment was scrubbed... URL: From nasil122002 at yahoo.de Sun Oct 8 07:43:13 2017 From: nasil122002 at yahoo.de (Yusuf OEZBEK) Date: Sun, 8 Oct 2017 11:43:13 +0000 (UTC) Subject: [ITK] itk::Fem::Solver update problem References: <814561986.5997364.1507462993676.ref@mail.yahoo.com> Message-ID: <814561986.5997364.1507462993676@mail.yahoo.com> Dear ITK Users, According the mail https://public.kitware.com/pipermail/insight-users/2007-November/024272.html , I have converted my vtkUnstructuredGrid, wich I extracted from a vtkPolyData and contains TRIANGLE_CELL's to the itkMesh and than from itkMesh to itk::Fem::Object to deform my mesh:My problem is: If I call "m_FemSolver->Update();" ,I get a segmentation fault, which I really not understand. Program received signal SIGSEGV, Segmentation fault. 0x00007fffb1086dd5 in itk::fem::FEMObject<2u>::DeepCopy (this=0x4cc5ee0, ??? Copy=0x4cc1780) ??? at /home/toolkits/itk-4.7.2/Modules/Numerics/FEM/include/itkFEMObject.hxx:157 157??? ??? a->UnRegister(); void itkMeshToFemMesh::updateItkMeshSlot(itk::Mesh *itkMesh) { ? typedef itk::fem::FEMObject<3> FemObjectType; ? FemObjectType::Pointer m_FemObject= FemObjectType::New(); ? typedef itk::fem::Solver<3> SolverType; ? typedef SolverType::Pointer SolverPointerType; ? SolverPointerType m_FemSolver= SolverType::New(); ? // Define the Element Material properties ? typedef itk::fem::MaterialLinearElasticity MaterialType; ? MaterialType::Pointer material= MaterialType::New(); ? material->SetGlobalNumber(0); ? material->SetYoungsModulus(200E6); ? material->SetCrossSectionalArea(1.0); ? material->SetThickness(1.0); ? material->SetMomentOfInertia(1.0); ? material->SetPoissonsRatio(0.2); ? material->SetDensityHeatProduct(1.0); ? m_FemObject->AddNextMaterial(material); ? // Define the element type ? typedef itk::fem::Element2DC0LinearTriangularStrain TriangularElementType; ? TriangularElementType::Pointer triangularElement= TriangularElementType::New(); ? triangularElement->SetMaterial(material.GetPointer()); ? // Convert mesh points into nodes ? VectorType point(3); ? PointType*ptr; ? PointType pt; ? ptr= &pt; ? int numOfPoints= itkMesh->GetNumberOfPoints(); ? cout<<"itkMesh numOfPoints: "<GetNumberOfCells(); ? cout<<"itkMesh numberOfCells: "<GetCells(); ? CellIterator cells= cellIterator->Begin(); ? bool flag= true; ? for(int k=0; k< numberOfCells; k++) ? { ??? CellType *cellPtr= cells.Value(); ??? cout<<"Cell Value: "<< cells.Value() << " Cell Type= " << cellPtr->GetType()<GetType()) ??? { ????? case CellType::TRIANGLE_CELL: ????? { ??????? if(flag== true) // To make sure that the nodes are created just once ??????? { ??? ??? ? for(int j= 0; j< numOfPoints; j++) ??? ??? ? { ??? ??? ??? itkMesh->GetPoint(j, ptr); ??? ??? ??? typedef TriangularElementType::Node TriangularNodeType; ??? ??? ??? TriangularNodeType::Pointer triangularNode= TriangularNodeType::New(); ??? ??? ??? point[0]= -1.0; ??? ??? ??? point[1]= 2.0; ??? ??? ??? point[2]= 3.0; ??? ??? ??? triangularNode->SetCoordinates(point); ??? ??? ??? triangularNode->SetGlobalNumber(j); ??? ??? ??? m_FemObject->AddNextNode(triangularNode.GetPointer()); ??? ??? ? } ??? ??? ? flag= false; ??????? } ??????? PointIdIterator pointIt= cellPtr->PointIdsBegin(); ??????? int i= 0; ??????? while(pointIt!= cellPtr->PointIdsEnd()) ??????? { ??? ???? ? triangularElement->SetNode(i, m_FemObject->GetNode(*pointIt)); ??? ????? pointIt++; ??? ????? i++; ??? ??? } ??? ??? cells++; ??? ??? triangularElement->SetGlobalNumber(k); ??? ??? m_FemObject->AddNextElement(triangularElement.GetPointer()); ??? ??? break; ????? } ??? } ? } ? // Define some Load ? LoadNodePointerType loadNode =LoadNodeType::New(); ? loadNode->SetElement(triangularElement); ? loadNode->SetGlobalNumber(3); ? loadNode->SetNode(1); ? vnl_vector force(2); ? force[0]= 20.0; ? force[1]= -20.0;? force[2]= 10.0; ? loadNode->SetForce(force); ? m_FemObject->AddNextLoad(loadNode); ? //Solve for displacements. ? m_FemObject->FinalizeMesh(); ? m_FemSolver->SetInput(m_FemObject); ? m_FemSolver->Update();???? // SEGMENTATION FAULT ? cout<< "Fem Solver Output: "<< m_FemSolver->GetOutput()<GetInput()->GetNumberOfNodes(); ? for(int i= 0; i< numberOfNodes; i++) ? { ??? itk::fem::Element::Node::Pointer node= m_FemSolver->GetInput()->GetNode(i); ??? cout<<"Fem Node : "<< node->GetGlobalNumber()<GetDegreeOfFreedom(j))!= invalidId; j++) ??? { ????? cout <<"Solver GetSolution: "<< m_FemSolver->GetSolution(dof)< FemObjectSpatialObjectType; ? FemObjectSpatialObjectType::Pointer m_FemSpatialObject= FemObjectSpatialObjectType::New(); ? m_FemSpatialObject->SetFEMObject(m_FemSolver->GetOutput()); ? typedef itk::FEMSpatialObjectWriter<3>????? ??? ??? ??? ??? FemSpatialObjectWriterType; ? FemSpatialObjectWriterType::Pointer femSpatialWriter= FemSpatialObjectWriterType::New(); ? femSpatialWriter->SetInput(m_FemSpatialObject); ? femSpatialWriter->SetFileName("deformedMesh.meta"); ? femSpatialWriter->Update(); } Thank you for any help! -------------- next part -------------- An HTML attachment was scrubbed... URL: From francois.budin at kitware.com Mon Oct 9 13:35:12 2017 From: francois.budin at kitware.com (Francois Budin) Date: Mon, 9 Oct 2017 13:35:12 -0400 Subject: [ITK] [ITK-users] itk::Fem::Solver update problem In-Reply-To: <328360430.7135901.1507550917886@mail.yahoo.com> References: <328360430.7135901.1507550917886.ref@mail.yahoo.com> <328360430.7135901.1507550917886@mail.yahoo.com> Message-ID: Hello Yusuf, I am not sure what the problem is, but here are some ideas you can try to understand it or try to solve it: 1) Use ITK smart pointers instead of raw pointers. The crash seem to indicate that the program was trying to unregister a smart pointer, but your mesh is declared as a raw pointer. The issue could come from this. 2) Have you tried to look at your data, once converted, to make sure that it was converted correctly? Maybe there is a problem during your conversion which leads to an empty mesh or something worst. Hope this helps, Francois PS: As a side note, you may want to join the ITK discourse forum to ask your question or help others. The mailing list is still active but more people seem to be using the discourse forum now that it is available ( http://discourse.itk.org/) On Mon, Oct 9, 2017 at 8:08 AM, Yusuf OEZBEK via Insight-users < insight-users at itk.org> wrote: > Dear ITK Users, > > According the mail https://public.kitware.com/ > pipermail/insight-users/2007-November/024272.html , I have converted my > vtkUnstructuredGrid, wich I extracted from a vtkPolyData and contains > TRIANGLE_CELL's to the itkMesh and than from itkMesh to itk::Fem::Object to > deform my mesh: > My problem is: If I call "m_FemSolver->Update();" ,I get a segmentation > fault, which I really not understand. > > Program received signal SIGSEGV, Segmentation fault. > 0x00007fffb1086dd5 in itk::fem::FEMObject<2u>::DeepCopy (this=0x4cc5ee0, > Copy=0x4cc1780) > at /home/toolkits/itk-4.7.2/Modules/Numerics/FEM/include/ > itkFEMObject.hxx:157 > 157 a->UnRegister(); > > > void itkMeshToFemMesh::updateItkMeshSlot(itk::Mesh MeshTraitsType> *itkMesh) > { > typedef itk::fem::FEMObject<3> FemObjectType; > FemObjectType::Pointer m_FemObject= FemObjectType::New(); > > typedef itk::fem::Solver<3> SolverType; > typedef SolverType::Pointer SolverPointerType; > SolverPointerType m_FemSolver= SolverType::New(); > > // Define the Element Material properties > typedef itk::fem::MaterialLinearElasticity MaterialType; > MaterialType::Pointer material= MaterialType::New(); > material->SetGlobalNumber(0); > material->SetYoungsModulus(200E6); > material->SetCrossSectionalArea(1.0); > material->SetThickness(1.0); > material->SetMomentOfInertia(1.0); > material->SetPoissonsRatio(0.2); > material->SetDensityHeatProduct(1.0); > m_FemObject->AddNextMaterial(material); > > // Define the element type > typedef itk::fem::Element2DC0LinearTriangularStrain > TriangularElementType; > TriangularElementType::Pointer triangularElement= > TriangularElementType::New(); > triangularElement->SetMaterial(material.GetPointer()); > > // Convert mesh points into nodes > VectorType point(3); > PointType*ptr; > PointType pt; > ptr= &pt; > > int numOfPoints= itkMesh->GetNumberOfPoints(); > cout<<"itkMesh numOfPoints: "< > int numberOfCells= itkMesh->GetNumberOfCells(); > cout<<"itkMesh numberOfCells: "< > CellsContainerPointer cellIterator= itkMesh->GetCells(); > CellIterator cells= cellIterator->Begin(); > > bool flag= true; > > for(int k=0; k< numberOfCells; k++) > { > CellType *cellPtr= cells.Value(); > cout<<"Cell Value: "<< cells.Value() << " Cell Type= " << > cellPtr->GetType()< > switch(cellPtr->GetType()) > { > case CellType::TRIANGLE_CELL: > { > if(flag== true) // To make sure that the nodes are created just > once > { > for(int j= 0; j< numOfPoints; j++) > { > itkMesh->GetPoint(j, ptr); > > typedef TriangularElementType::Node TriangularNodeType; > TriangularNodeType::Pointer triangularNode= > TriangularNodeType::New(); > point[0]= -1.0; > point[1]= 2.0; > point[2]= 3.0; > triangularNode->SetCoordinates(point); > triangularNode->SetGlobalNumber(j); > m_FemObject->AddNextNode(triangularNode.GetPointer()); > } > flag= false; > } > PointIdIterator pointIt= cellPtr->PointIdsBegin(); > int i= 0; > > while(pointIt!= cellPtr->PointIdsEnd()) > { > triangularElement->SetNode(i, m_FemObject->GetNode(*pointIt)); > pointIt++; > i++; > } > cells++; > triangularElement->SetGlobalNumber(k); > m_FemObject->AddNextElement(triangularElement.GetPointer()); > break; > } > } > } > > // Define some Load > LoadNodePointerType loadNode =LoadNodeType::New(); > loadNode->SetElement(triangularElement); > loadNode->SetGlobalNumber(3); > loadNode->SetNode(1); > > vnl_vector force(2); > force[0]= 20.0; > force[1]= -20.0; > force[2]= 10.0; > loadNode->SetForce(force); > m_FemObject->AddNextLoad(loadNode); > > //Solve for displacements. > m_FemObject->FinalizeMesh(); > m_FemSolver->SetInput(m_FemObject); > m_FemSolver->Update(); // SEGMENTATION FAULT > > cout<< "Fem Solver Output: "<< m_FemSolver->GetOutput()< > const unsigned int invalidId= itk::fem::Element:: > InvalidDegreeOfFreedomID; > int numberOfNodes= m_FemSolver->GetInput()->GetNumberOfNodes(); > > for(int i= 0; i< numberOfNodes; i++) > { > itk::fem::Element::Node::Pointer node= m_FemSolver->GetInput()-> > GetNode(i); > cout<<"Fem Node : "<< node->GetGlobalNumber()< > for(unsigned int j= 0, dof; (dof= node->GetDegreeOfFreedom(j))!= > invalidId; j++) > { > cout <<"Solver GetSolution: "<< m_FemSolver->GetSolution(dof)< } > } > > // Write the deformed mesh > typedef itk::FEMObjectSpatialObject<3> FemObjectSpatialObjectType; > FemObjectSpatialObjectType::Pointer m_FemSpatialObject= > FemObjectSpatialObjectType::New(); > m_FemSpatialObject->SetFEMObject(m_FemSolver->GetOutput()); > > typedef itk::FEMSpatialObjectWriter<3> > FemSpatialObjectWriterType; > FemSpatialObjectWriterType::Pointer femSpatialWriter= > FemSpatialObjectWriterType::New(); > femSpatialWriter->SetInput(m_FemSpatialObject); > femSpatialWriter->SetFileName("deformedMesh.meta"); > femSpatialWriter->Update(); > } > > Thank you for any help! > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 ruizhi at mit.edu Tue Oct 10 19:23:23 2017 From: ruizhi at mit.edu (Ruizhi Liao) Date: Tue, 10 Oct 2017 23:23:23 +0000 Subject: [ITK] Set up step length for LBFGSBOptimizerv4 Message-ID: Hello! I?m LBFGSBOptimizerv4 to perform optimization for BSpline registration. I want to set up step length for the optimizer, but it looks this class doesn?t provide this method: https://itk.org/Doxygen/html/classitk_1_1LBFGSBOptimizerv4.html#a71e1357c63f5547b8e175e738a080930 In LBFGSOptimizer, there is such a method called ?SetDefaultStepLength()?: https://itk.org/Doxygen/html/classitk_1_1LBFGSOptimizer.html#ae2c7ee103163ea6b36161632d9d9b539 . I wonder if there is a way to set up step length using LBFGSBOptimizerv4? Thanks! -Ray -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 1838 bytes Desc: not available URL: From addison.elliott at gmail.com Tue Oct 10 23:21:51 2017 From: addison.elliott at gmail.com (Addison Elliott) Date: Tue, 10 Oct 2017 22:21:51 -0500 Subject: [ITK] [ITK-users] Python SimpleITK DivideReal always returns double image Message-ID: Hey guys, When using Python 3.0+, the operator / utilizes __truediv__ instead of __div__. For itk.Image, truediv uses DivideReal and div uses Divide. This is relevant because DivideReal returns an image with double datatype and Divide uses the datatype of the input image. Since I am using 32-bit floats for my images, this requires me to cast to a 32-bit float each time. It would be more convenient if it mimicked the datatype of the input image OR you could specify the desired datatype. Here is a test case to show what I mean: image = sitk.Image(50, 50, 50, sitk.sitkFloat32) image2 = sitk.DivideReal(image, 4.0) print(image) # <---- Type is float print(image2) # <---- Type is double image = sitk.Image(50, 50, 50, sitk.sitkFloat32) image2 = sitk.Divide(image, 4.0) print(image) # <---- Type is float print(image2) # <---- Type is float I've been using ITK for a few weeks and SimpleITK for about a week. I've have SimpleITK built from source. - Is this a feature/bug worthy of fixing? - Can someone point me in the right direction as to where I should start for fixing the issue? - Any other tips and comments are welcome! Addison -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 trshash at gmail.com Wed Oct 11 06:28:02 2017 From: trshash at gmail.com (Shashwath T.R.) Date: Wed, 11 Oct 2017 15:58:02 +0530 Subject: [ITK] [ITK-users] itk::BinaryHysteresisThresoldImageFilter Message-ID: Hi all, A long time back, this paper was published in the Midas journal describing a generalized hysteresis threshold filter in ITK: http://www.insight-journal.org/browse/publication/847 We've been using it quite extensively for a while, but I see that it has never been included in the main distribution. May I suggest it for integration? I would be happy to see through the process. Regards, Shashwath -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users From blowekamp at mail.nih.gov Wed Oct 11 09:05:24 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Wed, 11 Oct 2017 13:05:24 +0000 Subject: [ITK] [ITK-users] itk::BinaryHysteresisThresoldImageFilter In-Reply-To: References: Message-ID: <13257DF8-B1BF-45B2-9384-A55A0A0F2D7A@mail.nih.gov> Hello, I believe the itk::DoubleThresholdImageFilter implements the same technique, but based on morphological principles. Have you tries this filter that is in ITK? It would be curious how the two implementation compare. Perhaps, we should improve the documentation of itk::DoubleThresholdImageFilter [1], to indicate the technique is also known as hysteresis thresholding. Brad [1] https://itk.org/Doxygen/html/classitk_1_1DoubleThresholdImageFilter.html From: "Shashwath T.R." Date: Wednesday, October 11, 2017 at 6:28 AM To: "insight-users at itk.org" Subject: [ITK-users] itk::BinaryHysteresisThresoldImageFilter Hi all, A long time back, this paper was published in the Midas journal describing a generalized hysteresis threshold filter in ITK: http://www.insight-journal.org/browse/publication/847 We've been using it quite extensively for a while, but I see that it has never been included in the main distribution. May I suggest it for integration? I would be happy to see through the process. Regards, Shashwath -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users From dzenanz at gmail.com Wed Oct 11 09:43:32 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Wed, 11 Oct 2017 09:43:32 -0400 Subject: [ITK] Set up step length for LBFGSBOptimizerv4 In-Reply-To: References: Message-ID: Hi Ray, judging by a quick look at the source code, there does not appear to be a way to set the step length. We are trying to migrate to a discussion forum, discourse.itk.org Can you post future questions there? Regards, D?enan On Tue, Oct 10, 2017 at 7:23 PM, Ruizhi Liao wrote: > Hello! > > I?m LBFGSBOptimizerv4 to perform optimization for BSpline registration. I > want to set up step length for the optimizer, but it looks this > class doesn?t provide this method: https://itk.org/ > Doxygen/html/classitk_1_1LBFGSBOptimizerv4.html# > a71e1357c63f5547b8e175e738a080930 > > In LBFGSOptimizer, there is such a method called ?SetDefaultStepLength()?: > https://itk.org/Doxygen/html/classitk_1_1LBFGSOptimizer.html# > ae2c7ee103163ea6b36161632d9d9b539 . I wonder if there is a way to set up > step length using LBFGSBOptimizerv4? > > Thanks! > > -Ray > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________________ > 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 Oct 11 13:14:17 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 11 Oct 2017 13:14:17 -0400 Subject: [ITK] [ITK-dev] HDF5 library naming In-Reply-To: References: Message-ID: Hi David, On Wed, Oct 11, 2017 at 12:58 PM, David Cole via Insight-developers wrote: > I see the difference in release and debug library names for the HDF5 > libraries has already been discussed about a year ago: > > https://itk.org/pipermail/insight-developers/2016-October/024995.html > > However, the answer seems unsatisfactory to me. > > Why can't ITK install these libraries named according to its own > convention for 3rd party libraries...? (i.e. -- why is "upstream did > it that way and we just updated to that" acceptable as a response > here?) Because we do not have infinite resources to maintain forks and support all build systems. > I use a non-CMake build system consuming ITK libraries where it is > much easier to deal with libraries named consistently (and using the > same names for debug and release builds). Especially when you are > dealing with static libraries only, there does not seem to be a good > reason to allow this deviation to persist long term. > > Would a proposed patch correcting the naming (conforming to ITK > version naming convention like other ITK 3rd party libs, and named the > same in Release and Debug) be accepted? A patch would be accepted assuming that responsibility will be taken by the author to maintain the fork in the future. Thanks, Matt The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ______________________________________ Powered by www.kitware.com 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 Wed Oct 11 14:06:17 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Wed, 11 Oct 2017 14:06:17 -0400 Subject: [ITK] [ITK-users] itk::Fem::Solver update problem In-Reply-To: <2002902554.8844637.1507649809005@mail.yahoo.com> References: <328360430.7135901.1507550917886.ref@mail.yahoo.com> <328360430.7135901.1507550917886@mail.yahoo.com> <2002902554.8844637.1507649809005@mail.yahoo.com> Message-ID: Hi Yusuf, as posting attachments on the discourse forum is not allowed, here is the updated source code to run on VTK8. Regards, D?enan On Tue, Oct 10, 2017 at 11:36 AM, Yusuf OEZBEK via Insight-users < insight-users at itk.org> wrote: > Hello, > > Thank you for the answer Francois. Even chaning from raw- to > smart-pointer for itkMesh did'nt bring any solution. The number of proints, > cells and cell types are the same for vtkUnstructured grid and itkMesh > after converting. But I got a new error : "vnl_error_vector_dimension:vnl_matrix::set_row: > Dimensions [3] and [2] donot match" after the calling m_FemSolver->Update(); > function. > Do you (or someone else) know, which matrix dimension is meant hier? > > > Same quation is also asked here. But unfortunately without answer: > https://itk.org/pipermail/insight-users/2009-July/031536.html > > > > Best regards > > > > Francois Budin schrieb am 19:35 Montag, > 9.Oktober 2017: > > > Hello Yusuf, > > I am not sure what the problem is, but here are some ideas you can try to > understand it or try to solve it: > 1) Use ITK smart pointers instead of raw pointers. The crash seem to > indicate that the program was trying to unregister a smart pointer, but > your mesh is declared as a raw pointer. The issue could come from this. > 2) Have you tried to look at your data, once converted, to make sure that > it was converted correctly? Maybe there is a problem during your conversion > which leads to an empty mesh or something worst. > > Hope this helps, > Francois > > PS: As a side note, you may want to join the ITK discourse forum to ask > your question or help others. The mailing list is still active but more > people seem to be using the discourse forum now that it is available ( > http://discourse.itk.org/) > > On Mon, Oct 9, 2017 at 8:08 AM, Yusuf OEZBEK via Insight-users < > insight-users at itk.org> wrote: > > Dear ITK Users, > > According the mail https://public.kitware.com/ > pipermail/insight-users/2007- November/024272.html > > , I have converted my vtkUnstructuredGrid, wich I extracted from a > vtkPolyData and contains TRIANGLE_CELL's to the itkMesh and than from > itkMesh to itk::Fem::Object to deform my mesh: > My problem is: If I call "m_FemSolver->Update();" ,I get a segmentation > fault, which I really not understand. > > Program received signal SIGSEGV, Segmentation fault. > 0x00007fffb1086dd5 in itk::fem::FEMObject<2u>:: DeepCopy (this=0x4cc5ee0, > Copy=0x4cc1780) > at /home/toolkits/itk-4.7.2/ Modules/Numerics/FEM/include/ > itkFEMObject.hxx:157 > 157 a->UnRegister(); > > > void itkMeshToFemMesh:: updateItkMeshSlot(itk::Mesh< double, 3, > MeshTraitsType> *itkMesh) > { > typedef itk::fem::FEMObject<3> FemObjectType; > FemObjectType::Pointer m_FemObject= FemObjectType::New(); > > typedef itk::fem::Solver<3> SolverType; > typedef SolverType::Pointer SolverPointerType; > SolverPointerType m_FemSolver= SolverType::New(); > > // Define the Element Material properties > typedef itk::fem:: MaterialLinearElasticity MaterialType; > MaterialType::Pointer material= MaterialType::New(); > material->SetGlobalNumber(0); > material->SetYoungsModulus( 200E6); > material-> SetCrossSectionalArea(1.0); > material->SetThickness(1.0); > material->SetMomentOfInertia( 1.0); > material->SetPoissonsRatio(0. 2); > material-> SetDensityHeatProduct(1.0); > m_FemObject->AddNextMaterial( material); > > // Define the element type > typedef itk::fem:: Element2DC0LinearTriangularStr ain > TriangularElementType; > > TriangularElementType::Pointer triangularElement= > TriangularElementType::New(); > triangularElement-> SetMaterial(material. GetPointer()); > > // Convert mesh points into nodes > VectorType point(3); > PointType*ptr; > PointType pt; > ptr= &pt; > > int numOfPoints= itkMesh->GetNumberOfPoints(); > cout<<"itkMesh numOfPoints: "< > int numberOfCells= itkMesh->GetNumberOfCells(); > cout<<"itkMesh numberOfCells: "< > CellsContainerPointer cellIterator= itkMesh->GetCells(); > CellIterator cells= cellIterator->Begin(); > > bool flag= true; > > for(int k=0; k< numberOfCells; k++) > { > CellType *cellPtr= cells.Value(); > cout<<"Cell Value: "<< cells.Value() << " Cell Type= " << > cellPtr->GetType()< > switch(cellPtr->GetType()) > { > case CellType::TRIANGLE_CELL: > { > if(flag== true) // To make sure that the nodes are created just > once > { > for(int j= 0; j< numOfPoints; j++) > { > itkMesh->GetPoint(j, ptr); > > typedef TriangularElementType::Node TriangularNodeType; > TriangularNodeType::Pointer triangularNode= > TriangularNodeType::New(); > point[0]= -1.0; > point[1]= 2.0; > point[2]= 3.0; > triangularNode-> SetCoordinates(point); > triangularNode-> SetGlobalNumber(j); > m_FemObject->AddNextNode( triangularNode.GetPointer()); > } > flag= false; > } > PointIdIterator pointIt= cellPtr->PointIdsBegin(); > int i= 0; > > while(pointIt!= cellPtr->PointIdsEnd()) > { > triangularElement->SetNode(i, m_FemObject->GetNode(*pointIt) ); > pointIt++; > i++; > } > cells++; > triangularElement-> SetGlobalNumber(k); > m_FemObject->AddNextElement( triangularElement.GetPointer() ); > break; > } > } > } > > // Define some Load > LoadNodePointerType loadNode =LoadNodeType::New(); > loadNode->SetElement( triangularElement); > loadNode->SetGlobalNumber(3); > loadNode->SetNode(1); > > vnl_vector force(2); > force[0]= 20.0; > force[1]= -20.0; > force[2]= 10.0; > loadNode->SetForce(force); > m_FemObject->AddNextLoad( loadNode); > > //Solve for displacements. > m_FemObject->FinalizeMesh(); > m_FemSolver->SetInput(m_ FemObject); > m_FemSolver->Update(); // SEGMENTATION FAULT > > cout<< "Fem Solver Output: "<< m_FemSolver->GetOutput()<< endl; > > const unsigned int invalidId= itk::fem::Element:: > InvalidDegreeOfFreedomID; > int numberOfNodes= m_FemSolver->GetInput()-> GetNumberOfNodes(); > > for(int i= 0; i< numberOfNodes; i++) > { > itk::fem::Element::Node:: Pointer node= m_FemSolver->GetInput()-> > GetNode(i); > cout<<"Fem Node : "<< node->GetGlobalNumber()< > for(unsigned int j= 0, dof; (dof= node->GetDegreeOfFreedom(j))!= > invalidId; j++) > { > cout <<"Solver GetSolution: "<< m_FemSolver->GetSolution(dof)< } > } > > // Write the deformed mesh > typedef itk::FEMObjectSpatialObject<3> FemObjectSpatialObjectType; > FemObjectSpatialObjectType:: Pointer m_FemSpatialObject= > FemObjectSpatialObjectType:: New(); > m_FemSpatialObject-> SetFEMObject(m_FemSolver-> GetOutput()); > > typedef itk::FEMSpatialObjectWriter<3> > FemSpatialObjectWriterType; > FemSpatialObjectWriterType:: Pointer femSpatialWriter= > FemSpatialObjectWriterType:: New(); > femSpatialWriter->SetInput(m_ FemSpatialObject); > femSpatialWriter->SetFileName( "deformedMesh.meta"); > femSpatialWriter->Update(); > } > > Thank you for any help! > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ______________________________ __ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/ opensource/opensource.html > > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/ products/protraining.php > > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_ FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/ mailman/listinfo/insight-users > > > > > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- cmake_minimum_required(VERSION 3.8) PROJECT(vtkUGridToFemMesh) find_package(VTK REQUIRED) include(${VTK_USE_FILE}) find_package(ITK REQUIRED) include(${ITK_USE_FILE}) INCLUDE_DIRECTORIES( ${vtkCone_SOURCE_DIR} ${vtkCone_BINARY_DIR} ) SET(vtkUGridToFemMesh_SRCS main.cxx ) add_executable(vtkUGridToFemMesh ${vtkUGridToFemMesh_SRCS}) target_link_libraries(vtkUGridToFemMesh ${VTK_LIBRARIES} ${ITK_LIBRARIES}) -------------- next part -------------- #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include typedef itk::DefaultStaticMeshTraits MeshTraitsType; typedef itk::Mesh MeshType; int main(int, char *[]) { /////////////////////////// CONVERT VTK POLY DATA TO UNSTRUCTURED GRID /////////////////////////// cout<<"CONVERT VTK POLY DATA TO UNSTRUCTURED GRID"< polyReader= vtkSmartPointer::New(); polyReader->SetFileName("extracted.ext"); polyReader->Update(); vtkSmartPointer append= vtkSmartPointer::New(); append->AddInputConnection(polyReader->GetOutputPort()); append->Update(); vtkSmartPointer uGrid= vtkSmartPointer::New(); uGrid->ShallowCopy(append->GetOutput()); //Create a mapper and actor vtkSmartPointer mapper= vtkSmartPointer::New(); mapper->SetInputData(uGrid); mapper->ScalarVisibilityOff(); vtkSmartPointer actor= vtkSmartPointer::New(); actor->SetMapper(mapper); vtkSmartPointer renderer= vtkSmartPointer::New(); vtkSmartPointer renderWindow= vtkSmartPointer::New(); renderWindow->AddRenderer(renderer); vtkSmartPointer renderWindowInteractor= vtkSmartPointer::New(); renderWindowInteractor->SetRenderWindow(renderWindow); renderer->AddActor(actor); renderer->SetBackground(0, 0, 0); renderWindow->Render(); renderWindowInteractor->Start(); /////////////////////////// CONVERT VTK UNSTRUCTURED GRID TO ITK MESH /////////////////////////// cout<<"CONVERT VTK UNSTRUCTURED GRID TO ITK MESH"<GetPoints(); int numPoints= vtkPoints->GetNumberOfPoints(); // Create a compatible point container for the mesh // the mesh is created with a null points container MeshType::PointsContainer::Pointer points= MeshType::PointsContainer::New(); // Resize the point container to be able to fit the vtk points points->Reserve(numPoints); // Set the point container on the mesh itkMesh->SetPoints(points); for(int i= 0; i< numPoints; i++) { double *aPoint= vtkPoints->GetPoint(i); float itkPoint[3]; itkPoint[0]= static_cast(aPoint[0]); itkPoint[1]= static_cast(aPoint[1]); itkPoint[2]= static_cast(aPoint[2]); itkMesh->SetPoint(i, MeshType::PointType(itkPoint)); } vtkSmartPointer vtkCells= vtkSmartPointer::New(); vtkCells= uGrid->GetCells(); MeshType::CellsContainerPointer cells= MeshType::CellsContainer::New(); // Extract the cell id's from the vtkUnstructuredGrid int numCells= vtkCells->GetNumberOfCells(); // Extract cell type for each cell int *vtkCellTypes= new int[numCells]; int cellId= 0; for(; cellId< numCells; cellId++) { vtkCellTypes[cellId]= uGrid->GetCellType(cellId); } // Resize the point container to be able to fit the vtk points cells->Reserve(numCells); itkMesh->SetCells(cells); vtkIdType npts; vtkIdType *pts; cellId= 0; for(vtkCells->InitTraversal(); vtkCells->GetNextCell(npts, pts); cellId++) { //cout<<"VTK cell ID= "< CellInterfaceType; typedef itk::HexahedronCell HexahedronCellType; HexahedronCellType *t= new HexahedronCellType; for(int i= 0; i< 8; i++) { t->SetPointId(i, static_cast(pts[i])); } //t->SetPointIds((unsigned long*)pts); c.TakeOwnership(t); break; } case VTK_TRIANGLE: { typedef itk::CellInterface CellInterfaceType; typedef itk::TriangleCell TriangleCellType; TriangleCellType *t= new TriangleCellType; for(int i= 0; i< 3; i++) { //cout <<"VTK Point ids= "<< pts[i]<SetPointId(i, static_cast(pts[i])); } c.TakeOwnership(t); break; } case VTK_POLY_VERTEX: case VTK_LINE: case VTK_POLY_LINE: case VTK_TRIANGLE_STRIP: case VTK_POLYGON: case VTK_PIXEL: case VTK_TETRA: case VTK_VOXEL: case VTK_WEDGE: case VTK_PYRAMID: case VTK_PARAMETRIC_CURVE: case VTK_PARAMETRIC_SURFACE: case VTK_EMPTY_CELL: default: cout<< "Warning unhandled cell type" << vtkCellTypes[cellId]<SetCell(cellId, c); } /////////////////////////// CONVERT ITK MESH TO FEM MESH /////////////////////////// cout<<"CONVERT ITK MESH TO FEM MESH"< FemObjectType; FemObjectType::Pointer m_FemObject= FemObjectType::New(); typedef itk::fem::Solver<3> SolverType; SolverType::Pointer m_FemSolver= SolverType::New(); // Define the Element Material properties typedef itk::fem::MaterialLinearElasticity MaterialType; MaterialType::Pointer material= MaterialType::New(); material->SetGlobalNumber(0); material->SetYoungsModulus(200E6); material->SetCrossSectionalArea(1.0); material->SetThickness(1.0); material->SetMomentOfInertia(1.0); material->SetPoissonsRatio(0.2); material->SetDensityHeatProduct(1.0); m_FemObject->AddNextMaterial(material); // Define the element type typedef itk::fem::Element2DC0LinearTriangularStrain TriangularElementType; TriangularElementType::Pointer triangularElement= TriangularElementType::New(); triangularElement->SetMaterial(material.GetPointer()); // Convert mesh points into nodes typedef itk::fem::Element::VectorType VectorType; VectorType point(3); typedef itk::DefaultStaticMeshTraits MeshTraitsType; typedef itk::Mesh MeshType; typedef MeshType::PointType PointType; PointType*ptr; PointType pt; ptr= &pt; int numOfPoints= itkMesh->GetNumberOfPoints(); cout<<"itkMesh numOfPoints: "<GetNumberOfCells(); cout<<"itkMesh numberOfCells: "<GetPoints()->Begin(); PointsIterator endOfPoints= itkMesh->GetPoints()->End(); MeshType::PointType itkMeshPoints; while(pointIterator!= endOfPoints) { itkMeshPoints= pointIterator.Value(); cout <<"itkMeshPoints: "<< itkMeshPoints <GetPoint(j, ptr); typedef TriangularElementType::Node TriangularNodeType; TriangularNodeType::Pointer triangularNode = TriangularNodeType::New(); point[0] = -4.0; point[1] = 3.0; point[2] = 4.0; triangularNode->SetCoordinates(point); triangularNode->SetGlobalNumber(j); m_FemObject->AddNextNode(triangularNode.GetPointer()); //m_FemObject->RenumberNodeContainer(); //cout << "j:" << j << " Mesh points: " << point[0] << "|" << point[1] << "|" << point[2] << endl; } typedef MeshType::CellsContainerPointer CellsContainerPointer; typedef MeshType::CellsContainer::ConstIterator CellIterator; CellsContainerPointer cellIterator= itkMesh->GetCells(); CellIterator cellsIter= cellIterator->Begin(); typedef MeshType::CellType CellType; for(int k=0; k< numberOfCells; k++) { CellType *cellPtr= cellsIter.Value(); //cout<<"Cell Value: "<< cells.Value() << " Cell Type= " << cellPtr->GetType()<GetType()) { case CellType::TRIANGLE_CELL: { typedef itk::TriangleCell TriangleType; typedef TriangleType::PointIdIterator PointIdIterator; PointIdIterator pointIt= cellPtr->PointIdsBegin(); int i= 0; while(pointIt!= cellPtr->PointIdsEnd()) { triangularElement->SetNode(i, m_FemObject->GetNode(*pointIt)); pointIt++; i++; } cellsIter++; triangularElement->SetGlobalNumber(k); m_FemObject->AddNextElement(triangularElement.GetPointer()); break; } } } // Define boundary condiditon load types typedef itk::fem::LoadBC LoadBCType; LoadBCType::Pointer loadBc1= LoadBCType::New(); loadBc1->SetElement(m_FemObject->GetElement(0)); loadBc1->SetGlobalNumber(0); loadBc1->SetDegreeOfFreedom(0); loadBc1->SetValue(vnl_vector(1, 0.0)); m_FemObject->AddNextLoad(loadBc1); LoadBCType::Pointer loadBc2= LoadBCType::New(); loadBc2->SetElement(m_FemObject->GetElement(0)); loadBc2->SetGlobalNumber(1); loadBc2->SetDegreeOfFreedom(1); loadBc2->SetValue(vnl_vector(1, 0.0)); m_FemObject->AddNextLoad(loadBc2); LoadBCType::Pointer loadBc3= LoadBCType::New(); loadBc3->SetElement(m_FemObject->GetElement(1)); loadBc3->SetGlobalNumber(2); loadBc3->SetDegreeOfFreedom(4); loadBc3->SetValue(vnl_vector(1, 0.0)); m_FemObject->AddNextLoad(loadBc3); // Define force type typedef itk::fem::LoadNode LoadNodeType; LoadNodeType::Pointer loadNode= LoadNodeType::New(); loadNode->SetElement(m_FemObject->GetElement(2)); loadNode->SetGlobalNumber(3); loadNode->SetNode(1); vnl_vector force(3); force[0]= 20.0; force[1]= -20.0; force[2]= 10.0; loadNode->SetForce(force); m_FemObject->AddNextLoad(loadNode); //The whole problem is now stored inside the FEM Object class. Now solve for displacements. m_FemObject->FinalizeMesh(); m_FemSolver->SetInput(m_FemObject); m_FemSolver->Update(); cout<< "Fem Solver Output: "<< m_FemSolver->GetOutput()<GetInput()->GetNumberOfNodes(); for(int i= 0; i< numberOfNodes; i++) { itk::fem::Element::Node::Pointer node= m_FemSolver->GetInput()->GetNode(i); cout<<"Fem Node : "<< node->GetGlobalNumber()<GetDegreeOfFreedom(j))!= invalidId; j++) { cout <<"Solve Solution: "<< m_FemSolver->GetSolution(dof)< FemObjectSpatialObjectType; FemObjectSpatialObjectType::Pointer m_FemSpatialObject= FemObjectSpatialObjectType::New(); m_FemSpatialObject->SetFEMObject(m_FemSolver->GetOutput()); typedef itk::FEMSpatialObjectWriter<3> FemSpatialObjectWriterType; FemSpatialObjectWriterType::Pointer femSpatialWriter= FemSpatialObjectWriterType::New(); femSpatialWriter->SetInput(m_FemSpatialObject); femSpatialWriter->SetFileName("deformedMesh.meta"); femSpatialWriter->Update(); return EXIT_SUCCESS; } -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 jchris.fillionr at kitware.com Wed Oct 11 15:10:46 2017 From: jchris.fillionr at kitware.com (Jean-Christophe Fillion-Robin) Date: Wed, 11 Oct 2017 15:10:46 -0400 Subject: [ITK] [ITK-dev] HDF5 library naming In-Reply-To: References: Message-ID: Hi, What about patching the upstream system to allow configuration of library output name and install dir ? Hth Jc On Wed, Oct 11, 2017 at 1:14 PM, Matt McCormick wrote: > Hi David, > > On Wed, Oct 11, 2017 at 12:58 PM, David Cole via Insight-developers > wrote: > > I see the difference in release and debug library names for the HDF5 > > libraries has already been discussed about a year ago: > > > > https://itk.org/pipermail/insight-developers/2016-October/ > 024995.html > > > > However, the answer seems unsatisfactory to me. > > > > Why can't ITK install these libraries named according to its own > > convention for 3rd party libraries...? (i.e. -- why is "upstream did > > it that way and we just updated to that" acceptable as a response > > here?) > > Because we do not have infinite resources to maintain forks and > support all build systems. > > > > I use a non-CMake build system consuming ITK libraries where it is > > much easier to deal with libraries named consistently (and using the > > same names for debug and release builds). Especially when you are > > dealing with static libraries only, there does not seem to be a good > > reason to allow this deviation to persist long term. > > > > Would a proposed patch correcting the naming (conforming to ITK > > version naming convention like other ITK 3rd party libs, and named the > > same in Release and Debug) be accepted? > > A patch would be accepted assuming that responsibility will be taken > by the author to maintain the fork in the future. > > Thanks, > Matt > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ______________________________________ > Powered by www.kitware.com > > 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 <(919)%20869-8849> -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ______________________________________ Powered by www.kitware.com 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 sureerat.r at gmail.com Fri Oct 13 03:19:23 2017 From: sureerat.r at gmail.com (Sureerat Reaungamornrat) Date: Fri, 13 Oct 2017 14:19:23 +0700 Subject: [ITK] [ITK-users] undefined reference to `vnl_vector::~vnl_vector()' Message-ID: Dear All, I have a problem compiling a simple read-image-file code below in Fedora, after I build ITK 4.12.1 from source code downloaded from the ITK website. I did not receive any error for compiling ITK. For compilation of ITK 4.12.1, I did not change the default CMake options of the ITK library, and the CMake options for compilation were set as CMAKE_CXX_COMPILER /usr/lib64/ccache/c++ CMAKE_CXX_FLAGS -std=c++11 -pthread CMAKE_EXE_LINKER_FLAGS -pthread The error, from compiling the read-image-file code below, was all "undefined reference to 'vnl_vector::~vnl_vector()'" with some data types T including long long, short, unsigned char, etc. I attached the file containing the error (std::cerr from 'make' command for single-thread compilation) to this email. // Code -------------------------------------------------- #include "itkImageFileReader.h" int main() { typedef itk::Image ImageType; typedef itk::ImageFileReader ImageFileReaderType; ImageFileReaderType::Pointer reader = ImageFileReaderType::New(); reader->SetFileName("some_image_filename"); reader->Update(); ImageType::Pointer image = reader->GetOutput(); return EXIT_SUCCESS; } Thank you very much for you time and help, Best regards, Ja -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- [ 50%] Built target pi Linking CXX executable test_read_image /home/ja/dev/ITK/build-release/lib/libITKCommon-4.12.a(itkDynamicLoader.cxx.o): In function `itk::DynamicLoader::OpenLibrary(char const*)': itkDynamicLoader.cxx:(.text+0x86): undefined reference to `itksys::DynamicLoader::OpenLibrary(std::string const&)' /home/ja/dev/ITK/build-release/lib/libITKCommon-4.12.a(itkDynamicLoader.cxx.o): In function `itk::DynamicLoader::GetSymbolAddress(void*, char const*)': itkDynamicLoader.cxx:(.text+0x121): undefined reference to `itksys::DynamicLoader::GetSymbolAddress(void*, std::string const&)' /home/ja/dev/ITK/build-release/lib/libITKCommon-4.12.a(itkDynamicLoader.cxx.o): In function `itk::DynamicLoader::CloseLibrary(void*)': itkDynamicLoader.cxx:(.text+0xf1): undefined reference to `itksys::DynamicLoader::CloseLibrary(void*)' /home/ja/dev/ITK/build-release/lib/libITKCommon-4.12.a(itkDynamicLoader.cxx.o): In function `itk::DynamicLoader::LastError()': itkDynamicLoader.cxx:(.text+0x1a1): undefined reference to `itksys::DynamicLoader::LastError()' /home/ja/dev/ITK/build-release/lib/libITKIOGDCM-4.12.a(itkGDCMImageIO.cxx.o): In function `itk::GDCMImageIO::InternalReadImageInformation()': itkGDCMImageIO.cxx:(.text+0x3470): undefined reference to `itksysBase64_Encode' /home/ja/dev/ITK/build-release/lib/libITKIOGDCM-4.12.a(itkGDCMImageIO.cxx.o): In function `itk::GDCMImageIO::Write(void const*)': itkGDCMImageIO.cxx:(.text+0x53c6): undefined reference to `itksysBase64_Decode' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIxEEED2Ev[_ZN3itk14MetaDataObjectINS_5ArrayIxEEED5Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIyEEED2Ev[_ZN3itk14MetaDataObjectINS_5ArrayIyEEED5Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayImEEED2Ev[_ZN3itk14MetaDataObjectINS_5ArrayImEEED5Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIjEEED2Ev[_ZN3itk14MetaDataObjectINS_5ArrayIjEEED5Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIhEEED2Ev[_ZN3itk14MetaDataObjectINS_5ArrayIhEEED5Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIsEEED2Ev[_ZN3itk14MetaDataObjectINS_5ArrayIsEEED5Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayItEEED2Ev[_ZN3itk14MetaDataObjectINS_5ArrayItEEED5Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIyEEED0Ev[_ZN3itk14MetaDataObjectINS_5ArrayIyEEED0Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIxEEED0Ev[_ZN3itk14MetaDataObjectINS_5ArrayIxEEED0Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIsEEED0Ev[_ZN3itk14MetaDataObjectINS_5ArrayIsEEED0Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIhEEED0Ev[_ZN3itk14MetaDataObjectINS_5ArrayIhEEED0Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIjEEED0Ev[_ZN3itk14MetaDataObjectINS_5ArrayIjEEED0Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayImEEED0Ev[_ZN3itk14MetaDataObjectINS_5ArrayImEEED0Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkHDF5ImageIO.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayItEEED0Ev[_ZN3itk14MetaDataObjectINS_5ArrayItEEED0Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `bool itk::HDF5ImageIO::WriteMetaArray(std::string const&, itk::MetaDataObjectBase*)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayImEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayImEEbRKSsPNS_18MetaDataObjectBaseE]+0x42): undefined reference to `vnl_vector::vnl_vector(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayImEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayImEEbRKSsPNS_18MetaDataObjectBaseE]+0x1a3): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayImEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayImEEbRKSsPNS_18MetaDataObjectBaseE]+0x20a): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `bool itk::HDF5ImageIO::WriteMetaArray(std::string const&, itk::MetaDataObjectBase*)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIcEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIcEEbRKSsPNS_18MetaDataObjectBaseE]+0x47): undefined reference to `vnl_vector::vnl_vector(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIcEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIcEEbRKSsPNS_18MetaDataObjectBaseE]+0x109): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIcEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIcEEbRKSsPNS_18MetaDataObjectBaseE]+0x150): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `bool itk::HDF5ImageIO::WriteMetaArray(std::string const&, itk::MetaDataObjectBase*)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIhEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIhEEbRKSsPNS_18MetaDataObjectBaseE]+0x40): undefined reference to `vnl_vector::vnl_vector(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIhEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIhEEbRKSsPNS_18MetaDataObjectBaseE]+0x101): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIhEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIhEEbRKSsPNS_18MetaDataObjectBaseE]+0x148): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `bool itk::HDF5ImageIO::WriteMetaArray(std::string const&, itk::MetaDataObjectBase*)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIsEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIsEEbRKSsPNS_18MetaDataObjectBaseE]+0x42): undefined reference to `vnl_vector::vnl_vector(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIsEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIsEEbRKSsPNS_18MetaDataObjectBaseE]+0x1a5): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIsEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIsEEbRKSsPNS_18MetaDataObjectBaseE]+0x20a): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `bool itk::HDF5ImageIO::WriteMetaArray(std::string const&, itk::MetaDataObjectBase*)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayItEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayItEEbRKSsPNS_18MetaDataObjectBaseE]+0x42): undefined reference to `vnl_vector::vnl_vector(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayItEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayItEEbRKSsPNS_18MetaDataObjectBaseE]+0x1a5): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayItEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayItEEbRKSsPNS_18MetaDataObjectBaseE]+0x20a): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `bool itk::HDF5ImageIO::WriteMetaArray(std::string const&, itk::MetaDataObjectBase*)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIiEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIiEEbRKSsPNS_18MetaDataObjectBaseE]+0x49): undefined reference to `vnl_vector::vnl_vector(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIiEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIiEEbRKSsPNS_18MetaDataObjectBaseE]+0x1b3): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIiEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIiEEbRKSsPNS_18MetaDataObjectBaseE]+0x21a): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `bool itk::HDF5ImageIO::WriteMetaArray(std::string const&, itk::MetaDataObjectBase*)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIjEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIjEEbRKSsPNS_18MetaDataObjectBaseE]+0x42): undefined reference to `vnl_vector::vnl_vector(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIjEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIjEEbRKSsPNS_18MetaDataObjectBaseE]+0x1b3): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIjEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIjEEbRKSsPNS_18MetaDataObjectBaseE]+0x21a): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `bool itk::HDF5ImageIO::WriteMetaArray(std::string const&, itk::MetaDataObjectBase*)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIfEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIfEEbRKSsPNS_18MetaDataObjectBaseE]+0x49): undefined reference to `vnl_vector::vnl_vector(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIfEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIfEEbRKSsPNS_18MetaDataObjectBaseE]+0x1b7): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO14WriteMetaArrayIfEEbRKSsPNS_18MetaDataObjectBaseE[_ZN3itk11HDF5ImageIO14WriteMetaArrayIfEEbRKSsPNS_18MetaDataObjectBaseE]+0x21a): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `void itk::HDF5ImageIO::StoreMetaData(itk::MetaDataDictionary*, std::string const&, std::string const&, unsigned long)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataImEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataImEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x40): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataImEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataImEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xe7): undefined reference to `vnl_vector::set_size(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataImEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataImEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xf7): undefined reference to `vnl_vector::operator=(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataImEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataImEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x144): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataImEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataImEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x233): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `void itk::HDF5ImageIO::StoreMetaData(itk::MetaDataDictionary*, std::string const&, std::string const&, unsigned long)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIiEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIiEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x39): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIiEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIiEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xf4): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIiEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIiEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x1ca): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `void itk::HDF5ImageIO::StoreMetaData(itk::MetaDataDictionary*, std::string const&, std::string const&, unsigned long)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIcEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIcEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x35): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIcEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIcEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xf3): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIcEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIcEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x1cb): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `void itk::HDF5ImageIO::StoreMetaData(itk::MetaDataDictionary*, std::string const&, std::string const&, unsigned long)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIhEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIhEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x3c): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIhEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIhEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xe4): undefined reference to `vnl_vector::set_size(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIhEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIhEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xf4): undefined reference to `vnl_vector::operator=(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIhEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIhEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x141): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIhEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIhEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x232): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `void itk::HDF5ImageIO::StoreMetaData(itk::MetaDataDictionary*, std::string const&, std::string const&, unsigned long)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIsEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIsEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x3f): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIsEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIsEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xe2): undefined reference to `vnl_vector::set_size(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIsEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIsEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xf2): undefined reference to `vnl_vector::operator=(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIsEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIsEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x13f): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIsEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIsEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x22b): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `void itk::HDF5ImageIO::StoreMetaData(itk::MetaDataDictionary*, std::string const&, std::string const&, unsigned long)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataItEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataItEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x3f): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataItEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataItEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xe2): undefined reference to `vnl_vector::set_size(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataItEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataItEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xf2): undefined reference to `vnl_vector::operator=(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataItEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataItEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x13f): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataItEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataItEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x22b): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `void itk::HDF5ImageIO::StoreMetaData(itk::MetaDataDictionary*, std::string const&, std::string const&, unsigned long)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIjEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIjEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x40): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIjEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIjEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xe8): undefined reference to `vnl_vector::set_size(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIjEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIjEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xf8): undefined reference to `vnl_vector::operator=(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIjEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIjEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x145): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIjEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIjEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x232): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `void itk::HDF5ImageIO::StoreMetaData(itk::MetaDataDictionary*, std::string const&, std::string const&, unsigned long)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIxEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIxEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x3d): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIxEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIxEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xe0): undefined reference to `vnl_vector::set_size(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIxEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIxEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xf0): undefined reference to `vnl_vector::operator=(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIxEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIxEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x13d): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIxEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIxEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x228): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `void itk::HDF5ImageIO::StoreMetaData(itk::MetaDataDictionary*, std::string const&, std::string const&, unsigned long)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIyEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIyEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x3d): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIyEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIyEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xe0): undefined reference to `vnl_vector::set_size(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIyEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIyEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xf0): undefined reference to `vnl_vector::operator=(vnl_vector const&)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIyEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIyEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x13d): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIyEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIyEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x228): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOHDF5-4.12.a(itkHDF5ImageIO.cxx.o): In function `void itk::HDF5ImageIO::StoreMetaData(itk::MetaDataDictionary*, std::string const&, std::string const&, unsigned long)': itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIfEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIfEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x39): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIfEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIfEEvPNS_18MetaDataDictionaryERKSsS5_m]+0xf6): undefined reference to `vnl_vector::~vnl_vector()' itkHDF5ImageIO.cxx:(.text._ZN3itk11HDF5ImageIO13StoreMetaDataIfEEvPNS_18MetaDataDictionaryERKSsS5_m[_ZN3itk11HDF5ImageIO13StoreMetaDataIfEEvPNS_18MetaDataDictionaryERKSsS5_m]+0x1d4): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOTIFF-4.12.a(itkTIFFImageIO.cxx.o): In function `itk::TIFFImageIO::ReadTIFFTags()': itkTIFFImageIO.cxx:(.text+0x3776): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkTIFFImageIO.cxx:(.text+0x387d): undefined reference to `vnl_vector::~vnl_vector()' itkTIFFImageIO.cxx:(.text+0x38a6): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkTIFFImageIO.cxx:(.text+0x39a1): undefined reference to `vnl_vector::~vnl_vector()' itkTIFFImageIO.cxx:(.text+0x3ad6): undefined reference to `vnl_vector::vnl_vector(unsigned long)' itkTIFFImageIO.cxx:(.text+0x3bd3): undefined reference to `vnl_vector::~vnl_vector()' itkTIFFImageIO.cxx:(.text+0x3c91): undefined reference to `vnl_vector::vnl_vector(char const*, unsigned long)' itkTIFFImageIO.cxx:(.text+0x3d06): undefined reference to `vnl_vector::~vnl_vector()' itkTIFFImageIO.cxx:(.text+0x413d): undefined reference to `vnl_vector::~vnl_vector()' itkTIFFImageIO.cxx:(.text+0x42e0): undefined reference to `vnl_vector::~vnl_vector()' itkTIFFImageIO.cxx:(.text+0x4392): undefined reference to `vnl_vector::~vnl_vector()' itkTIFFImageIO.cxx:(.text+0x43fc): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKIOTIFF-4.12.a(itkTIFFImageIO.cxx.o): In function `void itk::EncapsulateMetaData >(itk::MetaDataDictionary&, std::string const&, itk::Array const&)': itkTIFFImageIO.cxx:(.text._ZN3itk19EncapsulateMetaDataINS_5ArrayItEEEEvRNS_18MetaDataDictionaryERKSsRKT_[_ZN3itk19EncapsulateMetaDataINS_5ArrayItEEEEvRNS_18MetaDataDictionaryERKSsRKT_]+0x8b): undefined reference to `vnl_vector::set_size(unsigned long)' itkTIFFImageIO.cxx:(.text._ZN3itk19EncapsulateMetaDataINS_5ArrayItEEEEvRNS_18MetaDataDictionaryERKSsRKT_[_ZN3itk19EncapsulateMetaDataINS_5ArrayItEEEEvRNS_18MetaDataDictionaryERKSsRKT_]+0x9a): undefined reference to `vnl_vector::operator=(vnl_vector const&)' /home/ja/dev/ITK/build-release/lib/libITKCommon-4.12.a(itkMetaDataObject.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkMetaDataObject.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIcEEED2Ev[_ZN3itk14MetaDataObjectINS_5ArrayIcEEED5Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKCommon-4.12.a(itkMetaDataObject.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkMetaDataObject.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIiEEED2Ev[_ZN3itk14MetaDataObjectINS_5ArrayIiEEED5Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKCommon-4.12.a(itkMetaDataObject.cxx.o): In function `itk::MetaDataObject >::~MetaDataObject()': itkMetaDataObject.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIfEEED2Ev[_ZN3itk14MetaDataObjectINS_5ArrayIfEEED5Ev]+0x32): undefined reference to `vnl_vector::~vnl_vector()' /home/ja/dev/ITK/build-release/lib/libITKCommon-4.12.a(itkMetaDataObject.cxx.o): In function `itk::MetaDataObject >::SetMetaDataObjectValue(itk::Array const&)': itkMetaDataObject.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIcEEE22SetMetaDataObjectValueERKS2_[_ZN3itk14MetaDataObjectINS_5ArrayIcEEE22SetMetaDataObjectValueERKS2_]+0x35): undefined reference to `vnl_vector::set_size(unsigned long)' itkMetaDataObject.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIcEEE22SetMetaDataObjectValueERKS2_[_ZN3itk14MetaDataObjectINS_5ArrayIcEEE22SetMetaDataObjectValueERKS2_]+0x56): undefined reference to `vnl_vector::operator=(vnl_vector const&)' /home/ja/dev/ITK/build-release/lib/libITKCommon-4.12.a(itkMetaDataObject.cxx.o): In function `itk::MetaDataObject >::SetMetaDataObjectValue(itk::Array const&)': itkMetaDataObject.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIiEEE22SetMetaDataObjectValueERKS2_[_ZN3itk14MetaDataObjectINS_5ArrayIiEEE22SetMetaDataObjectValueERKS2_]+0x35): undefined reference to `vnl_vector::set_size(unsigned long)' itkMetaDataObject.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIiEEE22SetMetaDataObjectValueERKS2_[_ZN3itk14MetaDataObjectINS_5ArrayIiEEE22SetMetaDataObjectValueERKS2_]+0x56): undefined reference to `vnl_vector::operator=(vnl_vector const&)' /home/ja/dev/ITK/build-release/lib/libITKCommon-4.12.a(itkMetaDataObject.cxx.o): In function `itk::MetaDataObject >::SetMetaDataObjectValue(itk::Array const&)': itkMetaDataObject.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIfEEE22SetMetaDataObjectValueERKS2_[_ZN3itk14MetaDataObjectINS_5ArrayIfEEE22SetMetaDataObjectValueERKS2_]+0x35): undefined reference to `vnl_vector::set_size(unsigned long)' itkMetaDataObject.cxx:(.text._ZN3itk14MetaDataObjectINS_5ArrayIfEEE22SetMetaDataObjectValueERKS2_[_ZN3itk14MetaDataObjectINS_5ArrayIfEEE22SetMetaDataObjectValueERKS2_]+0x56): undefined reference to `vnl_vector::operator=(vnl_vector const&)' collect2: error: ld returned 1 exit status make[2]: *** [test_read_image] Error 1 make[1]: *** [CMakeFiles/test_read_image.dir/all] Error 2 make: *** [all] Error 2 -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 13 09:59:49 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Fri, 13 Oct 2017 09:59:49 -0400 Subject: [ITK] [ITK-users] undefined reference to `vnl_vector::~vnl_vector()' In-Reply-To: References: Message-ID: Hi Ja, which CMakeLists.txt did you use for this simple example? Did you configure you simple example with CMake or did you just invoke compiler directly? If directly invoking the compiler, you need to pass a long list of ITK libraries which need to be linked. An example CMakeLists file is attached. We are trying to migrate to a discussion forum, discourse.itk.org Can you post future questions there? Regards, D?enan On Fri, Oct 13, 2017 at 3:19 AM, Sureerat Reaungamornrat < sureerat.r at gmail.com> wrote: > Dear All, > > I have a problem compiling a simple read-image-file code below in Fedora, > after I build ITK 4.12.1 from source code downloaded from the ITK website. > I did not receive any error for compiling ITK. For compilation of ITK > 4.12.1, I did not change the default CMake options of the ITK library, and > the CMake options for compilation were set as > > CMAKE_CXX_COMPILER /usr/lib64/ccache/c++ > CMAKE_CXX_FLAGS -std=c++11 -pthread > CMAKE_EXE_LINKER_FLAGS -pthread > > The error, from compiling the read-image-file code below, was all > "undefined reference to 'vnl_vector::~vnl_vector()'" with some data > types T including long long, short, unsigned char, etc. I attached the file > containing the error (std::cerr from 'make' command for single-thread > compilation) to this email. > > > // Code -------------------------------------------------- > #include "itkImageFileReader.h" > > int main() > { > typedef itk::Image ImageType; > typedef itk::ImageFileReader ImageFileReaderType; > ImageFileReaderType::Pointer reader = ImageFileReaderType::New(); > reader->SetFileName("some_image_filename"); > reader->Update(); > > ImageType::Pointer image = reader->GetOutput(); > > return EXIT_SUCCESS; > } > > Thank you very much for you time and help, > > Best regards, > > Ja > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- cmake_minimum_required(VERSION 3.6) PROJECT(tester CXX) FIND_PACKAGE(ITK REQUIRED) INCLUDE(${ITK_USE_FILE}) ADD_EXECUTABLE(tester tester.cpp) TARGET_LINK_LIBRARIES(tester ${ITK_LIBRARIES}) -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 sureerat.r at gmail.com Fri Oct 13 11:17:44 2017 From: sureerat.r at gmail.com (Sureerat Reaungamornrat) Date: Fri, 13 Oct 2017 22:17:44 +0700 Subject: [ITK] [ITK-users] undefined reference to `vnl_vector::~vnl_vector()' In-Reply-To: References: Message-ID: Dear D?enan, Thank you very much for your response. I have moved this content to the discussion forum (discourse.itk.org). I also answered your question in the forum. I used the same CMake file as you provided, except that in my CMake, I set the CMake version as cmake_minimum_required(VERSION 2.8) where yours is cmake_minimum_required(VERSION 3.6) Is it because of this setting that triggers error? //-------------------CMake file cmake_minimum_required(VERSION 2.8) project(read_image) find_package(ITK REQUIRED) include(${ITK_USE_FILE}) add_executable(test_read_image test_read_image.cxx) target_link_libraries(test_read_image ${ITK_LIBRARIES}) Thank you very much again for your time and help, Best regards, Ja On Fri, Oct 13, 2017 at 8:59 PM, D?enan Zuki? wrote: > Hi Ja, > > which CMakeLists.txt did you use for this simple example? Did you > configure you simple example with CMake or did you just invoke compiler > directly? If directly invoking the compiler, you need to pass a long list > of ITK libraries which need to be linked. > > An example CMakeLists file is attached. > > We are trying to migrate to a discussion forum, discourse.itk.org Can you > post future questions there? > > Regards, > D?enan > > On Fri, Oct 13, 2017 at 3:19 AM, Sureerat Reaungamornrat < > sureerat.r at gmail.com> wrote: > >> Dear All, >> >> I have a problem compiling a simple read-image-file code below in Fedora, >> after I build ITK 4.12.1 from source code downloaded from the ITK website. >> I did not receive any error for compiling ITK. For compilation of ITK >> 4.12.1, I did not change the default CMake options of the ITK library, and >> the CMake options for compilation were set as >> >> CMAKE_CXX_COMPILER /usr/lib64/ccache/c++ >> CMAKE_CXX_FLAGS -std=c++11 -pthread >> CMAKE_EXE_LINKER_FLAGS -pthread >> >> The error, from compiling the read-image-file code below, was all >> "undefined reference to 'vnl_vector::~vnl_vector()'" with some data >> types T including long long, short, unsigned char, etc. I attached the file >> containing the error (std::cerr from 'make' command for single-thread >> compilation) to this email. >> >> >> // Code -------------------------------------------------- >> #include "itkImageFileReader.h" >> >> int main() >> { >> typedef itk::Image ImageType; >> typedef itk::ImageFileReader ImageFileReaderType; >> ImageFileReaderType::Pointer reader = ImageFileReaderType::New(); >> reader->SetFileName("some_image_filename"); >> reader->Update(); >> >> ImageType::Pointer image = reader->GetOutput(); >> >> return EXIT_SUCCESS; >> } >> >> Thank you very much for you time and help, >> >> Best regards, >> >> Ja >> >> The ITK community is transitioning from this mailing list to >> discourse.itk.org. Please join us there! >> ________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 emmasaunders123 at gmail.com Fri Oct 13 11:44:46 2017 From: emmasaunders123 at gmail.com (Emma Saunders) Date: Fri, 13 Oct 2017 16:44:46 +0100 Subject: [ITK] [ITK-users] .mhra file format Message-ID: Hi I have an image segmentation provided to be in .rmha format. Is anyone familiar with this format and how to extract the information from this or a reference of where I can find such info. Thanks Emma -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 M.Staring at lumc.nl Mon Oct 16 05:08:23 2017 From: M.Staring at lumc.nl (M.Staring at lumc.nl) Date: Mon, 16 Oct 2017 09:08:23 +0000 Subject: [ITK] [ITK-users] Call for papers: WBIR2018 - 8th International Workshop on Biomedical Image Registration Message-ID: <24D8AA23EC0DCB4498C35EC60401E7615FC5F8A6@MAIL-MB02.lumcnet.prod.intern> [cid:image002.jpg at 01D3466F.2E2C0F70] Leiden, The Netherlands June 28 & 29, 2018 Website: wbir2018.nl Manuscript submission deadline: Jan 12, 2018 Dear colleagues, We are pleased to announce the 8th International Workshop on Biomedical Image Registration, WBIR2018, held in Leiden, The Netherlands! The workshop brings together leading researchers in the area of biomedical image registration to present and discuss recent developments and methodology in the field. The workshop will include both oral and poster presentations, an image registration challenge, and ample opportunities for discussion. At the social events you will discover the beauty of Leiden, its lovely canals, and excellent food and drinks. IMPORTANT DATES * Paper submission: Jan 12, 2018 * Notification: Feb 23, 2018 * Camera ready: March 23, 2018 * Conference: June 28/29, 2018 SCOPE Submissions are invited in all areas of biomedical image registration. Topics of interest include, but are not limited to: * Novel registration methodology: 2D/3D/4D, spatiotemporal/dynamic, slice-to-volume, projective, single/multi-modal, intra/inter-subject, shape registration, model-based, patch-based, multi-channel, tracking, real-time, similarity measures, machine learning / deep learning techniques * Mathematical aspects of image registration: continuous/discrete optimization methods, diffeomorphisms, LDDMM, stationary velocity, inverse consistency, multi-scale * Biomedical applications of registration: computer-assisted interventions, image-guided therapy, treatment planning/delivery, diagnosis/prognosis, atlas-based segmentation, label fusion, histopathology correlation, motion-compensated reconstruction, serial studies, morphometry, biomechanics, image retrieval/restoration/fusion, imaging biomarkers for precision medicine, radiomics & radiogenomics * Early proof of concept, with potential use in biomedical applications * Validation of registration: quantitative and qualitative methods, benchmarking, comparison studies, phantom studies, correlation to outcome ORGANIZING COMMITTEE Stefan Klein - Erasmus MC, The Netherlands Marius Staring - Leiden University Medical Center, The Netherlands Stanley Durrleman - INRIA/ICM ARAMIS Lab, France Stefan Sommer - University of Copenhagen, Denmark With kind regards, on behalf of the organizing committee, Marius Staring, PhD Division of Image Processing (LKEB) Department of Radiology Leiden University Medical Center PO Box 9600, 2300 RC Leiden, Postzone C2-s, room C3-53, The Netherlands phone: +31 (0)71 52 62137, fax: +31 (0)71 524 8256, m.staring at lumc.nl -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.jpg Type: image/jpeg Size: 2977 bytes Desc: image002.jpg URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 marc-michel.rohe at inria.fr Mon Oct 16 10:04:51 2017 From: marc-michel.rohe at inria.fr (Marc michel Rohe) Date: Mon, 16 Oct 2017 16:04:51 +0200 (CEST) Subject: [ITK] [ITK-users] Problem compiling ITK with windows 7 In-Reply-To: <1778046537.17793271.1508162600962.JavaMail.zimbra@inria.fr> Message-ID: <926568074.17795169.1508162691160.JavaMail.zimbra@inria.fr> Hello, I have compiled several times ITK under linux but I cannot make it work with windows with which I am not really familiar. I configure and generate files using CMake and then use MinGW with the command promt (mingw32-make) to build the project. Building start correctly and then I get the following output on the command promt (see below) Thanks a lot for your help ! ommon\gdcmCAPICryptographicMessageSyntax.cxx:62:109: error: 'CryptStringToBinary A' was not declared in this scope if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, N ULL, &certBinLen, NULL, NULL ) ) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:54: error: 'CRYPT_STRING_BASE64_ ANY' was not declared in this scope if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, c ertBin, &certBinLen, NULL, NULL ) ) ^~~~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:112: error: 'CryptStringToBinary A' was not declared in this scope if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, c ertBin, &certBinLen, NULL, NULL ) ) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual bool g dcm::CAPICryptographicMessageSyntax::ParseKeyFile(const char*)': D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:55: error: 'CRYPT_STRING_BASE64 _ANY' was not declared in this scope if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, CRYPT_STRING_BASE64_ANY, NULL, &keyBinBufferLen, NULL, NULL) ) ^~~~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:114: error: 'CryptStringToBinar yA' was not declared in this scope if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, CRYPT_STRING_BASE64_ANY, NULL, &keyBinBufferLen, NULL, NULL) ) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:55: error: 'CRYPT_STRING_BASE64 _ANY' was not declared in this scope if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, CRYPT_STRING_BASE64_ANY, keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) ^~~~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:122: error: 'CryptStringToBinar yA' was not declared in this scope if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, CRYPT_STRING_BASE64_ANY, keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:114:69: error: 'PKCS_RSA_PRIVATE_KE Y' was not declared in this scope if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, PKCS_RSA_PR IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, NULL, &keyBlobLen)) ^~~~~~~~~~~ ~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:120:69: error: 'PKCS_RSA_PRIVATE_KE Y' was not declared in this scope if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, PKCS_RSA_PR IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, keyBlob, &keyBlobLen)) ^~~~~~~~~~~ ~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual bool g dcm::CAPICryptographicMessageSyntax::Encrypt(char*, size_t&, const char*, size_t ) const': D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:164:3: error: 'CRYPT_ENCRYPT_MESSAG E_PARA' was not declared in this scope CRYPT_ENCRYPT_MESSAGE_PARA EncryptParams = {0}; ^~~~~~~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:165:3: error: 'EncryptParams' was n ot declared in this scope EncryptParams.cbSize = sizeof(EncryptParams); ^~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:176:163: error: 'CryptEncryptMessag e' was not declared in this scope if(! CryptEncryptMessage(&EncryptParams, (DWORD)certifList.size(), (PCCERT_CO NTEXT *)&certifList[0], (BYTE *)array, (DWORD)len, (BYTE *)output, (DWORD *)&out len) ) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:180:21: error: 'CRYPT_E_UNKNOWN_ALG O' was not declared in this scope if (dwResult == CRYPT_E_UNKNOWN_ALGO) ^~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual bool g dcm::CAPICryptographicMessageSyntax::Decrypt(char*, size_t&, const char*, size_t ) const': D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:194:3: error: 'PCMSG_CMS_RECIPIENT_ INFO' was not declared in this scope PCMSG_CMS_RECIPIENT_INFO recipientInfo = NULL; ^~~~~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:38: error: 'CRYPT_ASN_ENCODING' was not declared in this scope if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | P KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, NULL)) ) ^~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:103: error: 'CMSG_ENVELOPED_DAT A_PKCS_1_5_VERSION' was not declared in this scope if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | P KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, NULL)) ) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:154: error: 'CryptMsgOpenToDeco de' was not declared in this scope if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | P KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, NULL)) ) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:215:59: error: 'CryptMsgUpdate' was not declared in this scope if(! CryptMsgUpdate(hMsg, (BYTE*)array, (DWORD)len, TRUE)) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:31: error: 'CMSG_TYPE_PARAM' wa s not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, &cbMessageTyp eLen)) ^~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:84: error: 'CryptMsgGetParam' w as not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, &cbMessageTyp eLen)) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:228:23: error: 'CMSG_ENVELOPED' was not declared in this scope if(dwMessageType != CMSG_ENVELOPED) ^~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:31: error: 'CMSG_RECIPIENT_COUN T_PARAM' was not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, &nrOfRecipeints, & nrOfRecipientsLen)) ^~~~~~~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:97: error: 'CryptMsgGetParam' w as not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, &nrOfRecipeints, & nrOfRecipientsLen)) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:9: error: 'recipientInfo' was n ot declared in this scope if (recipientInfo) delete[] recipientInfo; ^~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:33: error: type '' argument given to 'delete', expected pointer if (recipientInfo) delete[] recipientInfo; ^~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:33: error: 'CMSG_CMS_RECIPIENT_ INFO_PARAM' was not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, NULL, &cbReci pientInfoLen)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:92: error: 'CryptMsgGetParam' w as not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, NULL, &cbReci pientInfoLen)) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:267:5: error: 'recipientInfo' was n ot declared in this scope recipientInfo = (PCMSG_CMS_RECIPIENT_INFO) new BYTE[cbRecipientInfoLen]; ^~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:33: error: 'CMSG_CMS_RECIPIENT_ INFO_PARAM' was not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, recipientInfo , &cbRecipientInfoLen)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:101: error: 'CryptMsgGetParam' was not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, recipientInfo , &cbRecipientInfoLen)) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:31: error: 'CMSG_ENVELOPE_ALGOR ITHM_PARAM' was not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, NULL, &cekAlgLe n)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:81: error: 'CryptMsgGetParam' w as not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, NULL, &cekAlgLe n)) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:31: error: 'CMSG_ENVELOPE_ALGOR ITHM_PARAM' was not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, cekAlg, &cekAlg Len)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:83: error: 'CryptMsgGetParam' w as not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, cekAlg, &cekAlg Len)) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:31: error: 'CMSG_CONTENT_PARAM' was not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, &bareContentLen)) ^~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:75: error: 'CryptMsgGetParam' w as not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, &bareContentLen)) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:31: error: 'CMSG_CONTENT_PARAM' was not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, &bareContentL en)) ^~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:82: error: 'CryptMsgGetParam' w as not declared in this scope if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, &bareContentL en)) ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:370:33: error: 'CryptMsgClose' was not declared in this scope if (hMsg) CryptMsgClose(hMsg); ^ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:9: error: 'recipientInfo' was n ot declared in this scope if (recipientInfo) delete[] recipientInfo; ^~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:33: error: type '' argument given to 'delete', expected pointer if (recipientInfo) delete[] recipientInfo; ^~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'bool gdcm::CAP ICryptographicMessageSyntax::Initialize()': D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:426:43: error: 'MS_ENH_RSA_AES_PROV ' was not declared in this scope if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV, PROV_RSA_AES, CR YPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in cryptmsgcontrol not workin g ^~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:442:47: error: 'MS_ENH_RSA_AES_PROV _A' was not declared in this scope if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV_A" (Prototype )" /*"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"*/, PROV _RSA_AES, CRYPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in cryptmsgcontro l not working ^~~~~~~~~~~~~~~~~~~~~ D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C ommon\gdcmCAPICryptographicMessageSyntax.cxx:447:72: error: expected ')' before string constant if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV_A" (Proto type)" /*"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"*/, PROV_RSA_AES, CRYPT_NEWKEYSET | CRYPT_VERIFYCONTEXT)) ^~~~~~~~ ~~~~~~ Modules\ThirdParty\GDCM\src\gdcm\Source\Common\CMakeFiles\gdcmCommon.dir\build.m ake:787: recipe for target 'Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMake Files/gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj' failed mingw32-make[2]: *** [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj] Error 1 CMakeFiles\Makefile2:6027: recipe for target 'Modules/ThirdParty/GDCM/src/gdcm/S ource/Common/CMakeFiles/gdcmCommon.dir/all' failed mingw32-make[1]: *** [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ gdcmCommon.dir/all] Error 2 Makefile:150: recipe for target 'all' failed mingw32-make: *** [all] Error 2 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 16 10:40:17 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 16 Oct 2017 10:40:17 -0400 Subject: [ITK] [ITK-users] Problem compiling ITK with windows 7 In-Reply-To: <926568074.17795169.1508162691160.JavaMail.zimbra@inria.fr> References: <1778046537.17793271.1508162600962.JavaMail.zimbra@inria.fr> <926568074.17795169.1508162691160.JavaMail.zimbra@inria.fr> Message-ID: Hello Marc, Please try the latest release (4.12.2) or ITK Git master, which have updated versions of GDCM and let us know how it goes. Thanks, Matt On Mon, Oct 16, 2017 at 10:04 AM, Marc michel Rohe wrote: > Hello, > > I have compiled several times ITK under linux but I cannot make it work with > windows with which I am not really familiar. > > I configure and generate files using CMake and then use MinGW with the > command promt (mingw32-make) to build the project. Building start correctly > and then I get the following output on the command promt (see below) > > Thanks a lot for your help ! > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:62:109: error: > 'CryptStringToBinary > A' was not declared in this scope > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, > N > ULL, &certBinLen, NULL, NULL ) ) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:54: error: > 'CRYPT_STRING_BASE64_ > ANY' was not declared in this scope > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, > c > ertBin, &certBinLen, NULL, NULL ) ) > ^~~~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:112: error: > 'CryptStringToBinary > A' was not declared in this scope > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, > c > ertBin, &certBinLen, NULL, NULL ) ) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual > bool g > dcm::CAPICryptographicMessageSyntax::ParseKeyFile(const char*)': > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:55: error: > 'CRYPT_STRING_BASE64 > _ANY' was not declared in this scope > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, CRYPT_STRING_BASE64_ANY, > NULL, &keyBinBufferLen, NULL, NULL) ) > ^~~~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:114: error: > 'CryptStringToBinar > yA' was not declared in this scope > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, CRYPT_STRING_BASE64_ANY, > NULL, &keyBinBufferLen, NULL, NULL) ) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:55: error: > 'CRYPT_STRING_BASE64 > _ANY' was not declared in this scope > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, CRYPT_STRING_BASE64_ANY, > keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) > ^~~~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:122: error: > 'CryptStringToBinar > yA' was not declared in this scope > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, CRYPT_STRING_BASE64_ANY, > keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:114:69: error: > 'PKCS_RSA_PRIVATE_KE > Y' was not declared in this scope > if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, > PKCS_RSA_PR > IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, NULL, &keyBlobLen)) > ^~~~~~~~~~~ > ~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:120:69: error: > 'PKCS_RSA_PRIVATE_KE > Y' was not declared in this scope > if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, > PKCS_RSA_PR > IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, keyBlob, &keyBlobLen)) > ^~~~~~~~~~~ > ~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual > bool g > dcm::CAPICryptographicMessageSyntax::Encrypt(char*, size_t&, const char*, > size_t > ) const': > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:164:3: error: > 'CRYPT_ENCRYPT_MESSAG > E_PARA' was not declared in this scope > CRYPT_ENCRYPT_MESSAGE_PARA EncryptParams = {0}; > ^~~~~~~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:165:3: error: 'EncryptParams' > was n > ot declared in this scope > EncryptParams.cbSize = sizeof(EncryptParams); > ^~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:176:163: error: > 'CryptEncryptMessag > e' was not declared in this scope > if(! CryptEncryptMessage(&EncryptParams, (DWORD)certifList.size(), > (PCCERT_CO > NTEXT *)&certifList[0], (BYTE *)array, (DWORD)len, (BYTE *)output, (DWORD > *)&out > len) ) > > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:180:21: error: > 'CRYPT_E_UNKNOWN_ALG > O' was not declared in this scope > if (dwResult == CRYPT_E_UNKNOWN_ALGO) > ^~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual > bool g > dcm::CAPICryptographicMessageSyntax::Decrypt(char*, size_t&, const char*, > size_t > ) const': > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:194:3: error: > 'PCMSG_CMS_RECIPIENT_ > INFO' was not declared in this scope > PCMSG_CMS_RECIPIENT_INFO recipientInfo = NULL; > ^~~~~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:38: error: > 'CRYPT_ASN_ENCODING' > was not declared in this scope > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | > P > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, NULL)) > ) > ^~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:103: error: > 'CMSG_ENVELOPED_DAT > A_PKCS_1_5_VERSION' was not declared in this scope > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | > P > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, NULL)) > ) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:154: error: > 'CryptMsgOpenToDeco > de' was not declared in this scope > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | > P > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, NULL)) > ) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:215:59: error: 'CryptMsgUpdate' > was > not declared in this scope > if(! CryptMsgUpdate(hMsg, (BYTE*)array, (DWORD)len, TRUE)) > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:31: error: > 'CMSG_TYPE_PARAM' wa > s not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, > &cbMessageTyp > eLen)) > ^~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:84: error: > 'CryptMsgGetParam' w > as not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, > &cbMessageTyp > eLen)) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:228:23: error: 'CMSG_ENVELOPED' > was > not declared in this scope > if(dwMessageType != CMSG_ENVELOPED) > ^~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:31: error: > 'CMSG_RECIPIENT_COUN > T_PARAM' was not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, &nrOfRecipeints, > & > nrOfRecipientsLen)) > ^~~~~~~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:97: error: > 'CryptMsgGetParam' w > as not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, &nrOfRecipeints, > & > nrOfRecipientsLen)) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:9: error: 'recipientInfo' > was n > ot declared in this scope > if (recipientInfo) delete[] recipientInfo; > ^~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:33: error: type ' error>' > argument given to 'delete', expected pointer > if (recipientInfo) delete[] recipientInfo; > ^~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:33: error: > 'CMSG_CMS_RECIPIENT_ > INFO_PARAM' was not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, NULL, &cbReci > pientInfoLen)) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:92: error: > 'CryptMsgGetParam' w > as not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, NULL, &cbReci > pientInfoLen)) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:267:5: error: 'recipientInfo' > was n > ot declared in this scope > recipientInfo = (PCMSG_CMS_RECIPIENT_INFO) new BYTE[cbRecipientInfoLen]; > ^~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:33: error: > 'CMSG_CMS_RECIPIENT_ > INFO_PARAM' was not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, recipientInfo > , &cbRecipientInfoLen)) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:101: error: > 'CryptMsgGetParam' > was not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, recipientInfo > , &cbRecipientInfoLen)) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:31: error: > 'CMSG_ENVELOPE_ALGOR > ITHM_PARAM' was not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, NULL, > &cekAlgLe > n)) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:81: error: > 'CryptMsgGetParam' w > as not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, NULL, > &cekAlgLe > n)) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:31: error: > 'CMSG_ENVELOPE_ALGOR > ITHM_PARAM' was not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, cekAlg, > &cekAlg > Len)) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:83: error: > 'CryptMsgGetParam' w > as not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, cekAlg, > &cekAlg > Len)) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:31: error: > 'CMSG_CONTENT_PARAM' > was not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, &bareContentLen)) > ^~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:75: error: > 'CryptMsgGetParam' w > as not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, &bareContentLen)) > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:31: error: > 'CMSG_CONTENT_PARAM' > was not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, > &bareContentL > en)) > ^~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:82: error: > 'CryptMsgGetParam' w > as not declared in this scope > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, > &bareContentL > en)) > > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:370:33: error: 'CryptMsgClose' > was > not declared in this scope > if (hMsg) CryptMsgClose(hMsg); > ^ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:9: error: 'recipientInfo' > was n > ot declared in this scope > if (recipientInfo) delete[] recipientInfo; > ^~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:33: error: type ' error>' > argument given to 'delete', expected pointer > if (recipientInfo) delete[] recipientInfo; > ^~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'bool > gdcm::CAP > ICryptographicMessageSyntax::Initialize()': > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:426:43: error: > 'MS_ENH_RSA_AES_PROV > ' was not declared in this scope > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV, PROV_RSA_AES, > CR > YPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in cryptmsgcontrol not > workin > g > ^~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:442:47: error: > 'MS_ENH_RSA_AES_PROV > _A' was not declared in this scope > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV_A" (Prototype > )" /*"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"*/, > PROV > _RSA_AES, CRYPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in > cryptmsgcontro > l not working > ^~~~~~~~~~~~~~~~~~~~~ > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > ommon\gdcmCAPICryptographicMessageSyntax.cxx:447:72: error: expected ')' > before > string constant > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV_A" (Proto > type)" /*"Microsoft Enhanced RSA and AES Cryptographic Provider > (Prototype)"*/, > PROV_RSA_AES, CRYPT_NEWKEYSET | CRYPT_VERIFYCONTEXT)) > ^~~~~~~~ > ~~~~~~ > Modules\ThirdParty\GDCM\src\gdcm\Source\Common\CMakeFiles\gdcmCommon.dir\build.m > ake:787: recipe for target > 'Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMake > Files/gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj' failed > mingw32-make[2]: *** > [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ > gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj] Error 1 > CMakeFiles\Makefile2:6027: recipe for target > 'Modules/ThirdParty/GDCM/src/gdcm/S > ource/Common/CMakeFiles/gdcmCommon.dir/all' failed > mingw32-make[1]: *** > [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ > gdcmCommon.dir/all] Error 2 > Makefile:150: recipe for target 'all' failed > mingw32-make: *** [all] Error 2 > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 marc-michel.rohe at inria.fr Mon Oct 16 12:21:35 2017 From: marc-michel.rohe at inria.fr (Marc michel Rohe) Date: Mon, 16 Oct 2017 18:21:35 +0200 (CEST) Subject: [ITK] [ITK-users] Problem compiling ITK with windows 7 In-Reply-To: References: <1778046537.17793271.1508162600962.JavaMail.zimbra@inria.fr> <926568074.17795169.1508162691160.JavaMail.zimbra@inria.fr> Message-ID: <57515175.17884723.1508170895866.JavaMail.zimbra@inria.fr> Hello Matt, thanks for your answer, so I tried with the latest version and here is the error I get: D:\Libraries\InsightToolkit-4.12.2\build>mingw32-make Scanning dependencies of target ITKData [ 0%] Built target ITKData Scanning dependencies of target itkdouble-conversion [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver sion/CMakeFiles/itkdouble-conversion.dir/bignum.cc.obj [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver sion/CMakeFiles/itkdouble-conversion.dir/bignum-dtoa.cc.obj [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver sion/CMakeFiles/itkdouble-conversion.dir/cached-powers.cc.obj [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver sion/CMakeFiles/itkdouble-conversion.dir/diy-fp.cc.obj [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver sion/CMakeFiles/itkdouble-conversion.dir/double-conversion.cc.obj [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver sion/CMakeFiles/itkdouble-conversion.dir/fast-dtoa.cc.obj [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver sion/CMakeFiles/itkdouble-conversion.dir/fixed-dtoa.cc.obj [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver sion/CMakeFiles/itkdouble-conversion.dir/strtod.cc.obj [ 0%] Linking CXX shared library ..\..\..\..\..\bin\libitkdouble-conversion-4.1 2.dll [ 0%] Built target itkdouble-conversion Scanning dependencies of target ITKDoubleConversion-all [ 0%] Built target ITKDoubleConversion-all Scanning dependencies of target ITKKWIML-all [ 0%] Built target ITKKWIML-all Scanning dependencies of target itksys [ 0%] Building C object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di r/ProcessWin32.c.obj [ 0%] Building C object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di r/Base64.c.obj [ 0%] Building C object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di r/EncodingC.c.obj [ 0%] Building C object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di r/MD5.c.obj [ 0%] Building C object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di r/System.c.obj [ 0%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. dir/Directory.cxx.obj [ 0%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. dir/DynamicLoader.cxx.obj [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. dir/EncodingCXX.cxx.obj [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. dir/Glob.cxx.obj [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. dir/RegularExpression.cxx.obj [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. dir/SystemTools.cxx.obj D:\Libraries\InsightToolkit-4.12.2\src\Modules\ThirdParty\KWSys\src\KWSys\System Tools.cxx: In static member function 'static int itksys::SystemTools::Stat(const string&, itksys::SystemTools::Stat_t*)': D:\Libraries\InsightToolkit-4.12.2\src\Modules\ThirdParty\KWSys\src\KWSys\System Tools.cxx:1283:37: error: cannot convert 'itksys::SystemTools::Stat_t* {aka itks ys::_stat64*}' to '__stat64*' for argument '2' to 'int _wstat64(const wchar_t*, __stat64*)' return _wstat64(wpath.c_str(), buf); ^ In file included from D:\Libraries\InsightToolkit-4.12.2\src\Modules\ThirdParty\ KWSys\src\KWSys\SystemTools.cxx:20:0: D:/Libraries/InsightToolkit-4.12.2/build/Modules/ThirdParty/KWSys/src/itksys/Sys temTools.hxx:331:18: note: class type 'itksys::SystemTools::Stat_t {aka itksys:: _stat64}' is incomplete typedef struct _stat64 Stat_t; ^~~~~~~ Modules\ThirdParty\KWSys\src\KWSys\CMakeFiles\itksys.dir\build.make:312: recipe for target 'Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.dir/SystemTools .cxx.obj' failed mingw32-make[2]: *** [Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.dir/S ystemTools.cxx.obj] Error 1 CMakeFiles\Makefile2:469: recipe for target 'Modules/ThirdParty/KWSys/src/KWSys/ CMakeFiles/itksys.dir/all' failed mingw32-make[1]: *** [Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.dir/a ll] Error 2 Makefile:150: recipe for target 'all' failed mingw32-make: *** [all] Error 2 ----- Mail original ----- > De: "Matt McCormick" > ?: "Marc michel Rohe" > Cc: insight-users at itk.org > Envoy?: Lundi 16 Octobre 2017 16:40:17 > Objet: Re: [ITK-users] Problem compiling ITK with windows 7 > > Hello Marc, > > Please try the latest release (4.12.2) or ITK Git master, which have > updated versions of GDCM and let us know how it goes. > > Thanks, > Matt > > On Mon, Oct 16, 2017 at 10:04 AM, Marc michel Rohe > wrote: > > Hello, > > > > I have compiled several times ITK under linux but I cannot make it work > > with > > windows with which I am not really familiar. > > > > I configure and generate files using CMake and then use MinGW with the > > command promt (mingw32-make) to build the project. Building start correctly > > and then I get the following output on the command promt (see below) > > > > Thanks a lot for your help ! > > > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:62:109: error: > > 'CryptStringToBinary > > A' was not declared in this scope > > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, > > N > > ULL, &certBinLen, NULL, NULL ) ) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:54: error: > > 'CRYPT_STRING_BASE64_ > > ANY' was not declared in this scope > > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, > > c > > ertBin, &certBinLen, NULL, NULL ) ) > > ^~~~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:112: error: > > 'CryptStringToBinary > > A' was not declared in this scope > > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, > > c > > ertBin, &certBinLen, NULL, NULL ) ) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual > > bool g > > dcm::CAPICryptographicMessageSyntax::ParseKeyFile(const char*)': > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:55: error: > > 'CRYPT_STRING_BASE64 > > _ANY' was not declared in this scope > > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > > CRYPT_STRING_BASE64_ANY, > > NULL, &keyBinBufferLen, NULL, NULL) ) > > ^~~~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:114: error: > > 'CryptStringToBinar > > yA' was not declared in this scope > > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > > CRYPT_STRING_BASE64_ANY, > > NULL, &keyBinBufferLen, NULL, NULL) ) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:55: error: > > 'CRYPT_STRING_BASE64 > > _ANY' was not declared in this scope > > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > > CRYPT_STRING_BASE64_ANY, > > keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) > > ^~~~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:122: error: > > 'CryptStringToBinar > > yA' was not declared in this scope > > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > > CRYPT_STRING_BASE64_ANY, > > keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:114:69: error: > > 'PKCS_RSA_PRIVATE_KE > > Y' was not declared in this scope > > if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, > > PKCS_RSA_PR > > IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, NULL, &keyBlobLen)) > > ^~~~~~~~~~~ > > ~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:120:69: error: > > 'PKCS_RSA_PRIVATE_KE > > Y' was not declared in this scope > > if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, > > PKCS_RSA_PR > > IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, keyBlob, &keyBlobLen)) > > ^~~~~~~~~~~ > > ~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual > > bool g > > dcm::CAPICryptographicMessageSyntax::Encrypt(char*, size_t&, const char*, > > size_t > > ) const': > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:164:3: error: > > 'CRYPT_ENCRYPT_MESSAG > > E_PARA' was not declared in this scope > > CRYPT_ENCRYPT_MESSAGE_PARA EncryptParams = {0}; > > ^~~~~~~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:165:3: error: 'EncryptParams' > > was n > > ot declared in this scope > > EncryptParams.cbSize = sizeof(EncryptParams); > > ^~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:176:163: error: > > 'CryptEncryptMessag > > e' was not declared in this scope > > if(! CryptEncryptMessage(&EncryptParams, (DWORD)certifList.size(), > > (PCCERT_CO > > NTEXT *)&certifList[0], (BYTE *)array, (DWORD)len, (BYTE *)output, (DWORD > > *)&out > > len) ) > > > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:180:21: error: > > 'CRYPT_E_UNKNOWN_ALG > > O' was not declared in this scope > > if (dwResult == CRYPT_E_UNKNOWN_ALGO) > > ^~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual > > bool g > > dcm::CAPICryptographicMessageSyntax::Decrypt(char*, size_t&, const char*, > > size_t > > ) const': > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:194:3: error: > > 'PCMSG_CMS_RECIPIENT_ > > INFO' was not declared in this scope > > PCMSG_CMS_RECIPIENT_INFO recipientInfo = NULL; > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:38: error: > > 'CRYPT_ASN_ENCODING' > > was not declared in this scope > > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | > > P > > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, > > NULL)) > > ) > > ^~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:103: error: > > 'CMSG_ENVELOPED_DAT > > A_PKCS_1_5_VERSION' was not declared in this scope > > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | > > P > > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, > > NULL)) > > ) > > > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:154: error: > > 'CryptMsgOpenToDeco > > de' was not declared in this scope > > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | > > P > > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, > > NULL)) > > ) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:215:59: error: > > 'CryptMsgUpdate' > > was > > not declared in this scope > > if(! CryptMsgUpdate(hMsg, (BYTE*)array, (DWORD)len, TRUE)) > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:31: error: > > 'CMSG_TYPE_PARAM' wa > > s not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, > > &cbMessageTyp > > eLen)) > > ^~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:84: error: > > 'CryptMsgGetParam' w > > as not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, > > &cbMessageTyp > > eLen)) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:228:23: error: > > 'CMSG_ENVELOPED' > > was > > not declared in this scope > > if(dwMessageType != CMSG_ENVELOPED) > > ^~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:31: error: > > 'CMSG_RECIPIENT_COUN > > T_PARAM' was not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, &nrOfRecipeints, > > & > > nrOfRecipientsLen)) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:97: error: > > 'CryptMsgGetParam' w > > as not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, &nrOfRecipeints, > > & > > nrOfRecipientsLen)) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:9: error: 'recipientInfo' > > was n > > ot declared in this scope > > if (recipientInfo) delete[] recipientInfo; > > ^~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:33: error: type ' > error>' > > argument given to 'delete', expected pointer > > if (recipientInfo) delete[] recipientInfo; > > ^~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:33: error: > > 'CMSG_CMS_RECIPIENT_ > > INFO_PARAM' was not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, NULL, &cbReci > > pientInfoLen)) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:92: error: > > 'CryptMsgGetParam' w > > as not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, NULL, &cbReci > > pientInfoLen)) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:267:5: error: 'recipientInfo' > > was n > > ot declared in this scope > > recipientInfo = (PCMSG_CMS_RECIPIENT_INFO) new BYTE[cbRecipientInfoLen]; > > ^~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:33: error: > > 'CMSG_CMS_RECIPIENT_ > > INFO_PARAM' was not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, recipientInfo > > , &cbRecipientInfoLen)) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:101: error: > > 'CryptMsgGetParam' > > was not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, recipientInfo > > , &cbRecipientInfoLen)) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:31: error: > > 'CMSG_ENVELOPE_ALGOR > > ITHM_PARAM' was not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, NULL, > > &cekAlgLe > > n)) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:81: error: > > 'CryptMsgGetParam' w > > as not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, NULL, > > &cekAlgLe > > n)) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:31: error: > > 'CMSG_ENVELOPE_ALGOR > > ITHM_PARAM' was not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, cekAlg, > > &cekAlg > > Len)) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:83: error: > > 'CryptMsgGetParam' w > > as not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, cekAlg, > > &cekAlg > > Len)) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:31: error: > > 'CMSG_CONTENT_PARAM' > > was not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, &bareContentLen)) > > ^~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:75: error: > > 'CryptMsgGetParam' w > > as not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, &bareContentLen)) > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:31: error: > > 'CMSG_CONTENT_PARAM' > > was not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, > > &bareContentL > > en)) > > ^~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:82: error: > > 'CryptMsgGetParam' w > > as not declared in this scope > > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, > > &bareContentL > > en)) > > > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:370:33: error: 'CryptMsgClose' > > was > > not declared in this scope > > if (hMsg) CryptMsgClose(hMsg); > > ^ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:9: error: 'recipientInfo' > > was n > > ot declared in this scope > > if (recipientInfo) delete[] recipientInfo; > > ^~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:33: error: type ' > error>' > > argument given to 'delete', expected pointer > > if (recipientInfo) delete[] recipientInfo; > > ^~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'bool > > gdcm::CAP > > ICryptographicMessageSyntax::Initialize()': > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:426:43: error: > > 'MS_ENH_RSA_AES_PROV > > ' was not declared in this scope > > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV, PROV_RSA_AES, > > CR > > YPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in cryptmsgcontrol not > > workin > > g > > ^~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:442:47: error: > > 'MS_ENH_RSA_AES_PROV > > _A' was not declared in this scope > > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV_A" (Prototype > > )" /*"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"*/, > > PROV > > _RSA_AES, CRYPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in > > cryptmsgcontro > > l not working > > ^~~~~~~~~~~~~~~~~~~~~ > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > > ommon\gdcmCAPICryptographicMessageSyntax.cxx:447:72: error: expected ')' > > before > > string constant > > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV_A" (Proto > > type)" /*"Microsoft Enhanced RSA and AES Cryptographic Provider > > (Prototype)"*/, > > PROV_RSA_AES, CRYPT_NEWKEYSET | CRYPT_VERIFYCONTEXT)) > > ^~~~~~~~ > > ~~~~~~ > > Modules\ThirdParty\GDCM\src\gdcm\Source\Common\CMakeFiles\gdcmCommon.dir\build.m > > ake:787: recipe for target > > 'Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMake > > Files/gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj' failed > > mingw32-make[2]: *** > > [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ > > gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj] Error 1 > > CMakeFiles\Makefile2:6027: recipe for target > > 'Modules/ThirdParty/GDCM/src/gdcm/S > > ource/Common/CMakeFiles/gdcmCommon.dir/all' failed > > mingw32-make[1]: *** > > [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ > > gdcmCommon.dir/all] Error 2 > > Makefile:150: recipe for target 'all' failed > > mingw32-make: *** [all] Error 2 > > > > > > The ITK community is transitioning from this mailing list to > > discourse.itk.org. Please join us there! > > ________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.php > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/insight-users > > > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 16 13:06:03 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 16 Oct 2017 13:06:03 -0400 Subject: [ITK] [ITK-users] Problem compiling ITK with windows 7 In-Reply-To: <57515175.17884723.1508170895866.JavaMail.zimbra@inria.fr> References: <1778046537.17793271.1508162600962.JavaMail.zimbra@inria.fr> <926568074.17795169.1508162691160.JavaMail.zimbra@inria.fr> <57515175.17884723.1508170895866.JavaMail.zimbra@inria.fr> Message-ID: Hi Marc, Thanks for the update. Could you please try ITK Git master? [1] Thanks, Matt [1] https://github.com/InsightSoftwareConsortium/ITK/blob/master/Documentation/Download.md On Mon, Oct 16, 2017 at 12:21 PM, Marc michel Rohe wrote: > Hello Matt, > > thanks for your answer, so I tried with the latest version and here is the error I get: > > D:\Libraries\InsightToolkit-4.12.2\build>mingw32-make > Scanning dependencies of target ITKData > [ 0%] Built target ITKData > Scanning dependencies of target itkdouble-conversion > [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver > sion/CMakeFiles/itkdouble-conversion.dir/bignum.cc.obj > [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver > sion/CMakeFiles/itkdouble-conversion.dir/bignum-dtoa.cc.obj > [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver > sion/CMakeFiles/itkdouble-conversion.dir/cached-powers.cc.obj > [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver > sion/CMakeFiles/itkdouble-conversion.dir/diy-fp.cc.obj > [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver > sion/CMakeFiles/itkdouble-conversion.dir/double-conversion.cc.obj > [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver > sion/CMakeFiles/itkdouble-conversion.dir/fast-dtoa.cc.obj > [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver > sion/CMakeFiles/itkdouble-conversion.dir/fixed-dtoa.cc.obj > [ 0%] Building CXX object Modules/ThirdParty/DoubleConversion/src/double-conver > sion/CMakeFiles/itkdouble-conversion.dir/strtod.cc.obj > [ 0%] Linking CXX shared library ..\..\..\..\..\bin\libitkdouble-conversion-4.1 > 2.dll > [ 0%] Built target itkdouble-conversion > Scanning dependencies of target ITKDoubleConversion-all > [ 0%] Built target ITKDoubleConversion-all > Scanning dependencies of target ITKKWIML-all > [ 0%] Built target ITKKWIML-all > Scanning dependencies of target itksys > [ 0%] Building C object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di > r/ProcessWin32.c.obj > [ 0%] Building C object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di > r/Base64.c.obj > [ 0%] Building C object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di > r/EncodingC.c.obj > [ 0%] Building C object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di > r/MD5.c.obj > [ 0%] Building C object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di > r/System.c.obj > [ 0%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > dir/Directory.cxx.obj > [ 0%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > dir/DynamicLoader.cxx.obj > [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > dir/EncodingCXX.cxx.obj > [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > dir/Glob.cxx.obj > [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > dir/RegularExpression.cxx.obj > [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > dir/SystemTools.cxx.obj > D:\Libraries\InsightToolkit-4.12.2\src\Modules\ThirdParty\KWSys\src\KWSys\System > Tools.cxx: In static member function 'static int itksys::SystemTools::Stat(const > string&, itksys::SystemTools::Stat_t*)': > D:\Libraries\InsightToolkit-4.12.2\src\Modules\ThirdParty\KWSys\src\KWSys\System > Tools.cxx:1283:37: error: cannot convert 'itksys::SystemTools::Stat_t* {aka itks > ys::_stat64*}' to '__stat64*' for argument '2' to 'int _wstat64(const wchar_t*, > __stat64*)' > return _wstat64(wpath.c_str(), buf); > ^ > In file included from D:\Libraries\InsightToolkit-4.12.2\src\Modules\ThirdParty\ > KWSys\src\KWSys\SystemTools.cxx:20:0: > D:/Libraries/InsightToolkit-4.12.2/build/Modules/ThirdParty/KWSys/src/itksys/Sys > temTools.hxx:331:18: note: class type 'itksys::SystemTools::Stat_t {aka itksys:: > _stat64}' is incomplete > typedef struct _stat64 Stat_t; > ^~~~~~~ > Modules\ThirdParty\KWSys\src\KWSys\CMakeFiles\itksys.dir\build.make:312: recipe > for target 'Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.dir/SystemTools > .cxx.obj' failed > mingw32-make[2]: *** [Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.dir/S > ystemTools.cxx.obj] Error 1 > CMakeFiles\Makefile2:469: recipe for target 'Modules/ThirdParty/KWSys/src/KWSys/ > CMakeFiles/itksys.dir/all' failed > mingw32-make[1]: *** [Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.dir/a > ll] Error 2 > Makefile:150: recipe for target 'all' failed > mingw32-make: *** [all] Error 2 > > > ----- Mail original ----- >> De: "Matt McCormick" >> ?: "Marc michel Rohe" >> Cc: insight-users at itk.org >> Envoy?: Lundi 16 Octobre 2017 16:40:17 >> Objet: Re: [ITK-users] Problem compiling ITK with windows 7 >> >> Hello Marc, >> >> Please try the latest release (4.12.2) or ITK Git master, which have >> updated versions of GDCM and let us know how it goes. >> >> Thanks, >> Matt >> >> On Mon, Oct 16, 2017 at 10:04 AM, Marc michel Rohe >> wrote: >> > Hello, >> > >> > I have compiled several times ITK under linux but I cannot make it work >> > with >> > windows with which I am not really familiar. >> > >> > I configure and generate files using CMake and then use MinGW with the >> > command promt (mingw32-make) to build the project. Building start correctly >> > and then I get the following output on the command promt (see below) >> > >> > Thanks a lot for your help ! >> > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:62:109: error: >> > 'CryptStringToBinary >> > A' was not declared in this scope >> > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, >> > N >> > ULL, &certBinLen, NULL, NULL ) ) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:54: error: >> > 'CRYPT_STRING_BASE64_ >> > ANY' was not declared in this scope >> > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, >> > c >> > ertBin, &certBinLen, NULL, NULL ) ) >> > ^~~~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:112: error: >> > 'CryptStringToBinary >> > A' was not declared in this scope >> > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, CRYPT_STRING_BASE64_ANY, >> > c >> > ertBin, &certBinLen, NULL, NULL ) ) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual >> > bool g >> > dcm::CAPICryptographicMessageSyntax::ParseKeyFile(const char*)': >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:55: error: >> > 'CRYPT_STRING_BASE64 >> > _ANY' was not declared in this scope >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, >> > CRYPT_STRING_BASE64_ANY, >> > NULL, &keyBinBufferLen, NULL, NULL) ) >> > ^~~~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:114: error: >> > 'CryptStringToBinar >> > yA' was not declared in this scope >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, >> > CRYPT_STRING_BASE64_ANY, >> > NULL, &keyBinBufferLen, NULL, NULL) ) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:55: error: >> > 'CRYPT_STRING_BASE64 >> > _ANY' was not declared in this scope >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, >> > CRYPT_STRING_BASE64_ANY, >> > keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) >> > ^~~~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:122: error: >> > 'CryptStringToBinar >> > yA' was not declared in this scope >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, >> > CRYPT_STRING_BASE64_ANY, >> > keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:114:69: error: >> > 'PKCS_RSA_PRIVATE_KE >> > Y' was not declared in this scope >> > if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, >> > PKCS_RSA_PR >> > IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, NULL, &keyBlobLen)) >> > ^~~~~~~~~~~ >> > ~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:120:69: error: >> > 'PKCS_RSA_PRIVATE_KE >> > Y' was not declared in this scope >> > if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, >> > PKCS_RSA_PR >> > IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, keyBlob, &keyBlobLen)) >> > ^~~~~~~~~~~ >> > ~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual >> > bool g >> > dcm::CAPICryptographicMessageSyntax::Encrypt(char*, size_t&, const char*, >> > size_t >> > ) const': >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:164:3: error: >> > 'CRYPT_ENCRYPT_MESSAG >> > E_PARA' was not declared in this scope >> > CRYPT_ENCRYPT_MESSAGE_PARA EncryptParams = {0}; >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:165:3: error: 'EncryptParams' >> > was n >> > ot declared in this scope >> > EncryptParams.cbSize = sizeof(EncryptParams); >> > ^~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:176:163: error: >> > 'CryptEncryptMessag >> > e' was not declared in this scope >> > if(! CryptEncryptMessage(&EncryptParams, (DWORD)certifList.size(), >> > (PCCERT_CO >> > NTEXT *)&certifList[0], (BYTE *)array, (DWORD)len, (BYTE *)output, (DWORD >> > *)&out >> > len) ) >> > >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:180:21: error: >> > 'CRYPT_E_UNKNOWN_ALG >> > O' was not declared in this scope >> > if (dwResult == CRYPT_E_UNKNOWN_ALGO) >> > ^~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual >> > bool g >> > dcm::CAPICryptographicMessageSyntax::Decrypt(char*, size_t&, const char*, >> > size_t >> > ) const': >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:194:3: error: >> > 'PCMSG_CMS_RECIPIENT_ >> > INFO' was not declared in this scope >> > PCMSG_CMS_RECIPIENT_INFO recipientInfo = NULL; >> > ^~~~~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:38: error: >> > 'CRYPT_ASN_ENCODING' >> > was not declared in this scope >> > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | >> > P >> > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, >> > NULL)) >> > ) >> > ^~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:103: error: >> > 'CMSG_ENVELOPED_DAT >> > A_PKCS_1_5_VERSION' was not declared in this scope >> > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | >> > P >> > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, >> > NULL)) >> > ) >> > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:154: error: >> > 'CryptMsgOpenToDeco >> > de' was not declared in this scope >> > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | X509_ASN_ENCODING | >> > P >> > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, >> > NULL)) >> > ) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:215:59: error: >> > 'CryptMsgUpdate' >> > was >> > not declared in this scope >> > if(! CryptMsgUpdate(hMsg, (BYTE*)array, (DWORD)len, TRUE)) >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:31: error: >> > 'CMSG_TYPE_PARAM' wa >> > s not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, >> > &cbMessageTyp >> > eLen)) >> > ^~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:84: error: >> > 'CryptMsgGetParam' w >> > as not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, >> > &cbMessageTyp >> > eLen)) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:228:23: error: >> > 'CMSG_ENVELOPED' >> > was >> > not declared in this scope >> > if(dwMessageType != CMSG_ENVELOPED) >> > ^~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:31: error: >> > 'CMSG_RECIPIENT_COUN >> > T_PARAM' was not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, &nrOfRecipeints, >> > & >> > nrOfRecipientsLen)) >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:97: error: >> > 'CryptMsgGetParam' w >> > as not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, &nrOfRecipeints, >> > & >> > nrOfRecipientsLen)) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:9: error: 'recipientInfo' >> > was n >> > ot declared in this scope >> > if (recipientInfo) delete[] recipientInfo; >> > ^~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:33: error: type '> > error>' >> > argument given to 'delete', expected pointer >> > if (recipientInfo) delete[] recipientInfo; >> > ^~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:33: error: >> > 'CMSG_CMS_RECIPIENT_ >> > INFO_PARAM' was not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, NULL, &cbReci >> > pientInfoLen)) >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:92: error: >> > 'CryptMsgGetParam' w >> > as not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, NULL, &cbReci >> > pientInfoLen)) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:267:5: error: 'recipientInfo' >> > was n >> > ot declared in this scope >> > recipientInfo = (PCMSG_CMS_RECIPIENT_INFO) new BYTE[cbRecipientInfoLen]; >> > ^~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:33: error: >> > 'CMSG_CMS_RECIPIENT_ >> > INFO_PARAM' was not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, recipientInfo >> > , &cbRecipientInfoLen)) >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:101: error: >> > 'CryptMsgGetParam' >> > was not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, recipientInfo >> > , &cbRecipientInfoLen)) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:31: error: >> > 'CMSG_ENVELOPE_ALGOR >> > ITHM_PARAM' was not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, NULL, >> > &cekAlgLe >> > n)) >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:81: error: >> > 'CryptMsgGetParam' w >> > as not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, NULL, >> > &cekAlgLe >> > n)) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:31: error: >> > 'CMSG_ENVELOPE_ALGOR >> > ITHM_PARAM' was not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, cekAlg, >> > &cekAlg >> > Len)) >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:83: error: >> > 'CryptMsgGetParam' w >> > as not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, cekAlg, >> > &cekAlg >> > Len)) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:31: error: >> > 'CMSG_CONTENT_PARAM' >> > was not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, &bareContentLen)) >> > ^~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:75: error: >> > 'CryptMsgGetParam' w >> > as not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, &bareContentLen)) >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:31: error: >> > 'CMSG_CONTENT_PARAM' >> > was not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, >> > &bareContentL >> > en)) >> > ^~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:82: error: >> > 'CryptMsgGetParam' w >> > as not declared in this scope >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, >> > &bareContentL >> > en)) >> > >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:370:33: error: 'CryptMsgClose' >> > was >> > not declared in this scope >> > if (hMsg) CryptMsgClose(hMsg); >> > ^ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:9: error: 'recipientInfo' >> > was n >> > ot declared in this scope >> > if (recipientInfo) delete[] recipientInfo; >> > ^~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:33: error: type '> > error>' >> > argument given to 'delete', expected pointer >> > if (recipientInfo) delete[] recipientInfo; >> > ^~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'bool >> > gdcm::CAP >> > ICryptographicMessageSyntax::Initialize()': >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:426:43: error: >> > 'MS_ENH_RSA_AES_PROV >> > ' was not declared in this scope >> > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV, PROV_RSA_AES, >> > CR >> > YPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in cryptmsgcontrol not >> > workin >> > g >> > ^~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:442:47: error: >> > 'MS_ENH_RSA_AES_PROV >> > _A' was not declared in this scope >> > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV_A" (Prototype >> > )" /*"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"*/, >> > PROV >> > _RSA_AES, CRYPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in >> > cryptmsgcontro >> > l not working >> > ^~~~~~~~~~~~~~~~~~~~~ >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:447:72: error: expected ')' >> > before >> > string constant >> > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV_A" (Proto >> > type)" /*"Microsoft Enhanced RSA and AES Cryptographic Provider >> > (Prototype)"*/, >> > PROV_RSA_AES, CRYPT_NEWKEYSET | CRYPT_VERIFYCONTEXT)) >> > ^~~~~~~~ >> > ~~~~~~ >> > Modules\ThirdParty\GDCM\src\gdcm\Source\Common\CMakeFiles\gdcmCommon.dir\build.m >> > ake:787: recipe for target >> > 'Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMake >> > Files/gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj' failed >> > mingw32-make[2]: *** >> > [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ >> > gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj] Error 1 >> > CMakeFiles\Makefile2:6027: recipe for target >> > 'Modules/ThirdParty/GDCM/src/gdcm/S >> > ource/Common/CMakeFiles/gdcmCommon.dir/all' failed >> > mingw32-make[1]: *** >> > [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ >> > gdcmCommon.dir/all] Error 2 >> > Makefile:150: recipe for target 'all' failed >> > mingw32-make: *** [all] Error 2 >> > >> > >> > The ITK community is transitioning from this mailing list to >> > discourse.itk.org. Please join us there! >> > ________________________________ >> > Powered by www.kitware.com >> > >> > Visit other Kitware open-source projects at >> > http://www.kitware.com/opensource/opensource.html >> > >> > Kitware offers ITK Training Courses, for more information visit: >> > http://www.kitware.com/products/protraining.php >> > >> > Please keep messages on-topic and check the ITK FAQ at: >> > http://www.itk.org/Wiki/ITK_FAQ >> > >> > Follow this link to subscribe/unsubscribe: >> > http://public.kitware.com/mailman/listinfo/insight-users >> > >> The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 16 13:17:08 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 16 Oct 2017 13:17:08 -0400 Subject: [ITK] [ITK-users] Problem compiling ITK with windows 7 In-Reply-To: References: <1778046537.17793271.1508162600962.JavaMail.zimbra@inria.fr> <926568074.17795169.1508162691160.JavaMail.zimbra@inria.fr> <57515175.17884723.1508170895866.JavaMail.zimbra@inria.fr> Message-ID: Hi Marc, another note: you have chosen an exotic compiler/OS combination. Very few people use, maintain and test them, which is indicated by test failures on the dashboard's exotic section. If you can't use Visual Studio (the main compiler for Windows), you might have better luck using clang . Regards, D?enan On Mon, Oct 16, 2017 at 1:06 PM, Matt McCormick wrote: > Hi Marc, > > Thanks for the update. > > Could you please try ITK Git master? [1] > > Thanks, > Matt > > [1] https://github.com/InsightSoftwareConsortium/ITK/ > blob/master/Documentation/Download.md > > > > On Mon, Oct 16, 2017 at 12:21 PM, Marc michel Rohe > wrote: > > Hello Matt, > > > > thanks for your answer, so I tried with the latest version and here is > the error I get: > > > > D:\Libraries\InsightToolkit-4.12.2\build>mingw32-make > > Scanning dependencies of target ITKData > > [ 0%] Built target ITKData > > Scanning dependencies of target itkdouble-conversion > > [ 0%] Building CXX object Modules/ThirdParty/ > DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/bignum.cc.obj > > [ 0%] Building CXX object Modules/ThirdParty/ > DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/bignum-dtoa.cc.obj > > [ 0%] Building CXX object Modules/ThirdParty/ > DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/cached-powers.cc.obj > > [ 0%] Building CXX object Modules/ThirdParty/ > DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/diy-fp.cc.obj > > [ 0%] Building CXX object Modules/ThirdParty/ > DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/double-conversion.cc.obj > > [ 0%] Building CXX object Modules/ThirdParty/ > DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/fast-dtoa.cc.obj > > [ 0%] Building CXX object Modules/ThirdParty/ > DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/fixed-dtoa.cc.obj > > [ 0%] Building CXX object Modules/ThirdParty/ > DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/strtod.cc.obj > > [ 0%] Linking CXX shared library ..\..\..\..\..\bin\ > libitkdouble-conversion-4.1 > > 2.dll > > [ 0%] Built target itkdouble-conversion > > Scanning dependencies of target ITKDoubleConversion-all > > [ 0%] Built target ITKDoubleConversion-all > > Scanning dependencies of target ITKKWIML-all > > [ 0%] Built target ITKKWIML-all > > Scanning dependencies of target itksys > > [ 0%] Building C object Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys.di > > r/ProcessWin32.c.obj > > [ 0%] Building C object Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys.di > > r/Base64.c.obj > > [ 0%] Building C object Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys.di > > r/EncodingC.c.obj > > [ 0%] Building C object Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys.di > > r/MD5.c.obj > > [ 0%] Building C object Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys.di > > r/System.c.obj > > [ 0%] Building CXX object Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys. > > dir/Directory.cxx.obj > > [ 0%] Building CXX object Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys. > > dir/DynamicLoader.cxx.obj > > [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys. > > dir/EncodingCXX.cxx.obj > > [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys. > > dir/Glob.cxx.obj > > [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys. > > dir/RegularExpression.cxx.obj > > [ 1%] Building CXX object Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys. > > dir/SystemTools.cxx.obj > > D:\Libraries\InsightToolkit-4.12.2\src\Modules\ThirdParty\ > KWSys\src\KWSys\System > > Tools.cxx: In static member function 'static int > itksys::SystemTools::Stat(const > > string&, itksys::SystemTools::Stat_t*)': > > D:\Libraries\InsightToolkit-4.12.2\src\Modules\ThirdParty\ > KWSys\src\KWSys\System > > Tools.cxx:1283:37: error: cannot convert 'itksys::SystemTools::Stat_t* > {aka itks > > ys::_stat64*}' to '__stat64*' for argument '2' to 'int _wstat64(const > wchar_t*, > > __stat64*)' > > return _wstat64(wpath.c_str(), buf); > > ^ > > In file included from D:\Libraries\InsightToolkit-4. > 12.2\src\Modules\ThirdParty\ > > KWSys\src\KWSys\SystemTools.cxx:20:0: > > D:/Libraries/InsightToolkit-4.12.2/build/Modules/ThirdParty/ > KWSys/src/itksys/Sys > > temTools.hxx:331:18: note: class type 'itksys::SystemTools::Stat_t {aka > itksys:: > > _stat64}' is incomplete > > typedef struct _stat64 Stat_t; > > ^~~~~~~ > > Modules\ThirdParty\KWSys\src\KWSys\CMakeFiles\itksys.dir\build.make:312: > recipe > > for target 'Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.dir/ > SystemTools > > .cxx.obj' failed > > mingw32-make[2]: *** [Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys.dir/S > > ystemTools.cxx.obj] Error 1 > > CMakeFiles\Makefile2:469: recipe for target > 'Modules/ThirdParty/KWSys/src/KWSys/ > > CMakeFiles/itksys.dir/all' failed > > mingw32-make[1]: *** [Modules/ThirdParty/KWSys/src/ > KWSys/CMakeFiles/itksys.dir/a > > ll] Error 2 > > Makefile:150: recipe for target 'all' failed > > mingw32-make: *** [all] Error 2 > > > > > > ----- Mail original ----- > >> De: "Matt McCormick" > >> ?: "Marc michel Rohe" > >> Cc: insight-users at itk.org > >> Envoy?: Lundi 16 Octobre 2017 16:40:17 > >> Objet: Re: [ITK-users] Problem compiling ITK with windows 7 > >> > >> Hello Marc, > >> > >> Please try the latest release (4.12.2) or ITK Git master, which have > >> updated versions of GDCM and let us know how it goes. > >> > >> Thanks, > >> Matt > >> > >> On Mon, Oct 16, 2017 at 10:04 AM, Marc michel Rohe > >> wrote: > >> > Hello, > >> > > >> > I have compiled several times ITK under linux but I cannot make it > work > >> > with > >> > windows with which I am not really familiar. > >> > > >> > I configure and generate files using CMake and then use MinGW with the > >> > command promt (mingw32-make) to build the project. Building start > correctly > >> > and then I get the following output on the command promt (see below) > >> > > >> > Thanks a lot for your help ! > >> > > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:62:109: error: > >> > 'CryptStringToBinary > >> > A' was not declared in this scope > >> > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, > CRYPT_STRING_BASE64_ANY, > >> > N > >> > ULL, &certBinLen, NULL, NULL ) ) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:54: error: > >> > 'CRYPT_STRING_BASE64_ > >> > ANY' was not declared in this scope > >> > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, > CRYPT_STRING_BASE64_ANY, > >> > c > >> > ertBin, &certBinLen, NULL, NULL ) ) > >> > ^~~~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:112: error: > >> > 'CryptStringToBinary > >> > A' was not declared in this scope > >> > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, > CRYPT_STRING_BASE64_ANY, > >> > c > >> > ertBin, &certBinLen, NULL, NULL ) ) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function > 'virtual > >> > bool g > >> > dcm::CAPICryptographicMessageSyntax::ParseKeyFile(const char*)': > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:55: error: > >> > 'CRYPT_STRING_BASE64 > >> > _ANY' was not declared in this scope > >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > >> > CRYPT_STRING_BASE64_ANY, > >> > NULL, &keyBinBufferLen, NULL, NULL) ) > >> > ^~~~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:114: error: > >> > 'CryptStringToBinar > >> > yA' was not declared in this scope > >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > >> > CRYPT_STRING_BASE64_ANY, > >> > NULL, &keyBinBufferLen, NULL, NULL) ) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:55: error: > >> > 'CRYPT_STRING_BASE64 > >> > _ANY' was not declared in this scope > >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > >> > CRYPT_STRING_BASE64_ANY, > >> > keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) > >> > ^~~~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:122: error: > >> > 'CryptStringToBinar > >> > yA' was not declared in this scope > >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > >> > CRYPT_STRING_BASE64_ANY, > >> > keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:114:69: error: > >> > 'PKCS_RSA_PRIVATE_KE > >> > Y' was not declared in this scope > >> > if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, > >> > PKCS_RSA_PR > >> > IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, NULL, &keyBlobLen)) > >> > ^~~~~~~~~~~ > >> > ~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:120:69: error: > >> > 'PKCS_RSA_PRIVATE_KE > >> > Y' was not declared in this scope > >> > if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, > >> > PKCS_RSA_PR > >> > IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, keyBlob, > &keyBlobLen)) > >> > ^~~~~~~~~~~ > >> > ~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function > 'virtual > >> > bool g > >> > dcm::CAPICryptographicMessageSyntax::Encrypt(char*, size_t&, const > char*, > >> > size_t > >> > ) const': > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:164:3: error: > >> > 'CRYPT_ENCRYPT_MESSAG > >> > E_PARA' was not declared in this scope > >> > CRYPT_ENCRYPT_MESSAGE_PARA EncryptParams = {0}; > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:165:3: error: > 'EncryptParams' > >> > was n > >> > ot declared in this scope > >> > EncryptParams.cbSize = sizeof(EncryptParams); > >> > ^~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:176:163: error: > >> > 'CryptEncryptMessag > >> > e' was not declared in this scope > >> > if(! CryptEncryptMessage(&EncryptParams, (DWORD)certifList.size(), > >> > (PCCERT_CO > >> > NTEXT *)&certifList[0], (BYTE *)array, (DWORD)len, (BYTE *)output, > (DWORD > >> > *)&out > >> > len) ) > >> > > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:180:21: error: > >> > 'CRYPT_E_UNKNOWN_ALG > >> > O' was not declared in this scope > >> > if (dwResult == CRYPT_E_UNKNOWN_ALGO) > >> > ^~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function > 'virtual > >> > bool g > >> > dcm::CAPICryptographicMessageSyntax::Decrypt(char*, size_t&, const > char*, > >> > size_t > >> > ) const': > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:194:3: error: > >> > 'PCMSG_CMS_RECIPIENT_ > >> > INFO' was not declared in this scope > >> > PCMSG_CMS_RECIPIENT_INFO recipientInfo = NULL; > >> > ^~~~~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:38: error: > >> > 'CRYPT_ASN_ENCODING' > >> > was not declared in this scope > >> > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | > X509_ASN_ENCODING | > >> > P > >> > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, > >> > NULL)) > >> > ) > >> > ^~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:103: error: > >> > 'CMSG_ENVELOPED_DAT > >> > A_PKCS_1_5_VERSION' was not declared in this scope > >> > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | > X509_ASN_ENCODING | > >> > P > >> > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, > >> > NULL)) > >> > ) > >> > > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:154: error: > >> > 'CryptMsgOpenToDeco > >> > de' was not declared in this scope > >> > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | > X509_ASN_ENCODING | > >> > P > >> > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, 0, NULL, > >> > NULL)) > >> > ) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:215:59: error: > >> > 'CryptMsgUpdate' > >> > was > >> > not declared in this scope > >> > if(! CryptMsgUpdate(hMsg, (BYTE*)array, (DWORD)len, TRUE)) > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:31: error: > >> > 'CMSG_TYPE_PARAM' wa > >> > s not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, > >> > &cbMessageTyp > >> > eLen)) > >> > ^~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:84: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, > >> > &cbMessageTyp > >> > eLen)) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:228:23: error: > >> > 'CMSG_ENVELOPED' > >> > was > >> > not declared in this scope > >> > if(dwMessageType != CMSG_ENVELOPED) > >> > ^~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:31: error: > >> > 'CMSG_RECIPIENT_COUN > >> > T_PARAM' was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, > &nrOfRecipeints, > >> > & > >> > nrOfRecipientsLen)) > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:97: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, > &nrOfRecipeints, > >> > & > >> > nrOfRecipientsLen)) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:9: error: > 'recipientInfo' > >> > was n > >> > ot declared in this scope > >> > if (recipientInfo) delete[] recipientInfo; > >> > ^~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:33: error: type > ' >> > error>' > >> > argument given to 'delete', expected pointer > >> > if (recipientInfo) delete[] recipientInfo; > >> > ^~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:33: error: > >> > 'CMSG_CMS_RECIPIENT_ > >> > INFO_PARAM' was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, NULL, > &cbReci > >> > pientInfoLen)) > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:92: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, NULL, > &cbReci > >> > pientInfoLen)) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:267:5: error: > 'recipientInfo' > >> > was n > >> > ot declared in this scope > >> > recipientInfo = (PCMSG_CMS_RECIPIENT_INFO) new > BYTE[cbRecipientInfoLen]; > >> > ^~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:33: error: > >> > 'CMSG_CMS_RECIPIENT_ > >> > INFO_PARAM' was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, > recipientInfo > >> > , &cbRecipientInfoLen)) > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:101: error: > >> > 'CryptMsgGetParam' > >> > was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, > recipientInfo > >> > , &cbRecipientInfoLen)) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:31: error: > >> > 'CMSG_ENVELOPE_ALGOR > >> > ITHM_PARAM' was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, NULL, > >> > &cekAlgLe > >> > n)) > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:81: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, NULL, > >> > &cekAlgLe > >> > n)) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:31: error: > >> > 'CMSG_ENVELOPE_ALGOR > >> > ITHM_PARAM' was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, cekAlg, > >> > &cekAlg > >> > Len)) > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:83: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, cekAlg, > >> > &cekAlg > >> > Len)) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:31: error: > >> > 'CMSG_CONTENT_PARAM' > >> > was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, > &bareContentLen)) > >> > ^~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:75: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, > &bareContentLen)) > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:31: error: > >> > 'CMSG_CONTENT_PARAM' > >> > was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, > >> > &bareContentL > >> > en)) > >> > ^~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:82: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, > >> > &bareContentL > >> > en)) > >> > > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:370:33: error: > 'CryptMsgClose' > >> > was > >> > not declared in this scope > >> > if (hMsg) CryptMsgClose(hMsg); > >> > ^ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:9: error: > 'recipientInfo' > >> > was n > >> > ot declared in this scope > >> > if (recipientInfo) delete[] recipientInfo; > >> > ^~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:33: error: type > ' >> > error>' > >> > argument given to 'delete', expected pointer > >> > if (recipientInfo) delete[] recipientInfo; > >> > ^~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member function > 'bool > >> > gdcm::CAP > >> > ICryptographicMessageSyntax::Initialize()': > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:426:43: error: > >> > 'MS_ENH_RSA_AES_PROV > >> > ' was not declared in this scope > >> > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV, > PROV_RSA_AES, > >> > CR > >> > YPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in cryptmsgcontrol > not > >> > workin > >> > g > >> > ^~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:442:47: error: > >> > 'MS_ENH_RSA_AES_PROV > >> > _A' was not declared in this scope > >> > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV_A" > (Prototype > >> > )" /*"Microsoft Enhanced RSA and AES Cryptographic Provider > (Prototype)"*/, > >> > PROV > >> > _RSA_AES, CRYPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in > >> > cryptmsgcontro > >> > l not working > >> > ^~~~~~~~~~~~~~~~~~~~~ > >> > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\ > GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:447:72: error: expected > ')' > >> > before > >> > string constant > >> > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV_A" (Proto > >> > type)" /*"Microsoft Enhanced RSA and AES Cryptographic Provider > >> > (Prototype)"*/, > >> > PROV_RSA_AES, CRYPT_NEWKEYSET | CRYPT_VERIFYCONTEXT)) > >> > ^~~~~~~~ > >> > ~~~~~~ > >> > Modules\ThirdParty\GDCM\src\gdcm\Source\Common\CMakeFiles\ > gdcmCommon.dir\build.m > >> > ake:787: recipe for target > >> > 'Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMake > >> > Files/gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj' > failed > >> > mingw32-make[2]: *** > >> > [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ > >> > gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj] Error 1 > >> > CMakeFiles\Makefile2:6027: recipe for target > >> > 'Modules/ThirdParty/GDCM/src/gdcm/S > >> > ource/Common/CMakeFiles/gdcmCommon.dir/all' failed > >> > mingw32-make[1]: *** > >> > [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ > >> > gdcmCommon.dir/all] Error 2 > >> > Makefile:150: recipe for target 'all' failed > >> > mingw32-make: *** [all] Error 2 > >> > > >> > > >> > The ITK community is transitioning from this mailing list to > >> > discourse.itk.org. Please join us there! > >> > ________________________________ > >> > Powered by www.kitware.com > >> > > >> > Visit other Kitware open-source projects at > >> > http://www.kitware.com/opensource/opensource.html > >> > > >> > Kitware offers ITK Training Courses, for more information visit: > >> > http://www.kitware.com/products/protraining.php > >> > > >> > Please keep messages on-topic and check the ITK FAQ at: > >> > http://www.itk.org/Wiki/ITK_FAQ > >> > > >> > Follow this link to subscribe/unsubscribe: > >> > http://public.kitware.com/mailman/listinfo/insight-users > >> > > >> > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 k.dunikowski at pixel.com.pl Tue Oct 17 04:05:46 2017 From: k.dunikowski at pixel.com.pl (Kosma Dunikowski) Date: Tue, 17 Oct 2017 10:05:46 +0200 Subject: [ITK] [ITK-users] Problem compiling ITK with windows 7 In-Reply-To: References: <1778046537.17793271.1508162600962.JavaMail.zimbra@inria.fr> <926568074.17795169.1508162691160.JavaMail.zimbra@inria.fr> <57515175.17884723.1508170895866.JavaMail.zimbra@inria.fr> Message-ID: <9e02de9d-363a-9c56-3825-9c04cc8bf624@pixel.com.pl> Hi Marc, I'm using mingw-w64 (https://mingw-w64.org/) (it can also build 32 bit binaries if you need them) to build latest ITK and SimpleITK on Windows 7 with no issues. Make sure you avoid vanilla mingw32, which is generally problematic. Regards, Kosma On 16.10.2017 19:17, D?enan Zuki? wrote: > Hi Marc, > > another note: you have chosen an exotic compiler/OS combination. Very > few people use, maintain and test them, which is indicated by test > failures on the dashboard's exotic > > section. > > If you can't use Visual Studio (the main compiler for Windows), you > might have better luck using clang > . > > Regards, > D?enan > > On Mon, Oct 16, 2017 at 1:06 PM, Matt McCormick > > wrote: > > Hi Marc, > > Thanks for the update. > > Could you please try ITK Git master? [1] > > Thanks, > Matt > > [1] > https://github.com/InsightSoftwareConsortium/ITK/blob/master/Documentation/Download.md > > > > > On Mon, Oct 16, 2017 at 12:21 PM, Marc michel Rohe > > wrote: > > Hello Matt, > > > > thanks for your answer, so I tried with the latest version and > here is the error I get: > > > > D:\Libraries\InsightToolkit-4.12.2\build>mingw32-make > > Scanning dependencies of target ITKData > > [ 0%] Built target ITKData > > Scanning dependencies of target itkdouble-conversion > > [ 0%] Building CXX object > Modules/ThirdParty/DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/bignum.cc.obj > > [ 0%] Building CXX object > Modules/ThirdParty/DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/bignum-dtoa.cc.obj > > [ 0%] Building CXX object > Modules/ThirdParty/DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/cached-powers.cc.obj > > [ 0%] Building CXX object > Modules/ThirdParty/DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/diy-fp.cc.obj > > [ 0%] Building CXX object > Modules/ThirdParty/DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/double-conversion.cc.obj > > [ 0%] Building CXX object > Modules/ThirdParty/DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/fast-dtoa.cc.obj > > [ 0%] Building CXX object > Modules/ThirdParty/DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/fixed-dtoa.cc.obj > > [ 0%] Building CXX object > Modules/ThirdParty/DoubleConversion/src/double-conver > > sion/CMakeFiles/itkdouble-conversion.dir/strtod.cc.obj > > [ 0%] Linking CXX shared library > ..\..\..\..\..\bin\libitkdouble-conversion-4.1 > > 2.dll > > [ 0%] Built target itkdouble-conversion > > Scanning dependencies of target ITKDoubleConversion-all > > [ 0%] Built target ITKDoubleConversion-all > > Scanning dependencies of target ITKKWIML-all > > [ 0%] Built target ITKKWIML-all > > Scanning dependencies of target itksys > > [ 0%] Building C object > Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di > > r/ProcessWin32.c.obj > > [ 0%] Building C object > Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di > > r/Base64.c.obj > > [ 0%] Building C object > Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di > > r/EncodingC.c.obj > > [ 0%] Building C object > Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di > > r/MD5.c.obj > > [ 0%] Building C object > Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.di > > r/System.c.obj > > [ 0%] Building CXX object > Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > > dir/Directory.cxx.obj > > [ 0%] Building CXX object > Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > > dir/DynamicLoader.cxx.obj > > [ 1%] Building CXX object > Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > > dir/EncodingCXX.cxx.obj > > [ 1%] Building CXX object > Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > > dir/Glob.cxx.obj > > [ 1%] Building CXX object > Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > > dir/RegularExpression.cxx.obj > > [ 1%] Building CXX object > Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys. > > dir/SystemTools.cxx.obj > > > D:\Libraries\InsightToolkit-4.12.2\src\Modules\ThirdParty\KWSys\src\KWSys\System > > Tools.cxx: In static member function 'static int > itksys::SystemTools::Stat(const > > string&, itksys::SystemTools::Stat_t*)': > > > D:\Libraries\InsightToolkit-4.12.2\src\Modules\ThirdParty\KWSys\src\KWSys\System > > Tools.cxx:1283:37: error: cannot convert > 'itksys::SystemTools::Stat_t* {aka itks > > ys::_stat64*}' to '__stat64*' for argument '2' to 'int > _wstat64(const wchar_t*, > > __stat64*)' > > return _wstat64(wpath.c_str(), buf); > > ^ > > In file included from > D:\Libraries\InsightToolkit-4.12.2\src\Modules\ThirdParty\ > > KWSys\src\KWSys\SystemTools.cxx:20:0: > > > D:/Libraries/InsightToolkit-4.12.2/build/Modules/ThirdParty/KWSys/src/itksys/Sys > > temTools.hxx:331:18: note: class type > 'itksys::SystemTools::Stat_t {aka itksys:: > > _stat64}' is incomplete > > typedef struct _stat64 Stat_t; > > ^~~~~~~ > > > Modules\ThirdParty\KWSys\src\KWSys\CMakeFiles\itksys.dir\build.make:312: > recipe > > for target > 'Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.dir/SystemTools > > .cxx.obj' failed > > mingw32-make[2]: *** > [Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.dir/S > > ystemTools.cxx.obj] Error 1 > > CMakeFiles\Makefile2:469: recipe for target > 'Modules/ThirdParty/KWSys/src/KWSys/ > > CMakeFiles/itksys.dir/all' failed > > mingw32-make[1]: *** > [Modules/ThirdParty/KWSys/src/KWSys/CMakeFiles/itksys.dir/a > > ll] Error 2 > > Makefile:150: recipe for target 'all' failed > > mingw32-make: *** [all] Error 2 > > > > > > ----- Mail original ----- > >> De: "Matt McCormick" > > >> ?: "Marc michel Rohe" > > >> Cc: insight-users at itk.org > >> Envoy?: Lundi 16 Octobre 2017 16:40:17 > >> Objet: Re: [ITK-users] Problem compiling ITK with windows 7 > >> > >> Hello Marc, > >> > >> Please try the latest release (4.12.2) or ITK Git master, which > have > >> updated versions of GDCM and let us know how it goes. > >> > >> Thanks, > >> Matt > >> > >> On Mon, Oct 16, 2017 at 10:04 AM, Marc michel Rohe > >> > > wrote: > >> > Hello, > >> > > >> > I have compiled several times ITK under linux but I cannot > make it work > >> > with > >> > windows with which I am not really familiar. > >> > > >> > I configure and generate files using CMake and then use MinGW > with the > >> > command promt (mingw32-make) to build the project. Building > start correctly > >> > and then I get the following output on the command promt (see > below) > >> > > >> > Thanks a lot for your help ! > >> > > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:62:109: error: > >> > 'CryptStringToBinary > >> > A' was not declared in this scope > >> > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, > CRYPT_STRING_BASE64_ANY, > >> > N > >> > ULL, &certBinLen, NULL, NULL ) ) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:54: error: > >> > 'CRYPT_STRING_BASE64_ > >> > ANY' was not declared in this scope > >> > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, > CRYPT_STRING_BASE64_ANY, > >> > c > >> > ertBin, &certBinLen, NULL, NULL ) ) > >> > ^~~~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:69:112: error: > >> > 'CryptStringToBinary > >> > A' was not declared in this scope > >> > if ( !CryptStringToBinaryA( (LPCSTR)certHexBuf, 0, > CRYPT_STRING_BASE64_ANY, > >> > c > >> > ertBin, &certBinLen, NULL, NULL ) ) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member > function 'virtual > >> > bool g > >> > dcm::CAPICryptographicMessageSyntax::ParseKeyFile(const char*)': > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:55: error: > >> > 'CRYPT_STRING_BASE64 > >> > _ANY' was not declared in this scope > >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > >> > CRYPT_STRING_BASE64_ANY, > >> > NULL, &keyBinBufferLen, NULL, NULL) ) > >> > ^~~~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:102:114: error: > >> > 'CryptStringToBinar > >> > yA' was not declared in this scope > >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > >> > CRYPT_STRING_BASE64_ANY, > >> > NULL, &keyBinBufferLen, NULL, NULL) ) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:55: error: > >> > 'CRYPT_STRING_BASE64 > >> > _ANY' was not declared in this scope > >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > >> > CRYPT_STRING_BASE64_ANY, > >> > keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) > >> > ^~~~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:108:122: error: > >> > 'CryptStringToBinar > >> > yA' was not declared in this scope > >> > if ( !CryptStringToBinaryA((LPCSTR)keyHexBuffer, 0, > >> > CRYPT_STRING_BASE64_ANY, > >> > keyBinBuffer, &keyBinBufferLen, NULL, NULL) ) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:114:69: error: > >> > 'PKCS_RSA_PRIVATE_KE > >> > Y' was not declared in this scope > >> > if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, > >> > PKCS_RSA_PR > >> > IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, NULL, > &keyBlobLen)) > >> > ^~~~~~~~~~~ > >> > ~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:120:69: error: > >> > 'PKCS_RSA_PRIVATE_KE > >> > Y' was not declared in this scope > >> > if (!CryptDecodeObjectEx(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, > >> > PKCS_RSA_PR > >> > IVATE_KEY, keyBinBuffer, keyBinBufferLen, 0, NULL, keyBlob, > &keyBlobLen)) > >> > ^~~~~~~~~~~ > >> > ~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member > function 'virtual > >> > bool g > >> > dcm::CAPICryptographicMessageSyntax::Encrypt(char*, size_t&, > const char*, > >> > size_t > >> > ) const': > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:164:3: error: > >> > 'CRYPT_ENCRYPT_MESSAG > >> > E_PARA' was not declared in this scope > >> > CRYPT_ENCRYPT_MESSAGE_PARA EncryptParams = {0}; > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:165:3: error: > 'EncryptParams' > >> > was n > >> > ot declared in this scope > >> > EncryptParams.cbSize = sizeof(EncryptParams); > >> > ^~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:176:163: error: > >> > 'CryptEncryptMessag > >> > e' was not declared in this scope > >> > if(! CryptEncryptMessage(&EncryptParams, > (DWORD)certifList.size(), > >> > (PCCERT_CO > >> > NTEXT *)&certifList[0], (BYTE *)array, (DWORD)len, (BYTE > *)output, (DWORD > >> > *)&out > >> > len) ) > >> > > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:180:21: error: > >> > 'CRYPT_E_UNKNOWN_ALG > >> > O' was not declared in this scope > >> > if (dwResult == CRYPT_E_UNKNOWN_ALGO) > >> > ^~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member > function 'virtual > >> > bool g > >> > dcm::CAPICryptographicMessageSyntax::Decrypt(char*, size_t&, > const char*, > >> > size_t > >> > ) const': > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:194:3: error: > >> > 'PCMSG_CMS_RECIPIENT_ > >> > INFO' was not declared in this scope > >> > PCMSG_CMS_RECIPIENT_INFO recipientInfo = NULL; > >> > ^~~~~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:38: error: > >> > 'CRYPT_ASN_ENCODING' > >> > was not declared in this scope > >> > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | > X509_ASN_ENCODING | > >> > P > >> > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, > 0, NULL, > >> > NULL)) > >> > ) > >> > ^~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:103: error: > >> > 'CMSG_ENVELOPED_DAT > >> > A_PKCS_1_5_VERSION' was not declared in this scope > >> > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | > X509_ASN_ENCODING | > >> > P > >> > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, > 0, NULL, > >> > NULL)) > >> > ) > >> > > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:209:154: error: > >> > 'CryptMsgOpenToDeco > >> > de' was not declared in this scope > >> > if (! (hMsg = CryptMsgOpenToDecode(CRYPT_ASN_ENCODING | > X509_ASN_ENCODING | > >> > P > >> > KCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION, > 0, NULL, > >> > NULL)) > >> > ) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:215:59: error: > >> > 'CryptMsgUpdate' > >> > was > >> > not declared in this scope > >> > if(! CryptMsgUpdate(hMsg, (BYTE*)array, (DWORD)len, TRUE)) > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:31: error: > >> > 'CMSG_TYPE_PARAM' wa > >> > s not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, > >> > &cbMessageTyp > >> > eLen)) > >> > ^~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:222:84: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_TYPE_PARAM, 0, &dwMessageType, > >> > &cbMessageTyp > >> > eLen)) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:228:23: error: > >> > 'CMSG_ENVELOPED' > >> > was > >> > not declared in this scope > >> > if(dwMessageType != CMSG_ENVELOPED) > >> > ^~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:31: error: > >> > 'CMSG_RECIPIENT_COUN > >> > T_PARAM' was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, > &nrOfRecipeints, > >> > & > >> > nrOfRecipientsLen)) > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:248:97: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_RECIPIENT_COUNT_PARAM, 0, > &nrOfRecipeints, > >> > & > >> > nrOfRecipientsLen)) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:9: error: > 'recipientInfo' > >> > was n > >> > ot declared in this scope > >> > if (recipientInfo) delete[] recipientInfo; > >> > ^~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:259:33: error: > type ' >> > error>' > >> > argument given to 'delete', expected pointer > >> > if (recipientInfo) delete[] recipientInfo; > >> > ^~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:33: error: > >> > 'CMSG_CMS_RECIPIENT_ > >> > INFO_PARAM' was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, > NULL, &cbReci > >> > pientInfoLen)) > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:262:92: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, > NULL, &cbReci > >> > pientInfoLen)) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:267:5: error: > 'recipientInfo' > >> > was n > >> > ot declared in this scope > >> > recipientInfo = (PCMSG_CMS_RECIPIENT_INFO) new > BYTE[cbRecipientInfoLen]; > >> > ^~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:33: error: > >> > 'CMSG_CMS_RECIPIENT_ > >> > INFO_PARAM' was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, > recipientInfo > >> > , &cbRecipientInfoLen)) > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:268:101: error: > >> > 'CryptMsgGetParam' > >> > was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CMS_RECIPIENT_INFO_PARAM, i, > recipientInfo > >> > , &cbRecipientInfoLen)) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:31: error: > >> > 'CMSG_ENVELOPE_ALGOR > >> > ITHM_PARAM' was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, > NULL, > >> > &cekAlgLe > >> > n)) > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:298:81: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, > NULL, > >> > &cekAlgLe > >> > n)) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:31: error: > >> > 'CMSG_ENVELOPE_ALGOR > >> > ITHM_PARAM' was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, > cekAlg, > >> > &cekAlg > >> > Len)) > >> > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:304:83: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_ENVELOPE_ALGORITHM_PARAM, 0, > cekAlg, > >> > &cekAlg > >> > Len)) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:31: error: > >> > 'CMSG_CONTENT_PARAM' > >> > was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, > &bareContentLen)) > >> > ^~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:341:75: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, NULL, > &bareContentLen)) > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:31: error: > >> > 'CMSG_CONTENT_PARAM' > >> > was not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, > >> > &bareContentL > >> > en)) > >> > ^~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:347:82: error: > >> > 'CryptMsgGetParam' w > >> > as not declared in this scope > >> > if(! CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, bareContent, > >> > &bareContentL > >> > en)) > >> > > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:370:33: error: > 'CryptMsgClose' > >> > was > >> > not declared in this scope > >> > if (hMsg) CryptMsgClose(hMsg); > >> > ^ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:9: error: > 'recipientInfo' > >> > was n > >> > ot declared in this scope > >> > if (recipientInfo) delete[] recipientInfo; > >> > ^~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:371:33: error: > type ' >> > error>' > >> > argument given to 'delete', expected pointer > >> > if (recipientInfo) delete[] recipientInfo; > >> > ^~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx: In member > function 'bool > >> > gdcm::CAP > >> > ICryptographicMessageSyntax::Initialize()': > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:426:43: error: > >> > 'MS_ENH_RSA_AES_PROV > >> > ' was not declared in this scope > >> > if (!CryptAcquireContextA(&hProv, NULL, MS_ENH_RSA_AES_PROV, > PROV_RSA_AES, > >> > CR > >> > YPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in > cryptmsgcontrol not > >> > workin > >> > g > >> > ^~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:442:47: error: > >> > 'MS_ENH_RSA_AES_PROV > >> > _A' was not declared in this scope > >> > if (!CryptAcquireContextA(&hProv, NULL, > MS_ENH_RSA_AES_PROV_A" (Prototype > >> > )" /*"Microsoft Enhanced RSA and AES Cryptographic Provider > (Prototype)"*/, > >> > PROV > >> > _RSA_AES, CRYPT_VERIFYCONTEXT)) //CRYPT_VERIFYCONTEXT aes decr in > >> > cryptmsgcontro > >> > l not working > >> > ^~~~~~~~~~~~~~~~~~~~~ > >> > > D:\Libraries\InsightToolkit-4.11.1\src\Modules\ThirdParty\GDCM\src\gdcm\Source\C > >> > ommon\gdcmCAPICryptographicMessageSyntax.cxx:447:72: error: > expected ')' > >> > before > >> > string constant > >> > if (!CryptAcquireContextA(&hProv, NULL, > MS_ENH_RSA_AES_PROV_A" (Proto > >> > type)" /*"Microsoft Enhanced RSA and AES Cryptographic Provider > >> > (Prototype)"*/, > >> > PROV_RSA_AES, CRYPT_NEWKEYSET | CRYPT_VERIFYCONTEXT)) > >> > ^~~~~~~~ > >> > ~~~~~~ > >> > > Modules\ThirdParty\GDCM\src\gdcm\Source\Common\CMakeFiles\gdcmCommon.dir\build.m > >> > ake:787: recipe for target > >> > 'Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMake > >> > > Files/gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj' > failed > >> > mingw32-make[2]: *** > >> > [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ > >> > gdcmCommon.dir/gdcmCAPICryptographicMessageSyntax.cxx.obj] > Error 1 > >> > CMakeFiles\Makefile2:6027: recipe for target > >> > 'Modules/ThirdParty/GDCM/src/gdcm/S > >> > ource/Common/CMakeFiles/gdcmCommon.dir/all' failed > >> > mingw32-make[1]: *** > >> > [Modules/ThirdParty/GDCM/src/gdcm/Source/Common/CMakeFiles/ > >> > gdcmCommon.dir/all] Error 2 > >> > Makefile:150: recipe for target 'all' failed > >> > mingw32-make: *** [all] Error 2 > >> > > >> > > >> > The ITK community is transitioning from this mailing list to > >> > discourse.itk.org . Please join us > there! > >> > ________________________________ > >> > Powered by www.kitware.com > >> > > >> > Visit other Kitware open-source projects at > >> > http://www.kitware.com/opensource/opensource.html > > >> > > >> > Kitware offers ITK Training Courses, for more information visit: > >> > http://www.kitware.com/products/protraining.php > > >> > > >> > Please keep messages on-topic and check the ITK FAQ at: > >> > http://www.itk.org/Wiki/ITK_FAQ > >> > > >> > Follow this link to subscribe/unsubscribe: > >> > http://public.kitware.com/mailman/listinfo/insight-users > > >> > > >> > The ITK community is transitioning from this mailing list to > discourse.itk.org . Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > > > > > > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 fredrik.hellman at gmail.com Tue Oct 17 10:35:27 2017 From: fredrik.hellman at gmail.com (hellman) Date: Tue, 17 Oct 2017 07:35:27 -0700 (MST) Subject: [ITK] [ITK-users] OtsuMultipleThresholdsImageFilter creates asymmetric classes for symmetric a distribution Message-ID: <1508250927950-0.post@n7.nabble.com> Hi all, I am planning to use OtsuMultipleThresholdsImageFilter to segment an image into a number of classes. I started by testing it for a small image with only a single threshold to see that I understand how it works. The results surprise me though. I create a 1D-image with four pixels: 1000, 2000, 3000 and 4000. Computing a threshold to split this distribution into two classes of maximum between-class variance should give a threshold between 2000 and 3000. However, OtsuMultipleThresholdsImageFilter gives me a value 1996.17, which puts 1000 in one class and 2000, 3000, 4000 in the other class. This does not give the smallest between-class variance. The code that I tried can be found below. Do I misunderstand how this filter should work or is there a bug in its implementation? Running the following code with ITK 4.12.0 and ITK 4.12.2 prints 1996.17: #include typedef itk::Image ImageType; typedef itk::Image LabelImageType; int main(int argc, char *argv[]) { typename ImageType::Pointer input = ImageType::New(); ImageType::RegionType region; region.GetModifiableSize()[0] = 4; input->SetRegions(region); input->Allocate(); ImageType::IndexType index; index[0] = 0; input->SetPixel(index, 1000); index[0] = 1; input->SetPixel(index, 2000); index[0] = 2; input->SetPixel(index, 3000); index[0] = 3; input->SetPixel(index, 4000); auto otsuFilter = itk::OtsuMultipleThresholdsImageFilter::New(); otsuFilter->SetInput(input); otsuFilter->SetNumberOfHistogramBins(128); otsuFilter->SetNumberOfThresholds(1); otsuFilter->Update(); std::cout << otsuFilter->GetThresholds()[0] << std::endl; return 0; } Best wishes, Fredrik Hellman -- Sent from: http://itk-users.7.n7.nabble.com/ The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Tue Oct 17 11:15:10 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Tue, 17 Oct 2017 11:15:10 -0400 Subject: [ITK] [ITK-users] OtsuMultipleThresholdsImageFilter creates asymmetric classes for symmetric a distribution In-Reply-To: <1508250927950-0.post@n7.nabble.com> References: <1508250927950-0.post@n7.nabble.com> Message-ID: Hi Frederik, what happens if you set number of histogram bins to 129 or 127? Regards, D?enan On Tue, Oct 17, 2017 at 10:35 AM, hellman wrote: > Hi all, > > I am planning to use OtsuMultipleThresholdsImageFilter to segment an image > into a number of classes. I started by testing it for a small image with > only a single threshold to see that I understand how it works. The results > surprise me though. > > I create a 1D-image with four pixels: 1000, 2000, 3000 and 4000. Computing > a > threshold to split this distribution into two classes of maximum > between-class variance should give a threshold between 2000 and 3000. > However, OtsuMultipleThresholdsImageFilter gives me a value 1996.17, which > puts 1000 in one class and 2000, 3000, 4000 in the other class. This does > not give the smallest between-class variance. > > The code that I tried can be found below. Do I misunderstand how this > filter > should work or is there a bug in its implementation? > > Running the following code with ITK 4.12.0 and ITK 4.12.2 prints 1996.17: > > #include > > typedef itk::Image ImageType; > typedef itk::Image LabelImageType; > > int main(int argc, char *argv[]) > { > typename ImageType::Pointer input = ImageType::New(); > > ImageType::RegionType region; > region.GetModifiableSize()[0] = 4; > input->SetRegions(region); > input->Allocate(); > > ImageType::IndexType index; > index[0] = 0; > input->SetPixel(index, 1000); > index[0] = 1; > input->SetPixel(index, 2000); > index[0] = 2; > input->SetPixel(index, 3000); > index[0] = 3; > input->SetPixel(index, 4000); > > auto otsuFilter = itk::OtsuMultipleThresholdsImageFilter LabelImageType>::New(); > otsuFilter->SetInput(input); > otsuFilter->SetNumberOfHistogramBins(128); > otsuFilter->SetNumberOfThresholds(1); > otsuFilter->Update(); > > std::cout << otsuFilter->GetThresholds()[0] << std::endl; > > return 0; > } > > Best wishes, > Fredrik Hellman > > > > -- > Sent from: http://itk-users.7.n7.nabble.com/ > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 fredrik.hellman at gmail.com Wed Oct 18 03:03:12 2017 From: fredrik.hellman at gmail.com (hellman) Date: Wed, 18 Oct 2017 00:03:12 -0700 (MST) Subject: [ITK] [ITK-users] OtsuMultipleThresholdsImageFilter creates asymmetric classes for symmetric a distribution In-Reply-To: References: <1508250927950-0.post@n7.nabble.com> Message-ID: <1508310192279-0.post@n7.nabble.com> Hi D?enan, With 127 bins I get: 2004.02 With 129 bins I get: 1988.45 Best wishes, Fredrik -- Sent from: http://itk-users.7.n7.nabble.com/ The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users From dzenanz at gmail.com Wed Oct 18 10:47:47 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Wed, 18 Oct 2017 10:47:47 -0400 Subject: [ITK] [ITK-users] OtsuMultipleThresholdsImageFilter creates asymmetric classes for symmetric a distribution In-Reply-To: <1508310192279-0.post@n7.nabble.com> References: <1508250927950-0.post@n7.nabble.com> <1508310192279-0.post@n7.nabble.com> Message-ID: Hi Frederik, I agree that the threshold should be larger than 2000, and should not depend on whether the number of histogram bins is 127, 128 or 129 - with this many bins it really shouldn't matter. This example is simple enough that it would be worthwhile to step through the code of OtsuMultipleThresholdsCalculator to see why it doesn't produce the result we expect. This might lead to a bug fix. Will you do it Frederik? Or wait for Francois or me to get around to it? If you do, please report the findings on discourse , or submit a patch to Gerrit. Regards, D?enan On Wed, Oct 18, 2017 at 3:03 AM, hellman wrote: > Hi D?enan, > > With 127 bins I get: 2004.02 > > With 129 bins I get: 1988.45 > > Best wishes, > Fredrik > > > > -- > Sent from: http://itk-users.7.n7.nabble.com/ > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users From matt.mccormick at kitware.com Wed Oct 18 11:01:55 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 18 Oct 2017 11:01:55 -0400 Subject: [ITK] [ITK-users] OtsuMultipleThresholdsImageFilter creates asymmetric classes for symmetric a distribution In-Reply-To: References: <1508250927950-0.post@n7.nabble.com> <1508310192279-0.post@n7.nabble.com> Message-ID: Hi Frederik, Since this is a statistical method, it should be tested with more than four samples. Please try creating a distribution of values with hundreds of samples for each mode. Hope this helps, Matt On Wed, Oct 18, 2017 at 10:47 AM, D?enan Zuki? wrote: > Hi Frederik, > > I agree that the threshold should be larger than 2000, and should not depend > on whether the number of histogram bins is 127, 128 or 129 - with this many > bins it really shouldn't matter. > > This example is simple enough that it would be worthwhile to step through > the code of OtsuMultipleThresholdsCalculator to see why it doesn't produce > the result we expect. This might lead to a bug fix. > > Will you do it Frederik? Or wait for Francois or me to get around to it? If > you do, please report the findings on discourse, or submit a patch to > Gerrit. > > Regards, > D?enan > > On Wed, Oct 18, 2017 at 3:03 AM, hellman wrote: >> >> Hi D?enan, >> >> With 127 bins I get: 2004.02 >> >> With 129 bins I get: 1988.45 >> >> Best wishes, >> Fredrik >> >> >> >> -- >> Sent from: http://itk-users.7.n7.nabble.com/ >> The ITK community is transitioning from this mailing list to >> discourse.itk.org. Please join us there! >> ________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users > > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 fredrik.hellman at gmail.com Wed Oct 18 11:04:23 2017 From: fredrik.hellman at gmail.com (Fredrik Hellman) Date: Wed, 18 Oct 2017 08:04:23 -0700 (MST) Subject: [ITK] [ITK-users] OtsuMultipleThresholdsImageFilter creates asymmetric classes for symmetric a distribution In-Reply-To: References: <1508250927950-0.post@n7.nabble.com> <1508310192279-0.post@n7.nabble.com> Message-ID: <1508339063601-0.post@n7.nabble.com> I can start taking a look and report in discourse (or submit a patch in gerrit if I find out how to do it). -- Sent from: http://itk-users.7.n7.nabble.com/ The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users From zhuangming.shen at sphic.org.cn Thu Oct 19 02:37:41 2017 From: zhuangming.shen at sphic.org.cn (=?gb2312?B?yfLXr8P3?=) Date: Thu, 19 Oct 2017 06:37:41 +0000 Subject: [ITK] [ITK-users] Python supported Image To Image Metric v4 Message-ID: <1508395060658.77770@sphic.org.cn> Hi all, I know itk::MattesMutualInformationImageToImageMetricv4 and itk::MeanSquaresImageToImageMetricv4 have been wrapped to python. How about others (e.g. itk::CorrelationImageToImageMetricv4, itk.DemonsImageToImageMetricv4, itk.JointHistogramMutualInformationImageToImageMetricv4) ? If not, could anyone please to wrap them to python? Thanks in advance. Regards, Zhuangming Shen -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users From dzenanz at gmail.com Thu Oct 19 09:01:11 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Thu, 19 Oct 2017 09:01:11 -0400 Subject: [ITK] [ITK-users] Python supported Image To Image Metric v4 In-Reply-To: <1508395060658.77770@sphic.org.cn> References: <1508395060658.77770@sphic.org.cn> Message-ID: Hi Shen, your request has higher chance of being heard on discourse . Can you please re-post it there? Regards, D?enan On Thu, Oct 19, 2017 at 2:37 AM, ??? wrote: > Hi all, > > > I know itk::MattesMutualInformationImageToImageMetricv4 and itk:: > MeanSquaresImageToImageMetricv4 have been wrapped to python. How about > others (e.g. itk::CorrelationImageToImageMetricv4, itk.DemonsImageToImageMetricv4, > itk.JointHistogramMutualInformationImageToImageMetricv4) ? If not, could > anyone please to wrap them to python? Thanks in advance. > > > > Regards, > > > Zhuangming Shen > > > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users From zhuangming.shen at sphic.org.cn Thu Oct 19 20:11:07 2017 From: zhuangming.shen at sphic.org.cn (=?utf-8?B?5rKI5bqE5piO?=) Date: Fri, 20 Oct 2017 00:11:07 +0000 Subject: [ITK] [ITK-users] Python supported Image To Image Metric v4 In-Reply-To: References: <1508395060658.77770@sphic.org.cn>, Message-ID: <1508458267855.82127@sphic.org.cn> ?Hi D?enan, I have re-posted it on discourse?. Regards, Zhuangming Shen ________________________________ From: D?enan Zuki? Sent: Thursday, October 19, 2017 9:01 PM To: ??? Cc: insight-users at itk.org Subject: Re: [ITK-users] Python supported Image To Image Metric v4 Hi Shen, your request has higher chance of being heard on discourse. Can you please re-post it there? Regards, D?enan On Thu, Oct 19, 2017 at 2:37 AM, ??? > wrote: Hi all, I know itk::MattesMutualInformationImageToImageMetricv4 and itk::MeanSquaresImageToImageMetricv4 have been wrapped to python. How about others (e.g. itk::CorrelationImageToImageMetricv4, itk.DemonsImageToImageMetricv4, itk.JointHistogramMutualInformationImageToImageMetricv4) ? If not, could anyone please to wrap them to python? Thanks in advance. Regards, Zhuangming Shen The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 enslay at gmail.com Fri Oct 20 11:01:49 2017 From: enslay at gmail.com (Nathan Lay) Date: Fri, 20 Oct 2017 11:01:49 -0400 Subject: [ITK] [ITK-users] Using swig on external standalone libraries that use ITK Message-ID: Hello Insight-Users, I've studied the WrapITK CMake modules and an old wiki describing how to wrap external modules, but I've yet to see anything obvious about wrapping a standalone library that uses ITK. Since ITK is a toolkit used to build other applications and libraries, wrapping your library with swig and using it in concert with WrapITK seems pretty natural to me. Swig can wrap the library that uses ITK. But the Python types for the ITK data structures do not match those from the WrapITK Python module. I don't have any actual examples handy, but here's roughly what will generally happen: x = MyModule.vectorI2() x.resize(1) type(x[0]) itk::Index< 2 > y = itk.Index[2]() type(y) itkIndexPython.itkIndex2 x.push_back(y) Type mismatch error happens (itk::Index< 2 > const & expected) I also see that WrapITK generates a lot of new types/typedefs for every class in its Wrapping build folder. For example, I'm sure I'll never be able to use itk::Image::Pointer with itk.Image[itk.UC, 2]. The latter is comprised of 2 brand new standalone classes defined in itkImageSwigInterface.h... itkImageUC2 and itkImageUC2_Pointer. Swig's typedef reduction will never be able to match itk::Image::Pointer with those wrapped types even if I import the respective itkImage headers/interfaces. Heck, it can't even match the typedefs from itkIndexSwigInterface.h as it is. If I import the itkIndex.i or itkIndexSwigInterface.h and instantiate %template(vectorI2) std::vector; mysteriously it still reduces to itk::Index< 2 >. Is there anyway I can convince swig that the data types provided by the itk module are the same data types I'm using in MyModule without having to turn it into an ITK module outright? Best regards, Nathan Lay -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 20 13:28:27 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Fri, 20 Oct 2017 17:28:27 +0000 Subject: [ITK] [ITK-users] OtsuMultipleThresholdsImageFilter creates asymmetric classes for symmetric a distribution In-Reply-To: References: <1508250927950-0.post@n7.nabble.com> <1508310192279-0.post@n7.nabble.com> <1508339063601-0.post@n7.nabble.com> Message-ID: <6F33D2C6-B686-4367-B290-D29DE8C2F01A@mail.nih.gov> A large number of the automatic thresholding filters came from an Insight Journal contribution. The couple filters I check have a link to this paper for more information: http://www.insight-journal.org/browse/publication/811 I agree that it would be nice if each filter described the method used to compute the threshold. HTH, Brad From: "insight-users at itk.org" Reply-To: Mihail Isakov Date: Friday, October 20, 2017 at 11:33 AM To: "insight-users at itk.org" Subject: Re: [ITK-users] OtsuMultipleThresholdsImageFilter creates asymmetric classes for symmetric a distribution Hi, BTW, there are many interesting histogram-based threshold filters in ITK, but unfortunately there is no documentation in The ITK Software Guide Book (or didn't find it). PDF file from http://www.insight-journal.org/browse/publication/811 can shed some light. Filters are already in ITK. And most or all histogram-based threshold filters depend on Otsu filter, so changing it might require a extended testing. Regards, Mihail -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 rfrank at dominionsw.com Fri Oct 20 15:15:14 2017 From: rfrank at dominionsw.com (Richard Frank) Date: Fri, 20 Oct 2017 19:15:14 +0000 Subject: [ITK] [ITK-users] dynamic vs static linking on Windows Message-ID: We have a project that's been under development for a while, and a while back it was the case that on Windows (at least) ITK had to be statically linked because of something to do with VNL. We are revisiting this issue to decide whether we can dynamically link, and I wanted to see if there were any problems dynamically linking ITK on windows or if they were fixed and which version. Thanks ____________________________________ Rick Frank Dominion Software, Inc. 825 Beacon Street Newton, MA 02459 www.dominionsw.com The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 20 17:12:47 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Fri, 20 Oct 2017 17:12:47 -0400 Subject: [ITK] [ITK-users] Using swig on external standalone libraries that use ITK In-Reply-To: References: Message-ID: Hi Nathan, WrapITK has been integrated into ITKv4, and the infrastructure and documentation on wrapping your own ITK code has greatly improved. See: https://blog.kitware.com/python-packages-for-itk-modules/ https://itkpythonpackage.readthedocs.io/ For wrapping libraries that interact heavily with ITK types, this is preferred. If this is not possible, then coercing both the library data structures and ITK data structures into common Python data types is another option. For example, itk.Index can be converted to a Python list or tuple. itk.Image pixel buffers can be converted to NumPy arrays. If this functionality is added to the library code, it serves as a way to transmit data. Hope this helps, Matt On Fri, Oct 20, 2017 at 11:01 AM, Nathan Lay wrote: > Hello Insight-Users, > I've studied the WrapITK CMake modules and an old wiki describing how to > wrap external modules, but I've yet to see anything obvious about wrapping a > standalone library that uses ITK. Since ITK is a toolkit used to build other > applications and libraries, wrapping your library with swig and using it in > concert with WrapITK seems pretty natural to me. > > Swig can wrap the library that uses ITK. But the Python types for the ITK > data structures do not match those from the WrapITK Python module. > > I don't have any actual examples handy, but here's roughly what will > generally happen: > x = MyModule.vectorI2() > x.resize(1) > type(x[0]) > itk::Index< 2 > > > y = itk.Index[2]() > type(y) > itkIndexPython.itkIndex2 > > x.push_back(y) > Type mismatch error happens (itk::Index< 2 > const & expected) > > I also see that WrapITK generates a lot of new types/typedefs for every > class in its Wrapping build folder. For example, I'm sure I'll never be able > to use itk::Image::Pointer with itk.Image[itk.UC, 2]. The > latter is comprised of 2 brand new standalone classes defined in > itkImageSwigInterface.h... itkImageUC2 and itkImageUC2_Pointer. Swig's > typedef reduction will never be able to match itk::Image::Pointer with > those wrapped types even if I import the respective itkImage > headers/interfaces. Heck, it can't even match the typedefs from > itkIndexSwigInterface.h as it is. If I import the itkIndex.i or > itkIndexSwigInterface.h and instantiate > > %template(vectorI2) std::vector; > > mysteriously it still reduces to itk::Index< 2 >. > > Is there anyway I can convince swig that the data types provided by the itk > module are the same data types I'm using in MyModule without having to turn > it into an ITK module outright? > > Best regards, > Nathan Lay > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 20 17:20:51 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Fri, 20 Oct 2017 17:20:51 -0400 Subject: [ITK] [ITK-users] dynamic vs static linking on Windows In-Reply-To: References: Message-ID: Hi Rick, the way I remember, ITK had worked as either static or dynamic libraries for years. Can you give DLLs another try and report any problems you encounter at discourse ? Regards, D?enan On Fri, Oct 20, 2017 at 3:15 PM, Richard Frank wrote: > > We have a project that's been under development for a while, and a while > back > it was the case that on Windows (at least) ITK had to be statically linked > because of something to do with VNL. > > We are revisiting this issue to decide whether we can dynamically link, > and I wanted to see if there were any problems > dynamically linking ITK on windows or if they were fixed and which version. > > Thanks > ____________________________________ > Rick Frank > Dominion Software, Inc. > 825 Beacon Street > Newton, MA 02459 > www.dominionsw.com > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 rfrank at dominionsw.com Fri Oct 20 19:53:34 2017 From: rfrank at dominionsw.com (Richard Frank) Date: Fri, 20 Oct 2017 23:53:34 +0000 Subject: [ITK] [ITK-users] dynamic vs static linking on Windows In-Reply-To: References: Message-ID: We won?t get to it for a while, but I will when we do. Perhaps it was a bug in Visual Studio at one time. Thanks Rick From: D?enan Zuki? [mailto:dzenanz at gmail.com] Sent: Friday, October 20, 2017 5:21 PM To: Richard Frank Cc: insight-users at itk.org Subject: Re: [ITK-users] dynamic vs static linking on Windows Hi Rick, the way I remember, ITK had worked as either static or dynamic libraries for years. Can you give DLLs another try and report any problems you encounter at discourse? Regards, D?enan On Fri, Oct 20, 2017 at 3:15 PM, Richard Frank > wrote: We have a project that's been under development for a while, and a while back it was the case that on Windows (at least) ITK had to be statically linked because of something to do with VNL. We are revisiting this issue to decide whether we can dynamically link, and I wanted to see if there were any problems dynamically linking ITK on windows or if they were fixed and which version. Thanks ____________________________________ Rick Frank Dominion Software, Inc. 825 Beacon Street Newton, MA 02459 www.dominionsw.com The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 g.bogle at auckland.ac.nz Sat Oct 21 00:08:19 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Sat, 21 Oct 2017 04:08:19 +0000 Subject: [ITK] [ITK-users] Big tiff file Message-ID: <1508558897706.81310@auckland.ac.nz> Hi, I am joining a stack of 2D tiffs into a 3D tiff, and have run into a problem with big files. When the uncompressed size of the 3D file is more than 2GB I get an error when I try to view it with Irfanview. At first I thought maybe I needed to upgrade from ITK4.8.0, but after installing and using ITK4.12.2 I see that I have the same issue. Irfanview says: "Invalid or unsupported TIF file" I now suspect that the problem is not ITK-related, rather it is a limitation of Irfanview. I have two questions: Is there a limit on the allowed size of a tiff file? Is there another program (preferably free) that can open for viewing tiff files bigger than 2GB? It is useful but not essential for me to be able to view these big 3D files. I will use ITK functions to process the 3D files, and I'm assuming that any file that ITK can create it can also read. Thanks Gib -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 21 11:40:08 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Sat, 21 Oct 2017 11:40:08 -0400 Subject: [ITK] [ITK-users] Big tiff file In-Reply-To: <1508558897706.81310@auckland.ac.nz> References: <1508558897706.81310@auckland.ac.nz> Message-ID: Hi Gib, TIFF is limited to 4GiB . Unless you must use TIFF, better switch to MetaImage or NRRD. Regards, D?enan On Sat, Oct 21, 2017 at 12:08 AM, Gib Bogle wrote: > Hi, > > > I am joining a stack of 2D tiffs into a 3D tiff, and have run into a > problem with big files. When the uncompressed size of the 3D file is more > than 2GB I get an error when I try to view it with Irfanview. At first I > thought maybe I needed to upgrade from ITK4.8.0, but after installing and > using ITK4.12.2 I see that I have the same issue. Irfanview says: > > "Invalid or unsupported TIF file" > > I now suspect that the problem is not ITK-related, rather it is a > limitation of Irfanview. > > I have two questions: > > > Is there a limit on the allowed size of a tiff file? > > Is there another program (preferably free) that can open for viewing tiff > files bigger than 2GB? > > > It is useful but not essential for me to be able to view these big 3D > files. I will use ITK functions to process the 3D files, and I'm assuming > that any file that ITK can create it can also read. > > > Thanks > > Gib > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users From matt.mccormick at kitware.com Sat Oct 21 11:48:17 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Sat, 21 Oct 2017 11:48:17 -0400 Subject: [ITK] [ITK-users] Big tiff file In-Reply-To: References: <1508558897706.81310@auckland.ac.nz> Message-ID: Hi, Since ITKv4, support for "BigTiff" was added, so ITK can support TIFF files larger than 4GB. One possible limitation may be the filesystem -- avoid FAT32 formatted filesystem that will run into size limits. The file could be viewed with a number of ITK-supported viewers, e.g. - 3D-Slicer: https://www.slicer.org/ - ITK-SNAP: http://www.itksnap.org/ - Tomviz: http://www.tomviz.org/ HTH, Matt On Sat, Oct 21, 2017 at 11:40 AM, D?enan Zuki? wrote: > Hi Gib, > > TIFF is limited to 4GiB. Unless you must use TIFF, better switch to > MetaImage or NRRD. > > Regards, > D?enan > > On Sat, Oct 21, 2017 at 12:08 AM, Gib Bogle wrote: >> >> Hi, >> >> >> I am joining a stack of 2D tiffs into a 3D tiff, and have run into a >> problem with big files. When the uncompressed size of the 3D file is more >> than 2GB I get an error when I try to view it with Irfanview. At first I >> thought maybe I needed to upgrade from ITK4.8.0, but after installing and >> using ITK4.12.2 I see that I have the same issue. Irfanview says: >> >> "Invalid or unsupported TIF file" >> >> I now suspect that the problem is not ITK-related, rather it is a >> limitation of Irfanview. >> >> I have two questions: >> >> >> Is there a limit on the allowed size of a tiff file? >> >> Is there another program (preferably free) that can open for viewing tiff >> files bigger than 2GB? >> >> >> It is useful but not essential for me to be able to view these big 3D >> files. I will use ITK functions to process the 3D files, and I'm assuming >> that any file that ITK can create it can also read. >> >> >> Thanks >> >> Gib >> >> >> The ITK community is transitioning from this mailing list to >> discourse.itk.org. Please join us there! >> ________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 g.bogle at auckland.ac.nz Sat Oct 21 14:56:47 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Sat, 21 Oct 2017 18:56:47 +0000 Subject: [ITK] [ITK-users] Big tiff file In-Reply-To: References: <1508558897706.81310@auckland.ac.nz> , Message-ID: <1508612208241.20312@auckland.ac.nz> Thanks Matt. I'm still a bit confused. When I use my ITK code to create a TIFF file, is it always in BifTiff format, or is the BigTiff option only invoked when the file exceeds a certain size? I ask because Irfanview is happy with files that are less than 2GB, and it seems that Irfanview doesn't understand BigTiff. Is there a way to ask programmatically if the file to be created will use BigTiff? Cheers, Gib ________________________________________ From: Matt McCormick Sent: Sunday, 22 October 2017 4:48 a.m. To: D?enan Zuki? Cc: Gib Bogle; Insight-users Subject: Re: [ITK-users] Big tiff file Hi, Since ITKv4, support for "BigTiff" was added, so ITK can support TIFF files larger than 4GB. One possible limitation may be the filesystem -- avoid FAT32 formatted filesystem that will run into size limits. The file could be viewed with a number of ITK-supported viewers, e.g. - 3D-Slicer: https://www.slicer.org/ - ITK-SNAP: http://www.itksnap.org/ - Tomviz: http://www.tomviz.org/ HTH, Matt On Sat, Oct 21, 2017 at 11:40 AM, D?enan Zuki? wrote: > Hi Gib, > > TIFF is limited to 4GiB. Unless you must use TIFF, better switch to > MetaImage or NRRD. > > Regards, > D?enan > > On Sat, Oct 21, 2017 at 12:08 AM, Gib Bogle wrote: >> >> Hi, >> >> >> I am joining a stack of 2D tiffs into a 3D tiff, and have run into a >> problem with big files. When the uncompressed size of the 3D file is more >> than 2GB I get an error when I try to view it with Irfanview. At first I >> thought maybe I needed to upgrade from ITK4.8.0, but after installing and >> using ITK4.12.2 I see that I have the same issue. Irfanview says: >> >> "Invalid or unsupported TIF file" >> >> I now suspect that the problem is not ITK-related, rather it is a >> limitation of Irfanview. >> >> I have two questions: >> >> >> Is there a limit on the allowed size of a tiff file? >> >> Is there another program (preferably free) that can open for viewing tiff >> files bigger than 2GB? >> >> >> It is useful but not essential for me to be able to view these big 3D >> files. I will use ITK functions to process the 3D files, and I'm assuming >> that any file that ITK can create it can also read. >> >> >> Thanks >> >> Gib >> >> >> The ITK community is transitioning from this mailing list to >> discourse.itk.org. Please join us there! >> ________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 g.bogle at auckland.ac.nz Sat Oct 21 17:19:21 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Sat, 21 Oct 2017 21:19:21 +0000 Subject: [ITK] [ITK-users] Big tiff file In-Reply-To: References: <1508558897706.81310@auckland.ac.nz> , Message-ID: <1508620761483.76449@auckland.ac.nz> I just installed ITK-SNAP. Unfortunately it doesn't even recognise the format of an ITK-created TIFF file smaller than 2GB :(. This is a file that Irfanview can read (of course, only displaying it slice-by-slice.) Maybe ITK-SNAP doesn't like 3D TIFFs. ... The problem is more fundamental, it appears. ITK-SNAP can't recognise the format of one of my 2D TIFFs either. In fact, TIFF does not appear in the list of supported file formats. Back to the drawing board. ________________________________________ From: Matt McCormick Sent: Sunday, 22 October 2017 4:48 a.m. To: D?enan Zuki? Cc: Gib Bogle; Insight-users Subject: Re: [ITK-users] Big tiff file Hi, Since ITKv4, support for "BigTiff" was added, so ITK can support TIFF files larger than 4GB. One possible limitation may be the filesystem -- avoid FAT32 formatted filesystem that will run into size limits. The file could be viewed with a number of ITK-supported viewers, e.g. - 3D-Slicer: https://www.slicer.org/ - ITK-SNAP: http://www.itksnap.org/ - Tomviz: http://www.tomviz.org/ HTH, Matt On Sat, Oct 21, 2017 at 11:40 AM, D?enan Zuki? wrote: > Hi Gib, > > TIFF is limited to 4GiB. Unless you must use TIFF, better switch to > MetaImage or NRRD. > > Regards, > D?enan > > On Sat, Oct 21, 2017 at 12:08 AM, Gib Bogle wrote: >> >> Hi, >> >> >> I am joining a stack of 2D tiffs into a 3D tiff, and have run into a >> problem with big files. When the uncompressed size of the 3D file is more >> than 2GB I get an error when I try to view it with Irfanview. At first I >> thought maybe I needed to upgrade from ITK4.8.0, but after installing and >> using ITK4.12.2 I see that I have the same issue. Irfanview says: >> >> "Invalid or unsupported TIF file" >> >> I now suspect that the problem is not ITK-related, rather it is a >> limitation of Irfanview. >> >> I have two questions: >> >> >> Is there a limit on the allowed size of a tiff file? >> >> Is there another program (preferably free) that can open for viewing tiff >> files bigger than 2GB? >> >> >> It is useful but not essential for me to be able to view these big 3D >> files. I will use ITK functions to process the 3D files, and I'm assuming >> that any file that ITK can create it can also read. >> >> >> Thanks >> >> Gib >> >> >> The ITK community is transitioning from this mailing list to >> discourse.itk.org. Please join us there! >> ________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 g.bogle at auckland.ac.nz Sat Oct 21 20:39:37 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Sun, 22 Oct 2017 00:39:37 +0000 Subject: [ITK] [ITK-users] Big tiff file In-Reply-To: References: <1508558897706.81310@auckland.ac.nz> , Message-ID: <1508632777939.43179@auckland.ac.nz> I've managed to find the answer to one of my questions, by looking at the file header values. A TIFF file less than 2GB has these 4 header bytes: 49 49 2A 00 and over 2GB (BigTIFF) has 49 49 2B 00 ITK handles this automatically. I can view the big TIFFs with Fiji (ImageJ), so this is not a bad option for displaying the slices. What I like about Irfanview is that it's very light-weight. ImageJ loads the whole file into memory, which can take some time, while Irfanview loads one slice at a time. I am not keen about Slicer - it is a real heavy-weight - and Tomviz is very specialised, designed for viewing tomography data, i.e. images in a tilt series. ________________________________________ From: Matt McCormick Sent: Sunday, 22 October 2017 4:48 a.m. To: D?enan Zuki? Cc: Gib Bogle; Insight-users Subject: Re: [ITK-users] Big tiff file Hi, Since ITKv4, support for "BigTiff" was added, so ITK can support TIFF files larger than 4GB. One possible limitation may be the filesystem -- avoid FAT32 formatted filesystem that will run into size limits. The file could be viewed with a number of ITK-supported viewers, e.g. - 3D-Slicer: https://www.slicer.org/ - ITK-SNAP: http://www.itksnap.org/ - Tomviz: http://www.tomviz.org/ HTH, Matt On Sat, Oct 21, 2017 at 11:40 AM, D?enan Zuki? wrote: > Hi Gib, > > TIFF is limited to 4GiB. Unless you must use TIFF, better switch to > MetaImage or NRRD. > > Regards, > D?enan > > On Sat, Oct 21, 2017 at 12:08 AM, Gib Bogle wrote: >> >> Hi, >> >> >> I am joining a stack of 2D tiffs into a 3D tiff, and have run into a >> problem with big files. When the uncompressed size of the 3D file is more >> than 2GB I get an error when I try to view it with Irfanview. At first I >> thought maybe I needed to upgrade from ITK4.8.0, but after installing and >> using ITK4.12.2 I see that I have the same issue. Irfanview says: >> >> "Invalid or unsupported TIF file" >> >> I now suspect that the problem is not ITK-related, rather it is a >> limitation of Irfanview. >> >> I have two questions: >> >> >> Is there a limit on the allowed size of a tiff file? >> >> Is there another program (preferably free) that can open for viewing tiff >> files bigger than 2GB? >> >> >> It is useful but not essential for me to be able to view these big 3D >> files. I will use ITK functions to process the 3D files, and I'm assuming >> that any file that ITK can create it can also read. >> >> >> Thanks >> >> Gib >> >> >> The ITK community is transitioning from this mailing list to >> discourse.itk.org. Please join us there! >> ________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Sun Oct 22 14:41:12 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Sun, 22 Oct 2017 14:41:12 -0400 Subject: [ITK] [ITK-users] Big tiff file In-Reply-To: <1508632777939.43179@auckland.ac.nz> References: <1508558897706.81310@auckland.ac.nz> <1508632777939.43179@auckland.ac.nz> Message-ID: Thanks for the follow-up, Gib. On Sat, Oct 21, 2017 at 8:39 PM, Gib Bogle wrote: > I've managed to find the answer to one of my questions, by looking at the file header values. A TIFF file less than 2GB has these 4 header bytes: > 49 49 2A 00 > and over 2GB (BigTIFF) has > 49 49 2B 00 > ITK handles this automatically. > > I can view the big TIFFs with Fiji (ImageJ), so this is not a bad option for displaying the slices. What I like about Irfanview is that it's very light-weight. ImageJ loads the whole file into memory, which can take some time, while Irfanview loads one slice at a time. > > I am not keen about Slicer - it is a real heavy-weight - and Tomviz is very specialised, designed for viewing tomography data, i.e. images in a tilt series. > ________________________________________ > From: Matt McCormick > Sent: Sunday, 22 October 2017 4:48 a.m. > To: D?enan Zuki? > Cc: Gib Bogle; Insight-users > Subject: Re: [ITK-users] Big tiff file > > Hi, > > Since ITKv4, support for "BigTiff" was added, so ITK can support TIFF > files larger than 4GB. > > One possible limitation may be the filesystem -- avoid FAT32 formatted > filesystem that will run into size limits. > > The file could be viewed with a number of ITK-supported viewers, e.g. > > - 3D-Slicer: https://www.slicer.org/ > - ITK-SNAP: http://www.itksnap.org/ > - Tomviz: http://www.tomviz.org/ > > HTH, > Matt > > On Sat, Oct 21, 2017 at 11:40 AM, D?enan Zuki? wrote: >> Hi Gib, >> >> TIFF is limited to 4GiB. Unless you must use TIFF, better switch to >> MetaImage or NRRD. >> >> Regards, >> D?enan >> >> On Sat, Oct 21, 2017 at 12:08 AM, Gib Bogle wrote: >>> >>> Hi, >>> >>> >>> I am joining a stack of 2D tiffs into a 3D tiff, and have run into a >>> problem with big files. When the uncompressed size of the 3D file is more >>> than 2GB I get an error when I try to view it with Irfanview. At first I >>> thought maybe I needed to upgrade from ITK4.8.0, but after installing and >>> using ITK4.12.2 I see that I have the same issue. Irfanview says: >>> >>> "Invalid or unsupported TIF file" >>> >>> I now suspect that the problem is not ITK-related, rather it is a >>> limitation of Irfanview. >>> >>> I have two questions: >>> >>> >>> Is there a limit on the allowed size of a tiff file? >>> >>> Is there another program (preferably free) that can open for viewing tiff >>> files bigger than 2GB? >>> >>> >>> It is useful but not essential for me to be able to view these big 3D >>> files. I will use ITK functions to process the 3D files, and I'm assuming >>> that any file that ITK can create it can also read. >>> >>> >>> Thanks >>> >>> Gib >>> >>> >>> The ITK community is transitioning from this mailing list to >>> discourse.itk.org. Please join us there! >>> ________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.php >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/insight-users >>> >> >> >> The ITK community is transitioning from this mailing list to >> discourse.itk.org. Please join us there! >> ________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 g.bogle at auckland.ac.nz Sun Oct 22 14:55:16 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Sun, 22 Oct 2017 18:55:16 +0000 Subject: [ITK] [ITK-users] Big tiff file In-Reply-To: References: <1508558897706.81310@auckland.ac.nz> <1508632777939.43179@auckland.ac.nz>, Message-ID: <1508698517562.62461@auckland.ac.nz> About ITKsnap, Richard made me aware that although it is not possible to open a TIFF from the GUI (TIFF is not in the list of supported formats shown there), it can be opened from the command line: > itksnap zzz.tif which is very odd. ________________________________________ From: Matt McCormick Sent: Monday, 23 October 2017 7:41 a.m. To: Gib Bogle Cc: D?enan Zuki?; Insight-users Subject: Re: [ITK-users] Big tiff file Thanks for the follow-up, Gib. On Sat, Oct 21, 2017 at 8:39 PM, Gib Bogle wrote: > I've managed to find the answer to one of my questions, by looking at the file header values. A TIFF file less than 2GB has these 4 header bytes: > 49 49 2A 00 > and over 2GB (BigTIFF) has > 49 49 2B 00 > ITK handles this automatically. > > I can view the big TIFFs with Fiji (ImageJ), so this is not a bad option for displaying the slices. What I like about Irfanview is that it's very light-weight. ImageJ loads the whole file into memory, which can take some time, while Irfanview loads one slice at a time. > > I am not keen about Slicer - it is a real heavy-weight - and Tomviz is very specialised, designed for viewing tomography data, i.e. images in a tilt series. > ________________________________________ > From: Matt McCormick > Sent: Sunday, 22 October 2017 4:48 a.m. > To: D?enan Zuki? > Cc: Gib Bogle; Insight-users > Subject: Re: [ITK-users] Big tiff file > > Hi, > > Since ITKv4, support for "BigTiff" was added, so ITK can support TIFF > files larger than 4GB. > > One possible limitation may be the filesystem -- avoid FAT32 formatted > filesystem that will run into size limits. > > The file could be viewed with a number of ITK-supported viewers, e.g. > > - 3D-Slicer: https://www.slicer.org/ > - ITK-SNAP: http://www.itksnap.org/ > - Tomviz: http://www.tomviz.org/ > > HTH, > Matt > > On Sat, Oct 21, 2017 at 11:40 AM, D?enan Zuki? wrote: >> Hi Gib, >> >> TIFF is limited to 4GiB. Unless you must use TIFF, better switch to >> MetaImage or NRRD. >> >> Regards, >> D?enan >> >> On Sat, Oct 21, 2017 at 12:08 AM, Gib Bogle wrote: >>> >>> Hi, >>> >>> >>> I am joining a stack of 2D tiffs into a 3D tiff, and have run into a >>> problem with big files. When the uncompressed size of the 3D file is more >>> than 2GB I get an error when I try to view it with Irfanview. At first I >>> thought maybe I needed to upgrade from ITK4.8.0, but after installing and >>> using ITK4.12.2 I see that I have the same issue. Irfanview says: >>> >>> "Invalid or unsupported TIF file" >>> >>> I now suspect that the problem is not ITK-related, rather it is a >>> limitation of Irfanview. >>> >>> I have two questions: >>> >>> >>> Is there a limit on the allowed size of a tiff file? >>> >>> Is there another program (preferably free) that can open for viewing tiff >>> files bigger than 2GB? >>> >>> >>> It is useful but not essential for me to be able to view these big 3D >>> files. I will use ITK functions to process the 3D files, and I'm assuming >>> that any file that ITK can create it can also read. >>> >>> >>> Thanks >>> >>> Gib >>> >>> >>> The ITK community is transitioning from this mailing list to >>> discourse.itk.org. Please join us there! >>> ________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Kitware offers ITK Training Courses, for more information visit: >>> http://www.kitware.com/products/protraining.php >>> >>> Please keep messages on-topic and check the ITK FAQ at: >>> http://www.itk.org/Wiki/ITK_FAQ >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/insight-users >>> >> >> >> The ITK community is transitioning from this mailing list to >> discourse.itk.org. Please join us there! >> ________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Sun Oct 22 15:14:03 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Sun, 22 Oct 2017 15:14:03 -0400 Subject: [ITK] [ITK-users] Big tiff file In-Reply-To: <1508698517562.62461@auckland.ac.nz> References: <1508558897706.81310@auckland.ac.nz> <1508632777939.43179@auckland.ac.nz> <1508698517562.62461@auckland.ac.nz> Message-ID: I guess each format needs additional code in the UI, but reading the file via ITK is almost the same for non-DICOM formats. On Sun, Oct 22, 2017 at 2:55 PM, Gib Bogle wrote: > About ITKsnap, Richard made me aware that although it is not possible to > open a TIFF from the GUI (TIFF is not in the list of supported formats > shown there), it can be opened from the command line: > > itksnap zzz.tif > which is very odd. > ________________________________________ > From: Matt McCormick > Sent: Monday, 23 October 2017 7:41 a.m. > To: Gib Bogle > Cc: D?enan Zuki?; Insight-users > Subject: Re: [ITK-users] Big tiff file > > Thanks for the follow-up, Gib. > > On Sat, Oct 21, 2017 at 8:39 PM, Gib Bogle wrote: > > I've managed to find the answer to one of my questions, by looking at > the file header values. A TIFF file less than 2GB has these 4 header bytes: > > 49 49 2A 00 > > and over 2GB (BigTIFF) has > > 49 49 2B 00 > > ITK handles this automatically. > > > > I can view the big TIFFs with Fiji (ImageJ), so this is not a bad option > for displaying the slices. What I like about Irfanview is that it's very > light-weight. ImageJ loads the whole file into memory, which can take some > time, while Irfanview loads one slice at a time. > > > > I am not keen about Slicer - it is a real heavy-weight - and Tomviz is > very specialised, designed for viewing tomography data, i.e. images in a > tilt series. > > ________________________________________ > > From: Matt McCormick > > Sent: Sunday, 22 October 2017 4:48 a.m. > > To: D?enan Zuki? > > Cc: Gib Bogle; Insight-users > > Subject: Re: [ITK-users] Big tiff file > > > > Hi, > > > > Since ITKv4, support for "BigTiff" was added, so ITK can support TIFF > > files larger than 4GB. > > > > One possible limitation may be the filesystem -- avoid FAT32 formatted > > filesystem that will run into size limits. > > > > The file could be viewed with a number of ITK-supported viewers, e.g. > > > > - 3D-Slicer: https://www.slicer.org/ > > - ITK-SNAP: http://www.itksnap.org/ > > - Tomviz: http://www.tomviz.org/ > > > > HTH, > > Matt > > > > On Sat, Oct 21, 2017 at 11:40 AM, D?enan Zuki? > wrote: > >> Hi Gib, > >> > >> TIFF is limited to 4GiB. Unless you must use TIFF, better switch to > >> MetaImage or NRRD. > >> > >> Regards, > >> D?enan > >> > >> On Sat, Oct 21, 2017 at 12:08 AM, Gib Bogle > wrote: > >>> > >>> Hi, > >>> > >>> > >>> I am joining a stack of 2D tiffs into a 3D tiff, and have run into a > >>> problem with big files. When the uncompressed size of the 3D file is > more > >>> than 2GB I get an error when I try to view it with Irfanview. At > first I > >>> thought maybe I needed to upgrade from ITK4.8.0, but after installing > and > >>> using ITK4.12.2 I see that I have the same issue. Irfanview says: > >>> > >>> "Invalid or unsupported TIF file" > >>> > >>> I now suspect that the problem is not ITK-related, rather it is a > >>> limitation of Irfanview. > >>> > >>> I have two questions: > >>> > >>> > >>> Is there a limit on the allowed size of a tiff file? > >>> > >>> Is there another program (preferably free) that can open for viewing > tiff > >>> files bigger than 2GB? > >>> > >>> > >>> It is useful but not essential for me to be able to view these big 3D > >>> files. I will use ITK functions to process the 3D files, and I'm > assuming > >>> that any file that ITK can create it can also read. > >>> > >>> > >>> Thanks > >>> > >>> Gib > >>> > >>> > >>> The ITK community is transitioning from this mailing list to > >>> discourse.itk.org. Please join us there! > >>> ________________________________ > >>> Powered by www.kitware.com > >>> > >>> Visit other Kitware open-source projects at > >>> http://www.kitware.com/opensource/opensource.html > >>> > >>> Kitware offers ITK Training Courses, for more information visit: > >>> http://www.kitware.com/products/protraining.php > >>> > >>> Please keep messages on-topic and check the ITK FAQ at: > >>> http://www.itk.org/Wiki/ITK_FAQ > >>> > >>> Follow this link to subscribe/unsubscribe: > >>> http://public.kitware.com/mailman/listinfo/insight-users > >>> > >> > >> > >> The ITK community is transitioning from this mailing list to > >> discourse.itk.org. Please join us there! > >> ________________________________ > >> Powered by www.kitware.com > >> > >> Visit other Kitware open-source projects at > >> http://www.kitware.com/opensource/opensource.html > >> > >> Kitware offers ITK Training Courses, for more information visit: > >> http://www.kitware.com/products/protraining.php > >> > >> Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 23 09:15:51 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Mon, 23 Oct 2017 13:15:51 +0000 Subject: [ITK] [ITK-users] Big tiff file In-Reply-To: <1508632777939.43179@auckland.ac.nz> References: <1508558897706.81310@auckland.ac.nz> <1508632777939.43179@auckland.ac.nz> Message-ID: <188E8D3B-88AB-4CC3-93B4-6169B06A77D6@mail.nih.gov> Hello, You have correctly figured this out. Technically the regular tiff format can support up to 4GB, but in ITK we made the determination to switch to the BigTiff format at 2GB [1]. This is does to ensure that we can properly do signed integer arithmetic for the file format. I have also used ImageJ/FIJI and a program call IMOD [2] (another electron microscopy viewer) for viewing these big tiff files. HTH, Brad [1] https://github.com/InsightSoftwareConsortium/ITK/blob/4456e0431b0d35f55eb1eadc5ca8a7c3fe2c8af9/Modules/IO/TIFF/src/itkTIFFImageIO.cxx#L595 [2] http://bio3d.colorado.edu/imod/ On 10/21/17, 8:40 PM, "Gib Bogle" wrote: I've managed to find the answer to one of my questions, by looking at the file header values. A TIFF file less than 2GB has these 4 header bytes: 49 49 2A 00 and over 2GB (BigTIFF) has 49 49 2B 00 ITK handles this automatically. I can view the big TIFFs with Fiji (ImageJ), so this is not a bad option for displaying the slices. What I like about Irfanview is that it's very light-weight. ImageJ loads the whole file into memory, which can take some time, while Irfanview loads one slice at a time. I am not keen about Slicer - it is a real heavy-weight - and Tomviz is very specialised, designed for viewing tomography data, i.e. images in a tilt series. ________________________________________ From: Matt McCormick Sent: Sunday, 22 October 2017 4:48 a.m. To: D?enan Zuki? Cc: Gib Bogle; Insight-users Subject: Re: [ITK-users] Big tiff file Hi, Since ITKv4, support for "BigTiff" was added, so ITK can support TIFF files larger than 4GB. One possible limitation may be the filesystem -- avoid FAT32 formatted filesystem that will run into size limits. The file could be viewed with a number of ITK-supported viewers, e.g. - 3D-Slicer: https://www.slicer.org/ - ITK-SNAP: http://www.itksnap.org/ - Tomviz: http://www.tomviz.org/ HTH, Matt On Sat, Oct 21, 2017 at 11:40 AM, D?enan Zuki? wrote: > Hi Gib, > > TIFF is limited to 4GiB. Unless you must use TIFF, better switch to > MetaImage or NRRD. > > Regards, > D?enan > > On Sat, Oct 21, 2017 at 12:08 AM, Gib Bogle wrote: >> >> Hi, >> >> >> I am joining a stack of 2D tiffs into a 3D tiff, and have run into a >> problem with big files. When the uncompressed size of the 3D file is more >> than 2GB I get an error when I try to view it with Irfanview. At first I >> thought maybe I needed to upgrade from ITK4.8.0, but after installing and >> using ITK4.12.2 I see that I have the same issue. Irfanview says: >> >> "Invalid or unsupported TIF file" >> >> I now suspect that the problem is not ITK-related, rather it is a >> limitation of Irfanview. >> >> I have two questions: >> >> >> Is there a limit on the allowed size of a tiff file? >> >> Is there another program (preferably free) that can open for viewing tiff >> files bigger than 2GB? >> >> >> It is useful but not essential for me to be able to view these big 3D >> files. I will use ITK functions to process the 3D files, and I'm assuming >> that any file that ITK can create it can also read. >> >> >> Thanks >> >> Gib >> >> >> The ITK community is transitioning from this mailing list to >> discourse.itk.org. Please join us there! >> ________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Kitware offers ITK Training Courses, for more information visit: >> http://www.kitware.com/products/protraining.php >> >> Please keep messages on-topic and check the ITK FAQ at: >> http://www.itk.org/Wiki/ITK_FAQ >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/insight-users >> > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-users > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 23 09:30:02 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 23 Oct 2017 09:30:02 -0400 Subject: [ITK] [ITK-users] Big tiff file In-Reply-To: <188E8D3B-88AB-4CC3-93B4-6169B06A77D6@mail.nih.gov> References: <1508558897706.81310@auckland.ac.nz> <1508632777939.43179@auckland.ac.nz> <188E8D3B-88AB-4CC3-93B4-6169B06A77D6@mail.nih.gov> Message-ID: Perhaps the condition should be greater or equal? Because the equal case already wraps around using signed arithmetic. On Mon, Oct 23, 2017 at 9:15 AM, Lowekamp, Bradley (NIH/NLM/LHC) [C] < blowekamp at mail.nih.gov> wrote: > Hello, > > You have correctly figured this out. Technically the regular tiff format > can support up to 4GB, but in ITK we made the determination to switch to > the BigTiff format at 2GB [1]. This is does to ensure that we can properly > do signed integer arithmetic for the file format. > > I have also used ImageJ/FIJI and a program call IMOD [2] (another electron > microscopy viewer) for viewing these big tiff files. > > HTH, > Brad > > [1] https://github.com/InsightSoftwareConsortium/ITK/blob/ > 4456e0431b0d35f55eb1eadc5ca8a7c3fe2c8af9/Modules/IO/TIFF/ > src/itkTIFFImageIO.cxx#L595 > [2] http://bio3d.colorado.edu/imod/ > > On 10/21/17, 8:40 PM, "Gib Bogle" wrote: > > I've managed to find the answer to one of my questions, by looking at > the file header values. A TIFF file less than 2GB has these 4 header bytes: > 49 49 2A 00 > and over 2GB (BigTIFF) has > 49 49 2B 00 > ITK handles this automatically. > > I can view the big TIFFs with Fiji (ImageJ), so this is not a bad > option for displaying the slices. What I like about Irfanview is that it's > very light-weight. ImageJ loads the whole file into memory, which can take > some time, while Irfanview loads one slice at a time. > > I am not keen about Slicer - it is a real heavy-weight - and Tomviz is > very specialised, designed for viewing tomography data, i.e. images in a > tilt series. > ________________________________________ > From: Matt McCormick > Sent: Sunday, 22 October 2017 4:48 a.m. > To: D?enan Zuki? > Cc: Gib Bogle; Insight-users > Subject: Re: [ITK-users] Big tiff file > > Hi, > > Since ITKv4, support for "BigTiff" was added, so ITK can support TIFF > files larger than 4GB. > > One possible limitation may be the filesystem -- avoid FAT32 formatted > filesystem that will run into size limits. > > The file could be viewed with a number of ITK-supported viewers, e.g. > > - 3D-Slicer: https://www.slicer.org/ > - ITK-SNAP: http://www.itksnap.org/ > - Tomviz: http://www.tomviz.org/ > > HTH, > Matt > > On Sat, Oct 21, 2017 at 11:40 AM, D?enan Zuki? > wrote: > > Hi Gib, > > > > TIFF is limited to 4GiB. Unless you must use TIFF, better switch to > > MetaImage or NRRD. > > > > Regards, > > D?enan > > > > On Sat, Oct 21, 2017 at 12:08 AM, Gib Bogle > wrote: > >> > >> Hi, > >> > >> > >> I am joining a stack of 2D tiffs into a 3D tiff, and have run into a > >> problem with big files. When the uncompressed size of the 3D file > is more > >> than 2GB I get an error when I try to view it with Irfanview. At > first I > >> thought maybe I needed to upgrade from ITK4.8.0, but after > installing and > >> using ITK4.12.2 I see that I have the same issue. Irfanview says: > >> > >> "Invalid or unsupported TIF file" > >> > >> I now suspect that the problem is not ITK-related, rather it is a > >> limitation of Irfanview. > >> > >> I have two questions: > >> > >> > >> Is there a limit on the allowed size of a tiff file? > >> > >> Is there another program (preferably free) that can open for > viewing tiff > >> files bigger than 2GB? > >> > >> > >> It is useful but not essential for me to be able to view these big > 3D > >> files. I will use ITK functions to process the 3D files, and I'm > assuming > >> that any file that ITK can create it can also read. > >> > >> > >> Thanks > >> > >> Gib > >> > >> > >> The ITK community is transitioning from this mailing list to > >> discourse.itk.org. Please join us there! > >> ________________________________ > >> Powered by www.kitware.com > >> > >> Visit other Kitware open-source projects at > >> http://www.kitware.com/opensource/opensource.html > >> > >> Kitware offers ITK Training Courses, for more information visit: > >> http://www.kitware.com/products/protraining.php > >> > >> Please keep messages on-topic and check the ITK FAQ at: > >> http://www.itk.org/Wiki/ITK_FAQ > >> > >> Follow this link to subscribe/unsubscribe: > >> http://public.kitware.com/mailman/listinfo/insight-users > >> > > > > > > The ITK community is transitioning from this mailing list to > > discourse.itk.org. Please join us there! > > ________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.php > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/insight-users > > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 enslay at gmail.com Mon Oct 23 09:37:40 2017 From: enslay at gmail.com (Nathan Lay) Date: Mon, 23 Oct 2017 09:37:40 -0400 Subject: [ITK] [ITK-users] Using swig on external standalone libraries that use ITK In-Reply-To: References: Message-ID: Hello Matt, It's been a while! Thanks for the prompt response. WrapITK is a pretty neat feature and I'm glad to see recent work to better document it. Currently I use the C++ documentation to get an idea how to use the Python version of the functionality. I like your suggested workarounds and I'll look into that. The Wrapping folder generated by WrapITK seems to have a lot of module/interface information about the WrapITK. Wouldn't it be possible to have something like numpy.i for ITK? Then you could do something as prescribed by Swig's documentation: %import(module="itk") "itk.i" And this supposedly helps Swig with tricky multi-module setups. I realize itk.i doesn't actually do anything currently except ignore some allocators in LightObject (I think). Some of these .i/.h files would have to be properly installed in share/include folders. Well, it doesn't resolve the issue where WrapITK generates brand new classes for some of the ITK data types. Out of curiosity, what is the rationale for generating brand new classes for, say, itk::Image or itk::Image::Pointer anyway? Best regards, Nathan Lay On Fri, Oct 20, 2017 at 5:12 PM, Matt McCormick wrote: > Hi Nathan, > > WrapITK has been integrated into ITKv4, and the infrastructure and > documentation on wrapping your own ITK code has greatly improved. See: > > https://blog.kitware.com/python-packages-for-itk-modules/ > https://itkpythonpackage.readthedocs.io/ > > For wrapping libraries that interact heavily with ITK types, this is > preferred. > > > If this is not possible, then coercing both the library data > structures and ITK data structures into common Python data types is > another option. For example, itk.Index can be converted to a Python > list or tuple. itk.Image pixel buffers can be converted to NumPy > arrays. If this functionality is added to the library code, it serves > as a way to transmit data. > > Hope this helps, > Matt > > On Fri, Oct 20, 2017 at 11:01 AM, Nathan Lay wrote: > > Hello Insight-Users, > > I've studied the WrapITK CMake modules and an old wiki describing how to > > wrap external modules, but I've yet to see anything obvious about > wrapping a > > standalone library that uses ITK. Since ITK is a toolkit used to build > other > > applications and libraries, wrapping your library with swig and using it > in > > concert with WrapITK seems pretty natural to me. > > > > Swig can wrap the library that uses ITK. But the Python types for the ITK > > data structures do not match those from the WrapITK Python module. > > > > I don't have any actual examples handy, but here's roughly what will > > generally happen: > > x = MyModule.vectorI2() > > x.resize(1) > > type(x[0]) > > itk::Index< 2 > > > > > y = itk.Index[2]() > > type(y) > > itkIndexPython.itkIndex2 > > > > x.push_back(y) > > Type mismatch error happens (itk::Index< 2 > const & expected) > > > > I also see that WrapITK generates a lot of new types/typedefs for every > > class in its Wrapping build folder. For example, I'm sure I'll never be > able > > to use itk::Image::Pointer with itk.Image[itk.UC, 2]. > The > > latter is comprised of 2 brand new standalone classes defined in > > itkImageSwigInterface.h... itkImageUC2 and itkImageUC2_Pointer. Swig's > > typedef reduction will never be able to match itk::Image::Pointer > with > > those wrapped types even if I import the respective itkImage > > headers/interfaces. Heck, it can't even match the typedefs from > > itkIndexSwigInterface.h as it is. If I import the itkIndex.i or > > itkIndexSwigInterface.h and instantiate > > > > %template(vectorI2) std::vector; > > > > mysteriously it still reduces to itk::Index< 2 >. > > > > Is there anyway I can convince swig that the data types provided by the > itk > > module are the same data types I'm using in MyModule without having to > turn > > it into an ITK module outright? > > > > Best regards, > > Nathan Lay > > > > The ITK community is transitioning from this mailing list to > > discourse.itk.org. Please join us there! > > ________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://www.kitware.com/products/protraining.php > > > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 23 11:50:17 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 23 Oct 2017 11:50:17 -0400 Subject: [ITK] [ITK-users] Using swig on external standalone libraries that use ITK In-Reply-To: References: Message-ID: Hello Nathan, > It's been a while! Welcome back :-) > Thanks for the prompt response. WrapITK is a pretty neat > feature and I'm glad to see recent work to better document it. Currently I > use the C++ documentation to get an idea how to use the Python version of > the functionality. I like your suggested workarounds and I'll look into > that. > > The Wrapping folder generated by WrapITK seems to have a lot of > module/interface information about the WrapITK. Wouldn't it be possible to > have something like numpy.i for ITK? Then you could do something as > prescribed by Swig's documentation: > > %import(module="itk") "itk.i" > > And this supposedly helps Swig with tricky multi-module setups. I realize > itk.i doesn't actually do anything currently except ignore some allocators > in LightObject (I think). Some of these .i/.h files would have to be > properly installed in share/include folders. Well, it doesn't resolve the > issue where WrapITK generates brand new classes for some of the ITK data > types. I don't think the current infrastructure is intended to be used in this way, but improvements here would be welcome. > Out of curiosity, what is the rationale for generating brand new classes > for, say, itk::Image or itk::Image::Pointer anyway? Part of the consideration here is that ITK uses itk::LightObject, itk::SmartPointer for memory management. Thanks, Matt The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 enslay at gmail.com Mon Oct 23 15:54:18 2017 From: enslay at gmail.com (Nathan Lay) Date: Mon, 23 Oct 2017 15:54:18 -0400 Subject: [ITK] [ITK-users] Using swig on external standalone libraries that use ITK In-Reply-To: References: Message-ID: Hello Matt, Thanks for the prompt response. I'm always using ITK even if I'm not vocal about! You may not remember, but you and I corresponded a bit about ITKIOOpenSlide work. With regard to providing necessary hints to Swig about foreign modules, would this be possible through SimpleITK? I looked at the Python folder for SimpleITK and I see a few predefined interface files https://github.com/InsightSoftwareConsortium/SimpleITK/tree/master/Wrapping/Python Any hopes for something like numpy.i here? %import(module="sitk") "SimpleITK.i" or %include "SimpleITK.i" You guys provide this beautiful CMake interface for external projects to use ITK as a C++ toolkit without the need to cram it into an ITK module. It would be nice if Swig had this capability too. But I guess the trickery ITK plays is hard to communicate between multiple modules on a number of different languages. I spent more time reading some of the interface files and I see some tricky %typemaps that deal with reference counting. I have a number of C++ snippets that use, for example, an itk::Point here or an itk::Image there and I can't wrap them with swig into Python modules. I probably have to change namespaces and coding conventions to make them into external ITK modules for wrapping purposes. Best regards, Nathan Lay On Mon, Oct 23, 2017 at 11:50 AM, Matt McCormick wrote: > Hello Nathan, > > > It's been a while! > > Welcome back :-) > > > > Thanks for the prompt response. WrapITK is a pretty neat > > feature and I'm glad to see recent work to better document it. Currently > I > > use the C++ documentation to get an idea how to use the Python version of > > the functionality. I like your suggested workarounds and I'll look into > > that. > > > > The Wrapping folder generated by WrapITK seems to have a lot of > > module/interface information about the WrapITK. Wouldn't it be possible > to > > have something like numpy.i for ITK? Then you could do something as > > prescribed by Swig's documentation: > > > > %import(module="itk") "itk.i" > > > > And this supposedly helps Swig with tricky multi-module setups. I realize > > itk.i doesn't actually do anything currently except ignore some > allocators > > in LightObject (I think). Some of these .i/.h files would have to be > > properly installed in share/include folders. Well, it doesn't resolve the > > issue where WrapITK generates brand new classes for some of the ITK data > > types. > > I don't think the current infrastructure is intended to be used in > this way, but improvements here would be welcome. > > > > Out of curiosity, what is the rationale for generating brand new classes > > for, say, itk::Image or itk::Image::Pointer anyway? > > Part of the consideration here is that ITK uses itk::LightObject, > itk::SmartPointer for memory management. > > > Thanks, > Matt > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 23 16:20:23 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 23 Oct 2017 16:20:23 -0400 Subject: [ITK] [ITK-users] Using swig on external standalone libraries that use ITK In-Reply-To: References: Message-ID: Hi Nathan, > Thanks for the prompt response. I'm always using ITK even if I'm not vocal > about! You may not remember, but you and I corresponded a bit about > ITKIOOpenSlide work. Yes! Are you interested in creating a Python package for that module? It looks like it is pretty good shape: https://github.com/InsightSoftwareConsortium/ITKIOOpenSlide I could guide you through the process. > With regard to providing necessary hints to Swig about foreign modules, > would this be possible through SimpleITK? I looked at the Python folder for > SimpleITK and I see a few predefined interface files > https://github.com/InsightSoftwareConsortium/SimpleITK/tree/master/Wrapping/Python > > Any hopes for something like numpy.i here? > %import(module="sitk") "SimpleITK.i" > or > %include "SimpleITK.i" These are not intended to be built against as far as I am aware, either. > You guys provide this beautiful CMake interface for external projects to use > ITK as a C++ toolkit without the need to cram it into an ITK module. It > would be nice if Swig had this capability too. But I guess the trickery ITK > plays is hard to communicate between multiple modules on a number of > different languages. I spent more time reading some of the interface files > and I see some tricky %typemaps that deal with reference counting. > > I have a number of C++ snippets that use, for example, an itk::Point here or > an itk::Image there and I can't wrap them with swig into Python modules. I > probably have to change namespaces and coding conventions to make them into > external ITK modules for wrapping purposes. It is important to keep in mind that itk::Point< ... > and itk::Image< ... > cannot be wrapped directly because they are templates -- the templates need an instantiation to result in an actual type that can be wrapped. Hopefully you will find that generating external modules is now low overhead. Best regards, Matt > > Best regards, > Nathan Lay > > On Mon, Oct 23, 2017 at 11:50 AM, Matt McCormick > wrote: >> >> Hello Nathan, >> >> > It's been a while! >> >> Welcome back :-) >> >> >> > Thanks for the prompt response. WrapITK is a pretty neat >> > feature and I'm glad to see recent work to better document it. Currently >> > I >> > use the C++ documentation to get an idea how to use the Python version >> > of >> > the functionality. I like your suggested workarounds and I'll look into >> > that. >> > >> > The Wrapping folder generated by WrapITK seems to have a lot of >> > module/interface information about the WrapITK. Wouldn't it be possible >> > to >> > have something like numpy.i for ITK? Then you could do something as >> > prescribed by Swig's documentation: >> > >> > %import(module="itk") "itk.i" >> > >> > And this supposedly helps Swig with tricky multi-module setups. I >> > realize >> > itk.i doesn't actually do anything currently except ignore some >> > allocators >> > in LightObject (I think). Some of these .i/.h files would have to be >> > properly installed in share/include folders. Well, it doesn't resolve >> > the >> > issue where WrapITK generates brand new classes for some of the ITK data >> > types. >> >> I don't think the current infrastructure is intended to be used in >> this way, but improvements here would be welcome. >> >> >> > Out of curiosity, what is the rationale for generating brand new classes >> > for, say, itk::Image or itk::Image::Pointer anyway? >> >> Part of the consideration here is that ITK uses itk::LightObject, >> itk::SmartPointer for memory management. >> >> >> Thanks, >> Matt > > The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 nil.goyette at imeka.ca Tue Oct 24 09:50:49 2017 From: nil.goyette at imeka.ca (Nil Goyette) Date: Tue, 24 Oct 2017 09:50:49 -0400 Subject: [ITK] Nifti, int64 and uint64 Message-ID: <4150ddd9-dca0-4f5e-d4b0-577f9e3471aa@imeka.ca> Hi all, I created an image using nibabel and I found that I can't open them with an itk-based tool. I found on this page [1] the supported datatypes of "Analyze" image. I was surprised by the absence of [unsigned] long long, aka int64 and uint64, mostly because the standard do support them. In the nifti1.h header #define DT_INT64??????????????? 1024???? /* long long (64 bits)????????? */ #define DT_UINT64?????????????? 1280???? /* unsigned long long (64 bits) */ I didn't found much on the internet telling me that ITK doesn't support them so I'm still unsure. Does ITK support those datatypes? Thank you. Nil Goyette [1] https://itk.org/Wiki/ITK/File_Formats From dzenanz at gmail.com Wed Oct 25 09:07:13 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Wed, 25 Oct 2017 09:07:13 -0400 Subject: [ITK] Nifti, int64 and uint64 In-Reply-To: <4150ddd9-dca0-4f5e-d4b0-577f9e3471aa@imeka.ca> References: <4150ddd9-dca0-4f5e-d4b0-577f9e3471aa@imeka.ca> Message-ID: Hi Nil, which ITK-based tool are you using? If it was compiled in 32-bits, that might be the reason for lack of support of 64-bit data-types. Are you using x86 processor architecture? Regards, D?enan On Tue, Oct 24, 2017 at 9:50 AM, Nil Goyette wrote: > Hi all, > > I created an image using nibabel and I found that I can't open them with > an itk-based tool. I found on this page [1] the supported datatypes of > "Analyze" image. I was surprised by the absence of [unsigned] long long, > aka int64 and uint64, mostly because the standard do support them. > > In the nifti1.h header > #define DT_INT64 1024 /* long long (64 bits) */ > #define DT_UINT64 1280 /* unsigned long long (64 bits) */ > > I didn't found much on the internet telling me that ITK doesn't support > them so I'm still unsure. Does ITK support those datatypes? Thank you. > > Nil Goyette > > [1] https://itk.org/Wiki/ITK/File_Formats > > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nil.goyette at imeka.ca Wed Oct 25 09:31:55 2017 From: nil.goyette at imeka.ca (Nil Goyette) Date: Wed, 25 Oct 2017 09:31:55 -0400 Subject: [ITK] Nifti, int64 and uint64 In-Reply-To: References: <4150ddd9-dca0-4f5e-d4b0-577f9e3471aa@imeka.ca> Message-ID: Hi D?enan, I'm using an in-house version of MITK [1], which I know was built in 64bits and it's running on a 64bits windows. So you're telling me that ITK should be able to read my image? I thought the fault was on ITK side because the error arises in itkImageIOBase.cxx in this method (m_ComponentType == 0) : unsigned int ImageIOBase::GetComponentSize() const { ? switch ( m_ComponentType ) ??? { ??? case UCHAR: ????? return sizeof( unsigned char ); ??? case CHAR: ????? return sizeof( char ); ??? case USHORT: ????? return sizeof( unsigned short ); ??? case SHORT: ????? return sizeof( short ); ??? case UINT: ????? return sizeof( unsigned int ); ??? case INT: ????? return sizeof( int ); ??? case ULONG: ????? return sizeof( unsigned long ); ??? case LONG: ????? return sizeof( long ); ??? case FLOAT: ????? return sizeof( float ); ??? case DOUBLE: ????? return sizeof( double ); ??? case UNKNOWNCOMPONENTTYPE: ??? default: ????? itkExceptionMacro ("Unknown component type: " << m_ComponentType); ??? } } AFAIK, INT and LONG are equivalent so I don't understand which line is supposed to handle INT64. Nil Goyette [1] http://mitk.org/wiki/MITK Le 2017-10-25 ? 09:07, D?enan Zuki? a ?crit?: > Hi Nil, > > which ITK-based tool are you using? If it was compiled in 32-bits, > that might be the reason for lack of support of 64-bit data-types. Are > you using x86 processor architecture? > > Regards, > D?enan > > On Tue, Oct 24, 2017 at 9:50 AM, Nil Goyette > wrote: > > Hi all, > > I created an image using nibabel and I found that I can't open > them with an itk-based tool. I found on this page [1] the > supported datatypes of "Analyze" image. I was surprised by the > absence of [unsigned] long long, aka int64 and uint64, mostly > because the standard do support them. > > In the nifti1.h header > #define DT_INT64??????????????? 1024???? /* long long (64 > bits)????????? */ > #define DT_UINT64?????????????? 1280???? /* unsigned long long (64 > bits) */ > > I didn't found much on the internet telling me that ITK doesn't > support them so I'm still unsure. Does ITK support those > datatypes? Thank you. > > Nil Goyette > > [1] https://itk.org/Wiki/ITK/File_Formats > > > The ITK community is transitioning from this mailing list to > discourse.itk.org . Please join us there! > ________________________________________ > 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 Wed Oct 25 10:09:38 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Wed, 25 Oct 2017 10:09:38 -0400 Subject: [ITK] Nifti, int64 and uint64 In-Reply-To: References: <4150ddd9-dca0-4f5e-d4b0-577f9e3471aa@imeka.ca> Message-ID: Hi Nil, I confirm your problem, and also think it is a bug. A post to start discussion is here . Please register on Discourse and take part in the discussion there. Regards, D?enan On Wed, Oct 25, 2017 at 9:31 AM, Nil Goyette wrote: > Hi D?enan, > > I'm using an in-house version of MITK [1], which I know was built in > 64bits and it's running on a 64bits windows. > > So you're telling me that ITK should be able to read my image? I thought > the fault was on ITK side because the error arises in itkImageIOBase.cxx > in this method (m_ComponentType == 0) : > > unsigned int ImageIOBase::GetComponentSize() const > { > switch ( m_ComponentType ) > { > case UCHAR: > return sizeof( unsigned char ); > case CHAR: > return sizeof( char ); > case USHORT: > return sizeof( unsigned short ); > case SHORT: > return sizeof( short ); > case UINT: > return sizeof( unsigned int ); > case INT: > return sizeof( int ); > case ULONG: > return sizeof( unsigned long ); > case LONG: > return sizeof( long ); > case FLOAT: > return sizeof( float ); > case DOUBLE: > return sizeof( double ); > case UNKNOWNCOMPONENTTYPE: > default: > itkExceptionMacro ("Unknown component type: " << m_ComponentType); > } > } > > AFAIK, INT and LONG are equivalent so I don't understand which line is > supposed to handle INT64. > > Nil Goyette > > [1] http://mitk.org/wiki/MITK > > Le 2017-10-25 ? 09:07, D?enan Zuki? a ?crit : > > Hi Nil, > > which ITK-based tool are you using? If it was compiled in 32-bits, that > might be the reason for lack of support of 64-bit data-types. Are you using > x86 processor architecture? > > Regards, > D?enan > > On Tue, Oct 24, 2017 at 9:50 AM, Nil Goyette wrote: > >> Hi all, >> >> I created an image using nibabel and I found that I can't open them with >> an itk-based tool. I found on this page [1] the supported datatypes of >> "Analyze" image. I was surprised by the absence of [unsigned] long long, >> aka int64 and uint64, mostly because the standard do support them. >> >> In the nifti1.h header >> #define DT_INT64 1024 /* long long (64 bits) >> */ >> #define DT_UINT64 1280 /* unsigned long long (64 bits) >> */ >> >> I didn't found much on the internet telling me that ITK doesn't support >> them so I'm still unsure. Does ITK support those datatypes? Thank you. >> >> Nil Goyette >> >> [1] https://itk.org/Wiki/ITK/File_Formats >> >> The ITK community is transitioning from this mailing list to >> discourse.itk.org. Please join us there! >> ________________________________________ >> Community mailing list >> Community at itk.org >> http://public.kitware.com/mailman/listinfo/community >> > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fredrik.hellman at gmail.com Wed Oct 25 10:25:05 2017 From: fredrik.hellman at gmail.com (Fredrik Hellman) Date: Wed, 25 Oct 2017 07:25:05 -0700 (MST) Subject: [ITK] [ITK-users] OtsuMultipleThresholdsImageFilter creates asymmetric classes for symmetric a distribution In-Reply-To: References: <1508250927950-0.post@n7.nabble.com> <1508310192279-0.post@n7.nabble.com> Message-ID: <1508941505532-0.post@n7.nabble.com> I believe I have found what causes this problem, see: https://discourse.itk.org/t/otsumultiplethresholdsimagefilter-creates-asymmetric-classes-for-a-symmetric-distribution/354 -- Sent from: http://itk-users.7.n7.nabble.com/ The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 vince.madai at gmail.com Sun Oct 29 03:42:42 2017 From: vince.madai at gmail.com (Vince Madai) Date: Sun, 29 Oct 2017 09:42:42 +0200 Subject: [ITK] [ITK-users] itk::PatchBasedDenoisingImageFilter: settings for 3T TOF-MRI Message-ID: Hi everyone, We would like to use the itk::PatchBasedDenoisingImageFilter for 3T TOF-MRAs. Can anyone suggest some initial settings for this purpose (maybe even just defaults from other types of MRI), so that we have a starting point? Any help would be greatly appreciated! Thanks and all the best, Vince The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Sun Oct 29 09:50:15 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Sun, 29 Oct 2017 09:50:15 -0400 Subject: [ITK] [ITK-users] itk::PatchBasedDenoisingImageFilter: settings for 3T TOF-MRI In-Reply-To: References: Message-ID: Hi Vince, we are switching to Discourse . Can you repost your question there? Thanks, D?enan On Sun, Oct 29, 2017 at 3:42 AM, Vince Madai wrote: > Hi everyone, > > We would like to use the itk::PatchBasedDenoisingImageFilter for 3T > TOF-MRAs. > > Can anyone suggest some initial settings for this purpose (maybe even just > defaults from other types of MRI), so that we have a starting point? > > Any help would be greatly appreciated! > > Thanks and all the best, > > Vince > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 srbn.ghosh99 at gmail.com Mon Oct 30 12:36:16 2017 From: srbn.ghosh99 at gmail.com (Shrabani Ghosh) Date: Mon, 30 Oct 2017 09:36:16 -0700 (MST) Subject: [ITK] [ITK-users] How to convert PNG series in to DICOM series using ITK? Message-ID: <1509381376881-0.post@n2.nabble.com> Hi, I have trained my neural network with 3D images in NIFTI format which were created from DICOM image series. I have data for testing which is in in PNG series. But I need to convert my PNG series in DICOM . Is it possible to do it in Itk? Thanks in advance Shrabani Ghosh -- Sent from: http://itk-insight-users.2283740.n2.nabble.com/ The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the 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 Oct 30 12:56:45 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Mon, 30 Oct 2017 12:56:45 -0400 Subject: [ITK] [ITK-users] How to convert PNG series in to DICOM series using ITK? In-Reply-To: <1509381376881-0.post@n2.nabble.com> References: <1509381376881-0.post@n2.nabble.com> Message-ID: Hi Shrabani Ghosh, you should take a look at this example for writing DICOM, and at this one for reading a series of PNGs as a 3D image. Also, we are switching to discourse , so please post any further questions there. Regards, D?enan On Mon, Oct 30, 2017 at 12:36 PM, Shrabani Ghosh wrote: > Hi, > > I have trained my neural network with 3D images in NIFTI format which were > created from DICOM image series. I have data for testing which is in in > PNG > series. But I need to convert my PNG series in DICOM . Is it possible to do > it in Itk? > > > Thanks in advance > > Shrabani Ghosh > > > > > -- > Sent from: http://itk-insight-users.2283740.n2.nabble.com/ > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://www.kitware.com/products/protraining.php > > Please keep messages on-topic and check the 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 -------------- The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://www.kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-users