In this section, we will walk through setting up running MIST on one of the 5x5 image tile datasets in order to validate that the plugin is installed correctly.
The MIST plugin consists of five tabs. Below, we outline each tab and discuss all of the parameters. All options labeled with an * are required in order to start stitching. Each tab contains a ? button that, when clicked, generates a local copy of this documentation.
Save Params Button - Saves all parameters in MIST to a file.
Begin Stitching Button - Launches the stitching experiment.
Load Params Button - Loads parameters from a file. Note: Supports loading the statistics file that is generated after each experiment.
* File Pattern Type - Used to specify the type of file pattern. Possible options: Sequential and Row-Column.
* File Pattern - Used to load images from a directory. Changes based on the File Pattern Type
If the File Pattern Type = Sequential, then the File Pattern expects sequential style numbering.
If the File Pattern Type = Row-Column, then the File Pattern expects row-column style numbering.
* Image Directory - The directory where the source images are located. Select browse to open a directory browser.
* Starting Point - The starting point of the microscope scan. Possible options: Upper Left, Upper Right, Lower Left, and Lower Right.
* Direction - The direction the microscope moves. Possible options: Vertical Combing, Vertical Continuous, Horizontal Combing, and Horizontal Continuous.
Assemble from metadata - Generates the image mosaic using metadata from a previous run. Important:You must specify the metadata directory in the output tab to refer to the metadata directory of your previous run.
* Grid Width - The number of images in a row (The number of columns, the width of the image grid)
* Grid Height - The number of images in a column. (The number of rows, the height of the image grid)
Timeslices - The number of timeslices to stitch. Leave this field blank to stitch all timeslices. To stitch timeslices you must add the spcial format text {ttt} to the File Pattern. This input supports a comma separated list and/or a range using a '-'. Example: "1-25,35,45" stitches timeslices 1 through 25, 35, and 45.
Use Image Directory as Output Directory - Sets the output directory to be the same as the input directory.
Output Directory - Specifies the location to save images and run statistics.
Files that are saved:
- {namePrefix}stitched-{#}.tiff
{namePrefix}statistics.txt
Filename Prefix - The prefix given to output files.
Metadata Directory - The directory where metadata is written.
Files that are saved:
- global-positions-{#}.txt
- relative-positions-{#}.txt
- relative-positions-no-optimization-{#}.txt
hillclimb-startings-positions-{#}.txt
Blending mode - Selects the blending mode to be used for computing the mosaic image. Blending Types:
- Overlay - Choose only one pixel from overlapping pixels based on highest accuracy
- Linear - Smoothly alters the intensity of the overlapping area between images. Smoothness is determined by alpha. Value should be between (0, 5]
- Average - Computes the average intensity
Warning:: RGB images may cause out of memory issues for linear and average blending. When generating the mosaic of RBG images it is recommended to use overlay images.
Display Stitched Image - Opens the blended image mosaic into Fiji.
Save Full Stitched Image - Writes the blended image mosaic to the Output Directory.
Update Button - Updates the estimated stitched image file size.
Preview Mosaic With No Overlap - Opens the image mosaic into Fiji assuming 0% overlap.
Warning: Large image grids can cause out of memory errors. If the number of pixels in the image exceeds 2147483647 (231-1), then the mosaic image must be exported using an alternative method. (imagePixelWidth*imagePixelHeight < 2147483647)
Use full grid - Updates the subgrid to use the full grid of images.
Start Col - The start column for the subgrid.
Start Row - The start row for the subgrid.
Extent Width- The width for the subgrid.
Extent Height - The height for the subgrid.
Number of FFT Peaks - Specifies the number of peaks to check when computing the phase correlation image alignment method. We have determined that modifying this value can yield more accurate pre-optimization displacements. This value should not exceed 10. (Default: 2)
Stage Repeatability - Sets the stage repeatability variable when computing the global optimization. This value is used to represent the repeatability of the microscope stage movement. It is used for determining the search space of the hill climbing algorithm.
Horizontal overlap - Sets the horizontal overlap variable when computing the global optimization. This value is used to filter translations as good or bad. Good translations are used to identify the optimal starting position for the hill climbing algorithm. Setting this value can improve the accuracy of the image mosaic.
Vertical overlap - Sets the vertical overlap variable when computing the global optimization. This value is used to filter translations as good or bad. Good translations are used to identify the optimal starting position for the hill climbing algorithm. Setting this value can improve the accuracy of the image mosaic.
Overlap uncertainty - Sets the overlap uncertainty variable when computing the global optimization. This value is used to specify the range when filtering translations as good or bad. It is used in conjunction with the horizontal and vertical overlap variables.
Stitching Program - Selects which type of program to execute.
- Auto - Determine which program to use. First checks if FFTW is available, if it is not then it falls back to Java.
- Java - Uses the pure java implementation. This version uses single precision values, but is not as accurate as FFTW and CUDA.
- FFTW - Uses FFTW libraries.
- CUDA - Uses NVIDIA CUDA GPUs.
CPU worker threads - Number of parallel workers to spawn (should not exceed number of CPU cores)
CPU worker threads - Number of parallel workers to spawn (should not exceed number of CPU cores)
FFTW Plan Type - The type of FFTW plan to generate
- Measure - Default, short creation time, usually ideal runtimes
- Patient - Long planning time, more robust runtimes
- Exhaustive - Very long planning time, most robust runtimes
Note: FFTW plans can be saved and reused to eliminate planning time.
Save Plan? - Saves the FFTW plan that is generated to file.
Load Plan? - Loads the FFTW plan from file.
FFTW Library File - Specifies the FFTW library file to load. Example Files:
- Windows: libfftw3.dll (this library is packaged with MIST in the "Fiji.app/lib/fftw" directory)
- Linux: libfftw3.so (default installation location "/usr/local/lib")
- Mac OSX: libfftw3.dylib (default installation location "/usr/local/lib")
Plan Location (or file) - The location to load FFTW plans. If a file is specified, the file will be used when loading the plan. This path is also used for saving plans.
CPU worker threads - Number of parallel workers to spawn (should not exceed number of CPU cores)
Execute Device Query - Queries for all GPUs installed on the system and prints the information to the log.
Refresh Device Table - Forces the table to re-query all GPUs and repopulate the table.
GPU Table - Displays all available GPUs found on the machine. To use one (or more) GPUs, click the check box in the Selected? column. Note: GPUs have limited memories, it is recommended to use GPUs with at least 1 GB of graphics memory depending on the size of the image grid.
Log Level - Sets the log level for the user interface and the stitching execution. Possible Options:
- None - No logging
- Mandatory - Logs important information
- Helpful - Logs helpful information
- Info - Logs informative information
- Verbose - Logs all information
Note: The lower logging stack includes the logging levels above. Example: Helpful, includes Mandatory.
Debug Level - Sets the debug level for the user interface and the stitching execution. Possible Options:
- None - No debug logging
- Mandatory - Logs important debug information
- Helpful - Logs helpful debug information
- Info - Logs informative debug information
- Verbose - Logs all debug information
Note: The lower logging stack includes the logging levels above. Example: Helpful, includes Mandatory.
Open Help (PDF) - Opens this document in PDF format.
Progress - If timeslices are used, shows the current timeslice, total timeslices, and number of groups (if entered as a comma separated list in the input parameters).
Progress bar - Shows the % progress made for the current experiment.
Log Level - Sets the log level for the user interface and the stitching execution. Possible Options:
- None - No logging
- Mandatory - Logs important information
- Helpful - Logs helpful information
- Info - Logs informative information
- Verbose - Logs all information
Note: The lower logging stack includes the logging levels above. Example: Helpful, includes Mandatory.
Debug Level - Sets the debug level for the user interface and the stitching execution. Possible Options:
- None - No debug logging
- Mandatory - Logs important debug information
- Helpful - Logs helpful debug information
- Info - Logs informative debug information
- Verbose - Logs all debug information
Note: The lower logging stack includes the logging levels above. Example: Helpful, includes Mandatory.
Cancel Execution - Safely stops execution and releases used resources.
* - required in order to start stitching
Installing the plugin into Fiji is simplified using Fiji's update site manager. If the machine is not configured for the network then please refer to the manual installation.
Or
FFTW (Fastest Fourer Transform in the West, http://fftw.org ) is a C implementation out of MIT that computes the discrete Fourier transform. The plugin loads the library at run-time and uses the high performance FFTW functions in Java.
Requirements:
Note: 64-bit Windows systems should be able to run the FFTW version without additional setup.
(If configure fails, additional compilers and/or libraries may be needed)
sudo port install fftw-3CUDA is the Compute Unified Device Architecture and is a language developed by NVIDIA. It is used to execute code on NVIDIA GPUs to obtain high performance.
Requirements:
Once the CUDA toolkit is installed a computer restart might be required before stitching can take advantage of your GPU.