2D Stitching

2D stitching of serial sections involves the following process

Step 1 - Create tilepairs

python -m asap.pointmatch.create_tilepairs --input_json <input_parameter_json_file> --output_json <output_json_file>

Step 2 - Generate point matches for the serial section

ASAP utilizes the SIFT point matching module in Render to compute the point matches. There also exists an opencv version of SIFT computation in ASAP.

Point matching implementation from Render to be run on Spark cluster

This requires Spark to be installed in the setup.

python -m asap.pointmatch.generate_point_matches_spark --input_json <input_parameter_json_file> --output_json <output_json_file>

Point matching implementation from Render to be run on PBS cluster

python -m asap.pointmatch.generate_point_matches_qsub --input_json <input_parameter_json_file> --output_json <output_json_file>

Point matching implementation using opencv

python -m asap.pointmatch.generate_point_matches_opencv --input_json <input_parameter_json_file> --output_json <output_json_file>

The point matches will be saved in a point match collection in the Render web service.

Step 3 - Solve for transformations

The bigfeta solver can be invoked from asap to solve for transformations using the following commmand

python -m asap.solver.solve --input_json <input_parameter_json_file> --output_json <output_json_file>

Step 4 - Montage QC

The solver writes the transformations in the tilespecs associated with the serial section in the render stack. Once this is done, the QC module can be run to gather statistics about the quality of the stitching and also visualization plots of the stitched section.

python -m asap.em_montage_qc.detect_montage_defects --input_json <input_parameter_json_file> --output_json <output_json_file>

The QC plots will be saved in the output directory specified in the input_parameter_json_file and the sections with issues will be found in the output_json_file.