Measurement
                of retinal nerve fiber layer with misaligned OCT scans 
Often,
          poor fixation or erroneous eye/head movements cause misaligned optical
          coherence tomography (OCT) scans and their assessment of retinal nerve
          fiber layer (RNFL) thickness. The alignment artifact causes errors
          when we compare the observed scan with the normative values. Alignment
          artifacts are a significant problem when measuring the RNFL in
          children in which inattention, poor fixation, and infantile nystagmus.
          In our patients with poor fixation, we typically acquire multiple
          circular peripapillary scans near the optic disc in hope that one will
          be aligned. Often the eye movement artifacts make centering
            circular scans on the optic disc impossible. 
          
          
 In
          order to get assessment of the RNFL in misaligned scans, I wrote a
          program to extract b-scan areas from all the misaligned circular
            peripapillary scans. The principle is simple enough. The Spectralis
            device simultaneously acquires an SLO image quickly and provides the
            corresponding location of the OCT b-scan.  The simultaneous SLO
            image also allows us to select the center of the optic disc on the
            SLO. Therefore the SLO image information could bridge the gap
            between misaligned b-scans and the optic disc center. We have
            published our first proof of concept paper with accuracy data in an
             article published in Translational Vision Science
            and Technology (https://tvst.arvojournals.org).
            To get an idea of the worst case scenario, here is a sample analysis of the most difficult imaging
            session. 
          
            Click
              here to download the application (binary distribution)
          
Click here to get the source code
Our
          first application was to make RNFL measurements that were at scaled
          distances from the optic disc center in cases of optic nerve
          hypoplasia in the article "Optical Coherence Tomography in Optic Nerve
          Hypoplasia: Correlation With Optic Disc Diameter, Nerve Fiber Layer
          Thickness, and Visual Function; (https://pubmed.ncbi.nlm.nih.gov/29252690/). For
          example look at the image below. If the OCT uses a large ring to
          assess the RNFL (outer ring in the figure), then the measurement will
          be much thinner than that from a smaller diameter scan (shaded inner
          ring). The RNFL thickness is shown by the red lines, indicating if the
          scan is too large relative to the disc size then the RNFL will appear
          to be abnormally thin, when really the scan is farther from the optic
          disc center. The
            software allowed us to assess the RNFL at set distances from the
            optic disc center from lines scans or misaligned circular scans. 
          
          
        
The software specifically works only with the Heidelberg Spectralis device and HEYEX software. This software is NOT intended for clinical assessment but rather as a tool to help assess RNFL thickness. You can download the free software package in a zip file here. By downloading you agree to the terms listed below. A tutorial and description is given below.
File size: 0.6 MB; Updated 6/6/2018
Install
            on any Windows PC, you do not have to install it on your 
Does not require any external plugins. It does not need the registry. Simply create a folder to install and delete the folder to uninstall the software .
        
Limitations:
        -Tested
on
          Heidelberg Eye Explorer (HEYEX) version 1.9.13.
           (Spectralis viewing module version
          6.6.2.0) and older versions
          -Currently the program only processes circular or horizontal line
          scans.
          -Use at your own risk (see terms below). 
Requirements:
        -Windows
XP,
          
          
        
Tutorial 
| 
               | 
          |
| 
               | 
            
               
  | 
          
 
          
A
          copy of this tutorial is also provided as a pdf
            file.
          
          The entire program is stored in a compressed zip file. To install,
          simply open the zip file, and drag the contents to a folder where you
          will store the HEYEX export files (or to some folder on another
          workstation if you want). In this example we will be using the C:\ExportFiles
          folder. 
Now
          open an OCT data set in HEYEX. For instance we will open a set of
          scans from my left eye. Drag the mouse to select the scans then
          right-mouse click to export the scans in XML format:
          

        
        If
you
          don't see the XML option, then turn on the option in HEYEX 
            
          
          The exported files should be placed in the same folder as the app
          (Manual_RNFL_1_3.exe file). For this example I use the C:\ExportFiles
          folder, but any folder or flash drive is OK too). You should see a set
          of .tif and .xml files in the folder. You can repeat
          this again for more patients since the program can batch run through
          all exported files.
          
          Now double-click the Manual_RNFL_1_3.exe to start. 

  
You
          will see this message if you did not export properly or copy the
          files. Make sure all exported files are in the same folder as the app.
 
  
The
          program should automatically detect the exported files and immediately
          start with the first exported scan. Left-click the mouse in the center
          of the optic disc. Now you will see a yellow square mark this
          location. While you hold down the mouse button, a yellow circle will
          be shown to demonstrate the desired circular scan. Right-click the
          mouse to set the location of the fovea. Now you will see a blue square
          and "F" mark this location.
          
          Notice we can set the size of the desired circular scan by entering
          the value in the box in the lower left (labeled circular scan
            radius µm). The initial value will be the radius of the actual
          acquired scan (that depends on your refraction). I have a smaller
          optic disc of 1330 microns. For this example, I scaled the desired
          scan to 1680 microns, then repeat my left-mouse click on the center of
          the optic disc to see the smaller ring 
          
          
          
        Now
you
          see the yellow (desired scan) intersects with the actual scan.
          Matching areas are shown by the filled circles along the green circle
          scan. >

 The
corresponding
          match locations on the OCT scan are now highlighted in yellow. Because
          there are many matching locations, three buttons on the lower toolbar
          will become active (“Spline”, “ILM”, and “NFL”).
          These allow for a spline fit of the Internal limiting membrane and the
          nerve fiber/ganglion cell layer interface. The program will attempt
          automatic segmentation of the ILM/NFL boundaries (blue and green lines
          respectively). Click the NFL button (or click the green line) to edit
          the segmentation. You can click and drag the red position markers to
          custom fit the RNFL borders. Similarly you can edit the border of the
          internal limiting membrane by clicking the ILM button (or clicking the
          blue line).

        You
can
          click and drag the red position markers to better align your manual
          segmentation (this process is similar to the manual adjustment in
          HEYEX software). If you double click on a position marker another
          position marker will be added next to it. Hold down the delete key and
          hover the mouse over a position marker to delete it.
What if the automatic segmentation does a poor job? The automatic segmentation is not optimized and therefore is prone to errors. You have several options:
1) Delete the segmentation by clicking the "X" next to either the ILM or NFL button. Then you can manually draw a line along the ILM or NFL borders on the OCT image. The speed at which you draw the line sets a relative resolution. If you make a mistake don’t worry, when you are done the program will automatically place position markers when you are done drawing.

