google / neuroglancer

WebGL-based viewer for volumetric data
Apache License 2.0
1.1k stars 299 forks source link

video tool fails with TypeError #600

Open stuarteberg opened 5 months ago

stuarteberg commented 5 months ago

This used to work, but it's failing for me now, with the following error. (I tried both firefox and chrome.)

console.log: Error retrieving chunk 1518094199,1/3:148: TypeError: WebAssembly: Response has unsupported MIME type 'application/octet-stream' expected 'application/wasm'

...and it can't seem to download more than a few chunks.

I am invoking the video tool as follows:

python -m neuroglancer.tool.video_tool render --browser firefox --hide-axis-lines --height=1600 --width=2400 video-script.txt output-frames

I'm using the following short video script, transitioning from this state to this state.

video script ``` https://neuroglancer-demo.appspot.com/#!%7B%22dimensions%22:%7B%22x%22:%5B8e-9%2C%22m%22%5D%2C%22y%22:%5B8e-9%2C%22m%22%5D%2C%22z%22:%5B8e-9%2C%22m%22%5D%7D%2C%22position%22:%5B25634.5%2C22547.5%2C15105.5%5D%2C%22crossSectionScale%22:32.979061161499175%2C%22crossSectionDepth%22:-37.62185354999912%2C%22projectionOrientation%22:%5B0.27731096744537354%2C0.03442228585481644%2C0.012605448253452778%2C0.960080623626709%5D%2C%22projectionScale%22:9858.723473278324%2C%22layers%22:%5B%7B%22type%22:%22segmentation%22%2C%22source%22:%7B%22url%22:%22precomputed://gs://neuroglancer-janelia-flyem-hemibrain/v1.2/segmentation%22%2C%22subsources%22:%7B%22default%22:true%2C%22properties%22:true%2C%22mesh%22:true%7D%2C%22enableDefaultSubsources%22:false%7D%2C%22toolBindings%22:%7B%22Q%22:%22selectSegments%22%7D%2C%22tab%22:%22rendering%22%2C%22selectedAlpha%22:0.49%2C%22objectAlpha%22:0.99%2C%22segments%22:%5B%22%21422191200%22%2C%22%21946308203%22%2C%221105955480%22%2C%22%215813055834%22%2C%225813061177%22%2C%225813061495%22%5D%2C%22segmentQuery%22:%22FB6A%22%2C%22name%22:%22segmentation%22%7D%2C%7B%22type%22:%22segmentation%22%2C%22source%22:%7B%22url%22:%22precomputed://gs://neuroglancer-janelia-flyem-hemibrain/v1.2/mito-objects-grouped%22%2C%22subsources%22:%7B%22default%22:true%2C%22mesh%22:true%7D%2C%22enableDefaultSubsources%22:false%7D%2C%22pick%22:false%2C%22tab%22:%22segments%22%2C%22selectedAlpha%22:0%2C%22saturation%22:0%2C%22linkedSegmentationGroup%22:%22segmentation%22%2C%22name%22:%22mito-by-neuron%22%7D%2C%7B%22type%22:%22segmentation%22%2C%22source%22:%7B%22url%22:%22precomputed://gs://neuroglancer-janelia-flyem-hemibrain/v1.2/rois%22%2C%22subsources%22:%7B%22default%22:true%2C%22properties%22:true%2C%22mesh%22:true%7D%2C%22enableDefaultSubsources%22:false%7D%2C%22pick%22:false%2C%22tab%22:%22segments%22%2C%22selectedAlpha%22:0%2C%22saturation%22:0%2C%22objectAlpha%22:0.8%2C%22ignoreNullVisibleSet%22:false%2C%22meshSilhouetteRendering%22:3%2C%22segments%22:%5B%5D%2C%22name%22:%22roi%22%7D%5D%2C%22showAxisLines%22:false%2C%22showDefaultAnnotations%22:false%2C%22showSlices%22:false%2C%22selectedLayer%22:%7B%22visible%22:true%2C%22layer%22:%22segmentation%22%7D%2C%22layout%22:%223d%22%7D 1 https://neuroglancer-demo.appspot.com/#!%7B%22dimensions%22:%7B%22x%22:%5B8e-9%2C%22m%22%5D%2C%22y%22:%5B8e-9%2C%22m%22%5D%2C%22z%22:%5B8e-9%2C%22m%22%5D%7D%2C%22position%22:%5B25634.5%2C22547.5%2C15105.5%5D%2C%22crossSectionScale%22:32.979061161499175%2C%22crossSectionDepth%22:-37.62185354999912%2C%22projectionOrientation%22:%5B0.27731096744537354%2C0.03442228585481644%2C0.012605448253452778%2C0.960080623626709%5D%2C%22projectionScale%22:9858.723473278324%2C%22layers%22:%5B%7B%22type%22:%22segmentation%22%2C%22source%22:%7B%22url%22:%22precomputed://gs://neuroglancer-janelia-flyem-hemibrain/v1.2/segmentation%22%2C%22subsources%22:%7B%22default%22:true%2C%22properties%22:true%2C%22mesh%22:true%7D%2C%22enableDefaultSubsources%22:false%7D%2C%22toolBindings%22:%7B%22Q%22:%22selectSegments%22%7D%2C%22tab%22:%22rendering%22%2C%22selectedAlpha%22:0.49%2C%22objectAlpha%22:0%2C%22segments%22:%5B%22%21422191200%22%2C%22%21946308203%22%2C%221105955480%22%2C%22%215813055834%22%2C%225813061177%22%2C%225813061495%22%5D%2C%22segmentQuery%22:%22FB6A%22%2C%22name%22:%22segmentation%22%7D%2C%7B%22type%22:%22segmentation%22%2C%22source%22:%7B%22url%22:%22precomputed://gs://neuroglancer-janelia-flyem-hemibrain/v1.2/mito-objects-grouped%22%2C%22subsources%22:%7B%22default%22:true%2C%22mesh%22:true%7D%2C%22enableDefaultSubsources%22:false%7D%2C%22pick%22:false%2C%22tab%22:%22segments%22%2C%22selectedAlpha%22:0%2C%22saturation%22:0%2C%22linkedSegmentationGroup%22:%22segmentation%22%2C%22name%22:%22mito-by-neuron%22%7D%2C%7B%22type%22:%22segmentation%22%2C%22source%22:%7B%22url%22:%22precomputed://gs://neuroglancer-janelia-flyem-hemibrain/v1.2/rois%22%2C%22subsources%22:%7B%22default%22:true%2C%22properties%22:true%2C%22mesh%22:true%7D%2C%22enableDefaultSubsources%22:false%7D%2C%22pick%22:false%2C%22tab%22:%22segments%22%2C%22selectedAlpha%22:0%2C%22saturation%22:0%2C%22objectAlpha%22:0.8%2C%22ignoreNullVisibleSet%22:false%2C%22meshSilhouetteRendering%22:3%2C%22segments%22:%5B%5D%2C%22name%22:%22roi%22%7D%5D%2C%22showAxisLines%22:false%2C%22showDefaultAnnotations%22:false%2C%22showSlices%22:false%2C%22selectedLayer%22:%7B%22visible%22:true%2C%22layer%22:%22segmentation%22%7D%2C%22layout%22:%223d%22%7D ```

