Hello!
I’m currently trying to create a script for use that uses several parts of cryosparc_compute
to align particle stacks based on the alignment of their corresponding local refinement volumes (i.e., update their poses/shifts). I have this working for user input rotation/translation matrices using cryosparc_compute.newgeometry.transform_particle_alignments
, but I would like to automate the calculation of these matrices using cryosparc_compute.align3D_gpu.align_volumes
. However, I can’t do from cryosparc_compute import align3D_gpu
because the interpreter (I’m using cryosparcm icli
to run my script) can’t see pycuda
… This is just a ModuleNotFoundError
but I pasted the output below just in case. Is there some extra trick/import that I’m missing to get this to work without messing up the env?
Thanks!
In [2]: from cryosparc_compute import align3D_gpu
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-2-9f312814dd8a> in <module>
----> 1 from cryosparc_compute import align3D_gpu
~/software/cryosparc/cryosparc_master/cryosparc_compute/align3D_gpu.py in <module>
11 from . import geometry, fourier, sigproc
12 import numpy as n
---> 13 from .cudaworker import cudaworker as cudaworker
14 import pycuda.gpuarray as gpuarray
15 from .engine import cuda_core
~/software/cryosparc/cryosparc_master/cryosparc_compute/cudaworker/__init__.py in <module>
6 ## ---------------------------------------------------------------------------
7
----> 8 from .cudaworker import * # noqa: F401,F403
~/software/cryosparc/cryosparc_master/cryosparc_compute/cudaworker/cudaworker.py in <module>
14 import jinja2
15
---> 16 from pycuda.reduction import ReductionKernel
17 import pycuda.driver as cudrv
18 import pycuda.gpuarray as gpuarray
ModuleNotFoundError: No module named 'pycuda'