Skip to content

This is a toolkit with basic functionality to help C++ projects

License

Notifications You must be signed in to change notification settings

CBICA/CBICA_Toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CBICA Toolkit

This project houses the common classes and functions that are used throughout CaPTk and other C++ projects under the CBICA umbrella (including collaborators). All functions/classes are cross-platform.

Dependencies

  • ITK
  • OpenCV

Changes to dependencies should be discussed in the group so that any downstream effects can be rectified.

Documentation

https://cbica.github.io/CBICA_Toolkit/

Functionality Overview

  • Command line parsing
  • Safe Image I/O (NIfTI, DICOM)
  • Image Utilities and wrappers to ITK filters
    • CreateMaskIndeces
    • GetPixelValuesFromIndeces
    • Preprocessing: histogram matching, smoothing, image comparison, orientation fix, skull stripping, resize, resample
    • Image sanity checking
    • Distance calculations: image and world coordinates
    • Create new image based on existing image
  • Generic functionalities: file/directory check, sym-link creation, sub-directories, filename splitting, create/delete/copy directory, file/folder size, normalize path, get current working and/or executable directory, get/set environment variables, CSV parsing, confusion matrix, ROC, randn,
  • First order statistics using a standard vector

Full Function List

https://cbica.github.io/CBICA_Toolkit/functions_func.html

Full Class List

https://cbica.github.io/CBICA_Toolkit/annotated.html

Usage

Add this repo as a git submodule (see this page for details on how to do this).

Root CMakeLists File:

# for projects within CaPTk/src/applications
ADD_SUBDIRECTORY( ${PROJECT_SOURCE_DIR}/../../cbica_toolkit ) 

# for projects that add CBICA_Toolkit as a sub-module
ADD_SUBDIRECTORY( ${MAIN_PROJECT_SOURCE_DIR}/src/CBICA_Toolkit ) 

INCLUDE_DIRECTORIES( ${CACHED_INCLUDE_DIRS} )
TARGET_LINK_LIBRARIES( ${PROJECT_NAME} CBICA_Basic CBICA_)

Source code:

#include "cbicaUtilities.h" // or the relevant header file

int main()
{
  // use functions as needed
}