Hi ImFusion Support,
When trying to export a tracking file in .csv format from an ultrasound sweep through the Python API, ImFusion crashes. Doing the same through the UI is feasible without problems.
This is the crash stack:
[Core.Platform] ***** Encountered fatal exception: SIGSEGV - Segmentation violation signal, PID 1436625 *****
stack dump [1] /lib/x86_64-linux-gnu/libc.so.6+0x43090 [0x7fde17328090]
stack dump [2] /usr/bin/../lib/libImFusionLib.so : ImFusion::TrackingSequenceIO::configure(ImFusion::Properties const*)+0x3eb [0x7fde1b85f3db]
stack dump [3] /usr/bin/../lib/libImFusionLib.so : ImFusion::Workspace::restoreAlgorithm(ImFusion::ApplicationController&, ImFusion::Workspace::AlgorithmDesc&)+0x1655 [0x7fde1bc23935]
stack dump [4] /usr/bin/../lib/libImFusionLib.so : ImFusion::Workspace::executeImpl(ImFusion::ApplicationController&)+0x3ea [0x7fde1bc24c7a]
stack dump [5] /usr/bin/../lib/libImFusionLib.so : ImFusion::Workspace::execute(ImFusion::ApplicationController&)+0xf8d [0x7fde1bc2683d]
stack dump [6] ImFusionSuite+0x3543b [0x563bc7e1e43b]
stack dump [7] /lib/x86_64-linux-gnu/libQt5Core.so.5 : QMetaObject::activate(QObject*, int, int, void**)+0x928 [0x7fde17986328]
stack dump [8] /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QAbstractButton::clicked(bool)+0x46 [0x7fde18467806]
stack dump [9] /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x25fa2e [0x7fde18467a2e]
stack dump [10] /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x260e73 [0x7fde18468e73]
stack dump [11] /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QAbstractButton::mouseReleaseEvent(QMouseEvent*)+0xe5 [0x7fde18469035]
stack dump [12] /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QWidget::event(QEvent*)+0x286 [0x7fde183b52b6]
stack dump [13] /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QApplicationPrivate::notify_helper(QObject*, QEvent*)+0x86 [0x7fde18372a66]
stack dump [14] /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QApplication::notify(QObject*, QEvent*)+0x583 [0x7fde1837c343]
stack dump [15] /lib/x86_64-linux-gnu/libQt5Core.so.5 : QCoreApplication::notifyInternal2(QObject*, QEvent*)+0x18a [0x7fde1795a80a]
stack dump [16] /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool)+0x1b7 [0x7fde1837b457]
stack dump [17] /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1c935d [0x7fde183d135d]
stack dump [18] /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1cc1ec [0x7fde183d41ec]
stack dump [19] /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QApplicationPrivate::notify_helper(QObject*, QEvent*)+0x86 [0x7fde18372a66]
stack dump [20] /lib/x86_64-linux-gnu/libQt5Widgets.so.5 : QApplication::notify(QObject*, QEvent*)+0x330 [0x7fde1837c0f0]
stack dump [21] /lib/x86_64-linux-gnu/libQt5Core.so.5 : QCoreApplication::notifyInternal2(QObject*, QEvent*)+0x18a [0x7fde1795a80a]
stack dump [22] /lib/x86_64-linux-gnu/libQt5Gui.so.5 : QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)+0x6e3 [0x7fde17d437d3]
stack dump [23] /lib/x86_64-linux-gnu/libQt5Gui.so.5 : QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)+0x25b [0x7fde17d4510b]
stack dump [24] /lib/x86_64-linux-gnu/libQt5Gui.so.5 : QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0xbb [0x7fde17d1f35b]
stack dump [25] /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5+0x7932e [0x7fde0a03432e]
stack dump [26] /lib/x86_64-linux-gnu/libglib-2.0.so.0g_main_context_dispatch+0x27d [0x7fde1288f17d]
stack dump [27] /lib/x86_64-linux-gnu/libglib-2.0.so.0+0x52400 [0x7fde1288f400]
stack dump [28] /lib/x86_64-linux-gnu/libglib-2.0.so.0g_main_context_iteration+0x33 [0x7fde1288f4a3]
stack dump [29] /lib/x86_64-linux-gnu/libQt5Core.so.5 : QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x65 [0x7fde179b2435]
stack dump [30] /lib/x86_64-linux-gnu/libQt5Core.so.5 : QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+0x12b [0x7fde179593ab]
stack dump [31] /lib/x86_64-linux-gnu/libQt5Core.so.5 : QCoreApplication::exec()+0x96 [0x7fde17961116]
stack dump [32] ImFusionSuite+0x1e131 [0x563bc7e07131]
stack dump [33] /lib/x86_64-linux-gnu/libc.so.6__libc_start_main+0xf3 [0x7fde17309083]
stack dump [34] ImFusionSuite+0x1eade [0x563bc7e07ade]
The code to reproduce it, is this one:
import imfusion as imf
if not imf.app:
imf.app = imf.ConsoleController()
def func():
(data0,) = imf.app.open('/home/felix/projects/acquisition/Patient-06/Patient-06-01.imf')
(data1,) = imf.app.executeAlgorithm('Extract Tracking Sequence', [data0], {
"Check Distance when Removing Timestamps": False,
"Delete Original": False,
"Extract All": False,
"Remove Timestamp": False,
"Tracking Index": -1
})
imf.app.executeAlgorithm('Tracking Sequence', [data1], {
"location": "/home/felix/projects/acquisition/Patient-06/tracking_011.csv",
"noQuality": "False",
"poseColumns": "",
"qualityColumn": "",
"showDialog": "True",
"timestampColumn": "",
"timestampFront": "False",
"translationScaleFactor": 1,
"transposeMatrix": "False"
})
if __name__ == '__main__':
func()
I am working on Ubuntu 20 with ImFusion Academic installer Version 3.5.9.
Thank you!