All
content
copyright © 1995-2002
RedShirtImaging, LLC.
Website Design by
Elizabeth
Nephew
|
NeuroPlex Data File Structures
Header
The
size of the header is 5120 bytes (2560 integers).
All values described are signed 16 bit integers.
The following is important information needed for data analysis and
display.
Photodiode array (NeuroPDA and NeuroPDA-II):
Number
of Frames
|
5th Integer
|
Number
of Pixels
|
97th
Integer
|
Frame
Interval (msec per frame)
|
(Number of
Pixels*4th Integer)/20000.0
|
Resting
Light Intensities (RLIs)
|
Starting
at the 385th Integer
|
Map
|
See below
(in the format of IDL code)
|
The following piece
of code will be helpful for displaying the output on a "Page Display":
PRO H464_fill, diode_ar ;map for WuTech Hexagon 464 -- diode_ar
diode_ar=INTARR(25,25)
diode_ar=[[ 0, 0, 0, 0, 0, 0, 0,237,236,235,234,233, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0], $
[ 0, 0, 0, 0, 0,244,243,242,241,240,239,238, 14, 13, 12, 11, 10, 9, 8, 0, 0, 0, 0, 0, 0], $
[465,466,467,468, 0,252,251,250,249,248,247,246,245, 21, 20, 19, 18, 17, 16, 15, 0,469,470,471,472], $
[ 0, 0, 0, 0,260,259,258,257,256,255,254,253, 29, 28, 27, 26, 25, 24, 23, 22, 0, 0, 0, 0, 0], $
[ 0, 0, 0, 0,268,267,266,265,264,263,262,261, 38, 37, 36, 35, 34, 33, 32, 31, 30, 0, 0, 0, 0], $
[ 0, 0, 0,277,276,275,274,273,272,271,270,269, 47, 46, 45, 44, 43, 42, 41, 40, 39, 0, 0, 0, 0], $
[ 0, 0, 0,287,286,285,284,283,282,281,280,279,278, 56, 55, 54, 53, 52, 51, 50, 49, 48, 0, 0, 0], $
[ 0, 0,297,296,295,294,293,292,291,290,289,288, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 0, 0, 0], $
[ 0, 0,307,306,305,304,303,302,301,300,299,298, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 0, 0], $
[ 0,318,317,316,315,314,313,312,311,310,309,308, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 0, 0], $
[ 0,330,329,328,327,326,325,324,323,322,321,320,319, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 0], $
[342,341,340,339,338,337,336,335,334,333,332,331,111,110,109,108,107,106,105,104,103,102,101,100, 0], $
[ 0,353,352,351,350,349,348,347,346,345,344,343,123,122,121,120,119,118,117,116,115,114,113,112, 0], $
[365,364,363,362,361,360,359,358,357,356,355,354,135,134,133,132,131,130,129,128,127,126,125,124, 0], $
[ 0,377,376,375,374,373,372,371,370,369,368,367,366,146,145,144,143,142,141,140,139,138,137,136, 0], $
[ 0,388,387,386,385,384,383,382,381,380,379,378,157,156,155,154,153,152,151,150,149,148,147, 0, 0], $
[ 0, 0,398,397,396,395,394,393,392,391,390,389,168,167,166,165,164,163,162,161,160,159,158, 0, 0], $
[ 0, 0,408,407,406,405,404,403,402,401,400,399,178,177,176,175,174,173,172,171,170,169, 0, 0, 0], $
[ 0, 0, 0,418,417,416,415,414,413,412,411,410,409,187,186,185,184,183,182,181,180,179, 0, 0, 0], $
[ 0, 0, 0,427,426,425,424,423,422,421,420,419,196,195,194,193,192,191,190,189,188, 0, 0, 0, 0], $
[ 0, 0, 0, 0,435,434,433,432,431,430,429,428,205,204,203,202,201,200,199,198,197, 0, 0, 0, 0], $
[ 0, 0, 0, 0,443,442,441,440,439,438,437,436,213,212,211,210,209,208,207,206, 0, 0, 0, 0, 0], $
[ 0, 0, 0, 0, 0,451,450,449,448,447,446,445,444,220,219,218,217,216,215,214, 0, 0, 0, 0, 0], $
[ 0, 0, 0, 0, 0,458,457,456,455,454,453,452,227,226,225,224,223,222,221, 0, 0, 0, 0, 0, 0], $
[ 0, 0, 0, 0, 0, 0, 0,464,463,462,461,460,459,232,231,230,229,228, 0, 0, 0, 0, 0, 0, 0]]
END
CCD/CMOS cameras :
Number
of Frames
|
5th Integer
|
Number
of Columns
|
385th
Integer
|
Number
of Rows
|
386th
Integer
|
Frame
Interval (msec per frame)
|
389th
Integer/1000.0
** Dividing Factor = 391st Integer
** If Frame Interval>=10, Then Frame Interval = Frame
Interval*Dividing Factor
|
Acquisition
Ratio (electrical over optical)
|
392nd
Integer
** IF Acquisition Ratio=0, Then Acquisition Ratio = 1
|
Resting
Light Intensities (RLIs)
|
A frame of
offset taken in the dark before shutter opening is stored at the end of
the file after data. In NeuroPlex
software, the RLI of NeuroCCD is obtained
by averaging 6th to 11th data frames and subtracting the offset.
|
Map
|
Row after
row, sequential; e.g. for a 80x80 camera, it is:
1
|
2
|
3
|
...
|
80
|
81
|
82
|
83
|
...
|
160
|
...
|
|
|
|
|
...
|
|
|
|
|
6321
|
6322
|
6323
|
...
|
6400
|
For the CMOS-DW128 cameras there will be 128 rows of 128 pixels (up to #16384).
|
Dual head CCD/CMOS systems: | All
parameters in the header are the same as for the single camera
and the program will calculate the RLIs from the same frames as
above. The map organization is different : | Map | The system views the data as if it is from one 160x80 chip. The data is arranged row after
row, sequentially in the following way :
1
|
2
|
3
|
...
|
160
|
81
|
82
|
83
|
...
|
320 |
...
|
|
|
|
|
...
|
|
|
|
|
6321
|
6322
|
6323
|
...
|
12800
|
and each row contains data from both heads. For
the Dual head CMOS system, each chip is read as 80X128 pixels (rather
than the full chip - 128X128 ). Thus the total number of pixels is #160X128 =
20480 organized in rows of 160 data points each. | | |
Data Starting
after 5120 bytes (2560 integers) of header info, the data is arranged
trace by trace (not frame by frame). The sequence of the traces is from
Pixel 1 through Pixel M sequentially. | Point 1,
Point 2, ... Point N, (Pixel 1)
Point 1, Point 2, ... Point N, (Pixel 2)
...
...
...
Point 1, Point 2, ... Point N, (Pixel M) | | where M = 464 for NeuroPDA,
M = 6400 for NeuroCCD (unbinned), M = 65536 for the NeuroCCD-SM256, and M=16384 for the CMOS cameras. | | | The BNC data is stored following the optical data: (Note: The
program records all 8 BNC channels independent of the number
of channels used) | Point 1,
Point 2, ... Point N*BNC_ratio, (BNC 1)
...
...
Point 1, Point 2, ... Point N*BNC_ratio,
(BNC 8) | | For the CCD-SMQ, CCD-SM256 and the CMOS-DW128 the dark frame is
stored last : Dark Frame
(number of rows * number of columns + 8) | | | In a case where the available RAM is small compared to the amount of
data in a file, the program uses a different format where the data is
organized Frame-by-Frame (rather than Trace-by-Trace). When reading back this type of data file, NeuroPlex asks you to select a section of data to read. The BNC data is
attached behind the the optical data and the dark frame stored last (as above). | | | If you used Write Directly to Disk
for
acquisition, the arrangement of the data, after the header, is
Frame-by-Frame, rather than Trace-by-Trace. The first few frames are
"dark" frames (before the shutter opening.) Neuroplex uses the 3rd
frame to calculate the total light, but if you are writing your own
software, you might check how many "dark" frames are there and average
all or part of them.
The BNC data is attached after the camera data.
In addition, each frame needs to be de-interleaved. Please email us to
obtain the pixel map. |
|