I upgraded to ImFusion Suite 3.11.21 from 3.8.16 and I’m stuck adapting my python scripts:
I used to rely on reading the id of each component of DataComponentLists (from UltrasoundSweep.elementwise_components(idx)) but now the components don’t have an id attribute anymore, so I can’t figure out what’s in my DataComponentList.
thanks for bringing this to our attention. Indeed this seems to be an unintended regression. Unfortunately, there is not much I can offer you as a workaround for arbitrary DataComponents at the moment. You might still be able to obtain their data through component.configuration() though (you can also optionally convert this by appending .asdict()).
If you are interested in a specific one that is known to the PythonSDK you can retrieve it directly via its specific property. You can run help(imfusion.DataComponentList) in Python and scroll to the “read-only properties” section to see all that are available.
Sorry
We will fix this in the next release.
Getting back to you as I have a similar-looking issue in TrackingSequence: I used to call the matrix(timestamp) method but it’s not there anymore, although it looks like it still exists in the C++ SDK.
Unfortunately it seems like we lost this one as well
I have fixed it in our code now so it should be back with the next installer.
As far as workarounds go, you do what this method was doing internally and retrieve the matrices from the closest frames and interpolating the rotation and translation components separately.
I got in touch with Olli and he sent you a new installer.
Also, quick aside: this is the public part of the Forum. For SDK customers we have a section in SDK > Python