We have downloaded 3D Slicer 5.6.2 and are using SlicerAutoscoperM version 52a6b2d (2024-12-18).
We have downloaded the sample data (wrist, knee and ankle).
We then launch Autoscoper (Autoscoper opens), then we click “Load Wrist Data” and we get the following errors:
We are running a Microsoft Windows 11 Education.
The computer has :
GPU processor: NVIDIA RTX 2000 Ada Generation
Driver version: 556.12
Let me know if we can provide any more details.
Thanks Lauren, (welcome to the discourse)
In the extension index, under SlicerAutoscoperM what version do you see? ex:
2.Try ‘Check for updates’ in the index and restart if any are available
You have a good chunk of errors/warnings in your python console- did you observe a successful PyAutoscoper install? (it won’t output every time- but it should if you install and update to the extension)
If none of the above is relevant… can you launch Autoscoper in OpenCL and successfully load sample data?
[1/2 as I am limited to 3 media items]
This is the version we were using previously:
Then, I checked for updates, installed them, and restarted Slicer. This is the version we have now:
This is Slicer opened fresh with AutoscoperM selected. (no errors in the console)
[2/2]
This is what the console looks like when we open AutoscoperM.
Then I click “Load Wrist Data” and I get this in the console, and Autoscoper closes.
I tried with Open CL and the same thing happens.
What do you think?
Amy_Morton
(Amy Morton)
January 15, 2025, 1:56pm
5
Let’s confirm the cfg location downloaded locally:
( I doubt there is an issue, but just to confirm)
then
2) Attempt to establish a socket connection via matlab class:
The MATLAB socket control file does not ship with the SlicerAutoscoper extension. It can be found here
https://github.com/BrownBiomechanics/Autoscoper/blob/main/scripts/matlab
i) take a look at the readme and download AutoscoperConnection.m
ii) launch autoscoper within 3dslicer
iii) open matlab (suggest ver > 2022a)
copy the following into a new script, or run in command window:
local_AC_dir = uigetdir('C:\', 'Select directory containing recently downloaded AutoscoperConnection.m');
%path to AutoscoperConneciton class
addpath(local_AC_dir);
localSampleDir = uigetdir('C:\', 'Select directory containing SampleData cfg file');
%openConnection('127.0.0.1');
aobj = AutoscoperConnection();
cfgFileName = fullfile(localSampleDir , '2023-07-20-Wrist.cfg');
loadTrial(aobj,cfgFileName);
Thanks so much.
The configuration file is in the proper folder, so we were able to access that.
When we used the MATLAB socket, this is the error we are getting:
Seems like something related to the operating system, but as far as I know it meets all the required specs.
Amy_Morton
(Amy Morton)
January 21, 2025, 9:34pm
7
@jcfr @Lauren_Welte is experiencing sample data launch issues with machine
Windows 11
NVIDIA RTX 2000 Ada Generation
(error in opencl and cuda launch - though different error reporting)
We went through some obvious tests to rule out simple errors in the thread above
could you weigh in please?
Amy_Morton
(Amy Morton)
February 3, 2025, 4:05pm
8
@Lauren_Welte are you able to successfully load sample data on any other machine in your institution? I’m wondering if you have security network traffic limitations that may be interfering with the IP based connection
Hi Amy! I am able to load the sample data on my other laptop both when wired into our network, and on our university wi-fi. The issue so far seems localized to that computer.
jcfr
(Jean Christophe Fillion Robin (Kitware))
February 6, 2025, 3:32pm
10
@Lauren_Welte do you happen to have two video cards on your system ?
Related:
Details
Since issues happen with both backend, we need to first confirm there are two video card and then ensure the NVIDIA one is used.
CUDA Backend
Based on the screenshot shared above , the code triggering the error when using the CUDA backend can be inspected here (line 400):
void View::render(unsigned int pbo, unsigned width, unsigned height)
{
#if defined(Autoscoper_RENDERING_USE_CUDA_BACKEND)
struct cudaGraphicsResource* pboCudaResource;
cutilSafeCall(cudaGraphicsGLRegisterBuffer(&pboCudaResource, pbo, cudaGraphicsMapFlagsWriteDiscard));
float* buffer = NULL;
size_t numOfBytes;
cutilSafeCall(cudaGraphicsMapResources(1, &pboCudaResource, 0));
cutilSafeCall(cudaGraphicsResourceGetMappedPointer((void**)&buffer, &numOfBytes, pboCudaResource));
The problematic call seems to be related to cudaGraphicsGLRegisterBuffer
, note that is expected to be supported and not marked as deprecated.
OpenCL backend
Based on the screenshot shared above , the code triggering the error when using the OpenCL backend can be inspected here (line 739):
pfn_clGetGLContextInfoKHR(prop, CL_DEVICES_FOR_GL_CONTEXT_KHR, 10 * sizeof(cl_device_id), devices_, &size);
// Create a context using the supported devices
int _count = size / sizeof(cl_device_id);
if (used_device >= _count)
used_device = 0;
// fprintf(stderr,"%d Devices \n",_count);
context_ = clCreateContext(prop, 1, &devices_[used_device], NULL, NULL, &err_);
CHECK_CL
#else
# pragma OPENCL EXTENSION cl_khr_gl_sharing : enable
cl_context_properties prop[] = { CL_GL_CONTEXT_KHR,