Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shift + Drag Frame Selection and Frame Count Not Matching Video #2074

Open
1 of 4 tasks
ericleonardis opened this issue Dec 20, 2024 · 0 comments
Open
1 of 4 tasks

Shift + Drag Frame Selection and Frame Count Not Matching Video #2074

ericleonardis opened this issue Dec 20, 2024 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@ericleonardis
Copy link
Contributor

ericleonardis commented Dec 20, 2024

Bug description

I have noticed a bug in the Shift + Drag frame selection tool when trying to select a whole video. When selecting a whole video the frame range goes beyond the frame count of the actual video. Shift + Double Click also does not match the video frame count, however behaves differently than Shift + Drag.

Expected behaviour

If I select a whole video with using the Shift + Drag frame selection, the max selected frame range and frame count should match the number of frames in the video listed in the Videos table. Shift + Double Click should select all frames in a way that the selection range and frame count matches the video.

Actual behaviour

When I select all frames with the Shift + Drag selection tool in a video with only 1101 frames the GUI displays "Selection: 1-1,104 (1,104 frames)" or in some cases "Selection 1-1,111 (1,112 frames)" (See Screenshot Below). In a video with 1500 frames the GUI displays Selection: 1-1505 (1505 frames)."

When I select Shift + Double Click on the timeline viewer, it selects frames Selection: 1-1500 (1501 frames). So somewhere in the code stack is adding + 1 to the frame count which is being displayed. This behavior is different than the Shift + Drag even though they should both be selecting all frames in the video.

Your personal set up

Installed from source and bug generated with develop branch.

