|
mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
|
A simulated CCD detector.
A simulated CCD detector, including an optional EMCCD noise model.
Definition at line 43 of file ccdDetector.hpp.
#include <ao/sim/ccdDetector.hpp>
Public Member Functions | |
| realT | qe () |
| Get the current value of qe. | |
| template<typename imageTout, typename imageTin> | |
| void | exposeImage (imageTout &out, imageTin &in) |
| Rebin and add noise to the input image, placing the result in the output image. | |
Protected Attributes | |
| norm_distT | m_normVar |
| Gets normal-distributed variates. | |
| poisson_distT | m_poissonVar |
| Gets Poisson distributed variates. | |
| gamma_distT | m_gammaVar |
| Gets gamma distributed variates. | |
| realT | m_qe { 1 } |
| The quantum efficiency. | |
| realT | m_darkCurrent { 0 } |
| The dark current, per pixel per second. | |
| realT | m_ron { 0 } |
| The readout noise, electrons per pixel per read. | |
| realT | m_cic { 0 } |
| EMCCD clock induced charge, electrons per pixel per read. | |
| realT | m_gain { 1 } |
| Electron multiplication gain. If >1, then EMCCD is modeled. | |
| realT | m_expTime { 1 } |
| The exposure time, in seconds. | |
| int | m_rows { 0 } |
| The detector size, in rows. | |
| int | m_cols { 0 } |
| The detector size, in columns. | |
| bool | m_noNoise { false } |
| If true no noise is added to the exposed image. | |
| void mx::AO::sim::ccdDetector< realT >::exposeImage | ( | imageTout & | out, |
| imageTin & | in ) |
Rebin and add noise to the input image, placing the result in the output image.
The output image must be the same size or smaller than the input image. The output image is resized only if necessary. The input image is multiplied by expTime, so its flux should be in photons/sec. Noise is modeled as follows:
| [out] | out | The output image, after all above steps applied. |
| [in] | in | the input image, in photons/sec flux units. |
Definition at line 295 of file ccdDetector.hpp.
References mx::improc::imageDownSample(), m_cic, m_cols, m_darkCurrent, m_expTime, m_gain, m_gammaVar, m_noNoise, m_normVar, m_poissonVar, m_qe, m_ron, and m_rows.
| realT mx::AO::sim::ccdDetector< realT >::qe | ( | ) |
Get the current value of qe.
Definition at line 179 of file ccdDetector.hpp.
References m_qe.
|
protected |
EMCCD clock induced charge, electrons per pixel per read.
Definition at line 71 of file ccdDetector.hpp.
Referenced by exposeImage().
|
protected |
The detector size, in columns.
Definition at line 77 of file ccdDetector.hpp.
Referenced by exposeImage().
|
protected |
The dark current, per pixel per second.
Definition at line 68 of file ccdDetector.hpp.
Referenced by exposeImage().
|
protected |
The exposure time, in seconds.
Definition at line 74 of file ccdDetector.hpp.
Referenced by exposeImage().
|
protected |
Electron multiplication gain. If >1, then EMCCD is modeled.
Definition at line 72 of file ccdDetector.hpp.
Referenced by exposeImage().
|
protected |
Gets gamma distributed variates.
Definition at line 64 of file ccdDetector.hpp.
Referenced by exposeImage().
|
protected |
If true no noise is added to the exposed image.
Definition at line 79 of file ccdDetector.hpp.
Referenced by exposeImage().
|
protected |
Gets normal-distributed variates.
Definition at line 62 of file ccdDetector.hpp.
Referenced by exposeImage().
|
protected |
Gets Poisson distributed variates.
Definition at line 63 of file ccdDetector.hpp.
Referenced by exposeImage().
|
protected |
The quantum efficiency.
Definition at line 66 of file ccdDetector.hpp.
Referenced by exposeImage(), and qe().
|
protected |
The readout noise, electrons per pixel per read.
Definition at line 69 of file ccdDetector.hpp.
Referenced by exposeImage().
|
protected |
The detector size, in rows.
Definition at line 76 of file ccdDetector.hpp.
Referenced by exposeImage().