Description

This notebook will allow the registration (alignment) of a set of images using a reference image of your choice.

Here are the steps (bold for user input/manipulation)

  • Select the stack of images
  • launch application
  • Perform Auto alignment
  • and/or
  • Align images manually
  • use profile to help in the alignment and sliders to check images overlap

Tutorial

Select your IPTS

Need help using the IPTS selector?

Select images to process

Using the file selection tool, select the images your want to process. Once you click the Select button, the time stamp and the images will be automatically loaded. Wait for the progress bar to be done.

UI presentation

Registration methods

You will find 4 ways to register your data

  • Automatic mode (let the program try to align your data for you)
  • Manual mode (you have full control of how to move each of the images manually)
  • Marker mode (define markers on the images and align them)
  • Profile mode (use high contrast feature to align horizontally and vertically images)

Auto-registration

Let the program perform auto-registration of all the images selected using the default first image as a reference by clicking Auto Registration

Manual registration

If you choose to manually align the images (except the reference image), click the Manual Registration button. Then move manually the images selected using the manual registration tool widgets.

If you want to manually define the xoffset and/or yoffset, you have the option to edit any of the cells and then use the copy/paste feature of the table (right click) as shown here.

Registration using markers

Click the Markers… button to launch a new window.

You can define as many markers as you want for each image. Then using Align images Using the Markers button will align all the images according to the best overlap value of the markers.

You can copy/paste the markers position using right click on the table.

Linear interpolation between two markers.

It’s now possible to interpolate the position of markers between two given fixed markers. To do so, select one of the markers and select an image. Right-click and select Set marker interpolation initial position. Move to another image, within the same marker table, and after repositioning this marker for this image, right-click and select  Set marker interpolation final position and process intermediate markers.

All the positions of the image markers between the initial and final position will be automatically defined using linear interpolation.

Registration using profiles

Using a high contrast feature of the images (like a man-made marker on the side of the sample), the program calculates the edge of this feature for all the images. This edge position (vertically and horizontally) is then used to register the images. If you are curious about the algorithm used to define the edge position, we are using the same algorithm as the water intake algorithm called sliding average.

  • position the horizontal and vertical profiles on top of high contrast object
  • change size (length and width) of profile regions if needed
  • calculate the edge (peak position) of the marker in all images

water_intake_calculation

Select one of the bottom 3 options to export, and save registered images.

Tools to help you

Grid

You can add a grid on top of your images to help you in the manual alignment. Click the Grid > display at the top left corner of the UI. Then play with the slider to change the size of the grid.

Profile

 

You can display the profile of the image selected and of the reference image to help align the images.

Simply move the edge of the profile lines. The profile of all the images selected (+ reference image) will be displayed.

Opacity slider

 

The UI provides two types of opacity sliders.

  • Selection vs Reference Image
  • Images Selected
Selection vs Reference Image

 

This slider will show up whenever at least one file, other than the reference image, is selected in the table (bottom of UI).

  • When the cursor is at the top of the slider, the mean of all the images selected is displayed (100% of the selection is displayed)
  • When the cursor is at the bottom of the slider, only the reference image is displayed (0% of selection is displayed)
  • All other positions will display an x% of the selected images and then (1-x)% of the reference image.

Images selected

 

Whenever at least two images are selected (other than the reference image), a checkbox labeled all and
a slider will show up on the left of the UI.

By default, all the images selected are displayed (mean of all images). But if you uncheck all checkboxes, then you can gradually display the image from the first one to the last one.

This slider will allow going from the first image selected to the second by increasing the opacity of the first one and decreasing the opacity of the second one. Once only the second image is displayed, keep moving the cursor will bring to display the third image and the second image will vanish.

The goal of this slider is to gradually display the images one by one.

 

The right slider to display current image vs reference image is always available.

Export

By clicking the Export … button (bottom right) you will export the images registered into a folder you select.

For advanced users

All the data registered can be access from the python notebook

     >>> data_registered = o_registration.data_dict
 >>> print(np.shape(data_registered['data']))
(8, 2048, 2048)
    

you can also reach the list of file names and their metadata

    >>> import pprint
>>> pprint.pprint(data_registered['file_name'])
['/Volumes/my_book_thunderbolt_duo/IPTS/IPTS-19921-Charles/02/im0000.tif',
 '/Volumes/my_book_thunderbolt_duo/IPTS/IPTS-19921-Charles/02/im0031.tif',
 '/Volumes/my_book_thunderbolt_duo/IPTS/IPTS-19921-Charles/02/im0032.tif',
 '/Volumes/my_book_thunderbolt_duo/IPTS/IPTS-19921-Charles/02/im0033.tif',
 '/Volumes/my_book_thunderbolt_duo/IPTS/IPTS-19921-Charles/02/im0034.tif',
 '/Volumes/my_book_thunderbolt_duo/IPTS/IPTS-19921-Charles/02/im0035.tif',
 '/Volumes/my_book_thunderbolt_duo/IPTS/IPTS-19921-Charles/02/im0036.tif',
 '/Volumes/my_book_thunderbolt_duo/IPTS/IPTS-19921-Charles/02/im0037.tif']
>>> pprint.pprint(data_registered['metadata'][0])
{256: 2048,
 257: 2048,
 258: (16,),
 259: 1,
 262: 1,
 270: 'slope = 2.13626E-05 \roffset = 0.00000E+00\r',
 273: (8,),
 277: 1,
 278: 2048,
 279: (8388608,),
 282: 10.0,
 283: 10.0,
 296: 3,
 320: (0,),
 339: (1,)}