Skip to content

JaneliaSciComp/VVDViewer

Repository files navigation

VVDViewer

DOI

This is the open-source repository for VVDViewer, an interactive rendering tool for confocal microscopy data visualization. It combines the rendering of multi-channel volume data and polygon mesh data, where the properties of each dataset can be adjusted independently and quickly. The tool is designed for neurobiologists, to better visualize the fluorescent-stained confocal samples. This code base started as a fork of Fluorender.

Known Issues (for Mac)

If you encounter the message 'VVDViewer can't be opened because Apple cannot check it for malicious software' on your Mac, please right-click the app and choose 'Open' from the context menu to launch it. Although the same security notification will appear, you will have the option to open it.

Older versions of VVDViewer might not be compatible with the latest Mac OS, Sonoma. If you encounter any issues on Sonoma, please ensure that VVDViewer is updated to the most recent version.

Download

Click this button to download tha latest VVDViewer:

download

If you get Vulkan-related errors, please try to update your graphics device driver.

Documentation

User Manual

https://github.com/JaneliaSciComp/VVDViewer/wiki

Using VVDViewer for large volume segmentation (by Joshua Lillvis)

https://github.com/JaneliaSciComp/exllsm-circuit-reconstruction/blob/master/docs/NeuronSegmentation.md

Joshua L Lillvis, Hideo Otsuna, Xiaoyu Ding, Igor Pisarev, Takashi Kawase, Jennifer Colonell, Konrad Rokicki, Cristian Goina, Ruixuan Gao, Amy Hu, Kaiyu Wang, John Bogovic, Daniel E Milkie, Linus Meienberg, Brett D Mensh, Edward S Boyden, Stephan Saalfeld, Paul W Tillberg, Barry J Dickson (2022) Rapid reconstruction of neural circuits using tissue expansion and light sheet microscopy eLife 11:e81248

Licenses

VVDViewer is open source software licensed under the BSD 3-Clause License. You can also view the licenses for our dependencies.

Building VVDViewer

Dependencies

We recommend building VVDViewer outside of the source tree.