2) Right-click and drag on the
          OCT image to change contrast and brightness (e.g., 'windowing'). After
          you finish a new segmentation will appear. You can click the "Original"
          button to revert back to the original image. 
Now
          click the View button in the lower right tool panel. You will see the
          results of your manual segmentation plotted on the normative template
          (current norms as of Heidelberg Eye Explorer HEYEX viewing module
          version 5.4.6.0). 

As
          you can see, the RNFL thickness falls in the normal range (glad to see
          that for my eye!). The data points at the matching location have been
          adjusted for the position (degrees) by using the currently chosen
          fovea location. Note that if you right click on the SLO image, the
          fovea will be relocated and the angle on the template will be
          automatically updated (Note that HEYEX may use an approximately 8 deg
          correction). If you change the position markers then click the
          "refresh" button to update the changes on the graph. If you want to
          keep the measurements then click the Save button. You will be
          prompted for a name of a text file to store these measurements. You
          can save it with a  .csv extension for automatic opening in Excel
          or your favorite data analysis package. 

 If
          you don’t want to save, then click the “Skip” button. Either
          way (Save or Skip), the program will automatically load up the next
          exported image for you. You can repeat this process until all exported
          files are done. Similarly all measurements will be appended to the
          normative template via the View button and appended to the text file,
          if saved. 
Ok,
          but what about line scans?  Here we do the same process, but
          since it is a line scan we will have only 1 or 2 matching locations.
          Now there is no “Spline” button since we don’t need it. We have to
          measure RNFL thickness at 1 or 2 discrete locations. Simply click and
          drag on each yellow line (the match locations) and a purple line will
          be drawn. Also you will be updated on the length in the lower tool
          panel. For example, for a patient image, I have drawn a line on the
          each match point (RNFL thickness was 41.6 microns on the left line). 

  
Eventually
          you will finish all the exported images. After the last image you will
          see the message: 

If
          you click No then the program will end. If you haven't already saved
          your data, a dialog box will appear to make sure your measurements
          will be saved. If you click Yes, you will be prompted again to make
          sure you want to delete all exported files (just the ones in this
          folder). If you confirm then the files will be deleted and the program
          will prompt you it is waiting for a new set of HEYEX exported files
          (see step 1 above).
Here
            are sample screens of optic nerve hypoplasia:

  
  
          
Here
            is a review of the tool panel. It should be easy to understand if
            you work with HEYEX. 

          
          
| 
               | 
          |
| 
               | 
            
               
  | 
          
 
          
  
          
Format
            of the output file 
When
          you click the save button, the program will store the values in an
          ASCII text file with comma delimited values. That means it can be read
          by many analysis programs that accept CSV files (like EXCEL, SPSS,
          etc.) 
The
          fields in order are self descriptive as such:
          
LastName,
          FirstName,
          MRN,
          Eye,
          OriginalRadius_um,
          NewScanRadius_um,
          RNFL_Angle°,
          RNFL_Thickness_um,
          Disk_X,
          Disk_Y,
          Xpix_on_SLO,
          Ypix_on_SLO,
          Fovea_X,
          Fovea_Y,
          Fovea_ang°,
          Focus,
          Quality,
          Met_PositionTolerance? 
  
License 
________________________________________ 
The
          License for the software follows a restricted freeware / MIT license
          with additional disclaimers. Copyright (c) 2016, John P. Kelly
           Updates and software modifications might occur in the future,
          particularly for better automatic segmentation of layers. 
Permission
          is hereby granted, free of charge, to any person obtaining a copy of
          this software and associated documentation files (the "Software"). You
          are not granted permission to deal, copy, modify, merge, publish,
          distribute, sublicense, and/or sell copies of the Software. The above
          copyright notice and this permission notice shall be included in all
          copies or substantial portions of the Software. You are not allowed to
          redistribute the software. You cannot use the software for payment,
          nor for use as any material for which the user is asked to pay. You
          are not entitled to hide or deny my copyright.
          
  
THE
          SOFTWARE IS PROVIDED "AS IS." THERE ARE NO WARRANTIES WITH REGARD TO
          THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
          FITNESS, IN NO EVENT SHALL JOHN KELLY OR SEATTLE CHILDREN'S HOSPITAL
          BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
          DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
          WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
          ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
          SOFTWARE.