The Camera class
Camera is a handle class.
The Camera object represents the basis camera.
Properties
name |
type |
default |
description |
|---|---|---|---|
|
double |
6.5e-6 |
dexel size \(p\) [m] |
|
integer |
600 |
number of columns \(N_x\) |
|
integer |
600 |
number of columns \(N_y\) |
|
integer |
25000 |
Full-well-capacity \(w\) |
|
char |
Model of the camera |
|
|
1, 2, 3 |
1 |
Number of color channels |
|
double |
0 |
Crosstalk from dexel 1 to 2 |
|
double |
0 |
Crosstalk from dexel 2 to 1 |
Constructor
Constructor
Synthax
% prototypes
obj = Camera();
obj = Camera(camName);
obj = Camera(dxSize,N);
obj = Camera(dxSize, Nx, Ny);
% examples
obj = Camera('Zyla');
obj = Camera(5.5e-6, 2048);
obj = Camera(5.2e-6, 2160, 2048);
obj = CGcamera() creates an empty Camera object.
obj = Camera(camName) creates a Camera object, where camName is a char that defines the camera. The camera names must correspond to the names of the files contained in the folder spec/cameras. For instance, obj = Camera('Zyla');.
obj = Camera(dxSize,N); creates a Camera object obj with a dexel size dxSize and with a N*N sensor size.
obj = Camera(dxSize,Nx,Ny); creates a Camera object obj with a dexel size dxSize and with a Nx*Ny sensor size.
Camera spec files
The folder spec/cameras contains .json files associated to each predefined camera, namely:
FirstLight.json
A camera from the FirstLight company.
Pixelink.json
The M20 Pixelink camera.
Retiga.json
A Retiga camera (the one used in the Sid4Bio cameras from Phasics)
Silios.json
The 2-color camera we own from SILIOS.
Sona.json
The Sona camera from Andor.
Zyla.json
The Zyla 5.5 from Andor (the one used in the sC8 cameras from Phasics)
Each spec file contains all the characteristics of the camera. Here is for instance a copy of the Zyla.json file:
{"class":"Camera",
"model": "Zyla",
"dxSize": 6.5e-6,
"Nx": 2560,
"Ny": 2160,
"fullWellCapacity": 25000,
"offset":100,
"colorChannels":1
}
All these parameters are respectively the class (Camera), the model, the dexel size, the number of columns, the number of rows, the full well capacity, the constructor offset (in counts) and the number of color channels.
If other cameras are being used, new custom files can be made, following this pattern. Any new file can be saved in the spec/cameras folder, or in any other folder known by Matlab. However, in order to simply keep track of the updated versions of PhaseLAB via Github, I suggest to store any custom-made file to a separate folder, out of the PhaseLAB package, and include this directory in the Matlab paths. Also, feel free to contact me to ask for any file addition/modification in the public Github version of PhaseLAB that would suit your studies.
Camera methods
crop
set the sensor dimension.
Synthax
% prototypes
obj.crop(N);
obj.crop(Nx, Ny);
% examples
obj.crop(200);
obj.crop(400, 300);
Description
obj.crop(N) sets the sensor dimension to a square of N*N pixels.
obj.crop(Nn, Ny) sets the sensor dimension to a rectangular area with Nx columns and Ny rows.