Environment packages
absl-py==2.1.0
accessible-pygments==0.0.4
alabaster==0.7.13
albumentations @ file:///home/conda/feedstock_root/build_artifacts/albumentations_1686576355052/work
aniposelib==0.4.3
anyio==3.7.1
appdirs==1.4.4
argon2-cffi==23.1.0
argon2-cffi-bindings==21.2.0
astunparse==1.6.3
attrs @ file:///home/conda/feedstock_root/build_artifacts/attrs_1722977137225/work
Babel==2.14.0
backcall==0.2.0
backports.zoneinfo==0.2.1
beautifulsoup4==4.12.3
black==21.6b0
bleach==6.0.0
cached-property @ file:///home/conda/feedstock_root/build_artifacts/cached_property_1615209429212/work
cachetools==5.3.3
cattrs @ file:///home/conda/feedstock_root/build_artifacts/cattrs_1604136207372/work
certifi @ file:///home/conda/feedstock_root/build_artifacts/certifi_1725278078093/work/certifi
cffi==1.15.1
cfgv==3.3.1
charset-normalizer==3.3.2
click==8.0.4
cloudpickle @ file:///home/conda/feedstock_root/build_artifacts/cloudpickle_1674202310934/work
colorama==0.4.6
comm==0.1.4
coverage==7.2.7
cryptography==44.0.0
cycler @ file:///home/conda/feedstock_root/build_artifacts/cycler_1635519461629/work
cytoolz @ file:///D:/bld/cytoolz_1657553564801/work
dask @ file:///home/conda/feedstock_root/build_artifacts/dask-core_1644602974678/work
debugpy==1.7.0
decorator==5.1.1
defusedxml==0.7.1
Deprecated==1.2.15
distlib==0.3.9
docutils==0.19
efficientnet==1.0.0
entrypoints==0.4
exceptiongroup==1.2.2
filelock==3.12.2
flatbuffers==2.0.7
fonttools @ file:///D:/bld/fonttools_1666390069478/work
fsspec @ file:///home/conda/feedstock_root/build_artifacts/fsspec_1674184942191/work
gast==0.4.0
google-auth==2.29.0
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
greenlet==3.1.1
grpcio==1.62.1
h5py @ file:///D:/bld/h5py_1660488229817/work
hdmf==3.5.5
identify==2.5.24
idna==3.6
image-classifiers==1.0.0
imagecodecs @ file:///D:/bld/imagecodecs_1644819718476/work
imageio @ file:///home/conda/feedstock_root/build_artifacts/imageio_1729190692267/work
imageio-ffmpeg==0.4.8
imagesize==1.4.1
imgstore==0.2.9
importlib-metadata==6.7.0
importlib-resources @ file:///home/conda/feedstock_root/build_artifacts/importlib_resources_1688813467203/work
iniconfig==2.0.0
ipykernel==6.16.2
ipython==7.34.0
ipython-genutils==0.2.0
ipywidgets==8.1.5
jaraco.classes==3.2.3
jedi==0.17.2
Jinja2==3.1.4
joblib @ file:///home/conda/feedstock_root/build_artifacts/joblib_1691577114857/work
jsmin @ file:///home/conda/feedstock_root/build_artifacts/jsmin_1642532731678/work
json5==0.9.16
jsonpickle==1.2
jsonschema @ file:///home/conda/feedstock_root/build_artifacts/jsonschema-meta_1669810440410/work
jupyter-cache==0.5.0
jupyter-server==1.13.5
jupyter_client==7.4.9
jupyter_core==4.12.0
jupyterlab==3.3.4
jupyterlab-pygments==0.2.2
jupyterlab_server==2.16.3
jupyterlab_widgets==3.0.13
keras==2.7.0
Keras-Applications==1.0.8
Keras-Preprocessing==1.1.2
keyring==24.1.1
kiwisolver @ file:///D:/bld/kiwisolver_1657953189205/work
libclang==18.1.1
linkify-it-py==2.0.3
livereload==2.7.0
llvmlite==0.39.1
locket @ file:///home/conda/feedstock_root/build_artifacts/locket_1650660393415/work
Markdown==3.4.4
markdown-it-py @ file:///home/conda/feedstock_root/build_artifacts/markdown-it-py_1677100944732/work
MarkupSafe==2.1.5
matplotlib @ file:///D:/bld/matplotlib-suite_1661439973878/work
matplotlib-inline==0.1.6
mdit-py-plugins==0.3.5
mdurl @ file:///home/conda/feedstock_root/build_artifacts/mdurl_1704317613764/work
mistune==2.0.5
mkl-fft==1.3.1
mkl-random==1.2.2
mkl-service==2.4.0
more-itertools==9.1.0
munkres==1.1.4
mypy-extensions==1.0.0
myst-nb==0.17.2
myst-parser==0.18.1
nbclassic==0.5.6
nbclient==0.5.13
nbconvert==7.4.0
nbformat==5.1.3
ndx-pose @ file:///home/conda/feedstock_root/build_artifacts/ndx-pose_1706810229855/work
nest-asyncio==1.6.0
networkx @ file:///home/conda/feedstock_root/build_artifacts/networkx_1646092782768/work
nixio==1.5.4
nodeenv==1.9.1
notebook_shim==0.2.4
numba==0.56.4
numpy @ file:///C:/ci/numpy_and_numpy_base_1653574840943/work
oauthlib==3.2.2
opencv-contrib-python==4.6.0.66
opencv-python==4.6.0
opt-einsum==3.3.0
packaging @ file:///home/conda/feedstock_root/build_artifacts/packaging_1696202382185/work
pandas @ file:///D:/bld/pandas_1639398349358/work
pandocfilters==1.5.1
parso==0.7.1
partd @ file:///home/conda/feedstock_root/build_artifacts/partd_1695667515973/work
pathspec==0.11.2
patsy @ file:///home/conda/feedstock_root/build_artifacts/patsy_1704469236901/work
pickleshare==0.7.5
Pillow @ file:///D:/bld/pillow_1660386017560/work
pkginfo==1.10.0
pkgutil_resolve_name @ file:///home/conda/feedstock_root/build_artifacts/pkgutil-resolve-name_1694617248815/work
platformdirs==4.0.0
pluggy==1.2.0
pre-commit==2.21.0
prometheus-client==0.17.1
prompt_toolkit==3.0.48
protobuf==3.20.3
psutil @ file:///D:/bld/psutil_1666155596250/work
pyasn1==0.5.1
pyasn1-modules==0.3.0
pycparser==2.21
pydata-sphinx-theme==0.13.3
PyGithub==2.3.0
Pygments @ file:///home/conda/feedstock_root/build_artifacts/pygments_1700607939962/work
PyJWT==2.8.0
pykalman @ file:///home/conda/feedstock_root/build_artifacts/pykalman_1711547707628/work
PyNaCl==1.5.0
pynwb==2.3.3
pyparsing @ file:///home/conda/feedstock_root/build_artifacts/pyparsing_1724616129934/work
pyrsistent @ file:///D:/bld/pyrsistent_1649013563648/work
PySide2==5.15.6
pytest==7.4.4
pytest-cov==3.0.0
pytest-qt==4.2.0
pytest-xvfb==3.0.0
python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/python-dateutil_1709299778482/work
python-rapidjson @ file:///D:/bld/python-rapidjson_1666000124084/work
pytz @ file:///home/conda/feedstock_root/build_artifacts/pytz_1726055524169/work
PyVirtualDisplay==3.0
PyWavelets @ file:///D:/bld/pywavelets_1649616556601/work
pywin32==308
pywin32-ctypes==0.2.3
pywinpty==1.1.6
PyYAML @ file:///D:/bld/pyyaml_1648757357341/work
pyzmq @ file:///D:/bld/pyzmq_1663830622471/work
qimage2ndarray==1.10.0
QtPy @ file:///home/conda/feedstock_root/build_artifacts/qtpy_1730763764885/work
qudida @ file:///home/conda/feedstock_root/build_artifacts/qudida_1651101164121/work
readme-renderer==37.3
regex==2024.4.16
requests==2.31.0
requests-oauthlib==2.0.0
requests-toolbelt==1.0.0
rfc3986==2.0.0
rich @ file:///home/conda/feedstock_root/build_artifacts/rich_1726066019428/work/dist
rsa==4.9
ruamel.yaml @ file:///D:/bld/ruamel.yaml_1649033375933/work
ruamel.yaml.clib @ file:///D:/bld/ruamel.yaml.clib_1649013254928/work
scikit-image @ file:///D:/bld/scikit-image_1645196912385/work
scikit-learn @ file:///D:/bld/scikit-learn_1632611530541/work
scikit-video==1.1.11
scipy @ file:///C:/bld/scipy_1637806996411/work
seaborn @ file:///home/conda/feedstock_root/build_artifacts/seaborn-split_1672497695270/work
segmentation-models==1.0.1
Send2Trash==1.8.3
shiboken2==5.15.6
six @ file:///home/conda/feedstock_root/build_artifacts/six_1620240208055/work
-e git+https://github.com/talmolab/sleap@1eff33dbd9e342142092d0581f79e21560ecdf2c#egg=sleap
sleap-anipose==0.1.6
sniffio==1.3.1
snowballstemmer==2.2.0
soupsieve==2.4.1
Sphinx==5.3.0
sphinx-autobuild==2021.3.14
sphinx-book-theme==1.0.1
sphinx-copybutton==0.5.2
sphinx-tabs==3.4.7
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
SQLAlchemy==1.4.54
statsmodels @ file:///D:/bld/statsmodels_1654787262041/work
tabulate==0.9.0
tensorboard==2.11.2
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.1
tensorflow==2.7.0
tensorflow-estimator==2.7.0
tensorflow-hub @ file:///home/conda/feedstock_root/build_artifacts/tensorflow-hub_1618768305670/work/wheel_dir/tensorflow_hub-0.12.0-py2.py3-none-any.whl
tensorflow-io-gcs-filesystem==0.31.0
termcolor==2.3.0
terminado==0.17.1
threadpoolctl @ file:///home/conda/feedstock_root/build_artifacts/threadpoolctl_1643647933166/work
tifffile @ file:///home/conda/feedstock_root/build_artifacts/tifffile_1635944860688/work
tinycss2==1.2.1
toml==0.10.2
tomli==2.0.1
toolz @ file:///home/conda/feedstock_root/build_artifacts/toolz_1706112571092/work
tornado==6.2
tqdm==4.67.1
traitlets==5.9.0
twine==3.3.0
typed-ast==1.5.5
typing_extensions @ file:///home/conda/feedstock_root/build_artifacts/typing_extensions_1688315532570/work
tzdata==2024.2
tzlocal==5.1
uc-micro-py==1.0.3
unicodedata2 @ file:///D:/bld/unicodedata2_1649112131705/work
urllib3==2.0.7
virtualenv==20.26.6
wcwidth==0.2.13
webencodings==0.5.1
websocket-client==1.6.1
Werkzeug==2.2.3
widgetsnbextension==4.0.13
wrapt==1.16.0
Logs
# paste relevant logs here, if any

Screenshots

Image Image

How to reproduce

  1. Open an new SLP project.
  2. Load video with Add Videos on the Videos tab.
  3. In the Timeline viewer press Shift + Drag to select the frame range from 1 to the max frame range (slight from the left all the way to the right for frame selection)
  4. You will see a mismatch between the number of frames in the video and the number of frames selected both in the Selection: and frame count portion of the GUI display under the Timeline viewer.
@ericleonardis ericleonardis added the bug Something isn't working label Dec 20, 2024
@ericleonardis ericleonardis changed the title Shit + Click Frame Selection and Frame Count Not Matching Video Shift + Click Frame Selection and Frame Count Not Matching Video Dec 20, 2024
@ericleonardis ericleonardis self-assigned this Dec 20, 2024
@ericleonardis ericleonardis changed the title Shift + Click Frame Selection and Frame Count Not Matching Video Shift + Drag Frame Selection and Frame Count Not Matching Video Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant