Generate a noisy star image in a loop.
Generates noise from a CCD model and an image from Gaussian based point spread functions. The demo has three centroids. Generates 100 images and saves them to a movie called CCDMovie.avi ------------------------------------------------------------------------- See also DetectorModel, FocalPlaneImage, VM2PSFPeak, ImagerPSF, RHSGaussianPSF, SaveMovie
Contents
%-------------------------------------------------------------------------- % Copyright (c) 2013-2014 Princeton Satellite Systems, Inc. % All Rights Reserved. %--------------------------------------------------------------------------
Constants
%-----------
mmToM = 0.001;
Noise model
%------------- e = DetectorModel( 'struct' ); e.m = 64; e.n = 64; e.a = 25; e.f = 50; e.pixel = 20; e.qE = 0.33; e.tau = 0.2; e.fpn = 115; e.ndr = 75; e.dark = 190; e.alpha = 0.018; e.kTC = 0; e.kAD = 14.8e-6; e.gain = 1; e.bits = 12; e.vS = 2 - 0.85; e.eta = 1; e.kappa = 1; e.r = 1; e.centroid = false; e.lambda = 500;
Initialize the noise and display
%---------------------------------- DetectorModel( 'initialize', e ); FocalPlaneImage( 'initialize', e ); z = get(gca,'zlim'); set(gca,'zlim',[0 100]);

PSF model
%---------- d.n = e.m; d.m = e.n; d.xPixel = e.pixel; d.yPixel = e.pixel; d.rPSF = [[3.5 11.5 26.5]*d.xPixel;[3.5 11.5 44.1]*d.yPixel]; vM = [5 5.2 4.8]; pSFData.r = [0;0]; pSFData.i = 1; pSFData.d.sigma = 10; xLim = [-50,50]; d.iPSF = VM2PSFPeak( vM, @RHSGaussianPSF, e.lambda, e.a, e.tau, pSFData, xLim, xLim ); d.funData.sigma = 10; d.funPSF = @RHSGaussianPSF; % Generate the centroid output %----------------------------- pI = ImagerPSF( d );
Animate
%--------- clear m; for k = 1:100 p = DetectorModel( 'update', e, pI ); FocalPlaneImage( 'update', p, k ); m(k) = getframe(gcf); pause(0.1) end SaveMovie( m, 'CCDMovie' ) %-------------------------------------- % $Id: f66d272bf59d9309ac34042467e776231877ef18 $
