Een abonnement op JoVE is vereist om deze inhoud te bekijken. Log in of start vandaag met uw gratis proefperiode.

Methodenartikel

PyOKR: een semi-geautomatiseerde methode voor het kwantificeren van het vermogen om optokinetische reflexen te volgen

1.6K weergaven

⸱

DOI:

10.3791/66779

⸱

12 april 2024

 ,  ,  ,  , 

In dit artikel

Samenvatting

We beschrijven hier PyOKR, een semi-geautomatiseerde kwantitatieve analysemethode die direct oogbewegingen meet die het gevolg zijn van visuele reacties op tweedimensionale beeldbewegingen. Een op Python gebaseerde gebruikersinterface en analyse-algoritme zorgen voor een hogere doorvoer en nauwkeurigere kwantitatieve metingen van eye-trackingparameters dan eerdere methoden.

Samenvatting

De studie van gedragsreacties op visuele stimuli is een belangrijk onderdeel van het begrijpen van de functie van het visuele systeem. Een opmerkelijke reactie is de optokinetische reflex (OKR), een sterk geconserveerd aangeboren gedrag dat nodig is voor beeldstabilisatie op het netvlies. De OKR biedt een robuuste uitlezing van het vermogen om beelden te volgen en is uitgebreid bestudeerd om de circuits en functie van het visuele systeem te begrijpen bij dieren met verschillende genetische achtergronden. De OKR bestaat uit twee fasen: een langzame volgfase waarbij het oog een stimulus volgt naar de rand van het visuele vlak en een compenserende snelle fasesaccade die de positie van het oog in de baan reset. Eerdere methoden voor het bijhouden van kwantificering van winsten, hoewel betrouwbaar, zijn arbeidsintensief en kunnen subjectief of willekeurig worden afgeleid. Om een snellere en reproduceerbare kwantificering van het vermogen om ogen te volgen te verkrijgen, hebben we een nieuw semi-geautomatiseerd analyseprogramma ontwikkeld, PyOKR, dat het mogelijk maakt om tweedimensionale oogvolgbewegingen te kwantificeren als reactie op elke gerichte stimulus, naast dat het kan worden aangepast aan elk type video-oculografieapparatuur. Deze methode biedt geautomatiseerde filtering, selectie van langzame volgfasen, modellering van verticale en horizontale oogvectoren, kwantificering van oogbewegingswinsten ten opzichte van stimulussnelheid en organisatie van resulterende gegevens in een bruikbare spreadsheet voor statistische en grafische vergelijkingen. Deze kwantitatieve en gestroomlijnde analysepijplijn, gemakkelijk toegankelijk via PyPI-import, biedt een snelle en directe meting van OKR-reacties, waardoor de studie van visuele gedragsreacties wordt vergemakkelijkt.

Inleiding

