Minvalue must be positive in het. refine

I had a het. refine fail with “minvalue must be positive.” Some classes have very low populations (e.g. 10), but all above 0. A previous identical run in 128px box worked, this duplicate in a full size (256 px) box failed.

[CPU: 2.62 GB]   Traceback (most recent call last):
  File "cryosparc_worker/cryosparc_compute/run.py", line 84, in cryosparc_compute.run.main
  File "cryosparc_worker/cryosparc_compute/jobs/hetero_refine/run.py", line 448, in cryosparc_compute.jobs.hetero_refine.run.run_hetero_refine
  File "/mnt/tyr-data/cryosparc/cryosparc2/cryosparc2_worker/cryosparc_compute/plotutil.py", line 730, in plot_alignment_dist
    cb = plt.colorbar()
  File "/mnt/tyr-data/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/pyplot.py", line 2178, in colorbar
    ret = gcf().colorbar(mappable, cax=cax, ax=ax, **kw)
  File "/mnt/tyr-data/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/figure.py", line 2343, in colorbar
    cb = cbar.colorbar_factory(cax, mappable, **cb_kw)
  File "/mnt/tyr-data/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colorbar.py", line 1731, in colorbar_factory
    cb = Colorbar(cax, mappable, **kwargs)
  File "/mnt/tyr-data/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colorbar.py", line 1225, in __init__
    ColorbarBase.__init__(self, ax, **kwargs)
  File "/mnt/tyr-data/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/cbook/deprecation.py", line 451, in wrapper
    return func(*args, **kwargs)
  File "/mnt/tyr-data/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colorbar.py", line 491, in __init__
    self.draw_all()
  File "/mnt/tyr-data/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colorbar.py", line 508, in draw_all
    self._process_values()
  File "/mnt/tyr-data/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colorbar.py", line 960, in _process_values
    b = self.norm.inverse(self._uniform_y(self.cmap.N + 1))
  File "/mnt/tyr-data/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colors.py", line 1220, in inverse
    self._check_vmin_vmax()
  File "/mnt/tyr-data/cryosparc/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colors.py", line 1181, in _check_vmin_vmax
    raise ValueError("minvalue must be positive")
ValueError: minvalue must be positive

Hi @DanielAsarnow,

Thanks for reporting this error. The workaround right now could be to run the job with the “Show viewing orientation distribution plots” parameter disabled, which will not attempt to create the orientation plots. We’re looking into why this is happening.

Best,
Michael

Hi all,

We have released a v3.1.0 update to cryoSPARC that should resolve this plotting issue in heterogeneous refinement. Please let us know if you are still encountering this issue after updating.

Best,
Michael

Hi,

I encountered this issue on 3.1.0 when running heterogeneous refinement, see below. I could provide more information if needed.

Best.
Fei.

[CPU: 4.56 GB] Traceback (most recent call last):
File “cryosparc_worker/cryosparc_compute/run.py”, line 84, in cryosparc_compute.run.main
File “cryosparc_worker/cryosparc_compute/jobs/hetero_refine/run.py”, line 448, in cryosparc_compute.jobs.hetero_refine.run.run_hetero_refine
File “/home/Cryosparc/cryosparc_worker/cryosparc_compute/plotutil.py”, line 730, in plot_alignment_dist
cb = plt.colorbar()
File “//home/Cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/pyplot.py”, line 2178, in colorbar
ret = gcf().colorbar(mappable, cax=cax, ax=ax, **kw)
File “//home/Cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/figure.py”, line 2343, in colorbar
cb = cbar.colorbar_factory(cax, mappable, **cb_kw)
File “//home/Cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colorbar.py”, line 1731, in colorbar_factory
cb = Colorbar(cax, mappable, **kwargs)
File “//home/Cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colorbar.py”, line 1225, in init
ColorbarBase.init(self, ax, **kwargs)
File “//home/Cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/cbook/deprecation.py”, line 451, in wrapper
return func(*args, **kwargs)
File “//home/Cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colorbar.py”, line 491, in init
self.draw_all()
File “//home/Cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colorbar.py”, line 508, in draw_all
self._process_values()
File “//home/Cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colorbar.py”, line 960, in _process_values
b = self.norm.inverse(self._uniform_y(self.cmap.N + 1))
File “//home/Cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colors.py”, line 1220, in inverse
self._check_vmin_vmax()
File “//home/Cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.7/site-packages/matplotlib/colors.py”, line 1181, in _check_vmin_vmax
raise ValueError(“minvalue must be positive”)
ValueError: minvalue must be positive