-
Notifications
You must be signed in to change notification settings - Fork 3
Home
We have generated a unisex, female, and male central brain template.
All images are located in this directory:
/groups/saalfeld/public/jrc2018
Copies saved as unsigned 16-bit integers are located in:
/groups/saalfeld/public/jrc2018/ushort
Resolution | Unisex | Female | Male |
---|---|---|---|
0.1882680 um isotropic | JRC2018_UNISEX_HRiso.nrrd | JRC2018_FEMALE_HRiso.nrrd | JRC2018_MALE_HRiso.nrrd |
0.38 um isotropic | JRC2018_UNISEX_38um_iso.nrrd | JRC2018_FEMALE_38um_iso.nrrd | JRC2018_MALE_38um_iso.nrrd |
0.44 um isotropic | JRC2018_UNISEX_40x.nrrd | JRC2018_FEMALE_40x.nrrd | JRC2018_MALE_40x.nrrd |
0.6214809 um isotropic | JRC2018_UNISEX_20x_gen1_iso.nrrd | JRC2018_FEMALE_20x_gen1_iso.nrrd | JRC2018_MALE_20x_gen1_iso.nrrd |
0.6214809 x 0.6214809 x 1.0 | JRC2018_UNISEX_20x_gen1.nrrd | JRC2018_FEMALE_20x_gen1.nrrd | JRC2018_MALE_20x_gen1.nrrd |
0.5189161 um isotropic | JRC2018_UNISEX_20xHR_iso.nrrd | JRC2018_FEMALE_20xHR_iso.nrrd | JRC2018_MALE_20xHR_iso.nrrd |
0.5189161 x 0.5189161 x 1.0 um | JRC2018_UNISEX_20xHR.nrrd | JRC2018_FEMALE_20xHR.nrrd | JRC2018_MALE_20xHR.nrrd |
These bridges were computed with ANTs. These displacement fields and transform files are stored in the folders tabulated below. Also in the folder are copies of the transforms that work with CMTK's reformatx
command. See this page for how the conversion was done.
The first template in each pair is the "target" for registration.
Bridge | location |
---|---|
Female to Unisex | /groups/saalfeld/public/jrc2018/transformations/jrc2018U-jrc2018F |
Male to Unisex | /groups/saalfeld/public/jrc2018/transformations/jrc2018U-jrc2018M |
Female to Male | /groups/saalfeld/public/jrc2018/transformations/jrc2018U-jrc2018M |
Inter-template bridges | |
JRC18 F - JFRC10 | /groups/saalfeld/public/jrc2018/transformations/jrc2018F-jrc2010 |
JRC18 M - JFRC10 | /groups/saalfeld/public/jrc2018/transformations/jrc2018M-jrc2010 |
JRC18 F - JFRC13 | /groups/saalfeld/public/jrc2018/transformations/jrc2018F-jrc2013 |
JRC18 M - JFRC13 | /groups/saalfeld/public/jrc2018/transformations/jrc2018M-jrc2013 |
JRC18 F - FCWB | /groups/saalfeld/public/jrc2018/transformations/jrc2018F-FCWB |
JRC18 M - FCWB | /groups/saalfeld/public/jrc2018/transformations/jrc2018M-FCWB |
- Female to unisex
/groups/saalfeld/public/jrc2018/code/femaleToUnisex <moving-image-in-jrc2018_MALE-space> <target-image-in-jrc_UNISEX-space> <output-file>
- Male to unisex
/groups/saalfeld/public/jrc2018/code/maleToUnisex <moving-image-in-jrc2018_FEMALE-space> <target-image-in-jrc_UNISEX-space> <output-file>
- Using CMTK (forward)
# As an example, transform the JRC2018-Female to JRC2018-Unisex
# Apply the forward transformation to the female template
reformatx -o jrc18F-in-unisex-space.nrrd \
--floating JRC2018_FEMALE_40x.nrrd \
JRC2018_UNISEX_40x.nrrd \
/groups/saalfeld/public/jrc2018/transformations/jrc2018U-jrc2018F/jrc2018U-jrc2018F_Warp_cmtk.nrrd \
/groups/saalfeld/public/jrc2018/transformations/jrc2018U-jrc2018F/jrc2018U-jrc2018F_GenericAffine_cmtk
- Using CMTK (inverse)
# As an example, transform the JRC2018-Unisex to JRC2018-Female
# Apply the inverse transformation to the unisex template
reformatx -o jrc18U-in-female-space.nrrd \
--floating JRC2018_UNISEX_40x.nrrd \
JRC2018_FEMALE_40x.nrrd \
-i /groups/saalfeld/public/jrc2018/transformations/jrc2018U-jrc2018F/jrc2018U-jrc2018F_GenericAffine_cmtk \
/groups/saalfeld/public/jrc2018/transformations/jrc2018U-jrc2018F/jrc2018U-jrc2018F_Warp_cmtk.nrrd
We have generated unisex, female and male ventral nerve cord templates, in this directory:
/groups/saalfeld/public/jrc2018VNC/ushort
Resolution | Unisex | Female | Male |
---|---|---|---|
0.1882680 um isotropic | JRC2018_VNC_UNISEX_HRiso.nrrd | JRC2018_VNC_FEMALE_HRiso.nrrd | JRC2018_VNC_MALE_HRiso.nrrd |
0.461122 x 0.461122 x 0.700000 um | JRC2018_VNC_UNISEX_447.nrrd | JRC2018_VNC_FEMALE_447.nrrd | JRC2018_VNC_MALE_447.nrrd |
0.4 x 0.4 x 0.4 um | JRC2018_VNC_UNISEX_4iso.nrrd | JRC2018_VNC_FEMALE_4iso.nrrd | JRC2018_VNC_MALE_4iso.nrrd |
Bridge | location |
---|---|
Female to Unisex | /groups/saalfeld/public/jrc2018VNC/transformations/jrc2018U-jrc2018F |
Male to Unisex | /groups/saalfeld/public/jrc2018VNC/transformations/jrc2018U-jrc2018M |
Female to Male | /groups/saalfeld/public/jrc2018VNC/transformations/jrc2018U-jrc2018M |
- Female to unisex
/groups/saalfeld/public/jrc2018/code/femaleToUnisexVNC <moving-image-in-jrc2018_MALE-space> <target-image-in-jrc_UNISEX-space> <output-file>
- Male to unisex
/groups/saalfeld/public/jrc2018/code/maleToUnisexVNC <moving-image-in-jrc2018_FEMALE-space> <target-image-in-jrc_UNISEX-space> <output-file>
We compared the various templates and registration algorithms with respect to quality and run time. The winners are (sorted by increasing run time):
- CMTK Hideo - JRC2018
- CMTK COG - JRC2018
- ANTs Dog - JRC2018
The winners are (sorted by decreasing quality / increasing speed ):
- ANTs Dog - JRC2018
- CMTK COG - JRC2018
- CMTK Hideo - JRC2018
This means that the fastest algorithm has the lowest quality and the slowest has the highest quality. We suggest trying the fastest algorithm (CMTK Hideo) first for any given brain. If the quality is not convincing, try the second fastest (CMTK COG). If the quality is not convincing, try the third (ANTs Dog). The scripts to perform the registration are here:
We recommend registering each brain to the M/F template rather than directly to the unisex template.
We have preliminary tests measuring registration quality across different resolutions:
(0.6um, 1.2um, and 2.4um isotropic)
using the cmtkCOG as the registration algorithm, and found that quality was nearly identical for all three resolutions.
We have not yet done evaluation, but expect the conclusions drawn for the central brain will apply for the VNC as well
- Register and render:
/groups/saalfeld/public/jrc2018/code/runRegistrationAndRender
runRegistrationAndRender -m <moving image> -t <target image> -s <image defining space to render into> -o <output name> -r <registration script>
- Example using cmtk:
/groups/saalfeld/public/jrc2018/examples/cmtk_registration_and_render/run
- Run registration at one resolution, produce output at a different resolution:
/groups/saalfeld/public/jrc2018/examples/transforms_and_bridges/registerRender
- Script that downsamples highest resolution images
- /groups/saalfeld/public/jrc2018/code/downsampling
- How to downsample an image
-
downsampleGauss -i <input image> -o <output image> -r "rx,ry,rz" -j <number of threads (optional)>
- where
rx
,ry
, andrz
are the desired x, y, and z-resolutions - See
registerRender
script above for examples
- where
-