Beeldstabilisatie is gebaseerd op nauwkeurige oculomotorische reacties om te compenseren voor de wereldwijde optische stroom die optreedt tijdens zelfbeweging. Deze stabilisatie wordt voornamelijk aangedreven door twee motorische reacties: de optokinetische reflex (OKR) en de vestibulo-oculaire reflex (VOR)1,2,3. Langzame globale beweging over het netvlies induceert de OKR, die reflexieve oogrotatie in de overeenkomstige richting uitlokt om het beeld te stabiliseren 1,2. Deze beweging, bekend als de langzame fase, wordt onderbroken door compenserende saccades, bekend als de snelle fase, waarin het oog snel in de tegenovergestelde richting reset om een nieuwe langzame fase mogelijk te maken. Hier definiëren we deze fast-phase saccades als eye-tracking bewegingen (ETM's). Terwijl de VOR vertrouwt op het vestibulaire systeem om oogbewegingen op te wekken om hoofdbewegingen te compenseren3, wordt de OKR in het netvlies geïnitieerd door het afvuren van ON en de daaropvolgende signalering naar het Accessory Optic System (AOS) in de middenhersenen 4,5. Vanwege de directe afhankelijkheid van retinale circuits, is de OKR vaak gebruikt om het visuele volgvermogen te bepalen in zowel onderzoeks- als klinische omgevingen 6,7.

De OKR is uitgebreid bestudeerd als een hulpmiddel voor het beoordelen van het basisvisuele vermogen 2,6,8, de ontwikkeling van DSGC 9,10,11,12, oculomotorische reacties13 en fysiologische verschillen tussen genetische achtergronden7. De OKR wordt geëvalueerd bij dieren met een hoofdfixatie die een bewegende stimulus krijgen14. Oculomotorische reacties worden meestal vastgelegd met behulp van een verscheidenheid aan videotools, en eye-tracking bewegingen worden vastgelegd als OKR-golfvormen in horizontale en verticale richtingen9. Om het volgvermogen te kwantificeren, zijn twee primaire metrieken beschreven: volgversterking (de snelheid van het oog ten opzichte van de snelheid van de stimulus) en ETM-frequentie (het aantal snelle fasesaccades gedurende een bepaald tijdsbestek). Berekening van de versterking is in het verleden gebruikt om de hoeksnelheid van het oog direct te meten om het volgvermogen te schatten; Deze berekeningen zijn echter arbeidsintensief en kunnen willekeurig worden afgeleid op basis van video-oculografie-verzamelmethoden en daaropvolgende kwantificering. Voor een snellere OKR-beoordeling is het tellen van de ETM-frequentie gebruikt als alternatieve methode voor het meten van de volgscherpte7. Hoewel dit een vrij nauwkeurige schatting geeft van het volgvermogen, vertrouwt deze methode op een indirecte metriek om de trage faserespons te kwantificeren en introduceert het een aantal vertekeningen. Deze omvatten een waarnemersbias bij het bepalen van saccade, een vertrouwen op tijdelijk consistente saccadische responsen gedurende een bepaald tijdperk en een onvermogen om de omvang van de langzame faserespons te beoordelen.

Om deze problemen met de huidige OKR-beoordelingsbenaderingen aan te pakken en om een diepgaande kwantificering van OKR-parameters met hoge doorvoer mogelijk te maken, hebben we een nieuwe analysemethode ontwikkeld om OKR-golfvormen te kwantificeren. Onze aanpak maakt gebruik van een toegankelijk, op Python gebaseerd softwareplatform met de naam 'PyOKR'. Met behulp van deze software kan het modelleren en kwantificeren van langzame OKR-responsen diepgaander en met verhoogde parametrisering worden bestudeerd. De software biedt toegankelijke en reproduceerbare kwantitatieve beoordelingen van reacties op een groot aantal visuele stimuli en ook tweedimensionale visuele tracking als reactie op horizontale en verticale beweging.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Protocol

Alle dierproeven die werden uitgevoerd aan de Johns Hopkins University School of Medicine (JHUSOM) werden goedgekeurd door het Institutional Animal Care and Use Committee (IACUC) van het JHUSOM. Alle experimenten die werden uitgevoerd aan de Universiteit van Californië, San Francisco (UCSF) werden uitgevoerd in overeenstemming met protocollen die zijn goedgekeurd door het UCSF Institutional Animal Care and Use Program.

1. Verzamelen van gedragsgegevens

  1. Neem OKR-oogbewegingen op met behulp van de video-oculografiemethode naar keuze om golfgegevens te genereren (d.w.z. een tijdreeks van de kijkhoek van het oog in sferische coördinaten).
    OPMERKING: Representatieve gegevens die bij JHUSOM zijn verzameld, werden verkregen met behulp van hoofdpostimplantatiechirurgie en video-oculografie, zoals eerder beschreven 9,13 (Figuur 1). Representatieve gegevens verzameld van UCSF werden verkregen door middel van de hoofdpostimplantatiechirurgie en de video-oculografiemethode, zoals beschreven in eerder10 (Figuur 7).
    1. Noteer stimulus- en opnameparameters: opnameframesnelheid, stimulussnelheid en -richting, en tijdsduur tussen en na stimulustijdperken. Let bij sinusvormige stimuli ook op de amplitude en frequentie van de stimulusgolf.
  2. Verzamelde golfgegevens exporteren als een . CSV-bestand met horizontale en verticale (azimut en elevatie) golfgegevens.
    1. Organiseer golfgegevens als een door tabs gescheiden . CSV-bestand met twee kolommen met horizontale gegevens (epxWave) en verticale gegevens (epyWave).

2. Installatie van analysesoftware

  1. Download en installeer Python.
    1. Voor het toezicht op grafieken installeert u Spyder via Anaconda.
    2. Om ervoor te zorgen dat grafieken correct werken in Spyder, ga naar Tools > Preferences > Ipython Console > Graphics > Graphics Backend. Stel Inline in op Automatisch.
  2. Creëer een nieuwe Anaconda-omgeving met Python.
  3. Installeer PyOKR via PyPi met pip installeer PyOKR om de nieuwste versie te installeren, samen met pakketafhankelijkheden (aanvullend coderingsbestand 1 en aanvullend coderingsbestand 2)
  4. Als een Windows-computer wordt gebruikt, voert u vanuit PyOKR import OKR_win uit als o en vervolgens o.run().
  5. Als een Mac-computer wordt gebruikt, voer dan uit vanuit PyOKR import OKR_osx als o en vervolgens o.run().

3. Analyse van golfgegevens

  1. Initialisatie van analyse en importeren van bestanden
    1. Voer o.run() uit in een .py script om de gebruikersinterface te openen.
    2. Gebruik onder Bestand de functie Open of het commando Ctrl+O [iOS-opdracht] om een browser te openen waarmee de gebruiker het gewenste wave-bestand kan selecteren.
    3. Gebruik onder Bestand de knop Map exporteren of het commando Ctrl+E om een mappenbrowser te openen die het mogelijk maakt om een uitvoermap te selecteren waarnaar de uiteindelijke analyses worden geëxporteerd.
    4. Voer de uiteindelijke naam van het analysebestand in onder het uitvoerbestand in een aanbevolen indeling, zoals AnimalGenotype_AnimalNumber_Analysis.
    5. Stel het programma voor een individueel dier in met behulp van het commando Set Subject under File of het commando Ctrl+S om de dataset voor een individueel dier te initialiseren.
  2. Definitie van parameters van golfbestanden
    1. Om te beginnen met het instellen van stimulusparameters, definieert u directionaliteit onder Selecteer stimulusrichting door een van de vier windrichtingen te selecteren. Selecteer voor sinusvormige stimuli er een die dienovereenkomstig (Horizontaal) of (Verticaal) bevat, waarbij de kardinale richting de initiële richting van de sinusvormige golf bepaalt.
    2. Stel het stimulustype in onder Selecteer stimulustype als unidirectioneel, oscillerend of schuin.
    3. Nadat u de directionaliteit hebt ingesteld, importeert u ofwel de eigen dataset voor de stimuluspositie (Importeer eigen stimulusvectorgegevens) of genereert u automatisch een vector op basis van parameters (Genereer stimulusvector uit parameters). Als u een stimulusvector importeert, gaat u verder met 3.2.3.1 en gaat u verder met stap 3.3. Als u een stimulusvector genereert, gaat u verder met de volgende stappen.
      1. Als u uw eigen vectorgegevens importeert, importeert u de afstandswaarden van de stimulus (d.w.z. een tijdreeks die beschrijft hoe ver de stimulus beweegt tussen elk aangrenzend acquisitieframe) in hetzelfde formaat als beschreven in stap 3.2.1. Analyseer bovendien de hele dataset als één epoch in plaats van deze op te splitsen in individuele epochs, aangezien de functionaliteit voor het subsetten van geïmporteerde stimuluswaarde nog niet is toegevoegd vanaf PyOKR v1.1.2.
    4. Stel onder Stimulusparameters de parameters in van de stimulus die wordt gebruikt voor het verzamelen van gegevens.
      1. Stel de tijdsduur van geen stimulus aan het begin (kop) en einde (staart) van een bepaalde proef in met kop en staart.
      2. Stel de hoeveelheid tijd in dat een stimulus wordt weergegeven, de hoeveelheid tijd van geen stimulus na en het aantal totale epochs binnen een bepaalde proef met respectievelijk Lengte van epoch, Lengte van post-stimulus en Aantal epochs.
      3. Voor unidirectionele en schuine stimuli stelt u de stimulussnelheid in graden per seconde in met Horizontale Snelheid en Verticale Snelheid.
      4. Stel de opnamesnelheid van de verzamelcamera in met Framesnelheid vastleggen.
      5. Genereer voor sinusvormige stimuli de sinusvormige golf voor het modelleren van oscillerende stimuli met frequentie en amplitude.
    5. Maak na parametrisering het juiste model op basis van de hierboven ingevoerde stimulusinformatie met Stimulusvector genereren uit parameters.
    6. Selecteer een bepaald tijdperk voor de ingevoerde stimulus met behulp van Selecteer tijdperk om door het totale golfbestand te scannen.
  3. Begeleide selectie van trackingfasen
    1. Om gebieden met langzame tracking te identificeren, selecteert u automatisch snelle fasesaccades met voorlopige aanpassing door te klikken op Ongefilterde gegevens of Gefilterde gegevens, die potentiële saccades labelen op basis van maximale snelheidsveranderingen.
    2. Controleer onder Ongefilterde gegevens of de saccades nauwkeurig zijn geselecteerd met een blauwe stip. Als de automatische selectie niet nauwkeurig is, verwijdert u handmatig punten met de linkermuisknop (LMB) of voegt u punten toe met de rechtermuisknop (RMB). Wanneer snelle fasesaccades voldoende zijn geselecteerd, slaat u de punten op met de middelste muisknop (MMB) en sluit u de grafiek.
    3. Als automatisch filteren gewenst is, stelt u een Z-Score-drempel in en klikt u op Gefilterde gegevens om saccades automatisch te filteren. Gebruik indien nodig hetzelfde handmatige toezicht als beschreven in stap 3.3.2 om eventuele ruis te verwijderen.
    4. Nadat u de juiste saccade hebt geselecteerd, drukt u op Puntaanpassing om het gebied te selecteren dat u wilt verwijderen. Wijzig de boven- en onderpunten door middel van een soortgelijk controleschema als eerder beschreven in stap 3.3.2. Bewerk de bovenste (groene) punten met de LMB of de RMB en bewerk de onderste (rode) punten met de Shift+LMB of Shift+RMB. Als de punten goed zijn geplaatst, gebruik je de MMB om de punten op te slaan.
      OPMERKING: als u een Mac gebruikt, bevinden de aanpassing van het onderste en bovenste punt zich in twee afzonderlijke knoppen en volgen ze hetzelfde bedieningsschema als beschreven in stap 3.3.2.
  4. Analyse van slow-tracking fasen
    1. Stel de volgorde van het polynomiaalmodel in met behulp van Polynoomvolgorde instellen om het polynoommodel te definiëren dat zal worden aangepast aan individuele langzame fasen.
      OPMERKING: Voor unidirectionele of schuine stimuli is de standaardwaarde 1, aangezien lineariteit nodig is om de volgversterking te berekenen. Voor sinusvormige stimuli is een hogere orde nodig om de curve van de golf te modelleren, met een standaard van 15.
    2. Om het spoor te analyseren, selecteert u Eindanalyse om de langzame fasemodellen te genereren (Figuur 2) voor de geselecteerde langzame fasen (zie Figuur 2A-D) en berekent u de afstanden, snelheden en volgwinsten gemiddeld over het tijdperk (Figuur 2E).
    3. Als u de tweedimensionale (2D) of driedimensionale (3D) grafiek van de geselecteerde gebieden wilt weergeven, selecteert u respectievelijk 2D-grafiek weergeven of 3D-grafiek weergeven .
    4. Selecteer Epoch toevoegen om de verzamelde waarden die in stap 3.4.2 zijn gegenereerd op te slaan. Als u alle toegevoegde waarden voor een bepaald dier en de gemiddelden voor verzamelde proeven wilt weergeven, selecteert u Huidige gegevensset weergeven.
    5. Nadat een epoch is toegevoegd, bladert u door de rest van het bestand met Select epoch, waarbij u de stappen 3.3.1 tot 3.4.4 volgt.
    6. Zodra een golfbestand volledig is geanalyseerd, herhaalt u dit proces voor alle andere bestanden voor een bepaald dier door nieuwe bestanden te openen, de juiste parameters in te stellen en deze dienovereenkomstig te analyseren. Door de stappen 3.2.1-3.4.5 voor elk bestand te herhalen, genereert u een definitieve dataset met alle golfgegevens voor een bepaald dier.
  5. Definitieve export van gegevens
    1. Nadat de gegevensanalyse voor een bepaald dier is voltooid, waarbij alle richtingen of stimuli zijn geanalyseerd, exporteert u de gegevensset via Gegevens exporteren.
      OPMERKING: De onbewerkte dataset wordt geëxporteerd op basis van de naam van het uitvoerbestand en opgeslagen langs het pad dat is ingesteld door de uitvoermap als een CSV-bestand met individuele epoch-gegevens met het totale gemiddelde voor elke stimulusparameter.
    2. Nadat u een individueel dier hebt geëxporteerd, initialiseert u de gegevensset opnieuw met Ctrl+S en herhaalt u vervolgens alle voorgaande stappen om een nieuw dier te analyseren.
    3. Indien nodig kunt u alle uitvoergegevens die voor meerdere dieren zijn verzameld, opnieuw ordenen voor eenvoudigere analyse met behulp van de opdracht Gegevens sorteren onder het tabblad Analyse .
      OPMERKING: Deze functie compileert en sorteert alle gemiddelde waarden voor alle geanalyseerde dierbestanden die in de uitvoermap zijn opgeslagen, zodat er gemakkelijker grafieken en statistische vergelijkingen kunnen worden gemaakt. Het sorteren is afhankelijk van de naamgeving van de bestanden vanaf v1.1.2. Gebruik het aanbevolen naamgevingsschema zoals beschreven in stap 3.1.4 voor elk bestand (bijv. WT_123_Analysis).

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Resultaten

Om de hierboven beschreven analysemethode te valideren, hebben we de OKR-trackingwinst gekwantificeerd op golfsporen verzameld van wildtype muizen en een voorwaardelijke knock-outmutant met een bekend trackingtekort. Om de bredere toepasbaarheid van onze analysemethode te testen, analyseerden we bovendien sporen afkomstig van een afzonderlijk cohort wildtype muizen die waren verkregen met behulp van een andere video-oculografie-verzamelmethode. De automatische filtering van saccades vergemakkelijkt de verwerking en analy...

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Discussie

PyOKR biedt verschillende voordelen voor het bestuderen van visuele reacties die worden weerspiegeld in oogbewegingen. Deze omvatten opties voor nauwkeurigheid, toegankelijkheid en gegevensverzameling, naast de mogelijkheid om parametrisering en variabele stimulussnelheden op te nemen.

Directe beoordeling van de oogtracering biedt een nauwkeurige karakterisering van oogbewegingen die een directere kwantitatieve metriek is dan traditionele handmatige telling van snelle fasesaccades (ETM's). Hoe...

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Openbaarmakingen

De auteurs hebben geen belangenconflicten.

Dankbetuigingen

Dit werk werd ondersteund door R01 EY032095 (ALK), VSTP pre-doctoral fellowship 5T32 EY7143-27 (JK), F31 EY-033225 (SCH), R01 EY035028 (FAD en ALK) en R01 EY-029772 (FAD).

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Materialen

Lijst van materialen gebruikt in dit artikel
NaamBedrijfCatalogusnummerOpmerkingen
C57BL/6J  muizenJackson Labs664
Igor ProWaveMetricsRRID: SCR_000325
MATLABMathWorksRRID: SCR_001622
Optokinetic reflex opnamekamer - JHUSOMOp maat gemaaktN/AZoals beschreven in Al-Khindi et al.(2022)9 en Kodama et al. (2016)13 
Optokinetic reflex opnamekamer - UCSFOp maat gemaaktN/AZoals beschreven in Harris en Dunn, 201510
PythonPython Software FoundationRRID: SCR_008394
Tbx5 flox/+ muizenGift van B. BruneauN/AZoals beschreven in Al-Khindi et al.(2022)9 
Tg(Pcdh9-cre)NP276Gsat/MmucdMMRRCMMRRC Stock # 036084-UCD; RRID: MMRRC_036084-UCD

Referenties

  1. Stahl, J. S. Using eye movements to assess brain function in mice. Vision Res. 44 (28), 3401-3410 (2004).
  2. Kretschmer, F., Tariq, M., Chatila, W., Wu, B., Badea, T. C. Comparison of optomotor and optokinetic reflexes in mice. J Neurophysiol. 118, 300-316 (2017).
  3. Bronstein, A. M., Patel, M., Arshad, Q. A brief review of the clinical anatomy of the vestibular-ocular connections - How much do we know. Eye. 29 (2), 163-170 (2015).
  4. Simpson, J. I. The accessory optic system. Ann Rev Neurosci. 7, 13-41 (1984).
  5. Hamilton, N. R., Scasny, A. J., Kolodkin, A. L. Development of the vertebrate retinal direction-selective circuit. Dev Biol. 477, 273-283 (2021).
  6. Dobson, V., Teller, D. Y. Visual acuity in human infants: a review and comparison of behavioral and electrophysiological studies. Vision Res. 18 (11), 1469-1483 (1978).
  7. Cahill, H., Nathans, J. The optokinetic reflex as a tool for quantitative analyses of nervous system function in mice: Application to genetic and drug-induced variation. PLoS One. 3 (4), e2055(2008).
  8. Cameron, D. J., et al. The optokinetic response as a quantitative measure of visual acuity in zebrafish. J Vis Exp. (80), e50832(2013).
  9. Al-Khindi, T., et al. The transcription factor Tbx5 regulates direction-selective retinal ganglion cell development and image stabilization. Curr Biol. 32 (19), 4286-4298 (2022).
  10. Harris, S. C., Dunn, F. A. Asymmetric retinal direction tuning predicts optokinetic eye movements across stimulus conditions. eLife. 12, 81780(2015).
  11. Sun, L. O., et al. Functional assembly of accessory optic system circuitry critical for compensatory eye movements. Neuron. 86 (4), 971-984 (2015).
  12. Yonehara, K., et al. Congenital Nystagmus gene FRMD7 is necessary for establishing a neuronal circuit asymmetry for direction selectivity. Neuron. 89 (1), 177-193 (2016).
  13. Kodama, T., Du Lac, S. Adaptive acceleration of visually evoked smooth eye movements in mice. J Neurosci. 36 (25), 6836-6849 (2016).
  14. Stahl, J. S., Van Alphen, A. M., De Zeeuw, C. I. A comparison of video and magnetic search coil recordings of mouse eye movements. J Neurosci Methods. 99 (1-2), 101-110 (2000).

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Herprints en machtigingen

Meer artikelen verkennen

Visuele bewegingsverwerkingeye-trackingPyOKR-analysegedragsmatige kwantificeringvisuele stimulusresponsmeting van tracking gainrichtingselectieve circuitssaccadedetectievideo-oculografie