Skip to content

Add ParaView's "Hover Cells On" capability? #102

Closed
1 of 1 issue completed
Closed

Description

@huiwanpnnl

Hi @jourdain, we discussed interactive data probing a long while ago and then put it aside, as it was not clear at the time what kind of functionality we should provide exactly. Today, when testing the new color mapping control panel, I visualized a variable that contained both positive and negative values. I activated the diverging color map functionality and the symlog scale, and got the screenshot below. It is interesting to see that at many locations over the globe, we have dark reddish and dark bluish colors right next to each other. It would be very nice and useful if we could have ParaView's "Hover Cells On" capability, so that when I put my cursor at a location on the map, the value of the displayed variable, as well as the lat and lon values, could be shown. Could we add that when you find time? I'm attaching my state file here: quickview-state_d_vmr_SOAG_AerMic.json

Image

Activity

  1. huiwanpnnl commented on Jun 10, 2026

    @huiwanpnnl
    CollaboratorAuthor

    An updated thought on the design regarding what information to present for the selected location:

    • lat, lon
    • value of variable in the current view.
    • values of variables in all other views.

    Such a collection of info would be very helpful for debugging. Thanks!

  2. jourdain commented on Jun 16, 2026

    @jourdain
    Collaborator
    Image

    Done here #110

  3. jourdain commented on Jun 17, 2026

    @jourdain
    Collaborator

    @huiwanpnnl do you want a better formatting for the tooltip, or is it good enough for now?

    My thinking is that we could have lat, lon, current-variable extracted at the top, and then the list of remaining properties afterward. Either way, we can improve the UI once we have usage feedback.

  4. huiwanpnnl commented on Jun 18, 2026

    @huiwanpnnl
    CollaboratorAuthor

    Wow! Yes, I agree that it would be great to havelat, lon, and current variable at the top.

  5. jourdain commented on Jun 18, 2026

    @jourdain
    Collaborator

    Is the tooltip working for you at NERSC?

  6. huiwanpnnl commented on Jun 18, 2026

    @huiwanpnnl
    CollaboratorAuthor

    Not a NERSC, though it does work on my Mac.

  7. jourdain commented on Jun 18, 2026

    @jourdain
    Collaborator

    How much precision do you need for lat/lon? (meaning how many decimal do you want to see?)

  8. jourdain commented on Jun 18, 2026

    @jourdain
    Collaborator

    Does it look better? Do you want something different? The first line is the field we are probing.

    Image
  9. jourdain commented on Jun 18, 2026

    @jourdain
    Collaborator
    commit 154c459 (HEAD -> master, origin/master, origin/HEAD)
    Author: Sebastien Jourdain <sebastien.jourdain@kitware.com>
    Commit: Sebastien Jourdain <sebastien.jourdain@kitware.com>
    
        fix(hover): improve tooltip layout
    
  10. jourdain commented on Jun 18, 2026

    @jourdain
    Collaborator

    If you want to try right away, you can trigger a release or we can wait to discuss details next week.

  11. huiwanpnnl commented on Jun 19, 2026

    @huiwanpnnl
    CollaboratorAuthor

    This looks great. Thanks a lot! Let me trigger a new release, so that we can have this update – and the additional fixes – at NERSC. Thanks again!!!

  12. huiwanpnnl commented on Jun 19, 2026

    @huiwanpnnl
    CollaboratorAuthor

    Hi @jourdain, I tried the new release 2.8.1:

    1. conda installation at NERSC,
    2. conda installation on my MacBook Pro.
    3. Tauri bundle on my MacBook Pro.

    I did get the info shown in tooltip with 3 (Tauri bundle), but not with 1 or 2 (conda installations). For the conda installations, I tried both Chrome and Safari, and saw the same issue (no tooltip).

  13. 10 remaining items

  14. jourdain commented on Jun 19, 2026

    @jourdain
    Collaborator

    Ok, I hate conda for not picking up the PyPI dependencies properly... (technically it is our fault by letting conda update its recipe automatically and not fixing the cross dependencies)

    trame-common>=1.2.3

  15. jourdain commented on Jun 19, 2026

    @jourdain
    Collaborator

    Sorry I miss read your output... I was looking at that trame recipe to fix it... But it is actually fine.

    Can you run conda list? I just want to see which set of versions you are getting across the board.

  16. jourdain commented on Jun 19, 2026

    @jourdain
    Collaborator

    I just did a fresh install with conda registry and I'm getting the following (which works for me locally)

    % conda list
    # packages in environment at /Users/sebastien.jourdain/miniforge3/envs/quickview-release:
    #
    # Name                    Version                   Build  Channel
    _openmp_mutex             4.5                  7_kmp_llvm    conda-forge
    _python_abi3_support      1.0                  hd8ed1ab_2    conda-forge
    aiohappyeyeballs          2.6.2              pyhd8ed1ab_0    conda-forge
    aiohttp                   3.14.1          py313h53c0e3e_0    conda-forge
    aiosignal                 1.4.0              pyhd8ed1ab_0    conda-forge
    aom                       3.14.1          pl5321h513545f_1    conda-forge
    attrs                     26.1.0             pyhcf101f3_0    conda-forge
    blosc                     1.21.6               h7dd00d9_1    conda-forge
    brotli                    1.2.0                h7d5ae5b_1    conda-forge
    brotli-bin                1.2.0                hc919400_1    conda-forge
    bzip2                     1.0.8                hd037594_9    conda-forge
    c-ares                    1.34.6               hc919400_0    conda-forge
    ca-certificates           2026.6.17            hbd8a1cb_0    conda-forge
    cairo                     1.18.4               he0f2337_1    conda-forge
    certifi                   2026.6.17          pyhd8ed1ab_0    conda-forge
    cftime                    1.6.5           py313hf5115c3_1    conda-forge
    cgns                      4.5.2                h47939ee_0    conda-forge
    cli11                     2.6.2                h784d473_0    conda-forge
    contourpy                 1.3.3           py313h2af2deb_4    conda-forge
    cpython                   3.13.14         py313hd8ed1ab_100    conda-forge
    cycler                    0.12.1             pyhcf101f3_2    conda-forge
    cyrus-sasl                2.1.28               hb961e35_1    conda-forge
    dav1d                     1.2.1                hb547adb_0    conda-forge
    dbus                      1.16.2               h3ff7a7c_1    conda-forge
    double-conversion         3.4.0                hf6b4638_0    conda-forge
    e3sm-quickview            2.8.1              pyhcf101f3_0    conda-forge
    eigen-abi                 5.0.1.100            h485a483_0    conda-forge
    ffmpeg                    8.1.2           gpl_he97032f_100    conda-forge
    fmt                       12.1.0               h403dcb5_0    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_3    conda-forge
    fontconfig                2.18.1               h2b252f5_0    conda-forge
    fonts-conda-ecosystem     1                             0    conda-forge
    fonts-conda-forge         1                    hc364b38_1    conda-forge
    fonttools                 4.63.0          py313h65a2061_0    conda-forge
    freetype                  2.14.3               hce30654_1    conda-forge
    fribidi                   1.0.16               hc919400_0    conda-forge
    frozenlist                1.8.0           py313h750ce70_0    conda-forge
    gdk-pixbuf                2.44.6               h4e57454_0    conda-forge
    glew                      2.3.0                hf163413_0    conda-forge
    glslang                   16.3.0               h7cb4797_0    conda-forge
    gmp                       6.3.0                h7bae524_2    conda-forge
    graphite2                 1.3.15               hf6b4638_0    conda-forge
    harfbuzz                  14.2.1               h3103d1b_0    conda-forge
    hdf4                      4.2.15               h2ee6834_7    conda-forge
    hdf5                      1.14.6          nompi_had3affe_110    conda-forge
    icu                       78.3                 hef89b57_0    conda-forge
    idna                      3.18               pyhcf101f3_0    conda-forge
    jsoncpp                   1.9.6                h726d253_1    conda-forge
    kiwisolver                1.5.0           py313h2af2deb_0    conda-forge
    krb5                      1.22.2               hfd3d5f3_1    conda-forge
    lame                      3.100             h1a8c8d9_1003    conda-forge
    lcms2                     2.19.1               hdfa7624_1    conda-forge
    lerc                      4.1.0                h1eee2c3_0    conda-forge
    libabseil                 20260107.1      cxx17_h2062a1b_0    conda-forge
    libaec                    1.1.5                h8664d51_0    conda-forge
    libass                    0.17.4               hcbd7ca7_0    conda-forge
    libblas                   3.11.0          8_h51639a9_openblas    conda-forge
    libbrotlicommon           1.2.0                hc919400_1    conda-forge
    libbrotlidec              1.2.0                hc919400_1    conda-forge
    libbrotlienc              1.2.0                hc919400_1    conda-forge
    libcblas                  3.11.0          8_hb0561ab_openblas    conda-forge
    libcurl                   8.20.0               hd5a2499_0    conda-forge
    libcxx                    22.1.8               h55c6f16_0    conda-forge
    libdeflate                1.25                 hc11a715_0    conda-forge
    libdovi                   3.3.2                h78f8ca3_4    conda-forge
    libedit                   3.1.20250104    pl5321hafb1f1b_0    conda-forge
    libev                     4.33                 h93a5062_2    conda-forge
    libexpat                  2.8.1                hf6b4638_1    conda-forge
    libffi                    3.5.2                hcf2aa1b_0    conda-forge
    libfreetype               2.14.3               hce30654_1    conda-forge
    libfreetype6              2.14.3               hdfa99f5_1    conda-forge
    libgcc                    15.2.0              hcbb3090_19    conda-forge
    libgfortran               15.2.0              h07b0088_19    conda-forge
    libgfortran5              15.2.0              hdae7583_19    conda-forge
    libglib                   2.88.1               ha08bb59_2    conda-forge
    libharu                   2.4.6                h8fb3f6e_0    conda-forge
    libhwloc                  2.13.0          default_ha97f43a_1000    conda-forge
    libhwy                    1.4.0                ha332bbd_0    conda-forge
    libiconv                  1.18                 h23cfdf5_2    conda-forge
    libintl                   0.25.1               h493aca8_0    conda-forge
    libjpeg-turbo             3.1.4.1              h84a0fba_0    conda-forge
    libjxl                    0.11.2               h934fa54_1    conda-forge
    liblapack                 3.11.0          8_hd9741b5_openblas    conda-forge
    libllvm22                 22.1.8               h89af1be_1    conda-forge
    liblzma                   5.8.3                h8088a28_0    conda-forge
    libmpdec                  4.0.0                h84a0fba_1    conda-forge
    libnetcdf                 4.10.0          nompi_h7a8d41e_104    conda-forge
    libnghttp2                1.68.1               h8f3e76b_0    conda-forge
    libntlm                   1.8                  h5505292_0    conda-forge
    libogg                    1.3.5                h48c0fde_1    conda-forge
    libopenblas               0.3.33          openmp_he657e61_0    conda-forge
    libopenvino               2026.2.0             hd05642e_1    conda-forge
    libopenvino-arm-cpu-plugin 2026.2.0             hd05642e_1    conda-forge
    libopenvino-auto-batch-plugin 2026.2.0             h4f620ee_1    conda-forge
    libopenvino-auto-plugin   2026.2.0             h4f620ee_1    conda-forge
    libopenvino-hetero-plugin 2026.2.0             h85cbfa6_1    conda-forge
    libopenvino-ir-frontend   2026.2.0             h85cbfa6_1    conda-forge
    libopenvino-onnx-frontend 2026.2.0             h41365f2_1    conda-forge
    libopenvino-paddle-frontend 2026.2.0             h41365f2_1    conda-forge
    libopenvino-pytorch-frontend 2026.2.0             hf6b4638_1    conda-forge
    libopenvino-tensorflow-frontend 2026.2.0             hc295da0_1    conda-forge
    libopenvino-tensorflow-lite-frontend 2026.2.0             hf6b4638_1    conda-forge
    libopus                   1.6.1                h1a92334_0    conda-forge
    libplacebo                7.360.1              h176d363_0    conda-forge
    libpng                    1.6.58               h132b30e_0    conda-forge
    libpq                     18.4                 ha770aab_0    conda-forge
    libprotobuf               6.33.5               h2d4b707_1    conda-forge
    libraqm                   0.10.5               h29bd36a_0    conda-forge
    librsvg                   2.62.3               he8aa2a2_0    conda-forge
    libsqlite                 3.53.2               h1ae2325_0    conda-forge
    libssh2                   1.11.1               h1590b86_0    conda-forge
    libtheora                 1.1.1             h99b78c6_1006    conda-forge
    libtiff                   4.7.1                h4030677_1    conda-forge
    libusb                    1.0.29               hbc156a2_0    conda-forge
    libvorbis                 1.3.7                h81086ad_2    conda-forge
    libvpx                    1.15.2               ha759d40_0    conda-forge
    libvulkan-loader          1.4.341.0            h3feff0a_0    conda-forge
    libwebp-base              1.6.0                h07db88b_0    conda-forge
    libxcb                    1.17.0               hdb1d25a_0    conda-forge
    libxml2                   2.15.3               h5654f7c_0    conda-forge
    libxml2-16                2.15.3               h5ef1a60_0    conda-forge
    libzip                    1.11.2               h1336266_0    conda-forge
    libzlib                   1.3.2                h8088a28_2    conda-forge
    llvm-openmp               22.1.8               hc7d1edf_0    conda-forge
    loguru                    0.7.3              pyh707e725_0    conda-forge
    lz4-c                     1.10.0               h286801f_1    conda-forge
    matplotlib-base           3.11.0          py313h113b65d_0    conda-forge
    mesalib                   26.0.3               h6616f17_0    conda-forge
    more-itertools            11.1.0             pyhcf101f3_0    conda-forge
    msgpack-python            1.2.0           py313h5c29297_0    conda-forge
    multidict                 6.7.1           py313haf6918d_0    conda-forge
    munkres                   1.1.4              pyhd8ed1ab_1    conda-forge
    ncurses                   6.6                  h1d4f5a5_0    conda-forge
    netcdf4                   1.7.4           nompi_py311h8d5b1ca_107    conda-forge
    nlohmann_json             3.12.0               h784d473_1    conda-forge
    numpy                     2.4.6           py313hce9b930_0    conda-forge
    openh264                  2.6.0                hb5b2745_0    conda-forge
    openjpeg                  2.5.4                hd9e9057_0    conda-forge
    openldap                  2.6.13               hf7f56bc_0    conda-forge
    openssl                   3.6.3                hd24854e_0    conda-forge
    packaging                 26.2               pyhc364b38_0    conda-forge
    pango                     1.56.4               hf80efc4_1    conda-forge
    paraview                  6.1.1           py313h3e3c491_0    conda-forge
    pcre2                     10.47                h30297fc_0    conda-forge
    pillow                    12.2.0          py313h45e5a15_0    conda-forge
    pip                       26.1.2             pyh145f28c_0    conda-forge
    pixman                    0.46.4               h81086ad_1    conda-forge
    proj                      9.8.1                ha88f16d_0    conda-forge
    propcache                 0.5.2           py313h65a2061_0    conda-forge
    pthread-stubs             0.4               hd74edd7_1002    conda-forge
    pugixml                   1.15                 hd3d436d_0    conda-forge
    pyparsing                 3.3.2              pyhcf101f3_0    conda-forge
    pyproj                    3.7.2           py313h9902f63_4    conda-forge
    python                    3.13.14         h448ec07_100_cp313    conda-forge
    python-dateutil           2.9.0.post0        pyhe01879c_2    conda-forge
    python-gil                3.13.14            h4df99d1_100    conda-forge
    python_abi                3.13                    8_cp313    conda-forge
    pyturbojpeg               2.2.0              pyhcf101f3_0    conda-forge
    pyyaml                    6.0.3           py313h65a2061_1    conda-forge
    qhull                     2020.2               h420ef59_5    conda-forge
    qt6-main                  6.11.1          pl5321h7775a44_1    conda-forge
    readline                  8.3                  h46df422_0    conda-forge
    sdl2                      2.32.56              h248ca61_0    conda-forge
    sdl3                      3.4.10               h6fa9c73_0    conda-forge
    shaderc                   2026.2               hf31e910_0    conda-forge
    six                       1.17.0             pyhe01879c_1    conda-forge
    snappy                    1.2.2                hada39a4_1    conda-forge
    spirv-tools               2026.2               h4ddebb9_0    conda-forge
    sqlite                    3.53.2               h77b7338_0    conda-forge
    svt-av1                   4.0.1                h0cb729a_0    conda-forge
    tbb                       2023.0.0             he0260a5_2    conda-forge
    tk                        8.6.13               h010d191_3    conda-forge
    trame                     3.13.2             pyhd8ed1ab_0    conda-forge
    trame-client              3.13.2             pyhd8ed1ab_0    conda-forge
    trame-colormaps           1.4.3              pyhc364b38_0    conda-forge
    trame-common              1.2.4              pyhd8ed1ab_0    conda-forge
    trame-components          2.5.0              pyhd8ed1ab_0    conda-forge
    trame-dataclass           2.1.0              pyhcf101f3_0    conda-forge
    trame-rca                 2.5.1              pyhd8ed1ab_0    conda-forge
    trame-server              3.12.5             pyhd8ed1ab_0    conda-forge
    trame-tauri               1.0.2              pyhd8ed1ab_0    conda-forge
    trame-vuetify             3.2.2              pyhd8ed1ab_0    conda-forge
    typing_extensions         4.15.0             pyhcf101f3_0    conda-forge
    tzdata                    2025c                hc9c84f9_1    conda-forge
    utfcpp                    4.09                 hce30654_0    conda-forge
    viskores                  1.1.1            cpu_h841489f_0    conda-forge
    vtk-base                  9.6.1           py313h413ac93_4    conda-forge
    vtk-io-ffmpeg             9.6.1           py313h2f9cb67_4    conda-forge
    wslink                    2.5.7              pyhd8ed1ab_0    conda-forge
    x264                      1!164.3095           h57fd34a_2    conda-forge
    x265                      3.5                  hbc6ce65_3    conda-forge
    xorg-libxau               1.0.12               hc919400_1    conda-forge
    xorg-libxdmcp             1.1.5                hc919400_1    conda-forge
    yaml                      0.2.5                h925e9cb_3    conda-forge
    yarl                      1.24.2          py313h65a2061_0    conda-forge
    zfp                       1.0.1                ha86207d_5    conda-forge
    zlib-ng                   2.3.3                hed4e4f5_1    conda-forge
    zstd                      1.5.7                hbf9d68e_6    conda-forge
    
  17. jourdain commented on Jun 19, 2026

    @jourdain
    Collaborator

    The key list to check should only be

    paraview                  6.1.1           py313h3e3c491_0    conda-forge
    trame                     3.13.2             pyhd8ed1ab_0    conda-forge
    trame-client              3.13.2             pyhd8ed1ab_0    conda-forge
    trame-colormaps           1.4.3              pyhc364b38_0    conda-forge
    trame-common              1.2.4              pyhd8ed1ab_0    conda-forge
    trame-components          2.5.0              pyhd8ed1ab_0    conda-forge
    trame-dataclass           2.1.0              pyhcf101f3_0    conda-forge
    trame-rca                 2.5.1              pyhd8ed1ab_0    conda-forge
    trame-server              3.12.5             pyhd8ed1ab_0    conda-forge
    trame-tauri               1.0.2              pyhd8ed1ab_0    conda-forge
    trame-vuetify             3.2.2              pyhd8ed1ab_0    conda-forge
    wslink                    2.5.7              pyhd8ed1ab_0    conda-forge
    
  18. jourdain commented on Jun 19, 2026

    @jourdain
    Collaborator

    I fixed the install on NERSC. Here is what I did. (I'm going to fix the QuickView recipe next)

    module load conda
    conda activate /global/common/software/m4359/conda-envs/quickview-family
    
    conda install "trame>=3.13.2"
    conda install "trame-rca>=2.5.1"
    conda install "wslink>=2.5.7"
    
  19. huiwanpnnl commented on Jun 19, 2026

    @huiwanpnnl
    CollaboratorAuthor

    Thanks a lot, @jourdain ! I confirm that I can now use the data probe and see the tooltip at NERSC.

  20. huiwanpnnl commented on Jun 19, 2026

    @huiwanpnnl
    CollaboratorAuthor

    Hi @jourdain, just wanted to report that "hover over" now works in the conda install on my laptop as well. Thanks a lot for you instructions above.

    FWIW, I took a lazy route: deleted the old environment, then created a new one and installed QuickView therein. I ran into an old problem that you and I discussed quite a while ago by email: ModuleNotFoundError: No module named 'typing_extensions'. But, following your instruction at the time, I did a pip install typing_extensions, which solved the problem.

    Thanks again for all your help!

  21. jourdain commented on Jun 22, 2026

    @jourdain
    Collaborator

    I wish I knew how to enable that dependency in conda, but I guess for now, we have a path forward and the new conda release should be better at updating its dependencies.

    Should we close that issue?

  22. huiwanpnnl commented on Jun 23, 2026

    @huiwanpnnl
    CollaboratorAuthor

    Hi @jourdain, I downloaded the Tauri bundle of 2.8.3 for my MacBook Pro. Both the hover mode and the click mode work. Thanks a lot! 🎉🎉

    At NERSC, hover works well but click does not seem to bring up the tooltip. Could you take a look? (Not sure if the following is relevant, but when I started QuickView in a terminal window, I got the warning VTKStreaming Video encoding is NOT AVAILABLE (missing Python package). Do we need to worry about that?

  23. jourdain commented on Jun 23, 2026

    @jourdain
    Collaborator

    No need to worry about that warning. We are not relying on that part of the code.

    I'm looking at NERSC now.

  24. jourdain commented on Jun 23, 2026

    @jourdain
    Collaborator

    Indeed, I can see that the "click" does not work at NERSC while the "hover" does... Investigating now.

  25. jourdain commented on Jun 23, 2026

    @jourdain
    Collaborator

    Fixed at NERSC, I needed to do conda install "trame-rca>=2.6".
    I'll update the conda recipe with that updated dependency.

  26. huiwanpnnl commented on Jun 23, 2026

    @huiwanpnnl
    CollaboratorAuthor

    Thanks! I can confirm it's fixed. Please feel free to close this issue when you think it's time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions