DOI: 10.5061/dryad.w0vt4b91w
title: Data and code from: Head-mounted surgical robots are an enabling technology for subretinal injections

description: Therapeutic protocols involving subretinal injection, which hold the
 promise of saving or restoring sight, are challenging for surgeons because
 they are at the limits of human motor and perceptual abilities. Excessive
 or insufficient indentation of the injection cannula into the retina, or
 motion of the cannula with respect to the retina, can result in retinal
 trauma or incorrect placement of the therapeutic product. Robotic
 assistance holds the promise of enabling the surgeon to more precisely
 position the injection cannula and maintain its position for a prolonged
 period of time. However, head motion is common among patients undergoing
 eye surgery, complicating subretinal injections, yet it is often not
 considered in the evaluation of robotic assistance. There exists no prior
 study that has both included head motion during an evaluation of robotic
 assistance and demonstrated a significant improvement in the ability to
 perform subretinal injections compared to the manual approach. In a hybrid
 ex/in vivo study, in which an enucleated eye is mounted on a human
 volunteer, we demonstrate that head-mounting a high-precision teleoperated
 surgical robot to passively reduce undesirable relative motion between the
 robot and the eye results in a bleb-formation success rate that is
 significantly higher than the manual success rates achieved by surgeons
 even in stationary enucleated eyes.
description: All images and videos are of ex vivo (i.e., post mortem) pig
 eyes. All videos are screen recordings of the Heidelberg Eye Explorer
 software, which is for use with the Heidelberg Spectralis optical
 coherence tomography (OCT) system. The screen-recording software used was
 Open Broadcaster Software (OBS). The images used for
 estimating the durations of bleb expansion are video frames that were
 extracted from the screen recordings described above. The MATLAB Image
 Segmenter app was used to load the extracted video frames and highlight
 pixels that corresponded to part of a bleb formed via subretinal
 injection, and then the results were saved as .mat files.
 The pressure data was collected using a pressure sensor
 (described in the journal article) connected to an Arduino Uno. The data
 was recorded on a computer running Windows 10 that the Arduino was
 connected to via a USB cable. CoolTerm, a serial port terminal software
 application, was used to record the data on the computer running Windows
 10.
