Raspberry Pi–powered imaging for plant phenotyping

Premise of the Study Image‐based phenomics is a powerful approach to capture and quantify plant diversity. However, commercial platforms that make consistent image acquisition easy are often cost‐prohibitive. To make high‐throughput phenotyping methods more accessible, low‐cost microcomputers and cameras can be used to acquire plant image data. Methods and Results We used low‐cost Raspberry Pi computers and cameras to manage and capture plant image data. Detailed here are three different applications of Raspberry Pi–controlled imaging platforms for seed and shoot imaging. Images obtained from each platform were suitable for extracting quantifiable plant traits (e.g., shape, area, height, color) en masse using open‐source image processing software such as PlantCV. Conclusions This protocol describes three low‐cost platforms for image acquisition that are useful for quantifying plant diversity. When coupled with open‐source image processing tools, these imaging platforms provide viable low‐cost solutions for incorporating high‐throughput phenomics into a wide range of research programs.

Image-based high-throughput phenotyping has been heralded as a solution for measuring diverse traits across the plant tree of life (Araus and Cairns, 2014; Goggin et al., 2015). In general, there are five steps in image-based plant phenotyping: (1) image and metadata acquisition, (2) data transfer, (3) image segmentation (separation of target object and background), (4) trait extraction (object description), and (5) group-level data analysis. Image segmentation, trait extraction, and data analysis are the most time-consuming steps of the phenotyping process, but protocols that increase the speed and consistency of image and metadata acquisition greatly speed up downstream analysis steps. Commercial high-throughput phenotyping platforms are powerful tools to collect consistent image data and metadata, and are even more effective when designed . However, commercial phenotyping platforms are cost-prohibitive to many laboratories and institutions. There is also no such thing as a "onesize-fits-all" phenotyping system; different biological questions often require different hardware configurations. Therefore, low-cost technologies that can be used and repurposed for a variety of phenotyping applications are of great value to the plant community.
Raspberry Pi computers are small (credit card sized or smaller), low-cost, and were originally designed for educational purposes (Upton and Halfacree, 2014). Several generations of Raspberry Pi single-board computers have been released, and most models now feature built-in modules for wireless and bluetooth connectivity (Monk, 2016). The Raspberry Pi Foundation (Cambridge, United Kingdom) also releases open-source software and accessories such as camera modules (five and eight megapixel). Additional sensors or controllers can be connected via USB ports and general-purpose input/output pins. A strong online community of educators and hobbyists provide support (including project ideas and documentation), and a growing population of researchers use Raspberry Pi computers for a wide range of applications including phenotyping. We and others (e.g., Huang  data and metadata. Here, we document three different methods for using Raspberry Pi computers for plant phenotyping (Fig. 1). These protocols are a valuable resource because, while there are many phenotyping papers that outline phenotyping systems in detail (

Raspberry Pi initialization
This work describes Raspberry Pi setup (Appendix 1) and three protocols (Appendices 2-4) that utilize Raspberry Pi computers for low-cost image-based phenotyping and gives examples of the data they produce. Raspberry Pi computers can be reconfigured for different phenotyping projects and can be easily purchased from online retailers. The first application is time-lapse plant imaging (Appendix 2), the second protocol describes setup and use of an adjustable camera stand for top-view photography (Appendix 3), and the third project describes construction and use of an octagonal box for acquiring plant images from several angles simultaneously (Appendix 4). For all three phenotyping protocols, the same protocol to initialize Raspberry Pi computers is used and is provided in Appendix 1. The initialization protocol in Appendix 1 parallels the Raspberry Pi Foundation's online documentation and provides additional information on setting up passwordless secure shell (SSH) login to a remote host for data transfer and/or to control multiple Raspberry Pis. Passwordless SSH allows one to pull data from the data collection computer to a remote server without having to manually enter login information each time. Reliable data transfer is an important consideration in plant phenotyping projects because, while it is possible to process image data directly on a Raspberry Pi computer, most users will prefer to process large image data sets on a bioinformatics cluster. Remote data transfer is especially important for time-lapse imaging setups, such as the configuration described in Appendix 2, because data can be generated at high frequency over the course of long experiments, and thus can easily exceed available disk space on the micro secure digital (SD) cards that serve as local hard drives. Once one Raspberry Pi has been properly configured and tested, the fully configured operating system can be backed up, yielding a disk image that can be copied ("cloned") onto as many additional SD cards as are needed for a given phenotyping project (Appendix 1).

Raspberry Pi time-lapse imaging
Time-lapse imaging is a valuable tool for documenting plant development and can reveal differences that would not be apparent from endpoint analysis. Raspberry Pi computers and camera modules work effectively as phenotyping systems in controlledenvironment growth chambers, and the low cost of Raspberry Pi computers allows this approach to scale well. Growth chambers differ from (agro)ecological settings but are an essential tool for precise control and reproducible experimentation (Poorter et al., 2016). Time-lapse imaging with multiple cameras allows for simultaneous imaging of many plants and can capture higher temporal resolution than conveyor belt and mobile-camera systems. Appendix 2 provides an example protocol for setting up the hardware and software necessary to capture plant images in a growth chamber. The main top-view imaging setup described is aimed at imaging flats or pots of plants in a growth chamber. We include instructions for adjusting the camera-plant focal distance (yielding higher plant spatial resolution) and describe how to adjust the temporal resolution of imaging. A predictable file-naming scheme that includes image metadata (field of view number, timestamp, and a common identifier) was employed to confirm that all photo time points were captured and transferred as scheduled. Images were pulled from each Raspberry Pi to a remote server twice per hour (using a standard utility called rsync) by a server-side cron process using the configuration files described in Appendix 2.
Optimizing imaging conditions for maximum consistency can simplify downstream image processing. To aid in image normalization during processing, color standards and size markers can be included in images. Placing rubberized blue mesh (e.g., Con-Tact Brand, Pomona, California, USA) around the base of plants can sometimes simplify segmentation (i.e., distinguishing plant foreground pixels from soil background pixels), although this was not necessary for the A. thaliana example described here. Care should be taken to ensure that large changes in the scene (including gradual occlusion of blue mesh by leaves) do not dramatically alter automatic exposure and color balance settings over the course of an experiment. If automatic exposure becomes an issue, camera settings can be manually set (see Appendix 4). In this example, cameras and flats were set up to yield a similar vantage point (a 4 × 5 grid of pots) in each field of view, such that very similar computational pipelines can be used to process images from all 12 cameras. An example image has been processed with PlantCV (Fahlgren et al., 2015) in Fig. 2, and a script showing and describing each step in the analysis is provided at https://github.com/danforthcenter/ apps-phenotyping. Further image-processing tutorials and tips can be found at http://plantcv.readthedocs.io/en/latest/.

Raspberry Pi camera stand
An adjustable camera stand is a versatile piece of laboratory equipment for consistent imaging. Appendix 3 is a protocol for pairing a low-cost home-built camera stand with a Raspberry Pi computer for data capture and management. Altogether, the camera stand system costs approximately US$750. The camera stand (79 cm width × 82.5 cm height) was built from aluminum framing (80/20 Inc., Columbia City, Indiana, USA) to hold a Nikon COOLPIX L830 camera (Nikon Corporation, Tokyo, Japan) via a standard mount (Fig. 1). For this application, we prefer to use a single-lens reflex (SLR) digital camera (rather than a Raspberry Pi camera module) for adjustable focus and to improve resolution. The camera was affixed to a movable bar, so the distance between camera and object can be adjusted up to 63 cm. A Python script that utilizes gPhoto2 (Figuière and Niedermann, 2017) for data capture and rsync for data transfer to a remote host is included in the protocol (Appendix 3). When the "camerastand.py" script is run, the user is prompted to enter the filename for the image. The script verifies that the camera is connected to the Raspberry Pi, acquires the image with the SLR camera, retrieves the image from the camera, renames the image file to the user-provided filename, saves a copy in a local Raspberry Pi directory, and transfers this copy to the desired directory on a remote host. Because image filenames are commonly used as the primary identifier for downstream image processing, it is advised to use a filename that identifies the species, accession, treatment, and replicate, as appropriate. The Python script provided appends a timestamp to the filename automatically. We regularly use this Raspberry Pi Camera Stand to image seeds, plant organs (e.g., inflorescences), and short-statured plants. For seed images, a white background with a demarcated black rectangular area ensures that separated seeds are in frame, which speeds up the imaging process. Color cards (white, black, and gray; DGK Color Tools, New York, New York, USA) and a size marker to normalize area are also included in images to aid in downstream processing and analysis steps. It is advised to use the same background, and, if possible, the same distance between object and camera for all images in an experimental set. However, including a size marker in images can be used to normalize data extracted from images if the vantage point does change. Chenopodium quinoa Willd. (quinoa) seed images are shown as example data from the camera stand (Fig. 2). To show that images collected from the camera stand are suitable for image analysis, seed images acquired with the camera stand were processed using PlantCV (Fahlgren et al., 2015) to quantify individual seed size, shape, color, and count; these types of measurements are valuable for quantifying variation within a population. The step-by-step image processing instructions are provided at https://github.com/danforthcenter/ apps-phenotyping. This overall process (Appendix 3) provides a considerable cost savings relative to paying for seed imaging services or buying a commercial seed imaging station.

Raspberry Pi multi-image octagon
Different plant architecture types require different imaging configurations for capture. For example, top-down photographs can capture most of the information about the architecture of rosette plants (as described above), but plants with orthotropic growth such as rice or quinoa are better captured with a combination of both sideview and top-view images. Therefore, platforms for simultaneously imaging plants from multiple angles are valuable. In Appendix 4, a protocol is described to set up an octagon-shaped chamber for imaging at different angles. The complete octagon-shaped imaging system costs approximately US$1500. A "master" Raspberry Pi computer with a Raspberry Pi camera module is used to collect image data and also to trigger three other Raspberry Pi computers and cameras. Data are transferred from the four Raspberry Pi computers to a remote host using rsync. The octagon chamber (122 cm height and 53.5 cm of each octagonal side) was constructed from aluminum framing and 3-mm white polyvinyl chloride (PVC) panels (80/20 Inc.; Fig. 1 bottom of the chamber for mobility. The four Raspberry Pis with Raspberry Pi camera modules (one top-view and three side-views approximately 45° angle apart) in cases were affixed to the octagon chamber using heavy-duty Velcro. To maintain a consistent distance between the Raspberry Pi cameras and a plant within the Raspberry Pi multi-image octagon, a pot was affixed to the center of the octagon chamber, with color cards affixed to the outside of the stationary pot (white, black, and gray; DGK Color Tools) so that a potted plant could be quickly placed in the pot during imaging.
To facilitate data acquisition and transfer on all four Raspberry Pis, scripts are written so the user only needs to interact with a single "master" Raspberry Pi (here the master Raspberry Pi is named "octagon"). From a laptop computer one would connect to the "master" Pi via SSH, then run the "sshScript.sh" on that Pi. The "sshScript. sh" script triggers the image capture and data transfer sequence in all four Raspberry Pis and appends the date to a user-input barcode. When the "sshScript.sh" script is run, a prompt asks the user for a barcode sequence. The barcode can be inputted manually, or, if a barcode scanner (e.g., Socket 7Qi) is available, a barcode can be used to input the filename information. Again, it is advised to use a plant barcode that identifies the species, accession, treatment, and replicate, as appropriate. Once a barcode name has been inputted, another prompt asks if the user would like to continue with image capture. This pause in the "sshScript.sh" script gives the user the opportunity to place the plant in the octagon before image capture is triggered. The "sshScript.sh" runs the script "pi-Picture.py" on all four Raspberry Pis. The "piPicture.py" script captures an image and appends the user-inputted filename with the Raspberry Pi camera ID and the date. The image is then saved to a local directory on the Raspberry Pi. The "syncPi.sh" script is then run by "sshScript.sh" to transfer the images from the four Raspberry Pis to a remote host. The final script ("shutdown_all_pi") is optionally run when image acquisition is over, allowing the user to shut down all four Raspberry Pis simultaneously. Examples of quinoa plant images captured with the Raspberry Pi multi-image octagon are analyzed with PlantCV (Fahlgren et al., 2015) to show that the area and shape data can be extracted (Fig. 2).

Protocol feasibility
The protocols provided in the appendices that follow provide step-by-step instructions for using Raspberry Pi computers for plant phenotyping in three different configurations. The majority of components for all three protocols are readily available for purchase online. Low-cost computers and components are especially important because some experiments might test harsh environmental conditions and need to be replaced long-term. Each of the platforms was built and programmed in large part by high-school students, undergraduates, or graduate students and do not require a large investment of time to build or set up. Because Raspberry Pi computers are widely used by educators, hobbyists, and researchers, there is a strong online community that can be called upon for troubleshooting or to extend the functionality of a project. The best way to start troubleshooting is to use an online search engine to see if others have solved similar issues. If an error message has been triggered, start by using the error message as a search term. If a satisfactory answer is not found through an online search, posting on a community support forum like Stack Overflow is a good next step (https://raspberrypi .stackexchange.com/; https://stackoverflow.com/questions/tagged/ raspberry-pi). When posting on online community forums, it is helpful to be specific. For example, if an error message is triggered, it is vital to include the exact text of the error message, to describe the events that triggered that error message, and to explain the target end goal. Automation increases the consistency of image and metadata capture, which streamlines image segmentation (Fig. 2) and is thus preferable to manual image capture. Furthermore, the low cost of each system and the flexibility to reconfigure Raspberry Pi computers for multiple purposes makes automated plant phenotyping accessible to most researchers.

CONCLUSIONS
The low-cost imaging platforms presented here provide an opportunity for labs to introduce phenotyping equipment into their research toolkit, and thus increase the efficiency, reproducibility, and thoroughness of their measurements. These protocols make high-throughput phenotyping accessible to researchers unable to make a large investment in commercial phenotyping equipment  The camera stand, growth-chamber imaging stations, and multi-image octagon phenotyping platforms that are described in detail in Appendices 2-4 use Raspberry Pis to trigger image acquisition, append metadata to filenames, and move data to remote host machines. The following are the required parts and steps to initialize a single Raspberry Pi. The initialization protocol is based on the installation guidelines from the Raspberry Pi Foundation (Cambridge, United Kingdom), which are under a Creative Commons license (https://www.raspberrypi.org/ documentation/).  (Appendices 2-4). Some of these scripts may need to be adjusted after they have been copied on the Raspberry Pi, as described below. The Git version control system can be used to track the history of changes of these files.

Raspberry Pi SD card cloning protocol:
Once you have gone through the initialization protocol for one Raspberry Pi, the disk image of the SD card from that Raspberry Pi can be cloned if you need additional Raspberry Pis for your project. Any project-specific scripts that need further adjustments on individual Raspberry Pis can then be completed (see . Cloning an SD card will generate a file of the exact size of the SD card (e.g., 16 GB), and it is therefore essential to ensure that new SD cards to be "flashed" with the original disk image are at least as large as the initialized SD card (e.g., 16 GB or larger).

To clone an SD card on a Windows computer:
1. Download and install Win32 Disk Imager from https://sourceforge.net/projects/win32diskimager/. 2. Before opening the Win32 Disk Imager, insert the SD card (in an SD card reader if needed) from the initialized Raspberry Pi into your computer. 3. Open Win32 Disk Imager. 4. Click on the blue folder icon. A file explorer window will appear. 5. Select the directory to store the SD card image, and provide a filename for the image. 6. Click Open to confirm your selection. The file explorer window will close. 7. Under Device, select the appropriate drive letter for the SD card. 8. Click the Read button. 9. Once the image is created, a "Read Successful" message will appear. Click OK. 10. Eject the SD card, and close Win32 Disk Imager. 11. Insert the new SD card where the image will be cloned. Make sure this SD card has as much or more storage capacity as the SD card from the initialized Raspberry Pi that was imaged. 12. Reopen Win32 Disk Imager. 13. Click on the blue folder icon and select the image that was just created. 14. Under Device, select the appropriate drive letter for the SD card where the image will be cloned.  10. Insert the new SD card where the image will be cloned. Make sure this SD card has as much or more storage capacity as the SD card from the initialized Raspberry Pi that was imaged. 11. Under Pi-Crust: select SD-Card or USB drive, then select the SD card where the image will be cloned. 12. Click on Restore Backup. 13. Browse and select the image that was just created. 14. Click OK. 15. Once the SD card is cloned, a "Your ApplePi is ready!" message will appear. Click OK. 16. Eject the SD card, and insert it into the Raspberry Pi. The Raspberry Pi is now initialized.
1. First, use the command 'df -h' to see a list of existing devices. 2. Insert the SD card (in an SD card reader if needed) from the initialized Raspberry Pi into your computer. 3. Use the command 'df -h' again. The SD card will be the new item on the list (e.g., /dev/sdbp1 or /dev/sdb1). The last part of the name (e.g., p1 or 1) is the partition number. 4. Use the command 'sudo dd if=/dev/SDCardName of=/path/to/ SDCardImage.img' to create the SD card image (e.g., sudo dd if=/dev/sdb of=~/InitializedPi.img). Make sure to remove the partition name to image the entire SD card (e.g., use /dev/sdb instead of /dev/sdb1).

5.
There is no progress indicator, so wait until the command prompt reappears. 6. Unmount the SD card by typing the command: 'sudo umount / dev/SDCardName' . 7. Remove the SD card. 8. Insert the new SD card where the image will be cloned. Make sure this SD card has as much or more storage capacity as the SD card from the initialized Raspberry Pi that was imaged. 9. Use the command 'df -h' again to discover the new SD card name, or names if there is more than one partition. 10. Unmount every partition using the command 'sudo umount / dev/SDCardName' (e.g., sudo umount /dev/sdb1). 11. Copy the initialized Raspberry Pi SD card image using the command 'sudo dd if=/path/to/SDCardImage.img of=/dev/ SDCardName' . 12. There is no progress indicator, so wait until the command prompt reappears. 13. Unmount the SD card and insert it into the Raspberry Pi. The Raspberry Pi is now initialized.

General instructions for installing and testing a Raspberry Pi camera:
General instructions for using an SSH key for passwordless connection to a remote host: These instructions are to allow a Raspberry Pi computer to access a remote host (e.g., another Raspberry Pi computer, bioinformatics cluster, or other computer) without having to enter login information. If a user would like to pull data from Raspberry Pi to a remote host, rather than pushing data from a Raspberry Pi to a remote host, similar instructions would be followed on the remote computer. 5. Use the command 'ssh-copy-id -i ~/.ssh/id_rsa.pub user@ remote-host' in the Terminal window to copy the public SSH key to the remote host, where "user@remote-host" should be replaced by the name of the remote host where the images will be stored (e.g., ssh-copy-id -i ~/.ssh/id_rsa.pub jdoe@serverx). 6. If prompted with "The authenticity of host 'remote-host' can't be established (…) Are you sure you want to continue connecting?" enter 'yes' . 7. Enter the user's password for the remote server, if prompted. 8. Verify the SSH key was successfully copied to the remote host.
SSH to the remote host from the Raspberry Pi, using the command 'ssh user@remote-host' in the Terminal window (e.g., ssh jdoe@serverx). No password should be required if the key was copied successfully.
Additional notes: 1. For official distributions of the Raspbian Raspberry Pi operating system, the default username is "pi", and default password is "raspberry". All protocols assume these default settings were not previously changed. For details see https://www.raspberrypi.org/ documentation/hardware/raspberrypi/power/README.md. 3. There can be a learning curve associated with command-line tools and Linux-based operating systems. As noted above, material on Linux and Raspberry Pi configuration is available online, including many technical mailing lists and user forums. Learning to use the Linux "man" utility to read manual page documentation can be helpful for quickly looking up command-line flag options and occasionally for understanding differences between the precise versions of software available on different host machines. The protocol that follows describes how to set up one or more Raspberry Pi camera rigs for time-lapse photography and is based on the tutorial at https://www.raspberrypi.org/documentation/ usage/camera/raspicam/timelapse.md.
Here, we focus on a 12-camera configuration that has worked well in a reach-in growth chamber. We describe one low-cost method for stably fixing Raspberry Pi camera rigs to the top of the chamber. Zip ties may work well for attaching Pi camera rigs in some growth chambers (Minervini et al., 2017), and we have also used heavy-duty Velcro, so that Pi camera rigs can be removed and used for other purposes, such as side-view imaging of seedlings on Petri plates. We have separately provided a protocol for imaging plants grown on vertical Petri plates with a Pi NoIR camera module and an infrared light-emitting diode (LED) panel for backlighting (as in Huang et al., 2016). This method was used for quantifying hypocotyl growth and can be used with other tissues such as roots. See http://maker.danforthcenter .org/tutorial/raspberry%20pi/led/raspberry%20pi%20camera/ RPi-LED-Illumination-and-Imaging. Optional/alternative parts: 1. Heavy-duty Velcro, as an alternative method of mounting Pi camera rigs. We recommend against using small pieces of lowcost consumer-grade Velcro. 2. 3D-printed Petri plate stand, for imaging plates vertically. STL file for 3D printing is available here: https://www.thingiverse .com/thing:418614/#files Adjustment of Raspberry Pi camera focus (optional): As noted above, the Raspberry Pi camera is fixed focus, with a focal length such that objects 1 m away or further will be in focus. Therefore, if you want to alter the focus you have to alter the Raspberry Pi camera module itself with pliers. We recommend watching the excellent YouTube tutorial by George Wang: https://www.youtube.com/ watch?v=u6VhRVH3Z6Y. For the main configuration described here, the lens-plant distance was 55.2 cm.

Mounting of Raspberry Pi camera rigs for top-view timelapse imaging:
1. Connect a camera module to each Raspberry Pi, as described in Appendix 1.

Attach the AC light bulb socket adapters to the Raspberry Pi cases with silicone adhesive, and install an initialized Raspberry
Pi computer (see Appendix 1) and camera in each case. 3. Plug each of the Raspberry Pis into the monitor, keyboard, mouse, and USB power. Following Appendix 1, change the hostnames of the Raspberry Pis. For example, the sample configuration files we provide assume that the 12 Raspberry Pi have hostnames "timepi01", "timepi02", ... "timepi12". Recall that protocol 1 describes how to copy these configuration files, e.g., to /home/pi/Desktop. 4. Make a folder for images on each of the Raspberry Pis. In our example, we made a folder '/home/pi/images' . To do this on the Terminal, type: 'mkdir /home/pi/images' . If you wish to use a different path image folder, change line 14 in the example file "pull-images-from-raspi.crontab" (within the appendix.2.timelapse subdirectory). You will also need to change the "photograph-all-5min.crontab" and "photograph-all-5min-vhflipped. crontab" in lines 12, 15, 18, 21, and 24 so that the images are saved to the correct location during acquisition (both of these scripts are located in Desktop/apps-phenotyping/appendix.2. time-lapse) 5. Physically position each Pi Camera rig within an experimental growth space (e.g., by screwing adapters into sockets or joining Velcro strips together). Take photos (with the 'raspistill' command) to confirm that each camera covers a suitable field of view. See additional notes below on taking photos remotely and optionally flipping photo orientation.
Starting and ending a single imaging experiment: 1. The "photograph-all-5min.crontab" and "photograph-all-5minvhflipped.crontab" files are cron tables and contain the commands that trigger regular image capture. Both scripts are currently written to capture data every 5 min between 0830 and 1730 hours (8:30 am to 5:30 pm standard time). If that frequency is too high, the first number or comma-separated list of numbers on lines 12, 15, 18, 21, and 24 have to be altered to reflect that change. If the hours of imaging are different, then the second number or range of numbers on lines 12, 15, 18, 21, and 24 has to be altered. 2. The "photograph-all-5min.crontab" and "photograph-all-5minvhflipped.crontab" files also control wifi, turning off outside of the imaging window/photoperiod (see comments in files). Wifi is set to turn on 10 min before the start of imaging and turn off 10 min after imaging ends. If the minute or hour of imaging is different from our experimental setup, then the first two numbers on both lines 37 and 43 have to be altered. 3. Once both "photograph-all-5min.crontab" and "photograph-all-5min-vhflipped.crontab" scripts are satisfactory, install the cron jobs on each Raspberry Pi. The "install-twelve-crontabs.sh" script (run from a remote machine, and depending on reasonable wifi connectivity) does this for all 12 Raspberry Pis, but first the user has to determine if the images need to be flipped or not. The difference between the "photograph-all-5min.crontab" and "photograph-all-5min-vhflipped.crontab" scripts is that the "photograph-all-5min-vhflipped.crontab" imaging command flips the images in both the vertical and horizontal directions. Flipping the images might be necessary if there are differences in the orientation of the cameras, and thus images, between the Raspberry Pis. If a Raspberry Pi's images are in "wrong" orientation, open the "install-twelve-crontabs.sh" file and follow the directions for commenting and uncommenting. 4. To pull data from the Raspberry Pi computers to a remote host, line 15 of the "pull-images-from-raspi.crontab" must be changed to the path that you would like the images to go to on the remote host. The remote host must have passwordless SSH set up so that it can connect to each Raspberry Pi without a password. This is very much like the "general instructions to generate a SSH key for passwordless SSH to a remote host" in Appendix 1, but in reverse. Briefly, on the remote host you would generate an SSH key (command 'ssh-keygen'), then copy that to the Raspberry Pi (e.g., 'ssh-copy-id -i ~/.ssh/id_rsa.pub pi@timepi01'). 5. Once the RASPIDIR and SERVERDIR paths are changed in "pull-images-from-raspi.crontab", put the "pull-images-fromraspi.crontab" file on the remote host, then install it on the remote host on the command line by typing: "crontab pull-images-from-raspi.crontab". Warning: this will overwrite any preexisting user-specific cron tables. 6. Upon conclusion of an experiment, suspend photography on each Raspberry Pi by "removing" the active crontab (crontab -r). Once the experiment is done, you can safely shut down the Raspberry Pis using the "shut-down-all.sh" script, if desired. 7. If a cron table job is set up on the Raspberry Pi, it will take images as long as the Raspberry Pi has power, disk space, and a functioning camera module.