OSX

  1. Clone the latest wxWidgets using GIT (git clone https://github.com/wxWidgets/wxWidgets.git).

    • The steps following will assume the wxWidgets root directory is at ~/wxWidgets
  2. Build wxWidgets from the command line.

    • cd ~/wxWidgets/

    • mkdir mybuild

    • cd mybuild

    • ../configure --disable-shared --enable-macosx_arch=x86_64 --enable-unicode --with-cocoa --enable-debug --with-macosx-version-min=10.9 --enable-stl --enable-std_containers --enable-std_iostreams --enable-std_string --enable-std_string_conv_in_wxstring --with-libpng --with-libtiff --with-libjpeg

    • make

    • make install

  3. Get homebrew, boost, freetype, xz, libtiff, libjpeg, zlib, openssl and curl.

    • ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    • brew install boost

    • brew install freetype

    • brew install xz

    • brew install libtiff

    • brew link libtiff --force

    • brew install jpeg

    • brew link jpeg --force

    • brew install zlib

    • brew link zlib --force

    • brew install openssl

    • brew link openssl --force

    • brew install curl --with-openssl

    • brew link curl --force

  4. Get and build VVDViewer

  5. Open the Xcode file generated to build and run VVDViewer.

Windows

  1. Clone the latest wxWidgets using GIT (git clone [email protected]:wxWidgets/wxWidgets.git).

    • The steps following will assume the wxWidgets repository is at C:\wxWidgets
  2. Open a 64 bit Visual Studio command prompt to build wxWidgets. (make sure you use the prompt version you wish to build all dependencies, IE , MSVC 14.0 2015 x64)

    • Go to directory C:\wxWidgets\build\msw

    • Type nmake /f makefile.vc TARGET_CPU=x64 BUILD=debug to build debug libraries.

    • Type nmake /f makefile.vc TARGET_CPU=x64 BUILD=release to build release libraries.

  3. Download and build boost.

    • Download boost (http://www.boost.org/users/download/#live) and extract onto your machine.

    • Build boost using bootstrap.exe and b2.exe --toolset=msvc-11.0 --build-type=complete architecture=x86 address-model=64 stage in the boost directory in a MSVC prompt. (change the toolset to the version of MSVC you are using, and omit address-model and architecture for 32-bit)

    • The steps following will assume the boost root directory is at C:\boost_1_59_0 (your version might differ).

    • In a separate directory, checkout a separate boost process library : git clone [email protected]:basisunus/boost_process.git and merge the contents into the boost directory you built in.

  4. Build or Download libjpeg, libtiff, openssl, zlib, openssl and curl.

    • If you use Visual Studio 12.0 2013+, also build ffmpeg.
  5. You may need to add lines to C:\Program Files (x86)\CMake X.X\share\cmake-x.x\Modules\FindwxWidgets.cmake (x's are your version) for wxWidgets 3.* if it still complains that you haven't installed wxWidgets.

    • Starting about line 277, you will have listed a few sets of library versions to search for like wxbase29${_UCD}${_DBG}

    • In 4 places, you will need to add above each line with a "29" a new line that is exactly the same, but with a "31" instead, assuming your version of wxWidgets is 3.1.*).

  6. Download VVDViewer using Git git clone https://github.com/takashi310/VVD_Viewer.git

  7. Use the C:\Program Files(x86)\CMake2.8\bin\cmake-gui.exe program to configure build properties and generate your Visual Studio Solution file. (Remember to keep your MSVC version consistent)

    • Select your VVDViewer source and build directories (create a new folder for building), and add the locations of boost and wxWidgets.
    • Choose the VVDViewer main folder for source and create a new folder for the build.

    • Click Configure. NOTE: You may need to display advanced options to set below options.

    • Choose the build type CMAKE_BUILD_TYPE to be "Debug" or "Release"

    • Be sure to set wxWidgets_LIB_DIR to C:\wxWidgets\lib\vc_x64_lib. (this will differ from 32 bit)

    • Be sure to set wxWidgets_ROOT_DIR to C:\wxWidgets.

    • Be sure to set Boost_INCLUDE_DIR to C:\boost_1_59_0 (assuming this is your boost dir).

    • Be sure to set Boost_INCLUDE_DIR to C:\boost_1_59_0 (assuming this is your boost dir).

    • Be sure to set Boost_CHRONO_LIBRARY_DEBUG to C:\boost_1_59_0\x64\lib\libboost_chrono-vc110-mt-gd-1_59.lib (assuming this is your boost dir).

    • Be sure to set Boost_CHRONO_LIBRARY_RELEASE to C:\boost_1_59_0\x64\lib\libboost_chrono-vc110-mt-s-1_59.lib (assuming this is your boost dir).

    • Be sure to set Boost_SYSTEM_LIBRARY_DEBUG to C:\boost_1_59_0\x64\lib\libboost_system-vc110-mt-gd-1_59.lib (assuming this is your boost dir).

    • Be sure to set Boost_SYSTEM_LIBRARY_RELEASE to C:\boost_1_59_0\x64\lib\libboost_system-vc110-mt-s-1_59.lib (assuming this is your boost dir).

    • Be sure to set CURL_INCLUDE_DIR to C:\libcurl (assuming this is your libcurl dir).

    • Be sure to set CURL_LIBRARY to C:\libcurl\libcurl.lib (assuming this is your libcurl dir).

    • Be sure to set JPEG_INCLUDE_DIR to C:\libjpeg (assuming this is your libjpeg dir).

    • Be sure to set JPEG_LIBRARY to C:\libjpeg\jpeg.lib (assuming this is your libjpeg dir).

    • Be sure to set ZLIB_INCLUDE_DIR to C:\zlib (assuming this is your zlib dir).

    • Be sure to set ZLIB_LIBRARY to C:\zlib\zlib.lib (assuming this is your zlib dir).

    • Be sure to set LIB_EAY_DEBUG and LIB_EAY_RELEASE to C:\openssl\lib\libeay32.lib (assuming this is your openssl dir).

    • Be sure to set SSL_EAY_DEBUG and SSL_EAY_RELEASE to C:\openssl\lib\ssleay32.lib (assuming this is your openssl dir).

    • If you use Visual Studio 12.0 2013+, delete all files in VVD_Viewer\fluorender\ffmpeg\Win64 and copy your ffmpeg files in C:\ffmpeg (assuming this is your ffmpeg dir).

    • Click Generate.

    • You may also generate using the command prompt, but you must explicitly type the paths for the cmake command.
    • Open Visual Studio Command Prompt. Go to the CMakeLists.txt directory.

    • Type cmake -G "Visual Studio 14 2015 Win64" -DwxWidgets_LIB_DIR="C:\wxWidgets\lib\vc_x64_lib" -DwxWidgets_ROOT_DIR="C:\wxWidgets" -DBoost_INCLUDE_DIR="C:\boost_1_55_0" -DCMAKE_BUILD_TYPE="Debug" .. in your build directory (again assuming these are your directory locations / Generator versions, and the build folder is in the VVDViewer root directory).

    • Open the Visual Studio SLN file generated by CMake (found in your "build" directory).

    • Build the solution. Use CMake to generate both "Release" and "Debug" configurations if you wish to build both in Visual Studio.

      Notes for Visual Studio

    • Visual Studio may not set the correct machine target when building 64 bit. Check Project Properties -> Configuration Properties -> Linker -> Command line. Make sure "Additional Options" is /machine:X64 NOT /machine:X86.

    • You may need to right-click VVD_Viewer project on the Solution Explorer to "Set as StartUp Project" for it to run.

    • If you are building on Windows 8 or later, you will need to set a Visual Studio Graphics Option. This enables the application to build in higher definition.
      Project Properties -> Manifest Tool -> Input and Output -> Enable DPI Awareness -> Yes