Read Me

I2k Retina Adaptive Optics

  1. Install i2kRetina Adaptive Optics (i2kRetina AO). Both 32bit and 64bit installers are available, but we recommend 64bit version if your computer supports it. During the installation process, you might be asked for permission to run the installer. Please accept the request and follow the process. Check the version (Help->About) and make sure the version is correct:

  2. After installation, please activate i2kRetina AO with your activation code. You will receive a separate email from DualAlign for the code. Please ignore the download link in the email but just use the activation code. To activate the software online, please go to License->Activate on the menu. You will see this window pop up:


    Please paste the activation code to this window and click Activate. If your computer is not connected to the Internet, please let us know and we will be happy to help you activate it in offline mode.

  3. In this version, we have two ways of importing AO images and grid information. One is via a text grid file and the other is via import wizard.
    1. Grid file. A grid file is a collection of information for i2kRetina AO to get the path to all the images, fixation grid info, and eye info, etc. To accommodate different needs, i2kRetina AO accepts grid files with fixation grid info in both grid Cartesian coordinate space and retinal coordinate space. Please check the two grid file examples (grid-cartesian.txt and grid-retinal.txt) located in the same folder as this document for the detailed layout of a grid file.

    2. For certain users, it might be a burden to create such a grid file due to large number of images. We provide a user interface Please prepare the images and grid info before using the import wizard. The wizard interface looks like Figure 1. You will need to select the images, grid coordinate space, eye type (if applicable), and how to get the grid locations.

      Loading wizard

      Figure 1. Import wizard selection page

      1. For AO images, it is a good practice to put them in one folder for easy selection.
      2. There are two ways to get grid locations. The first is from image file names. The file names should contain the following parts:
        1. Begin with eye type (OD or OS)
        2. Customized image id
        3. Horizontal coordinate (X) with N or T depending of Nasal or Temporal position.
        4. Vertical coordinate (Y) with no sign for positive (upper part of the retina) and a negative sign before the value (for instance Y-4.0) for lower part of the retina.
        5. All the different parts in a-d are concatenated by ‘_’.
        An example file name is “OS_20160407231408_X0.0N_Y0.0.png”.
      3. The second method is to load grid locations from a file. The system only accepts csv file for now. You may use Microsoft Excel or Google spreadsheet to edit such files. The file has to include three columns, with the first two columns to be either Cartesian or retinal coordinates (one column for one dimension), and the third column to be the angular resolution (in unit pixel/degree). The order of these information must match the order of the sorted image names.
      4. There are two sorting methods available, natural sorting and alphabetical sorting. We recommend natural sorting because it will sort the images in a way similar to how your OS sort your images by name.
      5. If have more than one modality at each fixation location, please select the modality count. Currently, the system only supports up to 3 modalities. Another requirement is that each image in all the modalities must have the same resolution. It is recommended to put the images of each modality in their own folder.
      6. After all the information is in, the wizard will show a table with images names, image locations, and angular resolution (Figure 2). Please review carefully and modify the images and/or grid info file accordingly. Then hit “Previous” to reload the info.

        load wizard - confirmation page

        Figure 2. AO image load wizard - confirmation page

  4. Now let’s go to some details on how to run i2kRetina AO. Once i2kRetina AO imports AO images and grid information, it will automatically sets the image type to “Adaptive Optics”. You will first need to choose a tool. Choose “Register” if you don’t want to generate a mosaic or “Montage” if you want one. Then open up the option panel on the left to choose the layout type.

    Main Window - Images

    The layout type decides how images will be aligned together.

    • If images only need to be translated for alignment, choose “Reposition”.
    • If images only need to be translated and rotated for alignment, choose “Rigid”.
    • If scaling is also needed, choose “Similarity”.
    • If shearing is needed, choose “Affine”.

    Note that our system will automatically upsample (scale) your images to the finest resolution before registration if the angular resolutions are not the same for all the images. If after this upsampling, the images can be aligned by “Rigid” or “Reposition” layout, then there is no need to choose “Similarity”.

    You can increase the “Aggressiveness” to make i2kRetina AO tries harder to register images. Increasing the aggressiveness will also increase processing time.

    Search range relaxation factor can increase the search range of each image for potential overlapping images. In our system, we assume that the image centers locate at the fixation grid points, but in practice, there are often variations and thus the exact locations are unknown. This factor can help find more potential “neighbors”.

    After all of these settings are specified, click “Process” to start the registration process.

  5. If not all the images can be registered together, you may want to use the manual tool to specify correspondences.
    Four working modes in manual correspondence tool

    Figure 3. Four working modes in manual correspondence tool

    The main registration window is changed to a tool to specify manual correspondences. The main canvas includes multiple components (a set of aligned images). Components are surrounded by orange borders and placed based on the fixation grid information. There are four modes that the user can work with the images by clicking the iconic buttons on the left panel (Figure 3). The first mode is panning mode, for the user to move the canvas. The second mode is moving component, for the user to separate groups of images when they clutter together. The rest two modes are to specify correspondences, one is a drag-n-drop UI and the other is side-by-side UI.

  6. Panning
    User can enable this mode by clicking the icon on the left panel. When in all the modes, users can also pan the canvas by dragging with the space key being pressed.

  7. Move components
    This mode is designed to separate cluttered components. For example, in Figure 4, two components overlap with each other and make it hard to see the overlap region between these two components. To separate them, hover your mouse over any image of the component you want to move, the mouse will become a hand shape (    ), press the left mouse button to move the component.

    Figure 4. Two components clutter together

    Figure 4. Two components clutter together

    After moving the component, the layout becomes as follows. Figure 4. Two components clutter together

  8. Drag and drop
    In this tool, each image in a component is selectable and movable. In this registration edit window, you can:

    • When an image is hovered, its grid location will be displayed.
    • Press the left mouse button down to move an image, the images that have no possibility of overlapping with the current selected image will be dimmed. The rest images will have their grid locations shown on the top left corner of the image. i2k Retina Pro
    • Drag an image over another one to specify one correspondence between these two image pairs. Release the mouse button to confirm the correspondence. The correspondence will be the image pixels on these two images.
    • You may use key ‘a’, ‘d’, ’s’, and ‘w’ to increase or decrease the opacity of the image while it is being dragged.
      • 'a': Decrease opacity
      • 'd': Increase opacity
      • 'w' : Increase opacity to the maximum
      • 's' to decrease opacity to the minimum

      When finding correspondence, a user can find the correspondence more accurately by pressing 'w' and 's' keys to flip between the two image pairs.
    • Once a correspondence is built, a dashed line that connects these two pixels will be displayed. If you are not satisfied with it, you can select this line by clicking on it and press “Delete” key on the keyboard to remove it. Retina Pro
    • Move the component to anywhere on the canvas you want by dragging the orange border. This is especially useful if components overlap with each other.
    • Click “Apply” button to apply the correspondence and preview the results. Specify correspondences for at least one image pair in order to merge two components (If all the images are aligned, only one component will generate). Currently, once the correspondences are applied, they cannot be undone. We provide load/save correspondence functions for you to load & save intermediate correspondences. Retina Read Me
    • Different layout types require a different minimal number of correspondences between a component pair: 1 for reposition layout; 2 for similarity; 3 for affine. However, we recommend you assign more for better accuracy.
    Please check the companion video for a demonstration of how to use i2kRetina AO to run automatic registration, manual correspondence, and generate montages (with layers embedded).

  9. Side-by-side (pairwise)
    The tool drag-n-drop allows intuitive operations to specify correspondence. The side-by-side UI is designed to specify correspondences when the user is clear about where to look for matches, leading to faster input speed. In addition, drag-n-drop tool is designed for image pairs belonging to different components, but side-by-side mode works for any image pairs.
    Click on the button     . A new window will pop up. In this tool, image is not movable but selectable. Click two images to create an image pair you want to specify correspondence. A window will pop up to allow the user to click on images to specify correspondences as shown in Figure 5.
    retina Side-by-side UI

    Figure 5. Side-by-side UI

    After finishing the correspondence, press OK to save. The window will close and return to the previous page and the correspondences just made will be displayed on the canvas. Meanwhile, the UI will return to drag-n-drop mode. i2k retina Pro
  10. Longitudinal study
    In i2k Retina AO, we call one image set that captured during one study a capture group. In this section, we will show how to create multiple capture groups.

    1. For the first image set, load an AO image set as usual by either import wizard or grid file. Register and process as usual. Save the working session (File->Save) so that you don’t need run registration next you load the image set. Figure 4. Two components clutter together
    2. When the second image set is available, load the registration session (File->Load) first.

    3. Rename the current capture group name if you want (Grouping->Edit Capture Group Names).

    4. Create a new capture group. All the loaded images belong to the old capture group (“2014” in this example). In order to load a new set of images, you will need to create a new capture group (Grouping->Create Capture Group).

    5. After the capture group, load a new set of images by import wizard or grid file. You can run registration, manual correspondence as usual. Please check the companion video for more details.