All Projects → BRAINSia → BRAINSTools

BRAINSia / BRAINSTools

Licence: Apache-2.0 license
A suite of tools for medical image processing focused on brain analysis

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects
Jupyter Notebook
11667 projects
TeX
3793 projects
matlab
3953 projects

Projects that are alternatives of or similar to BRAINSTools

ANTsR
Advanced Normalization Tools in R
Stars: ✭ 101 (+7.45%)
Mutual labels:  registration, brain
MITK-Diffusion
MITK Diffusion - Official part of the Medical Imaging Interaction Toolkit
Stars: ✭ 47 (-50%)
Mutual labels:  registration, brain
bg-atlasapi
A lightweight python module to interact with atlases for systems neuroscience
Stars: ✭ 54 (-42.55%)
Mutual labels:  registration, brain
brainreg
Automated 3D brain registration with support for multiple species and atlases.
Stars: ✭ 73 (-22.34%)
Mutual labels:  registration, brain
BrainPrep
Preprocessing pipeline on Brain MR Images through FSL and ANTs, including registration, skull-stripping, bias field correction, enhancement and segmentation.
Stars: ✭ 107 (+13.83%)
Mutual labels:  registration, brain
Deepglobalregistration
[CVPR 2020 Oral] A differentiable framework for 3D registration
Stars: ✭ 222 (+136.17%)
Mutual labels:  registration
icra20-hand-object-pose
[ICRA 2020] Robust, Occlusion-aware Pose Estimation for Objects Grasped by Adaptive Hands
Stars: ✭ 42 (-55.32%)
Mutual labels:  registration
Django Graphql Auth
Django registration and authentication with GraphQL.
Stars: ✭ 200 (+112.77%)
Mutual labels:  registration
3d Pointcloud
Papers and Datasets about Point Cloud.
Stars: ✭ 179 (+90.43%)
Mutual labels:  registration
combining3Dmorphablemodels
Project Page of Combining 3D Morphable Models: A Large scale Face-and-Head Model - [CVPR 2019]
Stars: ✭ 80 (-14.89%)
Mutual labels:  registration
laravel-email-domain-rule
A package to validate email domains in a user registration form
Stars: ✭ 60 (-36.17%)
Mutual labels:  registration
registration
✏️ Hackathon registration server
Stars: ✭ 60 (-36.17%)
Mutual labels:  registration
Elastix
Official elastix repository
Stars: ✭ 222 (+136.17%)
Mutual labels:  registration
djaodjin-signup
Django app for frictionless signup
Stars: ✭ 18 (-80.85%)
Mutual labels:  registration
Registration Login Spring Hsql
Registration and Login Example with Spring Security, Spring Boot, Spring Data JPA, HSQL, JSP
Stars: ✭ 208 (+121.28%)
Mutual labels:  registration
Pyllusion
A Parametric Framework to Generate Visual Illusions using Python
Stars: ✭ 35 (-62.77%)
Mutual labels:  brain
Yii2 Angular Boilerplate
Yii2 REST API + Angular10 Boilerplate (Frontend/Backend)
Stars: ✭ 194 (+106.38%)
Mutual labels:  registration
maks
Motion Averaging
Stars: ✭ 52 (-44.68%)
Mutual labels:  registration
Bee-Connect
Ruby on Rails App. A good example of how to build social networking system with live chat support, blogging,groups etc.
Stars: ✭ 30 (-68.09%)
Mutual labels:  registration
Django Rest Registration
User-related REST API based on the awesome Django REST Framework
Stars: ✭ 240 (+155.32%)
Mutual labels:  registration

The BRAINSTools is a harness to assist in building the many of the BRAINSTools under development.

Developers should run the ./Utilities/SetupForDevelopment.sh script to get started.

If developing on Mac OS X, make sure the xcode command line tools are installed with the command: xcode-select --install

For more information on the individual BRAINSTools, please see the following link: https://github.com/BRAINSia/BRAINSTools/wiki

Building

Linux-based system follows basically similar instruction.

clone https://github.com/BRAINSia/BRAINSTools.git
mkdir BRAINSTools_build
cd BRAINSTools_build
ccmake ../BRAINSTools
make #make -j4 or make -j8 depending on the available cores

OS dependent instruction is given for any dependencies or other issues. Please report any issue you found so that we could update the instruction accordingly.

