Updated: 9-Jul-2015 Columns in the SQL database BLOBS: (BlobStatsDBdefs.txt is the corresponding file for the BLOBstats database, which has all distance parameters in cm, as well as a few other differences.) BLOB - blob # in this file (instances) -- should be unique TIME - time of this blob instance (msec) xECenterHM - horizontal (X) value in pixels of the numerical center of an eliptical fit of a contour at half-max of the peak of the blob yECenterHM - vertical (Y) value in pixels of the numerical center of an eliptical fit of a contour at half-max of the peak of the blob ellipHM - ellipticity (larger radius/smaller radius) for a fit at half-max tiltHM - Ellipse rotation angle for a fit at half-max. 90 degrees is straight up, zero to the right (along horizontal axis) and -90 being is down. TOPNORM - height of blob (normalized #'s). E.g. a blob 50% higher than the average value (=1) of the normalized values would be 1.5. (see more below) chisqHM - Chi squared from ellipse fitting routine, normalized by # of points, for a fit at half-max Rho - NOT BEING CALCULATED. the major radius at the outside midplane (that the poloidal flux at position iRgrid,iZgrid maps to) MINUS the major radius of the LCFS at the outside midplane. (not right for X-pt camera!!!) XVEL - horizontal velocity of blob (Km/s) from last location YVEL - vertical velocity of blob (Km/s) from last location XFromSEP - horizontal distance* (cm) from blob center to separatrix LIFETIME - time in msec blob tracked continuously up to current time PARENT - blob # of where this blob came from last (if=-1 then this is the first time) CHILD - blob # of where this blob goes next (if=-1 then this is the last time) STARTBLOB - first blob of this blob's lifetime ENDBLOB - last blob of this blob's lifetime BASENORM - "height" of largest closed contour (within size limits) of blob RADIUS1HM - longer radius of ellipse fit at half-max, in pixels RADIUS2HM - shorter radius of ellipse fit at half-max, in pixels EHMht - vertical extent (Max Y minus Min Y) of ellipse fit at half-max, in pixels EHMwidth - horizontal extent (Max X minus Min X) of ellipse fit at half-max, in pixels XSTARTED - horizontal pixel value of where blob began YSTARTED - vertical pixel value of where blob began XCENTER - horizontal pixel value of maximum height (after smoothing) within blob YCENTER - vertical pixel value of maximum height (after smoothing) within blob ELLIP - ellipticity (larger radius/smaller radius). RADIUS1 - longer radius of ellipse fit at base, in pixels RADIUS2 - shorter radius of ellipse fit at base, in pixels AREA - area of blob in square pixels at this time AREAHM - area of ellipse fit at half-max, in square pixels at this time RISE - difference between TopNorm and BaseNorm (normalized #'s) AVEVALUE - roughly the average value of region enclosed by ellipse (normalized #'s) TILT - Ellipse rotation angle. 90 degrees is straight up, zero to the right (along horizontal axis) and -90 being is down. CHISQ - Chi squared from ellipse fitting routine, normalized by # of points DELTAAREA - change in area from previous instance (square pixels) ENDBLOB - blob number of last occurrence of this track (=-1 if this is the last one) WHOLELIFE- entire length of time (in msec) blob tracked The BLOBS database was used for the Nuclear Fusion paper, submitted in 2015, "Edge and SOL Turbulence and Blob Variations over a Large Database in NSTX" by Zweben, Stewart; Davis, William; Kaye, Stanley; Myra, James; Bell, Ronald; LeBlanc, Benoit; Maqueda, Ricardo; Munsat, Tobin; Sabbagh, Steve; Sechrest, Yancey; Stotler, Daren Article reference: NF-100619.R2. This database of 140 shots used pixels for distance measurements. (Later, the BLOBStats database, of 14 shots, used cm for distance -- in both databases, velocities were in Km/s.) Times may be relative to the start of the video capture. See http://nstx.pppl.gov/nstx/Software/WebTools/BlobDbTimeOffsets.txt for the shot time that the start of the file data corresponds to. See http://nstx.pppl.gov/nstx/Software/Applications/BlobTracking.html for more on blob tracking. (As of 21-Dec-2011, velocities will be in Km/sec, rather than pixels/frame) * pixel-to-cm calculations assume the camera position and field-of-view is as it was in 2010 on NSTX and CMOD. On NSTX it was 23.5 cm per 64 pixels, per Stewart Zweben. routine fcpix2cm.pro uses the following: if strupcase( machine) EQ 'CMOD' then begin ; using instead new 710 image corner registration sz 12/22/09 p. 110-111 R1 = 85.7 ; bottom left R2 = 91.3 ; bottom right R3 = 86.2 ; top left R4 = 91.7 ; top right Z1 = -5.85 ; bottom left Z2 = -6.00 ; bottom right Z3 = -0.05 ; top left Z4 = -0.15 ; top right nx = 64 ny = 64 endif else begin R1 = 140.3 ; 3 --------- 4 Z1 = 7.05 ; | | R2 = 163.7 ; | | Z2 = 8.19 ; | | R3 = 134.1 ; | | Z3 = 31.3 ; | | R4 = 157.6 ; 1 --------- 2 Z4 = 32.4 ; after flipped horizontally and rotated counter-clockwise nx = 64 ny = 80 endelse aveHorizCmPerPix = ( (R4-R3)/float(nx) + (R2-R1)/float(nx) )/2. aveVertCmPerPix = ( (Z3-Z1)/float(ny) + (Z4-Z2)/float(ny) )/2. So, for NSTX: cm per pixel in X = 0.366406 cm per pixel in Y = 0.302875 HOWEVER, Stewart says we should use: 23.5./64 for each, since the pixels are square and the 64 X pixels represent 23.5 cm. for CMOD: cm per pixel in X = 0.0867188 cm per pixel in Y = 0.0910156 ------------------------------------------------------- What exactly is TopNorm? ; data is a raw frame; FrameAve can be averaged over different intervals. smd = float(data)/FrameAve smd = smooth( smd, nsmooth, /edge_truncate ) ; xECenters & yECenters are the numerical center of the fitted ellipse maxVal = average( smd[(xECenters[i]-1)>0:xECenters[i]+1, $ (yECenters[i]-1)>0:yECenters[i]+1 ] ) ; topNorm is the value for maxVal, which is the average of a 3x3 area ; at the center of the fitted ellipse.