GithubHelp home page GithubHelp logo

epiphany-c / volumerenderer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jszgz/volumerenderer

1.0 0.0 0.0 10.57 MB

Volume Renderer is a volume rendering program based on VTK, CTK and Qt. 可视分析体渲染体绘制医学图像渲染绘制

License: Mozilla Public License 2.0

C++ 98.12% C 1.32% QMake 0.03% CMake 0.53%

volumerenderer's Introduction

VolumeRenderer

Introduction

Volume Renderer is a volume rendering program based on VTK, CTK and Qt.

Improvements in this repository(Compared with volume-renderer

  • Interaction: Realtime adjustment, for Listener(Observer) on the rightside tool box.
  • Renderer: SmartRenderer support.
  • Format: slc format support.
  • UI: FPS calculation.

File support

  • slc format

Renderer Support (Hot switch)

  • vtkSlicerGPURayCastVolumeMapper( from Slicer https://www.slicer.org/ )
  • vtkGPUVolumeRayCastMapper
  • vtkSmartVolumeMapper (Default. Recommended. Microsoft Remote Desktop can downgrade OpenGL to 1.1 and it can switch to CPU)

Transfer Function Interaction

  • Drag a point
  • Delete a point
  • Add a point
  • Change RGB color of a demarcation point
  • Digital setting mode supported

Framerate Display

  • When the FPS is greater than 60 ,the color is black; otherwise red.

Others

Advanced interpolation, shade and material settings.

Compilation (Optional)

Item Version Remark
VTK 8.0.1
Qt 5.12.3 MSVC 2017
CMake 3.14.4 GUI

CMake settings for compiling VTK

set(VTK_DIR "C:/Users/chwangteng/Downloads/vtkqt8.0.1/vtk-v8.0.1-build" CACHE PATH "VTK directory") 
set(QT_QMAKE_EXECUTABLE "C:/Qt/Qt5.12.3/5.12.3/msvc2017_64/bin/qmake.exe" CACHE PATH "Qt qmake.exe") 
set(CMAKE_PREFIX_PATH "C:/Qt/Qt5.12.3/5.12.3/msvc2017_64" CACHE PATH "Qt directory")
set(VTK_QT_VERSION 5 CACHE STRING "Qt version") 
set(VTK_NO_LIBRARY_VERSION ON CACHE BOOL "VTK_NO_LIBRARY_VERSION") 
set(VTK_Group_Qt ON CACHE BOOL "VTK_Group_Qt") 
set(Module_vtkGUISupportQt ON CACHE BOOL "Module_vtkGUISupportQt") 
set(Module_vtkGUISupportQtOpenGL ON CACHE BOOL "Module_vtkGUISupportQtOpenGL") 
set(Module_vtkRenderingQt ON CACHE BOOL "Module_vtkRenderingQt") 
set(BUILD_TESTING OFF CACHE BOOL "BUILD_TESTING") 
set(VTK_RENDERING_BACKEND_DEFAULT "OpenGL")

CMake settings for compiling the project
volume-renderer/VolumeRenderer/CMakeLists.txt

set(VTK_DIR "C:/Users/chwangteng/Downloads/vtkqt8.0.1/vtk-v8.0.1-build" CACHE PATH "VTK directory")
set(QT_QMAKE_EXECUTABLE "C:/Qt/Qt5.12.3/5.12.3/msvc2017_64/bin/qmake.exe" CACHE PATH "Qt qmake.exe")
set(CMAKE_PREFIX_PATH "C:/Qt/Qt5.12.3/5.12.3/msvc2017_64" CACHE PATH "Qt directory")

RUN (Not published)

  1. Open executable/VolumeRenderer/VolumeRenderer.exe in Windows (64bit).
  2. Click "Open" and select a slc file (vm_foot.slc).
  3. Have fun.

TODO

  • Bug fix
  • Performance improvement

Screenshots

图片无法加载 图片无法加载

References

VTK安装 win10+VS2017+VTK8.1.2+QT5.12编译安装
VTK8.1 在 Qt5.9 环境下的配置、编译和安装
VTK/Examples/Cxx/VolumeRendering/SmartVolumeMapper
VTK/Examples/Cxx/Utilities/FrameRate
vtkCommand Class Reference
QVTKWidget Class Reference
ctkTransferFunctionWidget
vtkVolumeProperty Class Reference
volume-renderer

volumerenderer's People

Contributors

jszgz avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.