We also recommend to check out NAMICExternalProjects, https://github.com/BRAINSia/NAMICExternalProjects, which provides a set of tools, including ANTs Package, Slicer Modules, and our own BRAINSTools.

Mac OSX

Building BRAINSTools on mac is the same as any standard out of source cmake build. Make a folder for the BRAINSTools project. Clone the BRAINSTools repository, and run the set-up script. Make a build directory contained in the same folder as the git repository. From the build directory, run cmake (or ccmake to manually configure the build settings) with the BRAINSTools repo as an argument, then run make. For Example:

mkdir brains
cd brains
git clone http://github.com/BRAINSIa/BRAINSTools.git

cd BRAINSTools
./Utilities/SetupForDevelopment.sh
cd ..

mkdir build
cd build
cmake ../BRAINSTools

## NOTE: To configure options in the cmake GUI, use:
##     ccmake ../BRAINSTools
## instead
make -j${NUMOFTHREADS} -k

## NOTE: To find the number of threads from the OSX terminal, use:
##    sysctl -n hw.ncpu

Linux RedHat 6

Example session for a clean build:

mkdir ~/src/mytester
cd ~/src/mytester
git clone https://github.com/BRAINSia/BRAINSTools.git

cd BRAINSTools/
bash ./Utilities/SetupForDevelopment.sh

mkdir -p ../BRAINSTools-build
cd ../BRAINSTools-build/
CC=/usr/bin/gcc-4.2 CXX=/usr/bin/g++-4.2 ccmake ../BRAINSTools \
    -DUSE_BRAINSConstellationDetector:BOOL=ON \
    -DUSE_BRAINSABC:BOOL=ON

make -j${NUMOFTHREADS} -k

## NOTE: The fetching of data still has problems with parallel builds, so we need to restart it at least
#        once
make

Linux Debian (Ubuntu)

Building BRAINSTools on a fresh install has the additional dependency of building CMake on your system. You cannot use the version from apt-get as that does some unnatural things with Python resources to be backwards compatible (see http://public.kitware.com/Bug/view.php?id=14156).

  1. Install the necessary dependencies:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git python2.7
python2.7-dev g++ freeglut3-dev
  1. Get the CMake binaries:
# You can find the URL of the latest CMake binary by
# * Go to www.cmake.org/download in a browser
# * Hover over the desired 'Binary distribution' for your operating
#     system
# * Right-click and select 'Copy Link Address' for the file ending in
#     "tar.gz"
URL=http://www.cmake.org/files/v3.2/cmake-3.2.1-Linux-x86_64.tar.gz
wget ${URL}
# Decompress the file
tar -xzvf cmake-3.2.1-Linux-x86_64.tar.gz
# Add the binary to your PATH environment variable
export PATH=${PWD}/cmake-3.2.1-Linux-x86_64/bin:${PATH}
  1. Clone the repository and build:
git clone https://github.com/BRAINSia/BRAINSTools.git
mkdir build
cd build
CC=/usr/bin/gcc-4.8 \
CXX=/usr/bin/g++-4.8 \
cmake ../BRAINSTools \
make -j${NUMOFTHREADS} -k

⚠️ You can find the number of threads on your system in Ubuntu with lscpu

Testing

BRAINSTools_MAX_TEST_LEVEL adjusts how agressive the test suite is so that long running tests or incomplete tests can easily be silenced

1 - Run the absolute minimum very fast tests (These should always pass before any code commit)
3 - Run fast tests on continous builds (These need immediate attention if they begin to fail)
5 - Run moderate nightly tests (These need immediate attention if they begin to fail)
7 - Run long running extensive test that are a burden to normal development (perhaps test 1x per week)
8 - Run tests that fail due to incomplete test building, these are good ideas for test that we don't have time to make robust)
9 - Run silly tests that don't have much untility
set(BRAINSTools_MAX_TEST_LEVEL 3 CACHE STRING "Testing level for managing test burden")

The codebase should conform to clang-format defined standards that are similar to ITK's defintion.

git filter-branch -f --tree-filter \
   "~/Dashboard/src/ITK/Utilities/Maintenance/clang-format.bash --clang-format ~/local/clang-format-8.0.0-macosx  --tracked"  HEAD..
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].