Tools

Helpful Tips

Below are a few helpful hints to achieving the best registration.

  1. Downsampling helps - Contrary to intuition, downsampling images can drastically help with registration. Each of the tools has the ability to perform downsampling on the fly, but this takes time. We suggest using the pyramid tool to downsample all your images prior to running the tools and then changing the downsample level before you run. You can then go back and use the tranformation on your higher quality images.
  2. Run assemble often - Assemble allows you to view your current registration results. You can run it after every single step to verify that the results are looking adequate.
  3. Reimport the volume - If things go unrecoverably wrong, it may be time to import the volume from scratch. To import a volume from scratch just create a New volume in the old volume's location, it will notice the old structure and prompt you to import.

Default Pipeline

The default pipeline is made up of the following 7 tools in order. For information about any of the tool's flags use the ? button in the tool settings window. This information can also be found in the ToolList.xml.

ir-fft

FFT is a tool that attempts to create a mosaic layout without any previous information about the tiles.

As FFT's name suggests, FFT uses a Fast Fourier Transform to obtain the correct locations. Since it doesn't have any information about these tiles it arbitrarily starts matching the best tiles and placing them in a configuration. In most cases this is suboptimal, and can be dreadfully slow on large data sets. Instead we recommend either importing one of the currently supported formats, creating your own mosaic files (See Underlying Structure for details), or contact greg@sci.utah.edu to arrange for us to build an importer for your data format. Once your data is formatted as a mosaic, it can then be used with ir-refine-translate.

ir-refine-translate

Refine Translate improves an already given mapping defined in a .mosaic file. It uses the same underlying code as FFT, but since a layout is given it can use an improved approach which gives better results and takes less time.

Both fft and translate only attempt to find the best rigid tranformation. In many cases a rigid transformation is good enough, but in some cases, such as when working of scans of tissue, it will be suboptimal.

Note: While refine translate does a great job at improving mappings, if a bad mapping is given to it, it will not succeed. For this reason it's important to check your progress by using ir-assemble often.

ir-refine-grid

The previous tools only use rigid transformations. Since tissue can often be stretched or warped a rigid transformation is often not adequate enough. By using a grid transformation, small scale transformations occur that improve the overall registration.

ir-assemble

At any point Assemble can take a .mosaic file and stitch the result together. This is useful not only as an end result, but also as an intermediate result to verify that the selected parameters are working as expected.

Note: Assemble simply transforms the given images into a large image. In some cases the image will be too large to be viewed in memory. In cases like this it is important to use a program like Viking that can load in sections of the data at allowing for seamless navigation.

ir-stos-brute

Once the slices are mosaicked together it is time to start section to section alignment. If you have multiple slices per section now might be a good time to verify that the top and bottom sections will register well together. If they do not, it may be helpful to either combine all of the slices or channels together using maximum intensity projections.

Brute uses a brute force algorithm to attempt to find ideal translation and rotations. Once again this is a rigid body transformation. So, while an important precursor to a grid transformation, it will most likely not be the final step in the registration.

ir-stos-grid

Like refine grid, stos grid uses a grid to improve the registration.

ir-stom

Lastly. Stom can create a vertical stack of aligned images. It will clip images that are outside of the bounds of the first image for alignment reasons. Due to the size of some regions it may be helpful to use a viewer on your data. There are currently two viewers that support our data formats. The first is Viking, which is perfect for EM data. The second is Neurotracker which is built in-house by Cameron cam@sci.utah.edu. Both have support for segmentation, and are aimed at helping you explore your data.

Custom Pipelines

Custom pipelines can be built through the pipeline tool. If you insist on doing it by hand the format is exactly the same as the ToolList.xml format. The only difference is that pipelines only read in the Arguments and Checkbox flags.

Adding Custom Tools

In many cases it may be beneficial to add your own custom tool to the pipeline. This is very easy to do in Iris. Below explains the steps to add a new tool.

  1. Make the tool available to Iris. See UserPreferences::toolsInPath for details.
  2. Create a new Tool in the ToolList.xml. See Tool::Tool() for details about how to create a new tool.
  3. Verify that the tool runs and accurately generates the output.
 All Classes Functions Variables