Three programs (or parts of a single code) need to be developed:


1st Program: Live stream of digital camera outputs to replace analog cameras and monitors

Requirements:

  1. Produce streaming output from one or more cameras to a computer monitor
  2. Control and display of individual camera parameters - exposure length, area of interest, gains, etc
  3. Ability to work with multiple instances of the program on other computers (or ability to broadcast to other computers)
  4. Ability to switch camera inputs
  5. Tracking of cameras by IP and innate ID number
  6. Ability to list all available cameras on the network
  7. Works with the record keeping program - plays nicely with it via multicasting or some similar method
  8. Robust - automatically reset cameras if necessary, clear error messages, stable, and well commented code


2nd Program: Record keeping program which records the camera output at regular intervals

  1. Saves images from multiple cameras at a user defined time interval to a user defined location on the computer
  2. Controls and records the camera parameters for each image - exposure length, area of interest, gains, UID of camera and location, etc
  3. Calulate beam center, diameter in X and Y, and overall power in the beam or image and record these as well
  4. Ability to flag the images with IFO status, "keep me" flags so that they are archived permanently, and other useful indicators.


3rd Program: Analysis program which looks at saved or streaming data and performs calculations

  1. Takes in user defined location pointing to saved images
  2. Provide an after the fact "movie" by displaying images in sequence
  3. Calculates the difference between two images
  4. Calculates gaussian modes present in the image via fitting
  5. Can save results in convient format.


Questions:

  1. Compression method? Uncompressed Tiff?
  2. Have a record keeping program running on local machines connected to 3 or 4 cameras directly?
  3. A "camera server" on machines local to camera, which is then hooked into from the control room?
  4. Is data saved locally and then updated to a final repository? Something that checks for duplicates in case someone starts it 2 or 3 times?
  5. What amount of the data processing do we want to do in matlab. Do we want a final product that does most calculations directly in C?

GigeCameraProgramRequirements (last edited 2012-01-03 23:03:06 by localhost)