I am using the neuroglancer Python library, version 2.39.2. Here are the other packages in my setup:

Environment packages ``` # packages in environment at /opt/miniforge/envs/neuroglancer-video-tool: # # Name Version Build Channel aiohttp 3.9.5 py312h41838bb_0 conda-forge aiosignal 1.3.1 pyhd8ed1ab_0 conda-forge aom 3.9.1 hf036a51_0 conda-forge atomicwrites 1.4.1 pyhd8ed1ab_0 conda-forge attrs 23.2.0 pyh71513ae_0 conda-forge brotli-python 1.1.0 py312heafc425_1 conda-forge bzip2 1.0.8 h10d778d_5 conda-forge ca-certificates 2024.6.2 h8857fd0_0 conda-forge cachetools 5.3.3 pyhd8ed1ab_0 conda-forge cairo 1.18.0 h99e66fa_0 conda-forge certifi 2024.6.2 pyhd8ed1ab_0 conda-forge cffi 1.16.0 py312h38bf5a0_0 conda-forge charset-normalizer 3.3.2 pyhd8ed1ab_0 conda-forge cryptography 42.0.8 py312h7e81a9d_0 conda-forge dav1d 1.2.1 h0dc2134_0 conda-forge exceptiongroup 1.2.0 pyhd8ed1ab_2 conda-forge expat 2.6.2 h73e2aa4_0 conda-forge fasteners 0.17.3 pyhd8ed1ab_0 conda-forge ffmpeg 7.0.1 gpl_h0089088_100 conda-forge font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge font-ttf-inconsolata 3.000 h77eed37_0 conda-forge font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge font-ttf-ubuntu 0.83 h77eed37_2 conda-forge fontconfig 2.14.2 h5bb23bf_0 conda-forge fonts-conda-ecosystem 1 0 conda-forge fonts-conda-forge 1 0 conda-forge freetype 2.12.1 h60636b9_2 conda-forge fribidi 1.0.10 hbcb3906_0 conda-forge frozenlist 1.4.1 py312h41838bb_0 conda-forge geckodriver 0.34.0 h8963483_0 conda-forge gettext 0.22.5 h5ff76d1_2 conda-forge gettext-tools 0.22.5 h5ff76d1_2 conda-forge gmp 6.3.0 h73e2aa4_1 conda-forge gnutls 3.7.9 h1951705_0 conda-forge google-apitools 0.5.32 pyhd8ed1ab_0 conda-forge google-auth 2.30.0 pyhff2d567_0 conda-forge graphite2 1.3.13 h73e2aa4_1003 conda-forge h11 0.14.0 pyhd8ed1ab_0 conda-forge harfbuzz 8.5.0 h053f038_0 conda-forge httplib2 0.22.0 pyhd8ed1ab_0 conda-forge icu 73.2 hf5e326d_0 conda-forge idna 3.7 pyhd8ed1ab_0 conda-forge lame 3.100 hb7f2c08_1003 conda-forge lcms2 2.16 ha2f27b4_0 conda-forge lerc 4.0.0 hb486fe8_0 conda-forge libabseil 20240116.2 cxx17_hc1bcbd7_0 conda-forge libasprintf 0.22.5 h5ff76d1_2 conda-forge libasprintf-devel 0.22.5 h5ff76d1_2 conda-forge libass 0.17.1 h80904bb_1 conda-forge libblas 3.9.0 22_osx64_openblas conda-forge libcblas 3.9.0 22_osx64_openblas conda-forge libcxx 17.0.6 h88467a6_0 conda-forge libdeflate 1.20 h49d49c5_0 conda-forge libexpat 2.6.2 h73e2aa4_0 conda-forge libffi 3.4.2 h0d85af4_5 conda-forge libgettextpo 0.22.5 h5ff76d1_2 conda-forge libgettextpo-devel 0.22.5 h5ff76d1_2 conda-forge libgfortran 5.0.0 13_2_0_h97931a8_3 conda-forge libgfortran5 13.2.0 h2873a65_3 conda-forge libglib 2.80.2 h736d271_1 conda-forge libhwloc 2.10.0 default_h456cccd_1001 conda-forge libiconv 1.17 hd75f5a5_2 conda-forge libidn2 2.3.7 h10d778d_0 conda-forge libintl 0.22.5 h5ff76d1_2 conda-forge libintl-devel 0.22.5 h5ff76d1_2 conda-forge libjpeg-turbo 3.0.0 h0dc2134_1 conda-forge liblapack 3.9.0 22_osx64_openblas conda-forge libopenblas 0.3.27 openmp_hfef2a42_0 conda-forge libopenvino 2024.1.0 h3d2f4b3_7 conda-forge libopenvino-auto-batch-plugin 2024.1.0 h7b87a6e_7 conda-forge libopenvino-auto-plugin 2024.1.0 h7b87a6e_7 conda-forge libopenvino-hetero-plugin 2024.1.0 h280e65d_7 conda-forge libopenvino-intel-cpu-plugin 2024.1.0 h3d2f4b3_7 conda-forge libopenvino-ir-frontend 2024.1.0 h280e65d_7 conda-forge libopenvino-onnx-frontend 2024.1.0 he1e86a1_7 conda-forge libopenvino-paddle-frontend 2024.1.0 he1e86a1_7 conda-forge libopenvino-pytorch-frontend 2024.1.0 hf036a51_7 conda-forge libopenvino-tensorflow-frontend 2024.1.0 haca2b7f_7 conda-forge libopenvino-tensorflow-lite-frontend 2024.1.0 hf036a51_7 conda-forge libopus 1.3.1 hc929b4f_1 conda-forge libpng 1.6.43 h92b6c6a_0 conda-forge libprotobuf 4.25.3 h4e4d658_0 conda-forge libsqlite 3.46.0 h1b8f9f3_0 conda-forge libtasn1 4.19.0 hb7f2c08_0 conda-forge libtiff 4.6.0 h129831d_3 conda-forge libunistring 0.9.10 h0d85af4_0 conda-forge libvpx 1.14.1 hf036a51_0 conda-forge libwebp-base 1.4.0 h10d778d_0 conda-forge libxcb 1.15 hb7f2c08_0 conda-forge libxml2 2.12.7 h3e169fe_1 conda-forge libzlib 1.3.1 h87427d6_1 conda-forge llvm-openmp 18.1.7 h15ab845_0 conda-forge multidict 6.0.5 py312h97956c7_0 conda-forge ncurses 6.5 h5846eda_0 conda-forge nettle 3.9.1 h8e11ae5_0 conda-forge neuroglancer 2.39.2 pypi_0 pypi numpy 1.26.4 py312he3a82b2_0 conda-forge oauth2client 4.1.3 py_0 conda-forge openh264 2.4.1 h73e2aa4_0 conda-forge openjpeg 2.5.2 h7310d3a_0 conda-forge openssl 3.3.1 h87427d6_0 conda-forge outcome 1.3.0.post0 pyhd8ed1ab_0 conda-forge p11-kit 0.24.1 h65f8906_0 conda-forge pcre2 10.44 h7634a1b_0 conda-forge pillow 10.3.0 py312h0c923fa_0 conda-forge pip 24.0 pyhd8ed1ab_0 conda-forge pixman 0.43.4 h73e2aa4_0 conda-forge pthread-stubs 0.4 hc929b4f_1001 conda-forge pugixml 1.14 he965462_0 conda-forge pyasn1 0.6.0 pyhd8ed1ab_0 conda-forge pyasn1-modules 0.4.0 pyhd8ed1ab_0 conda-forge pycparser 2.22 pyhd8ed1ab_0 conda-forge pyopenssl 24.0.0 pyhd8ed1ab_0 conda-forge pyparsing 3.1.2 pyhd8ed1ab_0 conda-forge pysocks 1.7.1 pyha2e5f31_6 conda-forge python 3.12.3 h1411813_0_cpython conda-forge python_abi 3.12 4_cp312 conda-forge pyu2f 0.1.5 pyhd8ed1ab_0 conda-forge readline 8.2 h9e318b2_1 conda-forge requests 2.32.3 pyhd8ed1ab_0 conda-forge rsa 4.9 pyhd8ed1ab_0 conda-forge selenium 4.21.0 pyhd8ed1ab_0 conda-forge selenium-manager 4.21.0 h686f776_0 conda-forge setuptools 70.0.0 pyhd8ed1ab_0 conda-forge six 1.16.0 pyh6c4a22f_0 conda-forge snappy 1.2.0 h6dc393e_1 conda-forge sniffio 1.3.1 pyhd8ed1ab_0 conda-forge sortedcontainers 2.4.0 pyhd8ed1ab_0 conda-forge svt-av1 2.1.0 hf036a51_0 conda-forge tbb 2021.12.0 h3c5361c_1 conda-forge tk 8.6.13 h1abcd95_1 conda-forge tornado 6.4.1 py312hbd25219_0 conda-forge trio 0.25.1 py312hb401068_0 conda-forge trio-websocket 0.11.1 pyhd8ed1ab_0 conda-forge typing_extensions 4.12.2 pyha770c72_0 conda-forge tzdata 2024a h0c530f3_0 conda-forge urllib3 2.2.1 pyhd8ed1ab_0 conda-forge wheel 0.43.0 pyhd8ed1ab_1 conda-forge wsproto 1.2.0 pyhd8ed1ab_0 conda-forge x264 1!164.3095 h775f41a_2 conda-forge x265 3.5 hbb4e6a2_3 conda-forge xorg-libxau 1.0.11 h0dc2134_0 conda-forge xorg-libxdmcp 1.1.3 h35c211d_0 conda-forge xz 5.2.6 h775f41a_0 conda-forge yarl 1.9.4 py312h41838bb_0 conda-forge zlib 1.3.1 h87427d6_1 conda-forge zstd 1.5.6 h915ae27_0 conda-forge ```
stuarteberg commented 5 months ago

I forgot to mention that I believe the error is specifically related to multi-resolution meshes. I am able to load single-resolution (legacy) meshes with the video tool without problems.

jbms commented 5 months ago

I pushed out a new PyPI package which I believe should fix this.