-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Hi,
I got this err when trying to run the (algos) de_interleave function in v2.0.0:
AttributeError Traceback (most recent call last)
Cell In[3], line 52
50 output_files = [os.path.join(inprog_dir, out_name.replace('.isxd', f"_{plane}.isxd")) for plane in [plane1, plane2, plane3]]
51 print("OF INTEREST",input_file)
---> 52 isx.algo.de_interleave(input_file,output_files,in_efocus_values=[plane1,plane2,plane3])
53 output_filepp = [os.path.join(inprog_dir, file.replace('.isxd', f"_pp.isxd")) for file in output_files]
54 isx.preprocess(output_files[0], output_filepp[0], temporal_downsample_factor=1, spatial_downsample_factor=1, crop_rect=None, fix_defective_pixels=True, trim_early_frames=True)
File ~/.conda/envs/inscopix/lib/python3.10/site-packages/isx/algo.py:101, in de_interleave(input_movie_files, output_movie_files, in_efocus_values)
98 if num_output_files != num_in_files * num_planes:
99 raise ValueError('Number of output files must match the number of input files times the number of planes.')
--> 101 isx._internal.c_api.isx_deinterleave_movie(num_in_files, num_planes, efocus_arr, in_arr, out_arr)
File ~/.conda/envs/inscopix/lib/python3.10/ctypes/init.py:387, in CDLL.getattr(self, name)
385 if name.startswith('') and name.endswith(''):
386 raise AttributeError(name)
--> 387 func = self.getitem(name)
388 setattr(self, name, func)
389 return func
File ~/.conda/envs/inscopix/lib/python3.10/ctypes/init.py:392, in CDLL.getitem(self, name_or_ordinal)
391 def getitem(self, name_or_ordinal):
--> 392 func = self._FuncPtr((name_or_ordinal, self))
393 if not isinstance(name_or_ordinal, int):
394 func.name = name_or_ordinal
AttributeError: /oscar/home/cdonoho3/.conda/envs/inscopix/lib/python3.10/site-packages/isx/lib/libisxpublicapi.so: undefined symbol: isx_deinterleave_movie
It seems like the isx_deinterleave_movie C++ symbol is not fully covered in the API. Thanks!