description: # Data and code from: Head-mounted surgical robots are an enabling
 technology for subretinal injections
 [https://doi.org/10.5061/dryad.w0vt4b91w](https://doi.org/10.5061/dryad.w0vt4b91w) ## Context This data and code was collected and developed for Posselli et al. "Head-mounted Surgical Robots are an Enabling Technology for Subretinal Injections", in which we demonstrate that head-mounting a high-precision teleoperated surgical robot to passively reduce undesirable relative motion between the robot and the eye results in a bleb-formation success rate that is significantly higher than the manual success rates achieved by surgeons even in stationary enucleated eyes. All of the eyes used in this study were ex vivo (i.e., post mortem) pig eyes. There was a human participant wearing the head-mounted robot and the eye-mounting goggles, which held each pig eye, but the images and videos show only the pig eyes and not any part of the human participant. ### Injection videos The videos contained within the "InjectionVideos" folder show screen recordings of the infrared (IR) reflection and ocular coherence tomography (OCT) modalities that were visible to the researcher controlling the robot. These videos were recorded during the experiments described in Possell et al. "Head-mounted Surgical Robots are an Enabling Technology for Subretinal Injections". In each video, the IR reflection imaging displays an "en face" (straight-on) view of the retina, which was used during experiments to see where on the retina the injection cannula was placed. The OCT imaging displays a cross-sectional view of the retina, which was used to determine the depth of the cannula in the retina. The blue line in the IR reflection view shows the orientation of the cross-sectional OCT image relative to the IR reflection image. Each video beginning with "BlebInMovingEye" was recorded using the head-mounted robot and a goggles-mounted eye so that the eye moved with the motion of the study participant. These videos show the main result of the paper, which is that a bleb was formed at the initial injection site on the retina for every injection attempt. Each video beginning with "BlebInStationaryEye" was recorded while teleoperating the stationary robot to perform subretinal injections in stationary eyes. These were recorded to estimate injection pressures and durations of bleb (bleb = the blister caused by the subretinally injected liquid) expansion in stationary eyes to see if they substantially differed from those in moving eyes. Each video beginning with "InjectionAboveRetina" was recorded while the robot and eye were stationary. Saline was injected above the retina, and pressures were measured to see if they substantially differed from the injections into the subretinal space. ### Barnard's Exact Test in R After determining the number of subretinal-injection successes and failures from our experiments and from other subretinal-injection studies, we used Barnard's Exact Test to test for hypothesis testing and p value calculation between groups. The R script for this analysis is contained in the "BarnardsExactTestR" folder. ### Calculation and display of success rate data for results figure The MATLAB code for generating the subretinal-injection success rate plot in the journal article is contained in the "SuccessRateResultsPlot" folder. This includes code for using the Wilson score interval to calculate the 95% confidence interval on success rate for each group. This also includes code for generating the success-rate figure. ### Durations of Bleb Expansion The images, data, and code in the "BlebExpansionDurations" folder were used to roughly measure how long each bleb expanded during and after subretinal injection. Since the imaging depth of the OCT is too limited to obtain a full volume scan of each bleb, and because it is challenging to visualize reflux with the IR reflection and OCT views, we measured the area of the bleb (as seen in the IR reflection view) over time as a way of estimating how long the injection cannula's placement was sufficiently maintained to propagate each bleb. ### Injection Pressures We used a pressure sensor attached to the injection tubing to record pressures during each injection. We did not have a hypothesis related to the injection pressure; we simply decided to record the injection pressures to see if we would observe any interesting trends in the resulting pressures. ## Description of the data, file structure, and code/software Top-level folder structure: * BarnardsExactTestR (folder) * BlebExpansionDurations (folder) * InjectionPressures (folder) * SuccessRateResultsPlot (folder) * InjectionVideos.zip (compressed folder) ### BarnardsExactTestR This contains the R (statistical software) code (RunBarnardsExactTest_SubretinalInjectionResults.R) for running Barnard's Exact test. We used R version 4.3.2 and RStudio version 2023.12.1. Peter Calhoun's "Exact" package (DOI: [ 10.32614/CRAN.package.Exact](https://doi.org/10.32614/CRAN.package.Exact)) for R must be installed before running the R code. ### BlebExpansionDurations This contains a separate folder for each subretinal injection as well as the MATLAB code (plot_bleb_expansions.m) to plot the estimated durations of bleb expansion for each bleb. Each folder contains images extracted at a regular time interval from the video recordings of the subretinal injections (in InjectionVideos.zip). We used the MATLAB Image Segmenter app to highlight the pixels in each image that contained part of the formed bleb, and then saved each segmented image to a .mat file with a logical matrix of ones corresponding to pixels that were highlighted using the Image Segmenter app, and zeros for pixels that were not highlighted. Each .mat file corresponds to a different image (video frame).  The MATLAB code loads the .mat files using relative paths. The code will correctly load the .mat files if the current file structure is maintained. ### InjectionPressures This contains two subfolders: ##### AnalyzingInjectionPressures This contains pressure data (in .txt files) and MATLAB the code (analyze_pressure_data.m) to analyze the pressure data. Each line of each .txt file starts with a timestamp that is followed by a pressure measurement (in psi). The format of the timestamp varied (for some files it included the number of milliseconds, and some only included the number of seconds), so the parsing of each different format is handled in the MATLAB code. ##### RecordingInjectionPressures This contains the Arduino code (MeasurePressurePSI.ino) that was used to record the injection pressures using an Arduino Uno. ### SuccessRateResultsPlot This contains the MATLAB code (load_success_data.m, main_WilsonScoreIntervals_pValues.m, plot_sig_differences.m, plot_wilson_score_intervals.m, and wilson.m) to create the results plot with 95% confidence intervals and p values. To run this code, run the "main_WilsonScoreIntervals_pValues.m" script in MATLAB.