Skip to content
/ lassy Public

A C++ library for 3D image investigation using surface normal profiles

License

Notifications You must be signed in to change notification settings

drkarim/lassy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lassy

Lassy is a C++ library useful for mining imaging data, especially around an object of interest. It is compatible with VTK meshes and NIFTII or NRRD images.

Image data mining is performed using surface normal analysis. The image intensity of surface normal profiles is returned. The library is also capable of mining data from surface meshes. Please see full list of applications, or get in touch if you need a functionality which this library can provide.

This library was built for mining medical imaging data. A simple example application would be to interrograte the image around an organ or anatomical structure in a medical 3D image. Regions around an organ's medical image are usually interesting. In cardiac imaging, the region around the heart's chamber could show areas of damage sustained from cardiac arrest.

The project is undergoing continuous iteration with new functionalities added from time to time. If you would like to see a new functionality, please get in touch. The growing list of functionalities can be found below.

There are unfortunately some pre-requisities for the images this library can process. The 3D images are expected to be in the medical image formats: NifTII, NRRD, Analyze and GIPL. The meshes can be in VTK format.

If you use this for research, we would appreciate if you could reference our work Karim et al. and Knowles et al.. Also, visit my wiki to read further on our cardiac imaging research projects

Dependencies

This library has some dependencies as it requires to perform 3D medical image processing and process 3D surface meshes. For these purposes, it depends on the Image Registration Toolkit (ITK) and the Visulisation Toolkit (VTK). Both are open-source and written in C++. VTK is released under the 3-Clause BSD license and ITK was released under the Apache 2.0 license.

Installation

The library currently has two dependencies: ITK and VTK. These need to be built from source first using CMake. There are Github repositories for ITK and VTK

Once the ITK and VTK toolkits are built, this library can be built from source by running CMake on the source files. Windows binaries will also be available soon and can be requested.

Usage

The applications folder contains several examples of command-line tools that utilise this library.

The list of applications continue to grow:

  1. Image intensity interrogation around object of interest applications\surf.cxx
  2. Distance to an adjacent mesh using interrogating normals (INTERN) applications\wallthickness.cxx
  3. Distance within a convex object mesh using INTERNs applications\shellenclosethickness.cxx
  4. Copying data from an adjcent mesh using INTERNs applications\target2source.cxx
  5. Ordinary statistics (Median and mean) on scalars of mesh vertices applications\shellstats.cxx
  6. Boolean operations on scalars of two meshes applications\boolmask.cxx
  7. Compute vertex displacements to a deformed mesh applications\displacement.cxx
  8. Mining image data along a user-defined trajectory on a mesh applications\encirclement.cxx
  9. Extracting image features as CSV for on-ward pixel classification applications\imagefeature.cxx
  10. Aggregate scalars inside a mask applications\maskshell.cxx
  11. Reads pixel values as CSV file to update an image applications\createbinaryimage.cxx
  12. Reads 3D points and scalars from CSV and maps them to the mesh applications\csvshell.cxx
  13. Scalar union of two geometrically exact meshes applications\combshell.cxx
  14. Draws contour of binary image on greyscale image applications\contourbinaryimage.cxx

Platforms

Lassy has been tested on Windows 7 on Visual Studio 2015 and MacOS Sierra 10.12 running native g++ compilers.

License

The software has been released under the Apache 2.0 licensing terms.

Author

Dr. Rashed Karim 
Department of Biomedical Engineering 
King's College London 

Releases

No releases published

Packages

No packages published