TESTS
ARTEMIS 285 CCD CAMERA
A Mesure du facteur de conversion e/ADU de l'artemis.
D'apres les lois statisques qui régissent le bruit de photon ( distribution de Poisson ) , le coefficient directeur de la droite qu'on a sur un graphique qui représente la variance en fonction de valeur moyenne , n'est autre que le nombre d'électrons par ADU de la caméra :
Pour l'artemis dont je dispose , je trouve g=0,44 e/ADU avec un coefficient de corrélation de 99.9%
B Estimation de la capacité en e- des puits électroniques.
Les pixels du capteur ICX285 sont a priori capables de stocker 20000 electrons avant que l'antiblooming entre en action.
La courbe est linéaire a 0,5% avant que l'antiblooming n'entre en action.
C Bruit de lecture
Sur un offset seul , le bruit typique est : 7 electrons
Sur une image (offset1+1000-offset2) , l'écart type est 22 ADU , soit un bruit de 16 ADU , soit 7 electrons.
Les deux valeurs sont identiques , signe que le capteur est extremement uniforme.
Sans risque, on peut donner un bruit de lecture de 7 electrons pour l'artemis 285, ce qui est cohérent avec le site artemis , et le datasheet du capteur.
Aucun probleme d'histrogramme , qui est une jolie gaussienne :
The reading noise is 7 electrons.
D Comportement thermique de la camera
La courbe montre l'évolution du niveau moyen exprimé en électrons , par rapport au temps d'exposition , pour une température extérieure de 22°C
L'expression mathématique est Mean(électrons)=140+(9,0/1000)*T(secondes) avec une précision de 0,3%
Cela veut dire pour que élever l'image d'un électron d'origine thermique il faut 111 secondes , ce qui est énorme !
A ce rythme le capteur sera saturé en 25 jours ...
The artemis has one thermal electron every 111 seconds of time.
E Real life ...
I was afraid by the non-regulated température of the artemis , so i did following :
One night , i took 21 darks images of 300s , and made a master dark frame.
The night after , i took another 21 darks images of 300s, which i have preprocessed using the master dark frame : the mean image of this set has :
Average ........ -1.49
Std.deviation .. 5.72
This gives standard deviation of 2.5 electrons , this is the noise i can expect in a typical imaging session , where i make 21 images. This means the ground noise i have in summed image of 21 exposure of 300s is 30% the reading noise of one individual offset !
Same work on binning 2×2 image , gives 12ADU/5electrons of noise, assuming the gain is the same.
Conclusion : The artemis does not need a regulation , if you can take dark at approximatively the same temperature.
Note : Special care must be taken not to kill negative pixels, because the ground value of offsets/flats is not very stable , a light drift is seen on the curves ( ADU vs Index , the camera was cooled for one hour before launching the test ).
Offsets:
A light drift , perhaps due to the thermal effect of reading the
285.
Neverless , it is good idea to check this , and to normalize the
offset before making the master offset.
Note : the increasing level offset was a bug , because of 0s image was reading the ccd without flushing it, one should do 10ms images , and use them as offsets.
300s dark :
No problem.
D USB problems ... and my solution ...
One problem of my artemis is that is sometimes deconnect from the USB , the solution is easy , i shortly power the camera off , and put it on again , and it is ok.
The problem is less present since the capcitor modification , but it occurs from time to time.
To avoid loss of night of imagery [ while i'm sleeping "8-) ], i wrote a little script in vbs , the scripts rings an alarm when the ccd is disconnected, this wakes me up , and i can cure the problem.
It would be easy to use the serial port to power off and on automatically , but in my case , the alarm is sufficient.
Here is the script , in *.vbs written for maxim dl.
'
---------------------------------------------------------------'
'Using the artemis with USB alarm if it deconnects.
' Ver 0.1 xmcvs
' ---------------------------------------------------------------'
'When artemis is disconnected , alarms rings , to cut alarm ,
close maxim dl ...
' ---------------------------------------------------------------'
Option Explicit
Dim strDirectory
Dim Shell,WaveFile
Dim cam
dim pose
Dim doc' "The" Camera object
dim Nom
dim N
'*************************
'Variables user modifiable
'**************************
'Parametres Fichiers data
strDirectory = "C:\artemis"
'Parametres images
'N number
N=21
'T exposition
Pose=3
'Generic name
Nom ="Dark" & Pose & "_"
On Error Resume Next
'the wave file you want to play
WaveFile = "c:\windows\media\siren03.wav"
Set Shell = CreateObject("Wscript.Shell")
Set cam = CreateObject("MaxIm.CCDCamera")
'**************************************************'**************************************************
'**************************************************'**************************************************
cam.LinkEnabled = True
If Err.Number <> 0 Then
AlarmAvecMsg
end if
if Not cam.LinkEnabled Then
wscript.echo "Failed to start camera."
If Err.Number <> 0 Then ErrHandler
Quit
End If
'Choose the binning ...
Cam.BinX =1
Cam.BinY =1
'##########################################################'##########################################################
'##########################################################'##########################################################
'ACQUISITION of IMAGES
'##########################################################
'##########################################################
for i=1 to N
cam.Expose Pose, 1
'cam.Expose Pose, 1
If Err.Number <> 0 Then
AlarmSansMsg
end if
'Waiting loop ...
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Do While Not cam.ImageReady ' cette ligne declenche erreur
If Err.Number <> 0 Then
AlarmSansMsg
end if
if Not cam.LinkEnabled Then
AlarmSansMsg
end if
wscript.sleep 500
Loop
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
cam.SaveImage "c:\artemis\" & Nom & "_"
& pose & "_" & i & ".fit"
next
'##########################################################'##########################################################
'##########################################################'##########################################################
cam.quit
WScript.quit
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
'Alarms ...
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
private sub AlarmSansMsg ()
Shell.Run "sndrec32 /play /close """ &
WaveFile & """",0,True
'Activate next line if you want to see the error number
'WScript.Echo "Error:" & Err.Number
'Next line is error when maxim is disconnected.
if Err.Number = 462 then
'Maxim déconnecté !!!
'WScript.Echo "Error:" & Err.Number
Err.clear
WScript.quit
end if
Err.Clear
'WScript.Echo "Error: " & Err.Number
'cam.quit
'WScript.Quit
end sub
private sub AlarmAvecMsg ()
Shell.Run "sndrec32 /play /close """ &
WaveFile & """",0,True
WScript.Echo "Description:" & Err.Description
WScript.Echo "Error: " & Err.Number
'WScript.Echo "Description:" & Err.Description
Err.Clear
'cam.quit
'WScript.Quit
end sub
'
---------------------------------------------------------------'
'End of script
' ---------------------------------------------------------------'