Description
This repository contains the full data set for constructing the DAPI template, the full DAPI template creation pipeline and the automatic slice segmentation.
Automatic slice segmentation
Program for automatic segmentation to a DAPI-stained coronal mouse brain slices.
Quick Setup ANTs
In the Setup folder, two scripts for macos and Linux are provided that should
setup ANTs correctly. If your system is setup diffrently, the scripts may not
work. If they work correctly they will print the path to the registration of
ANTs and done.
Before you start the script, download the required package for your system
either Yosemite.tar.bz2 (macOS) or Linux_Ubuntu14.04.tar.bz2 (Linux)
NB! if you are using Linux you have to make the shell script executable. This
is done by
chmod +x linux_setup.sh
If the setup of ANTs is unsuccesfull, use the detailed description below
How to setup the enviroment
Below is a quick guide to setup the enviroment on a UNIX (Mac and Linux) system
- To run the program, Python 3.7+ is required. You can get the newest version of
python by installing Anaconda. To check the version of the python instalation
typing
sh
python --version
Install ANTs. This is done by adding a precompiled binaries to the libary
directory. The precompiled binaries for Mac/Linux is avaliable at
https://github.com/ANTsX/ANTs/releases/tag/v2.1.0
Make sure to add ANTs to the path. This is done by editing the config file for
the terminal shell. The config file would often be named
~/.bashrc
In the configfile add the path. This can be done by inserting
export PATH=$PATH:usr/local/bin/ANTs:
Here the path to the ANTs registration was $/usr/local/bin/ANTs
After adding this to the config file, restart the terminal and test if the
path was added correctly by typing
which antsRegistration
The correct path should then be printed.
if permission denied, then the file needs to be made executable - this is done using the command
chmod +x <...>/antsRegistration
- Make sure to have installed or updated all packages listed in
requirements.txt. All the packages can be updated using pip. It is espicially
crucial to have installed to have installed the non standard packages Nibabel
and nipype. To install a a package i.e. Nibabel
pip install nibabel
To check the version of a package
pip freeze | grep nibabel
Prerequisites
- A high-resolution, DAPI modality TIFF image of a brain slice. Can have multiple channels.
- A template file (.nii or .nii.gz)
- A segmentation of the template file (.nii or .nii.gz)
Usage
- Use runner.py to preprocess and output a sgementation registred to the slice
in a designated output folder
- Use preprocess.py to prepare input slice for automatic registration
Details
Detailed parameter description.
runner.py
Usage
python3 runner.py sliceloc segloc templateloc bregma [coord] outputdir
In the subfolder 'Example' a shell script is provided that runs the programs as
intended with test brainslice.
Positional/Required Arguments
|
|
sliceloc |
Location of the slice you wish to register (.nii or.nii.gz) |
segloc |
Location of file containing segmentation of the template (.nii or.nii.gz) |
templateloc |
Location of template file (.nii or .nii.gz) |
bregma [coord] |
Bregma coordinate of input slice |
outputdir |
Location for the output of the registration files |
Optional arguments
|
|
--dapi [index] |
Index of the DAPI channel in the slice, by default the DAPI channel is assumed to be the last channel |
preprocess.py
Usage
python3 preprocess.py file dir -s Series --pdim [pixeldimensions]
Positional/Required Arguments
|
|
file |
Location of the file to be preprocessed (.tiff or .nd2) |
dir |
Directory to output preprocessed files (will output .nii files) |
-s |
The series to extract (If input file is single-series, use 0 for this argument) |
Optional arguments
|
|
--pdim [pixeldimensions] |
Dimensions of pixels, if not provided, these will be extracted from image metadata |
This repository contains the full data set for constructing the DAPI template, the full DAPI template creation pipeline and the automatic slice segmentation.