Topaz 2D Class problem


I followed the Topaz Tutorial and finally I wanted to make a 2D classification with the default options. The job stops with the following error:

Job ready to run

Using random seed of 722128966
Loading a ParticleStack with 316142 items…
Windowing particles
Using 50 classes.
Computing 2D class averages:
Volume Size: 32 (voxel size 2.99A)
Zeropadded Volume Size: 64
Data Size: 220 (pixel size 0.44A)
Using Reconstruction Resolution: 6.00A (15.0 radius)
Using Alignment Resolution: 6.00A (15.0 radius)
Windowing only corners of 2D classes at each iteration.
Using random seed for initialization of 2015500313
Done in 0.755s.
Start of Iteration 0
Traceback (most recent call last):
File “cryosparc2_compute/jobs/”, line 1490, in run_with_except_hook
run_old(*args, **kw)
File “cryosparc2_worker/cryosparc2_compute/engine/”, line 110, in
File “cryosparc2_worker/cryosparc2_compute/engine/”, line 111, in
File “cryosparc2_worker/cryosparc2_compute/engine/”, line 1072, in
File “cryosparc2_worker/cryosparc2_compute/engine/”, line 392, in cryosparc2_compute.engine.engine.EngineThread.find_and_set_best_pose_shift
ValueError: invalid entry in index array

The 2D classification using the template picker on the same dataset runs fine.
What could be the problem?
Version 2.12.4


Hi @wlugmayr1,

This is a known issue that will be resolved in the next release of cryoSPARC.

When the release comes, the same “Topaz Train” job can be used but the “Topaz Extract” and “Extract from Micrographs” jobs will have to be repeated.

Jay Yoo

Hi @wlugmayr1,

2.13 includes a fix for this issue, please try running the extract job again with the new update if possible. If the problem continues to persist, please let me know.

Jay Yoo

the extract job worked but at the end I got the following error:

This job outputted results [‘blob’]
Loaded output dset with 315477 items
Passthrough results [‘location’, ‘ctf’, ‘pick_stats’, ‘ml_properties’]
Loaded passthrough dset with 0 items
Checking outputs for output group micrographs
Checking outputs for output group particles
Traceback (most recent call last):
File “cryosparc2_worker/cryosparc2_compute/”, line 82, in
File “cryosparc2_compute/jobs/”, line 705, in check_outputs
assert output_len == target_len, “Result %s had the wrong length (%d, should be %d). Note that outputs are still usable.” % (resname, output_len, target_len)
AssertionError: Result location had the wrong length (0, should be 315477). Note that outputs are still usable.


Hi @wlugmayr1,

Can you check to see if the particle outputs can be seen in an “inspect particle picks” job by linking the particles and micrographs? If this doesn’t work, could you try linking micrographs from the job that was used to pass the micrographs into the extraction job?

Also, could you let me know what the “Number of parallel threads” parameter was set to in the extraction job?

Jay Yoo


i cannot start a new job because each says:
Waiting because inputs are not ready.

i used the extract default settings with 1 gpu and just changed the box size.

the extract of the particles and the topaz used micrographs runs also in the “not ready” problem.


Hi @wlugmayr1,

This indicates that the inputs passed into the extraction job are no longer available. Can you check the jobs where the inputs originate from to ensure that the inputs are still available? If the inputs still seem available, try cloning the training job that was used to produce the Topaz model and train a new model using that job. Then pass that new model into the extraction job.

Also, if possible it is recommended to increase the number of GPU in the extraction job.

Jay Yoo