# 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. ## Dependecies * Python 3.7+ * ANTs (https://github.com/ANTsX/ANTs) precompiled binaries (https://github.com/ANTsX/ANTs/releases/tag/v2.1.0) # Packages Make sure the following non-standard packages are installed: * Nipype * Nibabel If not already installed, you can use 'pip install ' ## 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 * Use auto_seg.py with preprocessed slice which will output a folder containing segmentation registered to slice. ## Details Detailed parameter description. ### runner.py **Usage** ```sh 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| ### auto_seg.py **Usage** ```sh python3 auto_seg.py sliceloc segloc templateloc --bregma [coord] ``` **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 (if --approx argument is present, this is an optional argument)| **Optional arguments** | | | |---|---| |`--approx [index]` |Provide the location of the slice as a z-index of the template. Can be used instead of --bregma argument.| |`--out [directory]` |Provide an alternative output directory (default directory is /output) | |`--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** ```sh 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|