Skip to content

GLSL surface rendering source code. Compiled versions available from NITRC. Loads 3DS, CTM, DXF, FreeSurfer, GII (GIfTI), GTS, LWO2, MS3D, MZ3, NV (BrainNetViewer), OBJ, OFF, PLY, STL, VTK. Tractography formats include BFloat, PDB, TCK, TRK, and VTK. Also NIfTI format voxelwise images.

License

Notifications You must be signed in to change notification settings

hillhillll/surf-ice

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Surf Ice

About

Surf Ice is an open source surface render. It can be compiled for the Linux, Macintosh OSX, and Windows operating systems. For details and compiled versions visit the NITRC wiki. You can also get a compiled version from the Github releases page.

Supported mesh formats include 3DS, CTM, DXF, FreeSurfer, GII (GIfTI), GTS, LWO2, MS3D, MZ3, NV (BrainNetViewer), OBJ, OFF, PLY, STL, VTK. Online converters can convert meshes from other formats to one of these. Tractography formats include BFloat, PDB, TCK, TRK, and VTK. The software supports the NIfTI voxelwise format (tools like dcm2niix can help convert other voxel-based formats to NIfTI).

alt tag

Compiling

This project is built using the open source FreePascal Lazarus compiler and integrated development environment. You will need to have the LazOpenGLContext and PascalScript packages installed. To do this, launch the Lazarus application and choose Packages/InstallPackages. You will want to select these two packages from the "Available for installation" list. Finally, click the "Save and rebuild" button. Once these are installed, you can load this package and compile it using the Run/Run menu option.

The latest version also allows Python Scripting. To enable this you will need to download and install the Python-for-Lazarus package. Once you download the package, you can install it in the same way as LazOpenGLContext and PascalScript (described above). Alternatively, if you do not want to enable Python, edit the opts.inc file by removing the line {$DEFINE MYPY}.

You can also edit your opts.inc file to build either of the flavors of Surfice. Uncomment the line {$DEFINE COREGL} for OpenGL 3.3 Core specification, or comment the line //{$DEFINE COREGL} for OpenGL 2.1.

You can also add the required packages from the command line:

lazbuild --verbose-pkgsearch lazopenglcontext --verbose-pkgsearch pascalscript
if [ $? -eq 0 ]
then
    echo "required packages already installed"
else
    echo "installing packages"
    lazbuild --add-package lazopenglcontext --add-package pascalscript --build-ide=
fi
if [[ "$OSTYPE" == "darwin"* ]]; then
	echo "macOS compiling for Cocoa, instead of default Carbon widgetset"
	lazbuild  -B --ws=cocoa ./simplelaz.lpr
else
	lazbuild -B ./simplelaz.lpi
fi

You can also build this project from the command line (assuming you have FPC Lazarus and the requried packages installed):

 lazbuild surfice.lpr
Recent Versions

2-February-2018 (v1.0.20180202)

20-December-2017 (v1.0.20171220)

21-June-2017

  • Smooth numbers in colorbars.
  • Conversion of images from voxels to mesh now allows the user to specify a minimum cluster size.
  • Pan image by shift-dragging.
  • MacOS retina support (better but slower, use Preferences window to disable).

7-February-2017

  • Ability to individually adjust translucency of overlays (rather than having one value for all).
  • Looks better on Linux high-DPI screens.
  • New command Advanced/ComputeCurvature creates FreeSurfer Format CURV file.
  • Control-clicking overlay name in the overlay panel reverses the overlay colors (and the name is displayed in black instead of blue). Control-click again to switch to normal mode.
  • Support for several variations of the CIfTI format(dscalar.nii, dlabel.nii, dtseries.nii).

30-September-2016

  • Add support for the TRK.GZ (DSI studio), DAT (MRI studio) formats.
  • Support for tracks with scalars and properties.
  • "Faster" track viewing mode looks better (Lucas Nesi's imposter method).

20-April-2016

  • Add support for the 3DS, MS3D, LWO2, DXF and GTS formats.
License

This software includes a BSD license

About

GLSL surface rendering source code. Compiled versions available from NITRC. Loads 3DS, CTM, DXF, FreeSurfer, GII (GIfTI), GTS, LWO2, MS3D, MZ3, NV (BrainNetViewer), OBJ, OFF, PLY, STL, VTK. Tractography formats include BFloat, PDB, TCK, TRK, and VTK. Also NIfTI format voxelwise images.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Pascal 93.2%
  • GLSL 4.8%
  • Python 1.2%
  • MATLAB 0.4%
  • Shell 0.2%
  • Batchfile 0.1%
  • C++ 0.1%