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.
Preview (0% overlap) Button - Opens the image mosaic into Fiji assuming 0% overlap.
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.
* Filename Pattern Type - Used to specify the type of filename pattern used in the acquired images. Possible options: Sequential and Row-Column.
Sequential:
Row-Column:
* Starting Point - The starting point of the microscope scan. Possible options: Upper Left, Upper Right, Lower Left, and Lower Right. This specifies the origin for the grid of images.
* Direction - The direction and pattern of the microscope motion during acquisition. Possible options: Vertical Combing, Vertical Continuous, Horizontal Combing, and Horizontal Continuous.
* 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.
Discover Width/Height Button - Attempts to automatically discover the width and height of a row-column filename pattern type acquisition given a valid filename pattern and image directory.
* Filename Pattern - Used to load images from a directory. Changes based on the Filename Pattern Type. Important: the character "%" cannot be used as part of a filename pattern.
If the Filename Pattern Type = Sequential, then the Filename Pattern expects sequential style numbering. We support all filename types that ImageJ supports. For a list of supported types, please refer to ImageJ User Guide
If the Filename Pattern Type = Row-Column, then the Filename Pattern expects row-column style numbering.
* Image Directory - The directory where the source images are located. Select browse to open a directory browser.
Assemble from metadata - Generates the image mosaic using metadata from a previous run. Important: You must specify the global-positions file to use in the Global Positions File field. If your Filename Pattern has a time slice iterator "{tt}" then the global-positions file specified must also.
Global Positions File - The filepath to the global-positions file to use in assembling from metadata. Note: this must be the filepath of an individual global-positions file, not the directory containing a global-positions file. Note: If you Filename Pattern has a time slice iterator "{tt}" then the global-positions file specified must also.

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
- global-positions-{#}.txt
- relative-positions-{#}.txt
- relative-positions-no-optimization-{#}.txt
- hillclimb-startings-positions-{#}.txt
Filename Prefix - The prefix given to output files.
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.
Warning: Large image grids can cause out of memory errors. If the number of pixels in the output stitched image exceeds 2147483647 (231-1), then the stitched 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.

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.
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)
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.
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.

Open Local Help Documentation - Opens this document without an Internet connection.

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.
The Filename Pattern is used to match specific image files within the Image Directory.
There are two types of Filename Pattern, Sequential and Row-Column, both of which can handle Timeslices.
MIST adopts the ImageJ/Fiji notation of using curly brackets "{" and "}" to denote a block of characters that are replaced with numbers. The block "{ppp}", where the character "p" is a placeholder for a number digit, represents numbers from 000 to 999. Each letter between two curly brackets is replaced with a digit between 0 and 9.
Sequential Filename Pattern Types have only one set of curly brackets "{}" that denotes the image's position in the image grid. The special character "p" must be used between the curly brackets. Therefore, a valid sequential filename pattern must have one set of curly brackets "{p}" with at least one "p" character between the curly brackets.
Examples:
Row-column Filename Pattern Types have two sets of curly brackets "{r}" "{c}". One block denotes the image's row index within the image grid and uses the special character "r". The other block denotes the image's column index within the image grid and uses the special character "c". For a valid row-column Filename Pattern there must be one "{r}" block with at least one "r" between the curly brackets and one "{c}" block with at least one "c" between the curly brackets.
Examples:
The usage of "{p}" or "{r}" and "{c}" must match the Filename Pattern Type selected. If the Filename Pattern contains "{p}" the sequential Filename Pattern Type must be selected. If the Filename Pattern contains "{r}" and "{c}" then row-column Filename Pattern Type must be selected.
MIST can also handle stitching a series of independent 2D image grids. For example a time-lapse series of image grids. The time-slice stitching is controlled by an additional set of curly brackets in the Filename Pattern with the "{ttt}" special text. Setting the Timeslices field in the input tab of the MIST GUI controls which of the available time-slices will be stitched. The special text "{ttt}" must be used regardless of whether the independent 2D image grid are time slices of z stack slices.
Examples:
There are four different execution modes MIST can run:
The mode selection exists in the Advance options tab in the GUI. Auto mode uses the FFTW mode if it can find the required native libraries and the Java mode if not.
The FFTW and CUDA modes are more memory intensive than the Java mode.
If you are having memory problems first attempt to stitch using the less memory intensive Java mode.
MIST will attempt to avoid out of memory problems by detecting the available memory and adjusting the execution accordingly. MIST will first attempt to store all the image tiles in the image grid in memory to prevent spending time re-reading. If there is not enough memory to do this, it will enable the releasing of image tiles which will result in holding just the memory pool size images in memory and re-reading image tiles as required. If there is still not enough memory, MIST will lower the number of compute threads being used to reduce the size of the required memory pool. If all these strategies fail, MIST will run the stitching using a sequential Java version which requires enough memory to hold two images and two FFT data arrays.
The memory required by Java mode can be computed using the following formula, given the following four inputs.
Memory Required (MB) = 6s(min(w,h) + n + 2) + 4s
If the Java mode does not have enough memory, try increasing the amount of memory Java is allowed to use.
If MIST is being run through ImageJ/Fiji there is a menu option controlling the amount memory it is allowed to use. Select the menu option "Edit" >> "Options" >> "Memory & Threads ..." which opens a dialog box containing an option "Maximum memory:" in MB. Increase this value and select "Ok". A reasonable value is about 75% of the available system memory. Restart Fiji to apply the new memory limit and re-launch MIST to see if the memory problem persists.
The Fiji FAQ has a question related to managing memory in Fiji.
For more advanced Fiji memory management information see the Java Options page maintained by the Fiji developers.
The memory required by FFTW mode can be computed using the following formula, given the following four inputs.
Memory Required (MB) = 10s(min(w,h) + n + 2) + 32sn
The FFTW mode has a memory pool that holds two types of image data, the 16bit image pixel data, and the double complex FFT data. The size of the memory pool is determined by the size of the image grid being stitched. Memory pool size = min(gridHeight, gridWidth) + 2 + numWorkThreads. MIST iterates over the image grid in a pattern that allows the reuse of the FFT data to prevent requiring the re-computation of any FFT. There is a potential additional numWorkThreads copies of the image pixel data if the input images are not 16bit and a conversion is required from the original format to 16bit.
Unlike the Java mode, FFTW allocates native system memory in addition to memory within the JVM. When determining the available memory, MIST relies on the available JVM memory as an estimation of the available system memory.
The memory required by CUDA mode can be computed using the following formula, given the following five inputs.
CPU Memory Required (MB) = 2s(min(w,h) + n + 2) + 24sg
GPU Memory Required (MB) = 8s(min(w,h) + n + 2) + 24s + 48s
The CUDA mode has two types of memory, pinned memory that exists on both the GPU and the CPU and GPU resident memory. In addition to the pinned memory, the CUDA version needs enough CPU side memory to hold the pixel data for each image tile in the memory pool. For pinned memory, there are two double precision arrays the size of the images, and two integer arrays the size of the images. This memory is per GPU, not per memory pool element. The GPU resident memory required consists of four double precision arrays the same size of the images and one double complex array the size of the image per memory pool element. The size of the memory pool is defined by the size of the image grid, min(gridHeight, gridWidth) + 2. On the CPU side, one image tile (at 16bit precision) needs to be stored per memory pool element.
Unlike the Java mode, CUDA allocates native memory on the GPU in addition to memory within the JVM.
Any image type that Fiji/ImageJ can read. MIST uses the ImageJ image reader contained within Fiji/ImageJ. The relevant ImageJ image types and formats documentation can be found online in the ImageJ documentation. ImageJ Documentation on Image Types.
The following are possible reasons for incorrect looking stitching:
The best way to verify the input parameters is by previewing the image grid using zero percent overlap between images. This allows you to visually check that neighboring regions look like they should overlap, and that the arrangement of images is reasonable.
To preview a zero percent overlap mosaic go to the Output tab in the GUI and select Preview Mosaic With No Overlap. Visually ensure that the image grid looks properly organized. Check for corresponding image features between regions that should overlap. Common errors include an incorrect Starting Point, Direction, Grid Width, or Grid Height.
If the zero percent overlap is taking too long to generate you can define a sub-grid using the Subgrid tab and the preview will only be generated for the subgrid.
The image tiles must be arranged in a rectangular grid and overlap with each other. The advanced parameter percent Overlap Uncertainty (default: 5%) reflects the uncertainty in the overlap between image tiles.
Set the Overlap Uncertainty to reflect the variability in the overlaps between images in your dataset.
MIST estimates the Stage Repeatability of the mechanical XY-Stage used to acquire the image grid.
The estimated repeatability is printed in the Log windows as well as in the statistics file saved in the Metadata Directory.
If MIST estimates an unreasonably large Stage Repeatability it is advisable to limit it to a value you know is reasonable for your stage. Conversely, if MIST estimates an unreasonably small Stage Repeatability it is advisable to increase it, allowing MIST to search a larger space trying to find the optimal translations.
Stage Repeatability is measured in pixels.
If the images being stitched contain a high level of noise, MIST can have trouble stitching.
Two potential solutions:
Set the advanced parameter Number of FFT Peaks (default: 2) which determines how many potential translations are tested looking for an optimal one. In noisy datasets increasing this value can improve the stitching at the cost of compute time.
Pre-filter the images to remove the noise before stitching. Since there are many varieties of de-noising filters, the selection and application of a reasonable one is up to the user.
If pre-filtering is used it is possible to generate a stitched image from the original images using the global positions computed from the filtered images. This is done by first stitching the filtered images (to generate the global positions metadata file) and then assembling together the stitched image from the original images and the global positions from the filtered images. See the question on how to stitch from metadata for details on how to perform stitching from metadata.
The developers are interested in problematic data sets. Issues with stitching can be submitted to nist-mist@nist.gov or MIST Github Issues Page.
MIST is written in Java which has a maximum size for any array. The ImageJ image writer that MIST relies on uses a Java array to store the pixel data imposing a limit on the size of images that can be saved.
If the number of pixels in the output stitched image exceeds 2147483647 (231-1) then the stitched image cannot be saved.
In other words, the image height in pixels multiplied by the image width in pixels must be less than 2147483647.
If the resulting stitched image cannot be saved using MIST there are two ways to get around this. The first is to stitch a sub-gid using the sub-grid options tab. This will stitch a smaller region and if that region is smaller than the maximum size then that image can be saved. The other option is to stitch the full grid without saving or displaying the resulting stitched image. This will allow MIST to stitch the images and generate the global positions metadata file. This file contains the global positions of every image in the grid. It can then be parsed and assembled using another software package.
Installing the CUDA toolkit might require a restart after the installation completes. If you attempt to run the MIST CUDA stitching before performing the restart you might get a CUDA Initialization error. If this happens restart your machine to allow the CUDA device to be initialized when MIST starts.
Alternatively, ensure that you have the correct version of the CUDA toolkit installed. See the Install Guide for details.
If the FFTW Stitching Program type does not work the most likely reason is MIST cannot find the required library file.
FFTW uses compiled native libraries to perform fast Fourier Transforms. Without these native libraries the FFTW version cannot run.
Details are available by operating system:
For Windows the correct FFTW library file should have been included with the plugin installation. To confirm this navigate to the folder where Fiji is installed. Then confirm the file "libfftw3.dll" exists in the path "lib" >> "fftw" in the directory Fiji is installed. The file might not be named exactly "libfftw3.dll", however it will always end in ".dll". If that file exists then confirm that MIST is pointing at that location in the advanced parameters tab. Open MIST, select the Advanced tab, select the FFTW Stitching Program type. Verify that FFTW Library File contains the path to the "libfftw3.dll" file you confirmed exists. Ensure the path does not just point to the correct folder, make sure that it points right at the library file. For example, "C:\Fiji.app\lib\fftw\libfftw3.dll".
For OSX (Mac) you must install FFTW before you are able to use the FFTW Stitching Program type. See the FFTW installation guide for instructions on how to install FFTW.
Once FFTW in installed ensure that the FFTW Library File parameter under the MIST Advanced parameters tab points to the location where FFTW was installed. The library file should end with ".dylib". The default location for the FFTW library is in "/usr/local/lib".
For Linux you must install FFTW before you are able to use the FFTW Stitching Program type. See the FFTW installation guide for instructions on how to install FFTW.
Once FFTW in installed ensure that the "FFTW Library File" parameter under the MIST advanced parameters tab points to the location where FFTW was installed. The library file should end with ".so". The default location for the FFTW library is in "/usr/local/lib".
There are many factors that can impact the performance of the MIST stitching:
The largest factor in the stitching performance is where the images are located.
MIST is designed with the expectation that the image to be stitched are stored on a local internal hard drive on the computer performing the stitching.
When possible copy the images to be stitched to a local hard drive before performing stitching.
Other image location options are included here ranked from slowest to fastest:
If the images are not local, read time will dominate the stitching time.
If the images are stored on a local disk, the next performance bottleneck is a lack of system memory.
If the computer performing the stitching does not have enough memory to hold all image tiles in memory, tiles will be release and re-read as required slowing down the computation.
When possible MIST will trade memory usage for compute time, increasing the required memory to lower the compute time. MIST is able to stitch your data even with low memory, but it will just be slow. The ideal case is when the computer has enough memory to store all image tiles in memory to allow MIST to read each image tile once and only once.
If memory is not an issue then the next bottleneck is the CPU.
Modern CPUs often have many cores and it might take several threads of compute work to saturate the CPU. MIST has an advanced parameter that controls how many CPU Worker Threads are used. By default this value is set to the number of cores available on the computer in an attempt to saturate the CPU by providing it enough work. Increasing the number of CPU Worker Threads beyond the default is strongly discouraged. The number of CPU Worker Threads should only be used to artificially throttle the CPU.
If the fully saturated CPU is not providing the performance you require a GPU can be added to accelerate the MIST stitching computation.
One of the MIST Stitching Program types is CUDA, which utilizes an NVidia GPU to accelerate the computation. The GPU needs to be CUDA compute capable 2.0 or greater. Also only NVidia GPUs will work as MIST relies on the CUDA toolkit which only works with NVidia GPUs. It is recommended that any GPUs have at least 1GB of graphics memory, but the actual required memory depends on the size of the image grid. For larger grids, 2GB or 4GB of graphics memory might be required. See the question MIST encountered an Out of Memory problem, specifically the CUDA Mode subsection for details on the GPU memory required.
Under the MIST Advanced parameters tab select the CUDA Stitching Program type. Press the button labeled Execute Device Query to call the CUDA device query and find which GPUs the CUDA system can find connected. If you expect to see a GPU which does not show up, check that you have the proper version of the CUDA toolkit is installed. See CUDA Install Guide for directions on how to install the CUDA toolkit version that is required. If the proper toolkit is installed and the GPU does not show up, the GPU might not have the required compute capability, or it might not operate with CUDA in the manner MIST is expecting. Debugging GPU compatibility is beyond the scope of this FAQ.
To stitch from metadata there must be a previous execution of MIST that generated the metadata the current stitching will use. In the previous run, MIST output several metadata files into the directory indicated by the Metadata Directory specified in the Output tab. To setup the new stitching from metadata, enter the new image grid information into the Input tab. Turn the Assemble From Metadata checkbox on. In the Output tab enter into Metadata Directory the filepath to the directory holding the metadata files from which to stitch. If you don't want to overwrite the previous run, change the output Filename Prefix so that the image about to be created is named differently than the previous one. Alternately, the Output Directory and Metadata Directory can differ from the previous run of MIST as long as you copy the global positions text file from the previous run Metadata Directory into the current run Metadata Directory.
MIST is designed to stitch 2D image grid datasets. It does not address volumetric or 3D stitching which requires a system to identify and correlate features across a third dimension.
However, MIST has the facility for handling a sequence of independent image grids. This ability to iterate over a series of independent image grids enables both time-lapse stitching, as well as z-stack stitching. Since each stitched image grid is independent, MIST does not care whether it is iterating over time-slices, or z-stacks.
See My image filename pattern does not work for details on how to setup the Filename Pattern.
To control which time-slices are stitched there is a field in the Input tab called Timeslices which takes a comma separated list and/or number range to specify the time-slice numbers you want MIST to stitch. For example, the Timeslices input could be "1-25,35,45" which would stitch timeslices 1 through 25, 35, and 45.
Any series of independent image grids can be input into MIST as time-slices in order to stitch them.
MIST does not currently support the direct stitching of multiple image channels.
However, by taking advantage of the assemble from metadata functionality one can perform the same task. If you have a dataset with two channels that you want to stitch, first select which channel to use for stitching. Setup and run MIST for this channel. To assemble the second channel using the same translations the first channel generated, re-launch MIST. In the input tab update the Filename Pattern to reflect the second channel. Select Assemble From Metadata. In the output tab keep the same Output Directory and Metadata Directory. Change the output filename prefix to something different than what was used for the first channel. Select Begin Stitching and MIST will use the global positions file it finds in the Metadata Directory to assemble the new channel into a stitched image. So long as the filename Prefix is different per channel there should be no name conflicts.
The global positions metadata file is what MIST uses to assemble from metadata. If you want to put each channel into a different Output Directory and Metadata Directory, simply ensure that you have copied the global positions text file into the Metadata Directory of the channel you are trying to assemble from metadata.
ImageJ/Fiji has the ability to record and run Macro script to automate tasks. See an Introduction to Macro Programming for a general overview of macro programming in Fiji.
To create a MIST stitching macro use the macro recorder.
Select "Plugins" >> "Macros" >> "Record"
This will open a window showing the macro script version of any commands you run in Fiji.
Open the MIST plugin and setup the parameters to run your experiment and select "Begin".
The macro recorder should capture the information required to run MIST from a macro script. The captured command can be copied to a macro script and modified to run MIST from a macro.
The code for MIST is being stored and managed on Github which has the functionality to report and track issues. To report a bug go to the MIST Github page and select "Issues" on the right hand side of the page. Or go directly to the Issues page. To create a new issue select the green "New Issue" button on the top right side of the page.
When posting in issue please be as specific as you can and if possible include the following data generated by MIST from the stitching experiment that encountered the error.
If you have questions or issues regarding MIST feel free to email the developers at: nist-mist@nist.gov