Last modified by sndueste on 2024/03/13 14:17

Show last authors
1 (% class="twikiTocTitle" %)Contents:
2
3
4
5
6 {{toc/}}
7
8 == General Camera info ==
9
10 **several [[different camera types>>url:https://confluence.desy.de/display/MCS/DOOCS+Camera+Server||shape="rect"]] can be easily integrated into DOOCS. **
11
12 The details of the available control parameters depends on the camera type. here is a typical view of
13
14
15 the Standard view:                                                                                   the controls view:                                                                                                and the Expert view with all available control features
16
17 [[image:attach:image2019-9-19_12-28-30.png||height="400"]][[image:attach:image2019-9-19_12-29-14.png||height="400"]][[image:attach:image2019-9-19_12-29-44.png||height="400"]]
18
19
20
21 == Troubble shooting / Restarting the camera server ==
22
23 If there are problems occurring with the camera ( no image is shown, no update, camera server crashes ...) then it is** mainly 2 reasons:**
24
25 * **There is no trigger connected to the camera → check with trying to run the camera untriggered ...**
26 * **the server has problems -> restart the server.**
27
28 Even if it seems unrelated ( camera saved only 0 in the DAQ, reprate can not be changed... ) it turned out that restarting the camera server is helpful.
29
30 1. Best to make a screenshot (in expert mode) to the logbook before restarting in case parameter settings are lost ...
31 1. goto WDserver and press restart. The camera panel will go red and will come back after about 20 seconds ...
32
33 [[image:attach:image2019-9-24_16-1-16.png||height="400"]]
34
35
36 If the restart (several times ...) does not help there is an option to make a "deeper restart". This option uses a restart script which includes power cycling of the camera ( for ethernet cameras)and reloading a standard configuration.  One has to be logged in at a linux computer in order to run the script.
37
38
39 [[image:attach:image2019-9-24_16-3-48.png||height="400"]]
40
41
42
43 == Monitoring system ==
44
45 we implemented a monitoring system for the important beamline cameras in FLASH1 and FLASH2.
46
47 The camera check overview shows a red indicator if the camera is off OR the actual values are different from the saved reference values. Clicking on the red symbol in the camera check one can get to the overview of the parameters. Here a red dot indicates which parameter is different from the reference setting. e.g. if ROI settings have been changed also the reference settings have to be changed accordingly if they are now the new reference !!
48
49 The warning is also shown in the according control panels for the cameras.
50
51 [[image:attach:image2019-9-19_12-26-21.png||height="250"]] [[image:attach:image2019-9-19_12-34-54.png||height="250"]]
52
53 == Camera server general info ==
54
55 [[info from the DOOCS pages>>url:https://ttfinfo.desy.de/FLASHWiki/Wiki.jsp?page=Camera%20server||shape="rect"]]
56
57 For the (% class="twikiNewLink" %)CeYAG(%%) camera in the FL1 tunnel Gerhard implemented a feature that during a restart a camera_server.conf.default file is copied as conf file to always have the same settings. if one wants to change something permanently one has to edit the default file. e.g. cp /export/doocs/server/camera_server/camera_server.conf.default /export/doocs/server/camera_server/camera_server.conf
58
59
60 == scaling the image / spectra ==
61
62 [[image:attach:image2019-9-19_12-40-57.png||height="250"]][[image:attach:image2019-9-19_12-59-37.png||height="167"]]
63
64 one can scale the image with a different scale as pixel.  the center as well as the "pixel size" can be set.
65
66 == Spectra (line outs) and Gaussian fits ==
67
68 The camera server can fit the vertical and horizontal averaged data  with a Gaussian fit and provides the corresponding parameters ( height, centroid and width) which have a history and can be used as for optimizing a signal ...
69
70
71 [[image:attach:image2019-9-19_15-3-23.png||height="400"]]
72
73 "Spectrum" of the whole image. this can lead to a wrong fitting ...         
74
75
76
77 [[image:attach:image2019-9-19_15-5-29.png||height="400"]]
78
79 For a useful fit it is better to look at the "spectrum" of a ROI which can be set to the desired region. Note that the ROI has to be filled (Width = 0) to be correctly averaged!
80
81
82
83 [[image:attach:image2019-9-19_15-4-20.png||height="250"]]
84
85 For some cameras we also have dedicated Beam profile viewers.
86
87
88
89 == working with ROIs ==
90
91 To create more ROIs one has to do the following:
92
93 [[image:attach:image2019-9-19_13-2-26.png||height="400"]]
94
95
96 * Define in ENVIRONMENT file the environment variable "(% class="WYSIWYG_TT" %)export FLASH_CAM_ROI_NUM_ENV=xxx(%%)" . With xxx the maximum number of ROIS one needs in a camera controlled by the camera server. (The ENVIRONMENT file is under e.g. export/doocs/hasvuvblfw2/server/camera_server). after editing the ENVIRONMENT file one has to restart the camera server.
97 * NOTE the file os owned by doocs adm. to edit it one can use (% class="twikiNewLink" %)WinSCP(%%) and log in as doocsadm.
98
99
100 * now all cameras have maximum ROIs. if you need less for some cameras read below:
101 * Set the required number of ROIs for every camera in the property ROIS.NUM in the configuration file. The way how it's done is the following. On the camera server re-start xxx number of ROIS will be created for every camera. But after reading the configuration file the non-required ROIS will removed for every camera separately according to ROIS.NUM.
102
103
104 == saving images "locally" ==
105
106 The tool writes images of either bmp or an image depemdent format to the specified folder. The folder is on the computer on which the camera server is running (!) and the path starts from the camera server path (!)options
107 The typical location of the camera server is /export/doocs/server/camera_server/. . if you put "./" in the field Camera Directory. the images in the camera_server directory. It is better to have a separate directory as subfolder like "CameraImages". on some computers this is already installed.
108 Another aproach is to write the files to a home directory. One may put e.g. "/home/vuvfuser/CameraImages/" in the Camera Directory to save on the home directory.
109
110 * aquire single images: just press "writing once"
111 * aquire a defined number of images: put the number of images in the "count" field and press enter.
112 * aquire many images. pressing the continuously writing button starts the writing and stops when you press the stop button or the hard drive is 95% full
113
114 note that youor login has to have the permissions to write in the specified field!
115
116
117 == Saving images in the DAQ ==
118
119 To save the cameras in the DAQ the server has to have a sender and they have to be "registered" in the DAQ. if this is one one can activate the saving by activating "images"
120
121 [[image:attach:image2023-3-2_14-45-0.png||thumbnail="true" height="250"]]
122
123 if the timing of the sender is not configured correctly it often occurs that the images are saved by one bunch ID "too late"  (-1 has to be substracted by the bunch ID of the camera). one can finetune the sending by optimizing the USR1 time.
124
125 Depending on the binning, bit depth, image size the correct USR1 setting may be different. but typically 40-80 is a good number
126
127 [[image:attach:image2023-3-2_14-48-51.png||height="250"]]
128
129 one can check the mismatch easily by comparing the GMD and the integrated counts on the camera. here an example for USR1 time = 0. (for USR1 >= 20 the correlation is present without bunch ID shift )
130
131 [[image:attach:image2023-3-7_13-49-59.png||thumbnail="true" height="400" width="341"]]
132
133 Here a report where the image saving in the DAQ is investigated in more detail:
134
135 {{view-file att--filename="Report-K.Kharitonov-05.09.2017.pdf"}}{{/view-file}}
136
137 and a more recent "studies"
138
139 {{view-file att--filename="statistic_2023_2.pdf" height="250"/}}
140
141 {{view-file att--filename="Camera_bunchID_shift_V2023_3.pdf" height="250"/}}
142
143
144 == Installing new cameras ==
145
146 To install an additional camera to a DOOCS camera server perform the following steps:
147
148 * Open the Jddd watchdog panel for the server ((% class="twikiNewLink" %)WatchdogOverview(%%).xml). goto camera server -> locations
149 * right upper part is a button Device control
150
151 [[image:attach:Clipboardadd_camera.jpg||height="400"]]
152
153 *
154 ** use action: add
155 ** chose FCT code (812 in our case)
156 ** add name
157 ** press send
158
159 the you see the new camera in the location table. do not forget to click "Cfg. restore" in the camera expert panel once everything looks o.k. with the camera ( otherwise the cameras may switch with their names ...)
160
161 [[image:attach:screenshot.png||height="400"]]
162
163
164 1. First you'll have to open the camera location overview from the watchdog panel
165 1*. Enable the camera you wanna edit. If the check mark can't be enabled, you can't talk to the camera.
166 1. Open the Camera Control Panel and switch to the "Expert View"
167 1. Make sure the "Cfg Restore" checkbox is set. This will make the camera server associate the camera-id with this server location. So after a reboot/restart this location controls the same camera.
168 1. Switch to continuous acquisition
169 1. Setup the trigger as needed
170 1. Enable rate-limiting in case you don't have a trigger
171 1. Start acquisition; if the frame number increases, you did everything right
172
173 == Renaming cameras ==
174
175 While the camera is running one can go to the WD -> locations -> properties ... and then change the NAME to the desired one (NO SPACE CARACTERS IN THE NAME !!!) and press enter ... thats it
176
177
178 == special topics ==
179
180 ==== Background subtraction: ====
181
182 * it is important that the values for negative offset are 0. otherwise the subtraction does not work (experimental finding by Stefan ...) . For the Basler A311 cameras the mode has to be 5 . for mode 7 the Background subtraction does not work... (no resources left)
183 * For Basler ethernet camera's the offset needs to be zero in any case, otherwise the server will crash. Also note, you have to make a reference image, that you have to stop/start the image acquisition before you can enable the background-subtraction in jddd.
184
185
186 ==== Power Over Ethernet ====
187
188 ==== Triggering ====
189
190 * it is important for the ace cameras that the trigger is 7 µs long. when it was accidentally switched to 0.7 µs the a311 were still triggering while the ace were NOT !!
191 * [[BLCamTrigOverview>>doc:FLASHUSER.jddd-linked help pages.FLASH beamline camera docu.Docu of the BL camera trigger system based on MTCA.WebHome]]
192
193 ==== Restarting Servers ====
194
195 * Starting with DOOCS release 18.10.6 the watchdog-server provides a new feature called PRE_START. This lets the watchdog-server check if the actual server directory contains a PRE_START script. If this script is present, it will be executed before the actual server start command.
196 * Restarting the server through the watchdog will make a call to the doocs script:(% class="code" %)
197 (((
198 doocs [re]start camera_server no_pre_start
199 ))).
200 * Calling (% class="WYSIWYG_TT" %)//doocs start camera_server// (%%)will include the
201
202 //{{code language="none"}}PRE_START{{/code}} //script, which is by default set to (% class="WYSIWYG_TT" %)///export/doocs/server/script/reload_CAMERA_Server// (%%).
203
204 * You can also use the (% class="WYSIWYG_TT" %)//!restart!//(%%)button from watchdog server overview. This will execute (% class="WYSIWYG_TT" %)///export/doocs/server/script/reload_CAMERA_server //(%%)directly.
205 * The (% class="WYSIWYG_TT" %)//reload_CAMERA_server s//(%%)cript will usually:
206 ** Stop capturing on all cameras (optional)
207 ** Stop the camera_server
208 ** Unload the device drivers (optional)
209 ** Restore a default configuration (optional)
210 ** Start the camera_server
211
212
213 == FAQs ==
214
215 1. //How can I save some images?// you can save images of the camera locally on the computer you are running jddd by clicking the right mouse button and use "save as png..."
216 1. //How can I save many images?// goto camera "control" -> "Write images" - a new window opens. With this you can save images (set best to BMP) with timestamp to the computer on which the camera server is running !! (hasftunnelcam1). here the directory in which it safes is : hasftunnelcam1: /export/doocs/server/camera_server/images (if you have the standard setting "./images/" in the directory field). you can get the images with e.g. (% class="twikiNewLink" %)WinSCP(%%). See also help in the "write images" window for more info.
217 1. //No images are shown / no update - what to do?// Check if the camera is on (right upper part: Images. the checkbox should be green). If not activate the check box. if this is on but the frames are not counting the trigger might be off. you can check this going to
218 1. //The cameraserver is unavailable - what to do? See Restarting Server//
219
220 == Troubleshooting ==
221
222 === Individual camera manuals ===
223
224 * [[SpectrometerPCOManual>>doc:FLASHUSER.jddd-linked help pages.FLASH1 Tunnel Spectrometer.Things to know about the FLASH1 Spectrometer PCO.WebHome]]
225
226 == Cameras used in the FLASH photon diagnostic ==
227
228 * [[Basler ace GigE Users Manual>>attach:Basler_ace_GigE_Users_Manual.pdf]]
229
230
231 * [[ Prosilika User_Manual.pdf>>attach:700013A_-_GE1350_User_Manual.pdf]]
232
233
234 * [[Basler A311f user manual .pdf>>attach:Basler_A311f.pdf]]
235
236
237 * [[PCO user manual.pdf>>attach:PCO.pdf]]
238
239
240 * Link to PCO status Sept 2015