-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extended Multi Pass registration error #18
Comments
Can you attach some lines of code with what parameters you are changing in the registration settings object before you run it. A few questions: |
I'm using BSplineDeformableRegistrationSettings. I made a test with DefaultBSplineDeformableRegistrationSettings, but I'm not sure that I'm using Default Settings correctly. I cannot really check what are these default settings. I tried setting everything manually with values given in Velocity API manual as default values). I have these functions to define settings:
1. Running only Extended with AppluBoundaryContinuity set to False:
Output:
2. With default settings it works (or does it? - I run it again and now I have an error)
Output:
Second attempt
Output:
3. Doing Rigid registration first doesn't help:
Output:
4. Without Rigid, changing ApplyBoundaryContinuityConstraints=True
Output:
|
if you want to do an extended pass with default settings you have to set this
otherwise the default is multipass. Hard to tell why the manual settings don't work in your case. In the default settings structure , some params like primary/secondary startLevel and endLevel are chosen dynamically based on the current volumes loaded, other settings are fixed. |
I get this error now with the above code:
Output:
I tried to do the Extended registration in GUI with similar primary/secondary start/endLevels and it worked. |
Small error there, it's assigning the type # RUN DEFORMABLE REGISTRATION
deformableRegistrationSettings = velocity.DefaultBSplineDeformableRegistrationSettings()
deformableRegistrationSettings.type = velocity.DeformableExtendedPass
print('Performing deformable registration...')
orThrow(regOps.performBsplineRegistrationDICOM(deformableRegistrationSettings), regOps)
print('done') |
Ok, I think we made the same mistake with @aanghele :-) Is it possible to create instance of default parameters and then change things which one can change in GUI?
|
For registrations if you use the default settings you can only control:
At this time the user cannot enable/disable BoundaryContinuityCondition -when using the default settings, this can be considered for a future release. Default settings includes some proprietary logic (that we cannot share more details about) and it's not just fixed values. |
I used the code below to perform MultiPass registrations. In both options with Default settings - just using two functions, I didn't change any of the settings. I'd expect to see exactly the same result. I unloaded primary and secondary Volumes to ensure that registration would be unloaded as well. However I still get Velocity Id for those volumes as well as for registration. I don't know how to check what objects are loaded at the moment. I also did a test while running just one option and having other one commented and the result was similar - i.e. in GUI I see different contours.
Output:
Additional functions used in the code above
|
I also used similar approach to check the performance of Extended MultiPass Registration. Comparing registration settings here with those of MultiPass registration (see https://github.com/VarianAPIs/VelocityEngine/issues/18#issuecomment-1050042297 for code and output), I don't see what might be causing a problem, and I'm using parameters given in API manual as default ones. Please note that I made similar tests for BSpline and MultiPass and I didn't get the error. Still the results were somehow different between the two methods as shown in comment above. function used to generate registration settings:
Code to run Extended MP registrations:
Output:
|
In some cases I'm getting this error for Extended MultiPass registration:
Exception has occurred: RuntimeError
Registration error. Additional details: Cml0azo6RXhjZXB0aW9uT2JqZWN0ICgwMDAwMDBENDM1REU2MkYwKQpMb2NhdGlvbjogInVua25vd24iIApGaWxlOiBDOlxQcm9kdWN0c1x2c2Ncc3JjXHZzYy9hbGdvcml0aG1zL1ZzY1N0cnVjdHVyZUd1aWRlZE1ldHJpYy50CkxpbmU6IDExODIKRGVzY3JpcHRpb246IGl0azo6RVJST1I6IHZzY1N0cnVjdHVyZUd1aWRlZE1ldHJpYygwMDAwMDIzMDBFNDQ3OTAwKTogSm9pbnQgUERGIHN1bW1lZCB0byB6ZXJvCkltYWdlICgwMDAwMDIzMDA1QjVDMEQwKQogIFJUVEkgdHlwZWluZm86ICAgY2xhc3MgaXRrOjpJbWFnZTxkb3VibGUsMj4KICBSZWZlcmVuY2UgQ291bnQ6IDIKICBNb2RpZmllZCBUaW1lOiAyMjQ3NzAKICBEZWJ1ZzogT2ZmCiAgT2JqZWN0IE5hbWU6IAogIE9ic2VydmVyczogCiAgICBub25lCiAgU291cmNlOiAobm9uZSkKICBTb3VyY2Ugb3V0cHV0IG5hbWU6IChub25lKQogIFJlbGVhc2UgRGF0YTogT2ZmCiAgRGF0YSBSZWxlYXNlZDogRmFsc2UKICBHbG9iYWwgUmVsZWFzZSBEYXRhOiBPZmYKICBQaXBlbGluZU1UaW1lOiAwCiAgVXBkYXRlTVRpbWU6IDAKICBSZWFsVGltZVN0YW1wOiAwIHNlY29uZHMgCiAgTGFyZ2VzdFBvc3NpYmxlUmVnaW9uOiAKICAgIERpbWVuc2lvbjogMgogICAgSW5kZXg6IFswLCAwXQogICAgU2l6ZTogWzUwLCA1MF0KICBCdWZmZXJlZFJlZ2lvbjogCiAgICBEaW1lbnNpb246IDIKICAgIEluZGV4OiBbMCwgMF0KICAgIFNpemU6IFs1MCwgNTBdCiAgUmVxdWVzdGVkUmVnaW9uOiAKICAgIERpbWVuc2lvbjogMgogICAgSW5kZXg6IFswLCAwXQogICAgU2l6ZTogWzUwLCA1MF0KICBTcGFjaW5nOiBbMTQyNC42NywgMTQyNC42N10KICBPcmlnaW46IFswLCAwXQogIERpcmVjdGlvbjogCjEgMAowIDEKCiAgSW5kZXhUb1BvaW50TWF0cml4OiAKMTQyNC42NyAwCjAgMTQyNC42NwoKICBQb2ludFRvSW5kZXhNYXRyaXg6IAowLjAwMDcwMTkxNSAwCjAgMC4wMDA3MDE5MTUKCiAgSW52ZXJzZSBEaXJlY3Rpb246IAoxIDAKMCAxCgogIFBpeGVsQ29udGFpbmVyOiAKICAgIEltcG9ydEltYWdlQ29udGFpbmVyICgwMDAwMDIzMDBFOEFGRTgwKQogICAgICBSVFRJIHR5cGVpbmZvOiAgIGNsYXNzIGl0azo6SW1wb3J0SW1hZ2VDb250YWluZXI8dW5zaWduZWQgX19pbnQ2NCxkb3VibGU+CiAgICAgIFJlZmVyZW5jZSBDb3VudDogMQogICAgICBNb2RpZmllZCBUaW1lOiAyMjQ3NzEKICAgICAgRGVidWc6IE9mZgogICAgICBPYmplY3QgTmFtZTogCiAgICAgIE9ic2VydmVyczogCiAgICAgICAgbm9uZQogICAgICBQb2ludGVyOiAwMDAwMDIzMDBFODJGMzUwCiAgICAgIENvbnRhaW5lciBtYW5hZ2VzIG1lbW9yeTogdHJ1ZQogICAgICBTaXplOiAyNTAwCiAgICAgIENhcGFjaXR5OiAyNTAwCgoK
I can perform Extended MP registration in Velocity Application for the same case.
What does this error mean and how can I overcome it?
The text was updated successfully, but these errors were encountered: