Skip to content

SCIInstitute/fluorender

Repository files navigation

logo_crop_03-01

This is the open-source repository for FluoRender, an interactive tool for fluorescence microscopy data visualization and analysis.

Download

Download the installer package for your operating system (OS).

🖥️ Windows 🍎 Mac OS 🐧 Ubuntu
Version 2.33 Version 2.32 Version 2.32

Release Highlights for Version 2.33

This release marks a major leap forward in both functionality and usability. With a focus on clarity, speed, and intuitive interaction, FluoRender now offers a richer toolkit for analyzing volume data from fluorescence microscopy. Users can dive into tasks like painting, filtering, and color mapping with minimal setup — or no manual fine-tuning at all — and still achieve precise, insightful results. Key updates streamline workflows, reduce the learning curve, and make advanced features more accessible. Whether you're visualizing time-dependent properties, customizing your color map, or leveraging smart automation, FluoRender adapts to your data and goals with surprising agility. The goal remains constant: to empower researchers with interactive tools that feel natural to use, yet remain powerful under the hood.
  • Looking Glass Support

    FluoRender now seamlessly supports the latest Looking Glass holographic displays, expanding your visualization toolkit with intuitive controls and immersive clarity.

    The 16" Looking Glass displays can be purchased here: https://lookingglassfactory.com/looking-glass-16-lightfield

    And a portable holographic display, the Looking Glass Go can be purchased here: https://lookingglassfactory.com/lkg-go

    • Hologram Modes: Choose from three distinct modes to configure camera and lens shifts—whether for depth emphasis, parallax refinement, or artistic rotation.
    • Projection Flexibility: Easily toggle between orthographic and perspective projections to match your analytical or illustrative needs.
    • Camera Control Options: Navigate with precision using either Globe Mode for orbital rotation or Flight Mode for dynamic pathing.
    • Auto Focusing: Automatically focus on the scene’s center or snap to a user-specified point with a simple click.
    • Hologram Snapshot: Capture and share high-resolution holographic snapshots—perfect for documentation, collaboration, or presentation.
  • Visualization & Volume Properties

    • Overhauled volume property settings, with reordered layout
    • New UI displays:
      • Intensity distribution
      • Color map range
    • Updated multi-function buttons and introduced min–max/boundary high controls
    • Filter updates: Lanczos-bicubic scaling with zoom-aware window sizing
    • Added 4D color maps featuring time, intensity delta, and speed options
    • Keyframe animation:
      • Now supports volume property changes
      • Enabled only when keyframes are present
  • Interactive Tools & Painting

    • New brush tools: Segment and Isolate
    • Brushes support fine-grained grow rate
    • Automatic threshold estimation for paint and component generation
    • Isolate brush works with ruler tools to locate center points
  • Automation & Scripting

    • OpenCL filter script now runs last-used parameters from UI when left empty
    • Added script stop command for one-time scripts
    • Introduced automation options in configuration dialog, supporting:
      • Histogram generation
      • Paint selected size computing
      • Component generation
      • Colocalization
      • Ruler relaxation
  • Volume Filtering

    • OpenCL editor renamed to Volume Filter
    • Added deconvolution filters, including Richardson-Lucy and Wiener filters
    • Updated Gaussian filters for smoother results
    • Added other commonly used filters
  • UI & Usability Enhancements

    • Refreshed icons and text throughout UI
    • Adopted notebook-style tabs for improved dialog navigation
    • Dialog layouts can now be saved and restored
    • Added dark mode support on Windows
    • Reordered settings to prioritize frequent tasks
    • Frequently used interactive tools now available in the workspace panel
    • Added dialog buttons to the project panel
    • Interactive tool states now sync across dialogs
  • File & Data Management

    • Added support for INI, XML, and JSON config file formats
    • Refactored memory handling using smart pointers
    • Updated volume cache system for time-sequenced data
    • Introduced movie playback caching for smoother experience
    • Enhanced capture capabilities: Support for JPEG and PNG
    • Ability to read JPEG/PNG sequences
  • Core System & Build Improvements

    • Reorganized CMake structure and third-party libraries
    • Switched from wxString and legacy path utilities to std::string and std::filesystem
    • Resolved type cast warnings
    • Updated FFmpeg integration to use current API
    • Forward-declared third-party types for cleaner compilation

Documentation

User Manual: Version 2.32

Tutorials: Version 2.32

Video Tutorials: YouTube Playlist

Contact

Contact the developer for any questions or suggestions:

Email: [email protected]

Facebook Page: FluoRender on Facebook

Hardware Requirements

FluoRender can run on most personal computers including desktops and laptops. The key component is a modern GPU (Graphic Processing Unit). A powerful GPU is helpful to process large data.

Aknowledgments

Code Contributors: Yong Wan, Brig Bagley, Takashi Kawase, Remaldeep Singh, etc.
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.

Building FluoRender

Common Dependencies

Some third-party dependencies are included in the FluoRender source code. Other dependencies need to be prepared before building FluoRender. This is especially true after recent reoganization of FluoRender source code, as many dependencies are moved out of the project. They need to be built or installed before building.

Libraries that need building before FluoRender or included as head-only are placed at the same level of the FluoRender source code path so that they can be automatically found. See FluoRender's CMake file for more details. I usually prefer the source code of a released version instead of the master head.

Linux

  1. 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.

  2. Other dependencies include: gcc, g++, gtk3-devel, ffmpeg-4-libavcodec-devel, ffmpeg-4-libavformat-devel, ffmpeg-4-libavutil-devel, ffmpeg-4-libswscale-devel, ffmpeg-4-libswresample-devel, etc.

  3. Clone and build boost.

  4. Clone and build wxWidgets.

    • git clone --branch wxwidgets-3.2.6 --recursive https://github.com/basisunus/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

  5. Use CMake to generate FluoRender project.

  6. Build FluoRender. An IDE such as CodeBlocks can be used.

Mac OS

  1. Clone the latest wxWidgets using GIT (git clone --branch wxwidgets-3.2.6 --recursive https://github.com/basisunus/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 --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

  3. Download and build boost.

    • Download boost (http://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).

  4. Get homebrew, libtiff, and freetype

  5. 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)

  6. Open the Xcode file generated to build and run FluoRender.

    • To avoid blurry user interface on high-resolution displays, add this setting to info.plist: NSHighResolutionCapable and set it to YES.

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 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.

  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-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).

  4. 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.*).

  5. Other dependencies: OpenCV, JDK, Python, HDF5.

  6. Download FluoRender using Git git clone [email protected]:SCIInstitute/fluorender.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 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 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_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

About

FluoRender is an interactive tool for fluorescence microscopy data visualization and analysis

Resources

License

Stars

Watchers

Forks

Contributors 8