open source, neuro, learning, collaboration, sound theory, solid results

Welcome!

theory-driven, experimentally verified open-source software for imaging and neuroscience.
  • zInSANE
  • zPipedream
  • zNetwork
  • zGlamGlue

Latest

ANTs and ANTsR

http://stnava.github.io/ANTs/

http://stnava.github.io/ANTsR/

If you have comments or questions on this software, please refer to the “issues” links available via the above sites.

New ants documentation

To accompany a new release:

http://stnava.github.io/ANTsDoc/

Image

ANTs Wordcloud

avants_wordcloud

ANTs application areas & research topics

ANTs leads in open competition / evaluation

The SyN Paper is one of the most cited in Medical Image Analysis since 2008

http://www.journals.elsevier.com/medical-image-analysis/most-cited-articles/

Advanced Normalization Tools finished first overall in three different competitions that test the reliability, reproducibility and accuracy of our image registration and segmentation methods.   This is joint work with Nick Tustison, Gang Song, Paul Yushkevich, Hongzhi Wang and Hans Johnson.

Each of these was conducted in a blinded fashion and judged impartially on hidden data.  These types of open competitions provide a more accurate window into the rigor and reliability of methods in real world scenarios.

1)  Klein 2009 brain mapping competition http://www.ncbi.nlm.nih.gov/pubmed/19195496

2) Murphy 2011 http://www.ncbi.nlm.nih.gov/pubmed/21632295

3) Multi-atlas challenge MICCAI 2012 https://masi.vuse.vanderbilt.edu/workshop2012/index.php/Workshop_Program

The conclusion of this workshop was that the registration tool strongly impacts performance ( all the top finishers used ANTs ) and that, in future workshops , everyone should use ANTs (or another equally good tool). This would allow pure testing of the multi-atlas labeling approach.

challenge_results_miccai_2012

updated ANTs compile instructions: ITKv4

latest ants binaries are here:   ANTs-Binaries

instructions for linux / osx type installation.   windows works too ( via cmake ) but i dont have specifics.

to compile ants from the source code, you first need: git, cmake and a c++ compiler

then in a terminal, do:

>  git clone git://github.com/stnava/ANTs.git

>  mkdir antsbin

> cd antsbin

>  ccmake ../ANTs

then go into cmake and type “c” and then “g”  then exit back to the
terminal.   then:

>  make -j 4

and wait a while.

to update an existing ANTs install, go to the ANTs directory and type “git pull origin master”

Don’t forget to toggle to advanced and turn off

SuperBuild_ANTS_USE_GIT_PROTOC if behind firewall

gcc 4.6.1 on osx lion

got gcc 4.6.1 installed on lion.   why do you want gcc?

basically, better warnings, faster compilation and better optimization.   i was mainly interested in the fact that it finds errors that lion’s 4.2 misses.

i tried to simplify these instructions a bit (which are excellent):

http://solarianprogrammer.com/2011/09/20/compiling-gcc-4-6-1-on-mac-osx-lion/

if you have homebrew installed, the first couple steps become:

1.  brew install gmp

2.  brew install mpfr
3.  then get mpc 0.8.1 from here:
../configure --prefix=$HOME/my_gcc --with-gmp=/usr/local/Cellar/gmp/5.0.2/lib/ --with-mpfr=/usr/local/Cellar/mpfr/3.0.1/lib/
 make
 make install
note — you may get an error similar to this:
in that case open the relevant failing file and replace GMP_RND with MPFR_RND
then compile gcc 4.6 via :
../configure --prefix=$HOME/my_gcc --enable-checking=release --with-gmp=/usr/local/Cellar/gmp --with-mpfr=/usr/local/Cellar/mpfr --with-mpc=/Users/stnava/my_gcc/ --program-suffix=-4.6.1
make   # could take all day
sudo make install
then create a Makefile:
CFLAGS=-c -Wall
LDFLAGS=
SOURCES=test.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=hello
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
    $(CC) $(LDFLAGS) $(OBJECTS) -lpthread -std=c++0x  -o $@
.cpp.o:
    $(CC) $(CFLAGS) $< -o $@
in the Makefile, the $(CC) lines shoudl begin with a tab, all others left-justified.
then compile the test.cpp by typing make.
#include <iostream>
using namespace std;
int main()
{
// below some funky new C++0x syntax ( the next ISO C++ standard. )
  cout<<[](int m,int n){return m+n;}(2,4)<<endl;
  std::cout <<" go surfing " << std::endl;
  return(0);
}
it should print the number 6 then say "go surfing."

surface analysis and normalization environment