Particle tracking using IDL -- John C. Crocker and
Eric R. Weeks
Download software |
This is a general-purpose pretracking program. For some
description of using this, see our main tutorial at:
here (look at Part 2). You can also
which is very similar, click here if
that link fails.
IDL> epretrack,'files*', ...options...
IDL> pt = stkpretrack(imagestack, ...options...)
will pretrack as many files as you specify; or, if you already
have a single image stack read in, then you can use
stkpretrack, which does not write any output
options for both are as follows, with the defaults being as shown:
feature & bpass options:
Image manipulation options:
- bplo = 1: The lower number for bpass
- bphi = 5: The higher number for bpass
- dia = 9: The "diameter" for feature
- sep = dia+1: The "sep" for feature -- this
is the default feature normally uses
- mass = 0: The "masscut" for feature
- min = 0: The "min" for feature
- Note: defaults for bplo, bphi, and dia work
well with the data we often track; for almost everybody else, the
defaults are not going to be correct.
Filetype options (for epretrack): -- follow the links to
download the referenced programs
- /invert: invert the image before bpass, for example, if you
have dark spots on a bright background that you're tracking
- /field: process the even & odd fields separately. This is
for interlaced cameras, which take the even & odd rows of the
image 1/60th of a second apart. Thus a 30 frame per second
interlaced camera is really taking pictures at 60 frames per
- /first: only process 1st & 2nd frames from each file (useful
for a quick check)
- fskip = 1: regrid the time stamp (useful for time-lapse
movies) -- this option is mostly unused
- /gdf: use read_gdf to read images
- /tiff: use read_tiff to read images (built in to IDL)
- /multi: use readtiffstack to read images
- single = N: read channel N (1, 2, or 3) of multi-channel
image. 1=red, 2=green, 3=blue. Technically, loads in a 3D image
img and saves img(*,*,N-1). Thanks to Kellianne
Kornick for asking for this feature.
- /noran: use read_noran to read images
- /nih: use read_nih to read images
- /quiet: don't print out progress reports
- thresh = 0: apply a threshold before bpass
- /nofix: don't try to fix a bug when using /noran
- prefix = "pt.": change the pretrack file prefix
IDL> epretrack,imagestack, ...options...
In this case, the data is written to the file "pretrack.gdf"
unless you use the keyword prefix to change the filename,
in other words:
IDL> epretrack,imagestack, prefix="filename.gdf", ...options...
Or, you can just use stkpretrack which is a
function that returns the pretrack data as a variable, thus
bypassing the file-writing part.
This program written by Eric, but based on
jpretrack by John. Alternate usage of passing
the imagestack suggested and debugged by Kazem Edmond.