Comments (18)
Hi ksarma, do a git pull and try again. Let me know how it goes!
from simpleelastix.
Thanks for your help @kaspermarstal !
It compiles now and I am able to run the tests -- unfortunately some of them are failing. Not sure if this is expected or if it is a continuation of the previous issue, so I'll paste them in for your evaluation
99% tests passed, 25 tests failed out of 2137
Total Test time (real) = 1820.68 sec
The following tests FAILED:
1969 - ElastixFilterTest.BSpline3D (Failed)
1970 - ElastixFilterTest.BSpline4D (Failed)
1971 - ElastixFilterTest.BSplineWithFixedMask2D (Failed)
1972 - ElastixFilterTest.DefaultParameterObject2D (Failed)
1973 - ElastixFilterTest.InitialTransformTestEuler2D (SEGFAULT)
1975 - ElastixFilterTest.InverseTransformTestEuler2D (SEGFAULT)
1976 - ElastixFilterTest.SameFixedImageForMultipleRegistrations (Failed)
1977 - ElastixFilterTest.TranslationWithPointSets2D (Failed)
1978 - ElastixFilterTest.UpdateOnDownstreamUpdate (Failed)
1979 - ElastixFilterTest.UpdateOnGetTransformParametersEuler2D (SEGFAULT)
2051 - SimpleElastix.InverseTransform (Failed)
2056 - SimpleElastix.Registration3D (Failed)
2057 - SimpleElastix.Registration4D (Failed)
2060 - SimpleTransformix.ObjectOrientedInterface (Failed)
2061 - SimpleTransformix.ProceduralInterface (Failed)
2062 - SimpleTransformix.Transformation4D (Failed)
2102 - TransformixFilterTest.BSpline4D (Failed)
2103 - TransformixFilterTest.ComputeDeformationField (Failed)
2104 - TransformixFilterTest.ComputeDeterminantOfSpatialJacobian (Failed)
2105 - TransformixFilterTest.ComputeSpatialJacobian (Failed)
2106 - TransformixFilterTest.GetInputImageFromElastixFilter (Failed)
2108 - TransformixFilterTest.SameTransformParameterMapForMultipleTransformations (Failed)
2109 - TransformixFilterTest.TransformPointSet (Failed)
2110 - TransformixFilterTest.UpdateOnDownstreamUpdate (Failed)
2111 - TransformixFilterTest.UpdateOnGetTransformParameterObject (SEGFAULT)
Errors while running CTest
Makefile:116: recipe for target 'test' failed
make: *** [test] Error 8
from simpleelastix.
Thank you for the bug report. The tests had not been updated in response to internal code changes. The tests have now been updated. Unfortunately not all of the tests that fails on your system, fails on my system. Can you git pull and rerun the test suite and check if you still see failures?
from simpleelastix.
Thanks again for your help @kaspermarstal!
Alas, it doesn't seem to build anymore. I did fully delete the build directory and attempt to rebuild from scratch (with my modifications to enable openCL and remove some of the pixel types).
The error output is quite long so I made a log of a make attempt with the error and have attached it.
from simpleelastix.
Sorry a lot of changes happening at the moment. Git pull and try again :)
from simpleelastix.
Alas, new errors -- I didn't do a clean and build this time, though, which I am doing now. Error log attached
edit: oops, wrong log
makelog.txt
from simpleelastix.
It now builds, but still have almost all the errors. Could some of them be because I don't have all the pixel types enabled?
99% tests passed, 24 tests failed out of 2137
Total Test time (real) = 1823.06 sec
The following tests FAILED:
1969 - ElastixFilterTest.BSpline3D (Failed)
1970 - ElastixFilterTest.BSpline4D (Failed)
1971 - ElastixFilterTest.BSplineWithFixedMask2D (Failed)
1972 - ElastixFilterTest.DefaultParameterObject2D (Failed)
1973 - ElastixFilterTest.InitialTransformTestEuler2D (SEGFAULT)
1975 - ElastixFilterTest.InverseTransformTestEuler2D (SEGFAULT)
1976 - ElastixFilterTest.SameFixedImageForMultipleRegistrations (Failed)
1977 - ElastixFilterTest.TranslationWithPointSets2D (Failed)
1978 - ElastixFilterTest.UpdateOnDownstreamUpdate (Failed)
1979 - ElastixFilterTest.UpdateOnGetTransformParametersEuler2D (Failed)
2056 - SimpleElastix.Registration3D (Failed)
2057 - SimpleElastix.Registration4D (Failed)
2060 - SimpleTransformix.ObjectOrientedInterface (Failed)
2061 - SimpleTransformix.ProceduralInterface (Failed)
2062 - SimpleTransformix.Transformation4D (Failed)
2102 - TransformixFilterTest.BSpline4D (Failed)
2103 - TransformixFilterTest.ComputeDeformationField (Failed)
2104 - TransformixFilterTest.ComputeDeterminantOfSpatialJacobian (Failed)
2105 - TransformixFilterTest.ComputeSpatialJacobian (Failed)
2106 - TransformixFilterTest.GetInputImageFromElastixFilter (Failed)
2108 - TransformixFilterTest.SameTransformParameterMapForMultipleTransformations (Failed)
2109 - TransformixFilterTest.TransformPointSet (Failed)
2110 - TransformixFilterTest.UpdateOnDownstreamUpdate (Failed)
2111 - TransformixFilterTest.UpdateOnGetTransformParameterObject (Failed)
from simpleelastix.
Using a different machine without openCL enabled or the pixel types changed (but with -DUSE_KNNGraphAlphaMutualInformationMetric:BOOL=ON rather than OFF which it is stock), I get a different and much smaller set of errors:
99% tests passed, 3 tests failed out of 2137
Total Test time (real) = 3755.63 sec
The following tests FAILED:
566 - Ruby.LevelSetMotionRegistrationFilter (Failed)
1979 - ElastixFilterTest.UpdateOnGetTransformParametersEuler2D (Failed)
2111 - TransformixFilterTest.UpdateOnGetTransformParameterObject (Failed)
Errors while running CTest
make: *** [test] Error 8
from simpleelastix.
You are absolutely correct, Elastix needs to be compiled with the pixel types used in the tests. As for the remaining tests, can you run
$ ./SimpleITKUnitTestDriver0 --gtest_filter=ElastixFilterTest.UpdateOnGetTransformParametersEuler2D
$ ./SimpleITKUnitTestDriver0 --gtest_filter=TransformixFilterTest.UpdateOnGetTransformParameterObject
in the SimpleITK-build/bin
directory and post the output?
from simpleelastix.
$ ./SimpleITKUnitTestDriver0 --gtest_filter=ElastixFilterTest.UpdateOnGetTransformParametersEuler2D
Note: Google Test filter = ElastixFilterTest.UpdateOnGetTransformParametersEuler2D
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from ElastixFilterTest
[ RUN ] ElastixFilterTest.UpdateOnGetTransformParametersEuler2D
/home/ksarma/Utilities/SimpleElastix/Testing/Unit/sitkElastixFilterTests.cxx:97: Failure
Expected: transformParameters = elastixFilter->GetTransformParameterObject() throws an exception of type itk::ExceptionObject.
Actual: it throws nothing.
[ FAILED ] ElastixFilterTest.UpdateOnGetTransformParametersEuler2D (0 ms)
[----------] 1 test from ElastixFilterTest (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (1 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] ElastixFilterTest.UpdateOnGetTransformParametersEuler2D
1 FAILED TEST
$ ./SimpleITKUnitTestDriver0 --gtest_filter=TransformixFilterTest.UpdateOnGetTransformParameterObject
Note: Google Test filter = TransformixFilterTest.UpdateOnGetTransformParameterObject
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from TransformixFilterTest
[ RUN ] TransformixFilterTest.UpdateOnGetTransformParameterObject
/home/ksarma/Utilities/SimpleElastix/Testing/Unit/sitkTransformixFilterTests.cxx:109: Failure
Expected: transformixFilter->SetTransformParameterObject( elastixFilter->GetTransformParameterObject() ) throws an exception of type itk::ExceptionObject.
Actual: it throws nothing.
[ FAILED ] TransformixFilterTest.UpdateOnGetTransformParameterObject (1 ms)
[----------] 1 test from TransformixFilterTest (1 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (1 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] TransformixFilterTest.UpdateOnGetTransformParameterObject
1 FAILED TEST
from simpleelastix.
Ah. Don't worry about these tests, they are concerned with deprecated functionality and have now been removed.
from simpleelastix.
Sounds good. Thanks again for all of your help! FYI, I compiled a vanilla version with only -DUSE_KNNGraphAlphaMutualInformationMetric:BOOL=ON (rather than the default off) on the original machine and confirmed that only those two tests fail.
By the way, is there a reason that that one is default off? Does it not work properly in SimpleElastix?
from simpleelastix.
One last confirmation - was able to compile with openCL enabled and all default pixel types and still only those two tests fail. So, seems likely it was a pixel type issue for the others
(PS: running make -j1 still had a peak memory usage of over 80GB for the build with openCL enabled!)
from simpleelastix.
Due some license restrictions, some of the functionality of the KNNGraphAlphaMutualInformationMetric is compiled into a library separate from elastix and transformix. This causes linking issues on some systems, which is why it is OFF by default.
Wow, 80Gb? You must have a mean machine!
from simpleelastix.
Hmm, ok, thanks! Is there something I need to do other than set -DUSE_KNNGraphAlphaMutualInformationMetric:BOOL=ON to get it to build on linux (or is that the platform it doesn't work on?)
I did try just doing that, but I still get a "this component is not installed" error
from simpleelastix.
No that should be it. Did you spell it correctly? It should be "KNNGraphAlphaMutualInformation"
from simpleelastix.
Ha, you're right, I had it specified wrong. It now all seems to be working. Thanks again for all of your help (and of course for your effort to make such a useful package!) @kaspermarstal !
from simpleelastix.
No problem! Hope you will find it useful π
from simpleelastix.
Related Issues (20)
- RuntimeError: Exception thrown in SimpleITK Elastix HOT 1
- AffineDTITransform does not return the CenterOfRotationPoint
- windows user οΌthank you very much
- Gradient based optimizer: how to control learning rate HOT 2
- Rigid transformation warping with "TransformixImageFilter"
- error of compiling on linux
- Fatal error LNK1181
- Error while installing SimpleElastix on Windows. HOT 1
- Shearing matrix composition in Affine DTI 3D Transform
- Failed to build on Win10 HOT 3
- affine registration outcome measurement
- A lot of console output even after turning it off HOT 1
- Registration with initial transform obtained using SimpleITK/etc. (.tfm file) HOT 1
- The ElastixImageFilter stuck when using iterative InitialTransformParameterFileName.
- Unable to create/compile/build SimpleElastix C++ dynamic or static library in 32bit or 64-bit.
- Trouble understanding basic usage
- Is there a way to save the transform to a .tfm file?
- AttributeError: module 'SimpleITK' has no attribute 'VesselnessMeasureImageFilter'
- Use only corresponding points based transformation
- SimpleElastix no longer maintained, use SimpleITK or ITKElastix!
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from simpleelastix.