Ptychography Alignment Tools
This project provides a PyQtGraph-based GUI to assist users on the alignment of Ptychography scans. The tool has the following features:
- Load set of images (tiff files supported)
- Select pairs of images for alignment
- Import/Export probe positions (npy array)
- Image controls: levels, contrast, look up tables, zooming, translation
- Preview the global picture by combining all positions
Be sure to have installed all the requirements. Open a terminal and clone the repository to a local directory:
mkdir workdir cd workdir git clone url
To start the GUI change to src directory and run with Python:
cd PtychoAlignTools/src/ python ptychoAlign.py
Once opened, the GUI will initialize like shown below:
- By clicking on "Load Probes" a dialog will prompt asking for user input of number of columns and rows the scan map has, then a file dialog will prompt allowing for opening images of probe scans and load them as map of single reconstructed probes.
- The two rectangles, red and green, allow for selecting a pair of images to be aligned. The selection is made by clicking on the probes. Right click to select a "movable" image and left click to select an "anchored" (not movable) image.
- The "Pairwise Alignment View" window display the selected images by doing an operation (Multiplication, Division, Addition, Subtraction, Mask) between them.
Load and Save Alignment
- By clicking on "Load Alignment" button a file dialog will prompt. It allows to load a ".npy" file (numpy binary file) containing positions of previous alignment. We provide two sample files at probe-positions.
- The "Save Alignment" button allows to save the current alignment (displayed in the table at the "Positions" window) as a ".npy" file.
- See numpy documentation for details about ".npy" extension.
- Restore original size and histogram levels of the image displayed in "Pairwise Alignment View" window.
Preview Global Image
- Based on the current positions, combine all the probes and show a preview of the total alignment.
This feature allows a user to pick a mask and apply it to the selected probes in order to improve the refinement of the positions.
Loading the "filter_gaussian_sigma20.png" mask provided in masks and setting the operation dropdown menu to Mask give us the following:
- Mask - "filter_gaussian_sigma20.png"
If a mask is loaded it will also be used on the display of the Global Image.
Image processing and measure calculation
In the auto subfolder there are some scripts related to:
- Probe alignment based on edge-type features
- Probe alignment based on local-type features
- Plotting of many measure in the neighborhood of a given position
 Francesco Guzzi, George Kourousias, Fulvio Billè, Roberto Pugliese, Carlos Reis, Alessandra Gianoncelli, and Sergio Carrato, "Refining scan positions in Ptychography through error-minimisation and potential application of Machine Learning", JINST, Vol. 13, C06002, (2018), Proceedings of the 24th International congress on x-ray optics and microanalysis, 24-29 September 2017, Trieste, Italy (ICXOM24). DOI: https://doi.org/10.1088/1748-0221/13/06/C06002
Data and reconstructions as presented in:
 George Kourousias, Benedetto Bozzini, Alessandra Gianoncelli, Michael W. M. Jones, Mark Junker, Grant van Riessen, and Maya Kiskinova, "Shedding light on electrodeposition dynamics tracked in situ via soft X-ray coherent diffraction imaging", Nano Research, Vol. 9, Issue 7, (2016), pp. 2046-2056. DOI: https://doi.org/10.1007/s12274-016-1095-9
 George Kourousias, Benedetto Bozzini, Michael W. M. Jones, Grant A. Van Riessen, Simone Dal Zilio, Fulvio Billé, Maya Kiskinova, and Alessandra Gianoncelli, "Monitoring dynamic electrochemical processes with in-situ ptychography", Applied Nanoscience, (2018). DOI: https://doi.org/10.1007/s13204-018-0703-2
The project in under the GPL-v3 license.
This project is supported by the research and development activities of the Advanced Integrated Imaging Initiative (AI3) project of Elettra - Sincrotrone Trieste.