Experimental Data Analysis Lab

PHYS 391 - Fall 2020
Lab 3 - Brownian Motion

Updated Thursday October 29, 2020

Lab Goals

The goals of this lab are to explore the statistical properties of Brownian motion and confirm the diffusion relation. Learning how to perform video-based data analysis as well as understanding device calibration is also part of this lab.

Lab Manifest

Background Reading

See also the Brownian motion simulator for a more direct demonstration of how kinetic collisions with thermal molecules leads to Brownian motion.

General Instructions

The lab handout, linked above, gives detailed instructions for this lab. There are two main tasks for this lab, which can be done separately.

The first task is to collect data with the USB microscope which demonstrates Brownian motion of silicon microspheres in water. This data will be in the form of a time-lapse series of frames which can be saved as a movie. In addition to a chunk of raw data, some calibration data (observing a calibration plate of known dimension) is also necessary.

We have already produced videos of the necessary data for you. This can be found in the data directory. The process of extracting particle trajectories from these videos is a bit fiddly and requires specific python packages to be installed. Because of this, we will work on extracting CSV files of particle trajectories from these files with your lab group during your lab session. If you want to try this on your own, see the trackpy installation instructions below.

There are 4 movies of timelapse data in the data directory. These show either 2.54 micron or 1.06 micron diameter silicon microspheres diffusing in deionized water. The microscope was set up with either the x40 or x100 objective lens at a frame rate of once per second or once per 5 seconds. The details for each file can be found in the title.

The data directory also contains an image of a calibration slide for both the x40 and x100 lenses. These images can be used to calibrate the length scale seen in each movie.

The second task is analyzing this trajectory data in python to elucidate the statistical properties of Brownian motion. This second task should be done on your own, although you can certainly discuss the process with your lab partners.

Lab Assignment

All of your material for this lab should be turned in with your Jupyter notebook. There are a number of required elements specified in the lab instructions, and any discussion needed should be entered as markdown boxes in between any code elements. It is best if you number each section of your lab clearly, and make sure to include discussion in the text about what you did and why. To get full points, you should correctly apply the tools we have learned in class for error estimation, error propagation, and any other error analysis techniques that are needed.

Lab Rubric

trackpy installation

I would strongly encourage you to not try to install trackpy on your own laptop. You will only be using this to extract data from your movie to a text file, and we will be doing this during the lab session together. If you want to learn more about trackpy or use it in another project, however, I have documented how I got this installed on the machines in Room 17 and my own laptop. There may be a better way to do this, but it worked for me. This is documented on the trackpy website. Note this particular installation only works on a Mac, although something very similar should also work on Linux.

With those commands, you should be able to run the particle tracking Jupyter notebook provided here, and also explore the (similar) trackpy tutorial. If you get errors about other packages being missing when you try to read in a movie file, you may need to install these packages also.

There may be some version issues between pims and av with the example notebook I have provided. This notebook works with pims 0.4.1 and av 6.1.0. You can install these versions directly using a command like conda install -c conda-forge pims=0.4.1. Alternately, rather than analyzing the videos you can analyze the individual images. In the notebook I give the command to split the video back into individual frames, or alternately you can find the original time lapse images for each movie in the data directory.