PiVR
latest
  • PiVR: virtual reality for small animals
  • 1. Build your own PiVR
    • 1.1. Standard and High Powered version
    • 1.2. Building the Standard version
      • 1.2.1. Detailed PCB soldering instructions (Standard Version)
    • 1.3. Building the High Powered Version
      • 1.3.1. Detailed PCB soldering instructions (High Power Version)
      • 1.3.2. Testing homogeneity of the stimulation light
    • 1.4. Additional Information
      • 1.4.1. Detailed soldering instructions (cable)
      • 1.4.2. Troubleshooting LEDs
  • 2. Bill of Materials (BOM)
    • 2.1. Standard PiVR setup
    • 2.2. High Powered PiVR setup
  • 3. Step-by-step experimental guide
    • 3.1. Single animal tracking
      • 3.1.1. Select Organism
      • 3.1.2. Define pixel per mm
      • 3.1.3. Setting up the arena and the camera
      • 3.1.4. Animal detection
      • 3.1.5. Animal tracking
      • 3.1.6. After Animal Tracking
    • 3.2. Single animal Tracking with Virtual Reality
    • 3.3. Taking full frame images
    • 3.4. Recording a video
  • 4. Code explanation
    • 4.1. Animal detection
      • 4.1.1. Standard - Mode 1
      • 4.1.2. Pre-Define Background - Mode 2
      • 4.1.3. Reconstruct Background by Stitching - Mode 3
    • 4.2. Animal Tracking
    • 4.3. Head Tail Classification
    • 4.4. Dynamic Virtual Realities
  • 5. PiVR Software Manual
    • 5.1. The Menubar
    • 5.2. The Recording Menu
      • 5.2.1. Camera Control Frame
      • 5.2.2. Experiment Control Frame – Tracking
      • 5.2.3. Experiment Control Frame – VR Arena
      • 5.2.4. Experiment Control Frame – Dynamic VR
      • 5.2.5. Experiment Control Frame – Full Frame Recording
      • 5.2.6. Experiment Control Frame – Timelapse Recording
      • 5.2.7. Experiment Control Frame – Video
    • 5.3. Preparing a Time Dependent Stimulus File
    • 5.4. Set Pixel/mm
    • 5.5. Adjust image
      • 5.5.1. Set up optimal image
    • 5.6. Define Output Files
    • 5.7. Undistort Options
    • 5.8. Define GPIO output channels
    • 5.9. Turn Debug Mode ON/OFF
    • 5.10. Select Animal Detection Mode
    • 5.11. Select Organism
    • 5.12. Updating the software
    • 5.13. High/Low Power LED switch
    • 5.14. Select Body Part for VR stimulation
    • 5.15. Animal Color Selection
  • 6. Explanation of PiVR output
    • 6.1. Tracking
      • 6.1.1. “DATE_TIME_data.csv”
      • 6.1.2. “Background.jpg”
      • 6.1.3. “experiment_settings.json”
      • 6.1.4. “first_frame_data.json”
      • 6.1.5. “sm_raw.npy”
      • 6.1.6. “sm_thresh.npy”
      • 6.1.7. “sm_skeletons.npy”
      • 6.1.8. “undistort_matrices.npz”
      • 6.1.9. Optional files
        • 6.1.9.1. “bounding_boxes.npy”
        • 6.1.9.2. “centroids.npy”
        • 6.1.9.3. “midpoints.npy”
        • 6.1.9.4. “heads.npy”
        • 6.1.9.5. “tails.npy”
    • 6.2. VR Arena and Dynamic VR Arena
      • 6.2.1. “DATE_TIME_data.csv”
      • 6.2.2. “RESOLUTION_NAME.csv”
      • 6.2.3. “Background.jpg”
      • 6.2.4. “experiment_settings.json”
      • 6.2.5. “first_frame_data.json”
      • 6.2.6. Optional files
        • 6.2.6.1. “bounding_boxes.npy”
        • 6.2.6.2. “centroids.npy”
        • 6.2.6.3. “midpoints.npy”
        • 6.2.6.4. “heads.npy”
        • 6.2.6.5. “tails.npy”
        • 6.2.6.6. “stimulation.npy”
    • 6.3. Full Frame Recording
      • 6.3.1. “DATE_TIME_data.csv”
      • 6.3.2. Image files
      • 6.3.3. “experiment_settings.json”
    • 6.4. Video
      • 6.4.1. “EXPGRP_VIDEO.h264”
      • 6.4.2. “DATE_TIME_data.csv”
      • 6.4.3. “experiment_settings.json”
    • 6.5. Get started
    • 6.6. Visualization of different points on the animal
  • 7. Tools
    • 7.1. The Menubar
    • 7.2. The Analysis Menu
      • 7.2.1. Distance to source
      • 7.2.2. Distance to source, VR
      • 7.2.3. Single animal tracking (post-hoc)
    • 7.3. The Image Data Handling Menu
      • 7.3.1. Image Seq. to matrix
      • 7.3.2. Video conversion
      • 7.3.3. Undistort Video
    • 7.4. Display tracked experiment
      • 7.4.1. Creation of a video file
    • 7.5. Multi-Animal Tracking
      • 7.5.1. Multi Animal Tracking Output
    • 7.6. Creating a new Virtual Arena
    • 7.7. Creating a new Dynamic Virtual Reality
  • 8. Advanced topics
    • 8.1. Simulate Real-Time Tracking
    • 8.2. Tracking of a new animal
    • 8.3. Create your own undistort files
  • 9. PiVR software installation
    • 9.1. Install PiVR on the Raspberry Pi
    • 9.2. Install PiVR on a PC
    • 9.3. Install PiVR on a Windows 10 PC
    • 9.4. Install PiVR on a Linux PC
    • 9.5. Start PiVR on a PC
  • 10. PiVR software documentation
    • 10.1. PiVR GUI source code
      • PiVR
        • PiVR.access_subframes()
        • PiVR.call_start_experiment_function()
        • PiVR.show_frame()
      • DynamicVirtualRealityFrame
        • DynamicVirtualRealityFrame.start_experiment_function()
      • TrackingFrame
        • TrackingFrame.start_experiment_function()
    • 10.2. PiVR Tracking source code
      • 10.2.1. Detection
        • FindAnimal
      • 10.2.2. Tracking
        • ControlTracking
        • FastTrackingControl
        • FastTrackingVidAlg
      • 10.2.3. Detection and Tracking Helpers
        • FindROI
        • MeanThresh
        • CallImageROI
        • CallBoundingBox
        • DescribeLargestObject
        • DrawBoundingBox
        • Save
      • 10.2.4. DefineOutputChannels
        • DefineOutputChannels
      • 10.2.5. Error Messages
        • show_vr_arena_update_error()
    • 10.3. Virtual Arena drawing
      • VRArena
        • VRArena.addition_of_intensity_func()
        • VRArena.delete_animal_func()
        • VRArena.dont_draw_func()
        • VRArena.draw_gaussian_func()
        • VRArena.draw_linear_func()
        • VRArena.gridlines_func()
        • VRArena.invert_func()
        • VRArena.modify_exsiting_func()
        • VRArena.overwrite_func()
        • VRArena.place_animal_func()
        • VRArena.place_animal_precise_func()
        • VRArena.precise_gaussian_draw_func()
        • VRArena.precise_rectangle_draw_func()
        • VRArena.quit_func()
        • VRArena.save_arena()
        • VRArena.stop_animal_drawing_func()
        • VRArena.update_animal_position()
        • VRArena.update_drawing()
        • VRArena.update_values()
        • VRArena.arena
      • GaussianSlope
        • GaussianSlope.disconnect()
        • GaussianSlope.draw_gradient()
        • GaussianSlope.gkern()
      • Step
        • Step.disconnect()
        • Step.draw_rectangle()
        • Step.on_press()
      • PlaceAnimal
        • PlaceAnimal.disconnect()
        • PlaceAnimal.draw_arrow()
        • PlaceAnimal.draw_point()
    • 10.4. PiVR Analysis source code
      • AnalysisDistanceToSource
      • AnalysisVRDistanceToSource
      • MultiAnimalTracking
        • MultiAnimalTracking.ask_user_correct_animal_classification()
        • MultiAnimalTracking.detect_blobs()
        • MultiAnimalTracking.draw_rectangle()
        • MultiAnimalTracking.interpolate()
        • MultiAnimalTracking.manually_jump_to_frame_func()
        • MultiAnimalTracking.on_press()
        • MultiAnimalTracking.on_release()
        • MultiAnimalTracking.play_func()
        • MultiAnimalTracking.quit_func()
        • MultiAnimalTracking.tracking_start()
        • MultiAnimalTracking.update_overview_func()
        • MultiAnimalTracking.update_visualization()
    • 10.5. PiVR Image Data Handling source code
      • PackingImages
      • ConvertH264
  • 11. PiVR Benchmark
    • 11.1. Concepts
    • 11.2. PiVR loop time
    • 11.3. PiVR latency
    • 11.4. PiVR loop time (High Res)
  • 12. FAQ
    • 12.1. Distorted Images
    • 12.2. Progress Bar
    • 12.3. Raspberry Pi does not turn on
    • 12.4. PiVR won’t start a video/experiment
    • 12.5. PiVR software won’t start
    • 12.6. I have camera glitches/interference
  • 13. Contact
    • 13.1. Questions?
    • 13.2. Found a Bug?
    • 13.3. Other questions (scientific, technological, copyright…)
  • 14. Community Building
    • 14.1. Labs using PiVR
    • 14.2. PiVR in the press
    • 14.3. PiVR on blogs
  • 15. Legacy Options
    • 15.1. Preparing a Frame Based Time Dependent Stimulus File
PiVR
  • Docs »
  • Overview: module code

All modules for which code is available

  • VR_drawing_board
  • analysis_scripts
  • control_file
  • fast_tracking
  • image_data_handling
  • multi_animal_tracking
  • output_channels
  • pre_experiment
  • start_GUI
  • tracking_help_classes

© Copyright 2019 The Regents of the University of California. All rights reserved. Software authored by David Tadres and Matthieu Louis Revision ad601e29.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest
Versions
latest
stable
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.