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
' ---------------------------------------------------------------'