Giter Club home page Giter Club logo

Comments (18)

kaspermarstal avatar kaspermarstal commented on July 28, 2024

Hi ksarma, do a git pull and try again. Let me know how it goes!

from simpleelastix.

ksarma avatar ksarma commented on July 28, 2024

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.

kaspermarstal avatar kaspermarstal commented on July 28, 2024

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.

ksarma avatar ksarma commented on July 28, 2024

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.

makelog.txt

from simpleelastix.

kaspermarstal avatar kaspermarstal commented on July 28, 2024

Sorry a lot of changes happening at the moment. Git pull and try again :)

from simpleelastix.

ksarma avatar ksarma commented on July 28, 2024

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.

ksarma avatar ksarma commented on July 28, 2024

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.

ksarma avatar ksarma commented on July 28, 2024

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.

kaspermarstal avatar kaspermarstal commented on July 28, 2024

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.

ksarma avatar ksarma commented on July 28, 2024

$ ./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.

kaspermarstal avatar kaspermarstal commented on July 28, 2024

Ah. Don't worry about these tests, they are concerned with deprecated functionality and have now been removed.

from simpleelastix.

ksarma avatar ksarma commented on July 28, 2024

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.

ksarma avatar ksarma commented on July 28, 2024

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.

kaspermarstal avatar kaspermarstal commented on July 28, 2024

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.

ksarma avatar ksarma commented on July 28, 2024

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.

kaspermarstal avatar kaspermarstal commented on July 28, 2024

No that should be it. Did you spell it correctly? It should be "KNNGraphAlphaMutualInformation"

from simpleelastix.

ksarma avatar ksarma commented on July 28, 2024

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.

kaspermarstal avatar kaspermarstal commented on July 28, 2024

No problem! Hope you will find it useful 😊

from simpleelastix.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.