README.md 3.5 KB

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.

How to setup the enviroment

  • 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/Win/Linux is avaliable at  
    https://github.com/ANTsX/ANTs/releases/tag/v2.1.0
    
    * Make shure to ad ANTs to the path. This is done by editing the config file for
    the terminal shell. The config file would often be named
    ```sh
    ~/.bashrc
    

In the configfile add the path. This can be done by ````sh export PATH=$PATH:usr/lib/bin/ANTs:

  After adding this to the config file, restart the terminal and test if the
  path was added correctly by typing
  ````sh
  which antsRegistration

The correct path should then be printed.

  • Make shure 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 ````sh pip install nibabel

    To check the version of a package 
    ````sh 
    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