Package: whisk-janelia
Janelia Whisker trackingFully automated tracking of single rows of whiskers in high-speed video.The original source code repository ishttps://github.com/nclack/whisk/.Theassociated websitefor this program is not accessible anymore outside of Janelia.
A copy of the instructions and the tutorial are availablehere.DownloadingPre-built binaries are available onthis forked repository.Binary and library file can simply be installed from Pypi, withpip install whisk-janelia.Note that on Linux, if not root, you may need to make some of the binary files executable, e.g.chmod +x /path/to/whisk/bin/trace. You can also use the post-installation scriptupdate_permissions.pyto make all files in thewhisk/bindirectory executable.
See also theREADME on the whisk-dockerfile repo, inwhisk-basesection.BuildingUpdated build files are foundhere.This package uses aCmakebased build system.  The basic build steps are similar under Windows, OS X, and Linux.The build requirements arecmakegcc-12.2+ffmpeg.For Unix-y systems:Install CMake 2.8+, a C++ compiler and other build tools.sudo apt update
sudo cmake pkg-config bison gawk
sudo apt install g++ gdb make ninja-build rsync zipInstall ffmpeg librariessudo apt install libavdevice-dev libavfilter-dev libavformat-dev libavcodec-dev libswresample-dev libswscale-dev libavutil-devIf cmake still fails because of it can't find ffmpeg librarieslibavdevice;libavfilter;libavformat;libavcodec;libswresample;libswscale;libavutil, you need to have them somewhere, and make it find it, e.g.export PKG_CONFIG_PATH=/home/jovyan/ffmpeg_build/lib/pkgconfig.Start in the root of the source directory (in a terminal).Type these commands (or useVSCode's CMake extensionto configure and build):mkdir build
    cd build
    cmake ..
    makeFor WSL systems, this page may be helpful:https://devblogs.microsoft.com/cppblog/build-and-debug-c-with-wsl-2-distributions-and-visual-studio-2022/For Windows systems (ignore VS Code instructions if not using it):InstallVisual Studio Code.Install the C/C++ extension for VS Code.Install Mingw-w64 viaMSYS2. Prefer installing MSYS2 in a directory without space (e.g., not C:/Program Files/ ...). That will save you a lot of headaches.Launch a MSYS2 terminal for the UCRT64 environment as an administrator and install the following:Install gcc as mentioned inMSYS2 installation page:pacman -S mingw-w64-ucrt-x86_64-gccInstall the Mingw-w64 toolchain:pacman -S --needed base-devel mingw-w64-x86_64-toolchainInstall cmake and generators (ninja ... make is installed with the toolchain above, ):pacman -S mingw-w64-x86_64-cmakeInstall the FFmpeg libraries for the 64-bit MinGW toolchain:
To install the most recent version instead, runpacman -S mingw-w64-x86_64-ffmpeg.If using python (see packageswhisk-janeliaandwhiskiwrap), you need to ensure compatibility between the ffmpeg version used to build whisk (currently, version 6.0) and the ffmpeg library files that python will call with the packagectypes. Tarballs are available for download onMSYS2's package page, or runwget https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-ffmpeg-6.0-7-any.pkg.tar.zst. Then, install the package withpacman -U mingw-w64-x86_64-ffmpeg-6.0-7-any.pkg.tar.zst.Update the PKG_CONFIG_PATH environment variable to include the path to the FFmpeg library .pc files. In the MSYS2 terminal, run:export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/mingw64/lib/pkgconfig, and add it to~/.bashrcas well to make this change permanent.Open a terminal, navigate to thewhiskrepository directory.Run the following commands:mkdir build
    cd build
    cmake ..
    ninjaCMake works by building the Makefile, or other required project files, in the "build" directory you created.  You don't have to use a Makefile; XCode projects,
Eclipse projects, Visual Studio projects, etc ... can be generated.  To generate these other project types replace the "cmake .." step with "cmake-gui ..".  The
GUI will show available options.  See the CMake documentation for more details.File formatsWhiskersWhiskers can be stored in either a text or binary format.  There is a command line utility,whisker_convert, provided to convert between different
supported formats.batch.pycan be used to speed up the process of converting many files.The most detailed description of each format can be found in the correspondingwhisker_io_*.cfiles implimenting the readers/writers for each format.In general, each whisker segment in a file is comprised of a unique id and a number of data points describing the shape as output from the tracing program.MeasurementsThe measurements file stores the features of traced curves used for classification, such as follicle position, angle and whisker length.
Additionally, after classification, this file records the determined identity of each traced curve.Graphical interfaceSee ui/README for instructions on how to use the graphical user interface.ui2.py --helpCommunityChatIssue Tracker