{"push_id":3057654997,"size":19,"distinct_size":19,"ref":"refs/heads/add_third_party_eigen3_squashed","head":"e8303ac8217b4e066b365181ad83bc70cf1d634d","before":"c2717e863060077b2053bc64a36dc8ea5d41a91e","commits":[{"sha":"b40f74e07d74614c75be4aceac63b87e80e589d1","author":{"name":"Dženan Zukić","email":"052569de452143a9cb2f66e47328d18a08e2500e@kitware.com"},"message":"ENH: ITKv5_CONST macro for VerifyPreconditions() and VerifyInputInformation()\n\nITKv5_CONST was introduced on 2018-11-12 by commit\n5141d32e39a277318ca0efbbec2e3f68980d3193.\nWe now define the same macro in ITK 4.13,\nso the user applications can build easily\nagainst either version 4 or 5 of the toolkit.","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/b40f74e07d74614c75be4aceac63b87e80e589d1"},{"sha":"74a694f500c7b07badf67c3edcfafdc332008621","author":{"name":"Hans Johnson","email":"d13cfb4aa0a5c45ca30cefb7698889bb95ff5378@uiowa.edu"},"message":"ENH: Fix deficient itkCastImageFilter test\n\nExercise input image type domain values (important for float -> integer conversions)\n\nCasting a float/double to an integer when integer isn't big enough to hold the value yields undefined behaviour.\n\n[n3290: 4.9/1]: A prvalue of a floating point type can be converted to a prvalue of an integer type.\n  The conversion truncates; that is, the fractional part is discarded.\n  The behavior is undefined if the truncated value cannot be represented in the destination type.\n                  ^^^^^^^^^\nThe hypothesis is that with scanline based processing, compiler optimization can\nuse SSE instructions for converting blocks of\nfloats to integer, which results in different 'undefined' behavior for values\nthan an isolated static_cast<short>(outOfRangeFloat).","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/74a694f500c7b07badf67c3edcfafdc332008621"},{"sha":"469c6eccd7de955a5aa64e772122fc0b76b39492","author":{"name":"Hans Johnson","email":"d13cfb4aa0a5c45ca30cefb7698889bb95ff5378@uiowa.edu"},"message":"STYLE: Minor variable naming and readability changes.","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/469c6eccd7de955a5aa64e772122fc0b76b39492"},{"sha":"bd48e6d3622044648710fc68eefc309273ffe718","author":{"name":"Hans Johnson","email":"d13cfb4aa0a5c45ca30cefb7698889bb95ff5378@uiowa.edu"},"message":"COMP: Provide conversion range testing valid_static_cast function\n\nA family of functions are available to test if the static cast\ncan occcur without undefined behaviors.\n\nFor pixel value conversions that would result in undefined conversions,\nsimply skip testing those values.","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/bd48e6d3622044648710fc68eefc309273ffe718"},{"sha":"90148d344060eb84ef132d4e7399b248520352c3","author":{"name":"Dženan Zukić","email":"052569de452143a9cb2f66e47328d18a08e2500e@kitware.com"},"message":"BUG: background label could be the same as one of the object labels\n\nRestoring the test which tests that.\n\nCo-authored by: Fijoy Vadakkumpadan <ofijoy@gmail.com>","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/90148d344060eb84ef132d4e7399b248520352c3"},{"sha":"130e5122176a383d88241c96a036ca414c973449","author":{"name":"Dženan Zukić","email":"052569de452143a9cb2f66e47328d18a08e2500e@kitware.com"},"message":"Merge pull request #182 from dzenanz/fixConsecutiveLabels\n\nBUG: background label could be the same as one of the object labels","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/130e5122176a383d88241c96a036ca414c973449"},{"sha":"94caff7eda6e1a544a2855d62c328584e94f73f1","author":{"name":"Hans Johnson","email":"2eae07485e721b6dd6508fb717b4252a377ba765@gmail.com"},"message":"Merge pull request #162 from hjmjohnson/fix-failing-itkCastImageFilterTest\n\nENH: Fix deficient itkCastImageFilter test","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/94caff7eda6e1a544a2855d62c328584e94f73f1"},{"sha":"d012182c2bcaf9aaf8fdf5de20e7043ab3fb20be","author":{"name":"Gabriel A. Devenyi","email":"5dc6901b9de11cfe0c83e2a16068e5f42ae0da2d@gmail.com"},"message":"PERF: Enable MINC internal compression by default","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/d012182c2bcaf9aaf8fdf5de20e7043ab3fb20be"},{"sha":"6dd12c2c239f31f037560dd65c455dca91641937","author":{"name":"Dženan Zukić","email":"052569de452143a9cb2f66e47328d18a08e2500e@kitware.com"},"message":"Merge pull request #181 from dzenanz/constMacroV4\n\nITKv5_CONST macro for VerifyPreconditions and VerifyInputInformation","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/6dd12c2c239f31f037560dd65c455dca91641937"},{"sha":"d178c9f5cc391650adc1d083311d18fc083d7bc7","author":{"name":"Dženan Zukić","email":"052569de452143a9cb2f66e47328d18a08e2500e@kitware.com"},"message":"Merge remote-tracking branch 'remotes/upstream/release-4.13' into release","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/d178c9f5cc391650adc1d083311d18fc083d7bc7"},{"sha":"1576d2ba6523233e770c087c16d1760b32c4adcf","author":{"name":"Dženan Zukić","email":"052569de452143a9cb2f66e47328d18a08e2500e@kitware.com"},"message":"Merge branch 'release'","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/1576d2ba6523233e770c087c16d1760b32c4adcf"},{"sha":"f8c061b0ceffe4a0fb0b95070b9c19632ba148c1","author":{"name":"Dženan Zukić","email":"052569de452143a9cb2f66e47328d18a08e2500e@kitware.com"},"message":"COMP: fix compiler warning in itkIndexRange.h\n\n/scratch/dashboards/Linux-x86_64-gcc4.8-valgrindModules/Core/Common/include/itkIndexRange.h:302:46: warning: missing initializer for member 'itk::Index<1u>::m_InternalArray' [-Wmissing-field-initializers]","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/f8c061b0ceffe4a0fb0b95070b9c19632ba148c1"},{"sha":"c4c63343b5b0993b9db0fb047281e29e290a6998","author":{"name":"VXL Maintainers","email":"60d5144182bec4fd7eaca2d16539748d74b443e7@lists.sourceforge.net"},"message":"VNL 2018-11-15 (4fe68119)\n\nRun the UpdateFromUpstream.sh script to extract upstream VNL\nusing the following shell commands.\n\n$ git archive --prefix=upstream-vnl/ 4fe68119 -- \n      CMakeLists.txt\n      config/cmake\n      core/CMakeLists.txt\n      core/testlib\n      core/vnl\n      core/vxl_config.h.in\n      core/vxl_copyright.h\n      core/vxl_version.h\n      v3p/CMakeLists.txt\n      v3p/netlib\n      vcl\n | tar x\n$ git shortlog --perl-regexp --author='^((?!Kitware Robot).*)$' --no-merges --abbrev=8 --format='%h %s' ee083096..4fe68119\n\n\n\nChange-Id: I3dc40f65aada141fb6f02e074678131964c9583d","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/c4c63343b5b0993b9db0fb047281e29e290a6998"},{"sha":"383a51a596cd3a7fc71f20418d4113f29d73f565","author":{"name":"Matt McCormick","email":"1fa2ef4755a9226cb9a0a4840bd89b158ac71391@mmmccormick.com"},"message":"Merge pull request #185 from gdevenyi/minc-compression\n\nPERF: Enable MINC internal compression by default","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/383a51a596cd3a7fc71f20418d4113f29d73f565"},{"sha":"501261dc48075e7cdd229ae249f47f33861c0957","author":{"name":"Bradley Lowekamp","email":"291ec1a6ddd1ca34d66a8f43ea407f91c19e8002@mail.nih.gov"},"message":"BUG: Address valgrind leaks for classes which use ScanlineFilterCommon\n\nThe ScanlineFilterCommon class is used with multiple inheritance. This\nclass held a shared pointer to the other parent which could never be\nreleased to the derived classes holding a reference to\nthemselves. Change the self pointer to a WeakPointer to avoid circular\ndependencies.","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/501261dc48075e7cdd229ae249f47f33861c0957"},{"sha":"f63acfebd8d2e8dbb1ad22a957850c0307d61844","author":{"name":"Pablo Hernandez-Cerdan","email":"beb9ee2587442b15bacdbd050d32e609d0ba8698@outlook.com"},"message":"ENH: Add ThirdParty module Eigen3\n\nThe idea is to introduce Eigen3 into ITK.\nPlease note that ITKEigen is already a module.\nThe name of this module is ITKEigen3\n\nIt uses a modified Eigen3 stored in:\nhttps://gitlab.kitware.com/third-party/eigen\n\nI forked and modified the existing branch `for/vtk`\ninto `for/itk`.\n\n-- Note that for development I am using my own fork:\nhttps://gitlab.kitware.com/phcerdan/eigen/tree/for/itk --\n\nA MR should be requested to create the branch for/itk in\nhttps://gitlab.kitware.com/third-party/eigen\n\n'for/itk' differs from 'for/vtk' that it allows the developer\nto use find_package(Eigen3) in the internal itkeigen, just\npopulating the Eigen3_DIR with the internal folder:\n\n```cmake\nset(_internal_cmake_eigen3)\nlist(GET ITKEigen3_INCLUDE_DIRS 0 _internal_cmake_eigen3)\nset(Eigen3_DIR \"${_internal_cmake_eigen3}/itkeigen\")\n```\nSee https://github.com/phcerdan/ITKTotalVariation for up-to-date\nhandling of Eigen3_DIR.\n\nEigen3 is faster than non-optimized implementations of\nlapack. VNL has the netlib (non-optimized) CLAPACK implementation.\nCLAPACK is the c-version of the netlib lapack libraries (written in fortran),\nit used the f2c conversor from fortran to c. It is not maintained anymore.\n\nOne of the purposes on introduced Eigen3 is to speed up eigen\ndecomposition. Also having the most used linear algebra library\nin c++ opens opportunities for bridging with other libraries.\n\nThe first application for the module is to use it in a external remote\nmodule TotalVariation, that performs total variation regularization for\ndenoising methods:\nhttps://github.com/phcerdan/ITKTotalVariation\nThe module is a wrap around the third party library:\nUpstream: https://github.com/albarji/proxTV\nUsed fork: https://github.com/phcerdan/proxTV/tree/use_eigen\nthat requires Eigen3.","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/f63acfebd8d2e8dbb1ad22a957850c0307d61844"},{"sha":"d8e78e64fbaa381db65e19b9f73dd0371414bb17","author":{"name":"Pablo Hernandez-Cerdan","email":"beb9ee2587442b15bacdbd050d32e609d0ba8698@outlook.com"},"message":"WIP: Use Eigen3 internally for EigenAnalysis\n\nImplement it using Eigen3, running the tests shows already a performance\nincrease.\nFlag m_UseEigenLibrary set to True for checking in CI\n\nIssues: There are billions of -Wshadow warnings in gcc.\n\nQuestion/TODO: How do I use the target Eigen3::Eigen\ninternally in ITKCommon instead of just including the header.\nITKEigen3.cmake does not have any targets file,\nand there is no library.\nIt would be awesome to set the target_include_directories(eigen) as SYSTEM, to\navoid the warnings.\n\nA non-scientific tiny perf comparison using tests:\n`ctest -R \"Symm\"`\n\nold: 0.11\nnew: 0.08\n\nconst-correct netlib (OLD):\n```\n\n      Start 1456: itkSymmetricEigenAnalysisImageFilterTestOrderByValue\n 8/12 Test #1456: itkSymmetricEigenAnalysisImageFilterTestOrderByValue .......   Passed    0.03 sec\n      Start 1457: itkSymmetricEigenAnalysisImageFilterTestOrderByMagnitude\n 9/12 Test #1457: itkSymmetricEigenAnalysisImageFilterTestOrderByMagnitude ...   Passed    0.02 sec\n      Start 1458: itkSymmetricEigenAnalysisImageFilterTestDoNotOrder\n10/12 Test #1458: itkSymmetricEigenAnalysisImageFilterTestDoNotOrder .........   Passed    0.02 sec\n      Start 2031: itkSymmetricForcesDemonsRegistrationFilterTest\n11/12 Test #2031: itkSymmetricForcesDemonsRegistrationFilterTest .............   Passed    0.17 sec\n      Start 2044: itkFastSymmetricForcesDemonsRegistrationFilterTest\n12/12 Test #2044: itkFastSymmetricForcesDemonsRegistrationFilterTest .........   Passed    0.11 sec\n\n100% tests passed, 0 tests failed out of 12\n\nLabel Time Summary:\nITKCommon                       =   0.11 sec*proc (5 tests)\n```\n\nEigen3 (NEW):\n```\n      Start 1456: itkSymmetricEigenAnalysisImageFilterTestOrderByValue\n 8/12 Test #1456: itkSymmetricEigenAnalysisImageFilterTestOrderByValue .......   Passed    0.01 sec\n      Start 1457: itkSymmetricEigenAnalysisImageFilterTestOrderByMagnitude\n 9/12 Test #1457: itkSymmetricEigenAnalysisImageFilterTestOrderByMagnitude ...   Passed    0.01 sec\n      Start 1458: itkSymmetricEigenAnalysisImageFilterTestDoNotOrder\n10/12 Test #1458: itkSymmetricEigenAnalysisImageFilterTestDoNotOrder .........   Passed    0.01 sec\n      Start 2031: itkSymmetricForcesDemonsRegistrationFilterTest\n11/12 Test #2031: itkSymmetricForcesDemonsRegistrationFilterTest .............   Passed    0.14 sec\n      Start 2044: itkFastSymmetricForcesDemonsRegistrationFilterTest\n12/12 Test #2044: itkFastSymmetricForcesDemonsRegistrationFilterTest .........   Passed    0.11 sec\n\n100% tests passed, 0 tests failed out of 12\n\nLabel Time Summary:\nITKCommon                       =   0.08 sec*proc (5 tests)\n```","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/d8e78e64fbaa381db65e19b9f73dd0371414bb17"},{"sha":"c032da9ad0b3959622f5103781a128d57e2b48af","author":{"name":"Eigen Upstream","email":"29e2a43288125ec45952b67b65b7fb7ef6ca7262@kitware.com"},"message":"Eigen3 2018-11-16 (d0723a10)\n\nCode extracted from:\n\n    https://gitlab.kitware.com/phcerdan/eigen.git\n\nat commit d0723a1019ed6c366c2a6ba8d938f5996c568f0d (for/itk).\n\nChange-Id: Ib41d27c5c83b996b6b5b7aceb7e05d7552848c40","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/c032da9ad0b3959622f5103781a128d57e2b48af"},{"sha":"e8303ac8217b4e066b365181ad83bc70cf1d634d","author":{"name":"Pablo Hernandez-Cerdan","email":"beb9ee2587442b15bacdbd050d32e609d0ba8698@outlook.com"},"message":"Merge branch 'upstream-Eigen3' into add_third_party_eigen3_squashed\n\n* upstream-Eigen3:\n  Eigen3 2018-11-16 (d0723a10)","distinct":true,"url":"https://api.github.com/repos/phcerdan/ITK/commits/e8303ac8217b4e066b365181ad83bc70cf1d634d"}]}
{"actor":{"display_login":"phcerdan"}}