There is a misconception that one cannot calibrate a video stream the same way CCD cameras calibrate FITS files. For years I have had a developed method to do this using AVISynth, but I frequently do not find this necessary, as the background apertures in LiMovie measure the average background contribution to the pixel intensity and subtracts this out of the reduced Object intensity. There are times though when long integration times produce excessive hot pixels and thermal noise where it is desirable to calibrate the video. Below I have written the simple procedure that I use and include the 5 lines of AVISynth code that can easily perform this video calibration.
Raw video around Saturn down to 15th
magnitude Video with calibration performed
Here are some useful links for the tools
needed to perform this simple calibration:
· AVISynth (this is a required program that takes video files and performs image processing based on scripts):
· (http://sourceforge.net/projects/avisynth2/)
· VirtualDub (useful because it can run an AVISynth script and it can be used to export image sequences of dark frames)
· http://www.virtualdub.org/download.html
· ImageJ (Free image processor to average a stack of images into a single dark image)
· (http://rsbweb.nih.gov/ij/download.html )
· LiMovie (photometrically reduces video intensities)
· http://www005.upp.so-net.ne.jp/k_miyash/occ02/limovie_en.html
Steps to perform the calibration:
1. At the end of recording the video live place a lens cap or flat black cover over the aperture of your telescopes and record a few seconds of dark images.
2. Use VirtualDub to export the dark frames collected as a sequence of PNG images.
3. Import the PNG images into an image processing program that allows you to stack and average all the dark frames into a single image. (I use ImageJ)
4. Use the AVISynth AVS script below and edit the path and filename for the raw video and the single averaged dark PNG image.
Here is the
dark frame I used to subtract from the Raw video.
Use the following 5 lines of code and
save them as Filename.AVS:
ClipMain
= ("Drive:\path\filename.avi")
DirectShowSource(ClipMain)
RawFrameCount = framecount
ClipDark
= ImageSource("Drive:\path\filename.png", end = RawFrameCount, use_DevIL=true)
Overlay(ClipDark, mode="subtract", opacity=1)
Where:
· “ClipMain” is your raw video filename
· “ClipDark” is the PNG filename created of your average dark field
· Run the AVS file in either VirtualDub to save an AVI with the dark field subtracted calibrated video, or in LiMovie for photometric reduction.
Drawing a diagonal line across the video
frame you can see the intensity profile in the Raw
video corrected in both noise and flatness in the Calibrated video.
(The
bump in the middle of both lines is from Saturn)
Scott Degenhardt
--
Jovian Extinction Event Principal Investigator
http://scottysmightymini.com/JEE/
http://tech.groups.yahoo.com/group/JEE_Talk/
http://scottysmightymini.com/
http://www.ustream.tv/channel/scottys-sky
scotty@scottysmightymini.com