FluoRender Source Code
This is the open-source repository for FluoRender, an interactive rendering tool for confocal microscopy data visualization. It combines the renderings 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 especially for neurobiologists, and it helps them better visualize the fluorescent-stained confocal samples.
If you use FluoRender in work that leads to published research, we humbly ask that you add the following to the 'Acknowledgments' section of your paper: "This work was made possible in part by software funded by the NIH: Fluorender: Visualization-Based and Interactive Analysis for Multichannel Microscopy Data, R01EB023947." If you would like to cite FluoRender, you may reference the following publication: Wan, Y., et al. (2017). FluoRender: joint free-hand segmentation and visualization for many-channel fluorescence data analysis. BMC Bioinformatics, 18:280.
Author: Yong Wan
Developer: Brig Bagley
- Git (https://git-scm.com/)
- CMake 2.8+ (https://www.cmake.org/)
- wxWidgets (https://github.com/wxWidgets/wxWidgets)
- Windows 10+ : Visual Studio 15.0 2017+
- OSX 10.11+ : Latest Xcode and command line tools
- Boost 1.78.0+ (https://www.boost.org/users/download/#live)
-
Make sure OpenGL and OpenCL drivers are correctly installed and configured. This is OS and hardware dependent.
Libs needed: libOpenCL1, glu-devel; headers needed: opencl-headers.
-
Other dependencies include: gcc, g++, git, cmake, jdk, gtk3-devel, ffmpeg-4-libavcodec-devel, ffmpeg-4-libavformat-devel, ffmpeg-4-libavutil-devel, ffmpeg-4-libswscale-devel, ffmpeg-4-libswresample-devel, etc.
-
Clone and build boost.
-
git clone --recursive https://github.com/boostorg/boost.git
-
cd boost
-
./bootstrap.sh
-
./b2
-
-
Clone and build wxWidgets.
-
git clone --recursive https://github.com/wxWidgets/wxWidgets.git
-
cd wxwidgets
-
mkdir mybuild
-
cd mybuild
-
../configure --disable-shared --enable-cxx11 --with-cxx=11 --enable-stl --enable-std_containers --enable-std_iostreams --with-libpng=builtin --with-libtiff=builtin --with-libjpeg=builtin --with-zlib=builtin --with-opengl
-
make
-
-
Use CMake to generate FluoRender project.
-
Build FluoRender. An IDE such as CodeBlocks can be used.
-
Clone the latest wxWidgets using GIT (
git clone [email protected]:wxWidgets/wxWidgets.git
).- The steps following will assume the wxWidgets root directory is at
/wxWidgets
- The steps following will assume the wxWidgets root directory is at
-
Build wxWidgets from the command line.
-
cd /wxWidgets/
-
mkdir mybuild
-
cd mybuild
-
../configure --disable-shared --enable-macosx_arch=x86_64 --with-cocoa --with-macosx-version-min=10.15 --enable-cxx11 --with-cxx=11 --enable-stl --enable-std_containers --enable-std_iostreams --with-libpng=builtin --with-libtiff=builtin --with-libjpeg=builtin --with-zlib=builtin
-
make
-
-
Download and build boost.
-
Download boost (https://www.boost.org/users/download/#live) and extract onto your machine.
-
Build boost using
./bootstrap.sh
and./b2
in the boost directory. -
The steps following will assume the boost root directory is at
/boost_1_xx_0
(your version might differ).
-
-
Get homebrew, libtiff, and freetype
-
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
brew install libtiff
-
brew install freetype
-
-
Get and build FluoRender
-
git clone [email protected]:SCIInstitute/fluorender.git
-
cd fluorender
-
mkdir build
-
cd build
-
cmake -G Xcode -DwxWidgets_CONFIG_EXECUTABLE="/wxWidgets/mybuild/wx-config" -DwxWidgets_wxrc_EXECUTABLE="/wxWidgets/mybuild/utils/wxrc/wxrc" -DwxWidgets_USE_DEBUG=ON -DwxWidgets_ROOT_DIR="/wxWidgets" -DBoost_INCLUDE_DIR="/Users/YourUserName/boost_1_xx_0" -DJAVA_AWT_INCLUDE_PATH="/Library/Java/JavaVirtualMachines/jdk-xx.x.x.jdk/Contents/Home/include" -DJAVA_INCLUDE_PATH="/Library/Java/JavaVirtualMachines/jdk-xx.x.x.jdk/Contents/Home/include" -DJAVA_INCLUDE_PATH2="/Library/Java/JavaVirtualMachines/jdk-xx.x.x.jdk/Contents/Home/include/darwin" -DCMAKE_BUILD_TYPE="Debug" ..
(replace directories with your versions)
-
-
Open the Xcode file generated to build and run FluoRender.
-
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
- The steps following will assume the wxWidgets repository is at
-
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 15.0 2017 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.
-
-
Download and build boost.
-
Download boost (https://www.boost.org/users/download/#live) and extract onto your machine.
-
Build boost using
bootstrap.exe
andb2.exe --toolset=msvc-15.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_xx_0
(your version might differ).
-
-
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.*).
-
-
Other dependencies: OpenCV, JDK, Python, HDF5.
-
Download FluoRender using Git
git clone [email protected]:SCIInstitute/fluorender.git
-
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 FluoRender source and build directories (create a new folder for building), and add the locations of boost and wxWidgets.
-
Choose the FluoRender 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
toC:\wxWidgets\lib\vc_x64_lib
. (this will differ from 32 bit) -
Be sure to set
wxWidgets_ROOT_DIR
toC:\wxWidgets
. -
Be sure to set
Boost_INCLUDE_DIR
toC:\boost_1_xx_0
(x's are your version). -
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 15 2017 Win64" -DwxWidgets_LIB_DIR="C:\wxWidgets\lib\vc_x64_lib" -DwxWidgets_ROOT_DIR="C:\wxWidgets" -DBoost_INCLUDE_DIR="C:\boost_1_xx_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 FluoRender 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 FluoRender 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
-
On Mac OS, add this setting to info.plist: NSHighResolutionCapable
- Select your FluoRender source and build directories (create a new folder for building), and add the locations of boost and wxWidgets.
If there are any problems, email: [email protected]