Version 18.1 by sndueste on 2023/04/24 13:32

Hide last authors
sendels 1.1 1 (% class="twikiTocTitle" %)Contents:
2
3 \\
4
5
sndueste 6.1 6
7 {{toc/}}
8
sndueste 7.1 9 == General Camera info ==
sendels 1.1 10
sndueste 18.1 11 several [[different camera types>>url:https://confluence.desy.de/display/MCS/DOOCS+Camera+Server||shape="rect"]] can be easily integrated into DOOCS.
sendels 1.1 12
sndueste 7.1 13 The details of the available control parameters depends on the camera type. here is a typical view of
14
sendels 1.1 15 \\
16
sndueste 7.1 17 the Standard view:                                                                                   the controls view:                                                                                                and the Expert view with all available control features
18
19 [[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"]]
20
21 \\
22
sndueste 9.1 23 \\
24
25 == Troubble shooting / Restarting the camera server ==
26
27 If there are problems occurring with the camera ( no image is shown, no update, camera server crashes ...) then it is** mainly 2 reasons:**
28
29 * **There is no trigger connected to the camera → check with trying to run the camera untriggered ...**
30 * **the server has problems -> restart the server.**
31
32 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.
33
34 1. Best to make a screenshot (in expert mode) to the logbook before restarting in case parameter settings are lost ...
35 1. goto WDserver and press restart. The camera panel will go red and will come back after about 20 seconds ...
36
37 [[image:attach:image2019-9-24_16-1-16.png||height="400"]]
38
39 \\
40
sndueste 13.1 41 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.
sndueste 9.1 42
43 \\
44
45 [[image:attach:image2019-9-24_16-3-48.png||height="400"]]
46
47 \\
48
49 \\
50
sndueste 7.1 51 == Monitoring system ==
52
53 we implemented a monitoring system for the important beamline cameras in FLASH1 and FLASH2.
54
sndueste 13.1 55 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 !!
sndueste 7.1 56
sndueste 13.1 57 The warning is also shown in the according control panels for the cameras.
sndueste 7.1 58
59 [[image:attach:image2019-9-19_12-26-21.png||height="250"]] [[image:attach:image2019-9-19_12-34-54.png||height="250"]]
60
sendels 1.1 61 == Camera server general info ==
62
63 [[info from the DOOCS pages~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://ttfinfo.desy.de/FLASHWiki/Wiki.jsp?page=Camera%20server||shape="rect"]]
64
65 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
66
67 \\
68
69 == scaling the image / spectra ==
70
sndueste 7.1 71 [[image:attach:image2019-9-19_12-40-57.png||height="250"]][[image:attach:image2019-9-19_12-59-37.png||height="167"]]
sendels 1.1 72
sndueste 7.1 73 one can scale the image with a different scale as pixel.  the center as well as the "pixel size" can be set.
74
sendels 1.1 75 == Spectra (line outs) and Gaussian fits ==
76
sndueste 8.1 77 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 ...
78
sendels 1.1 79 \\
80
sndueste 8.1 81 [[image:attach:image2019-9-19_15-3-23.png||height="400"]]
82
83 "Spectrum" of the whole image. this can lead to a wrong fitting ...         
84
sndueste 7.1 85 \\
86
sndueste 8.1 87 \\
88
89 [[image:attach:image2019-9-19_15-5-29.png||height="400"]]
90
91 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!
92
93 \\
94
95 \\
96
97 [[image:attach:image2019-9-19_15-4-20.png||height="250"]]
98
99 For some cameras we also have dedicated Beam profile viewers.
100
101 \\
102
103 \\
104
sendels 1.1 105 == working with ROIs ==
106
107 To create more ROIs one has to do the following:
108
sndueste 7.1 109 [[image:attach:image2019-9-19_13-2-26.png||height="400"]]
sendels 1.1 110
sendels 4.1 111 \\
112
sndueste 13.1 113 * 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.
sendels 1.1 114 * NOTE the file os owned by doocs adm. to edit it one can use (% class="twikiNewLink" %)WinSCP(%%) and log in as doocsadm.
115
116 \\
117
118 * now all cameras have maximum ROIs. if you need less for some cameras read below:
119 * 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.
120
121 \\
122
sndueste 16.1 123 == saving images "locally" ==
sendels 1.1 124
125 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
126 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.
127 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.
128
129 * aquire single images: just press "writing once"
130 * aquire a defined number of images: put the number of images in the "count" field and press enter.
sndueste 13.1 131 * 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
sendels 1.1 132
133 note that youor login has to have the permissions to write in the specified field!
134
135 \\
136
sndueste 16.1 137 == Saving images in the DAQ ==
138
139 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"
140
141 [[image:attach:image2023-3-2_14-45-0.png||thumbnail="true" height="250"]]
142
143 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.
144
sndueste 17.1 145 Depending on the binning, bit depth, image size the correct USR1 setting may be different. but typically 40-80 is a good number
sndueste 16.1 146
147 [[image:attach:image2023-3-2_14-48-51.png||height="250"]]
148
sndueste 17.1 149 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 )
150
151 [[image:attach:image2023-3-7_13-49-59.png||thumbnail="true" height="250"]]
152
sndueste 16.1 153 Here a report where the image saving in the DAQ is investigated in more detail:
154
sndueste 17.1 155 {{view-file att--filename="Report-K.Kharitonov-05.09.2017.pdf" height="250"/}} and a more recent "studies"
sndueste 16.1 156
sndueste 17.1 157 {{view-file att--filename="statistic_2023_2.pdf" height="250"/}}
158
159 {{view-file att--filename="Camera_bunchID_shift_V2023_3.pdf" height="250"/}}
160
sndueste 16.1 161 \\
162
sendels 1.1 163 == Installing new cameras ==
164
165 To install an additional camera to a DOOCS camera server perform the following steps:
166
167 * Open the Jddd watchdog panel for the server ((% class="twikiNewLink" %)WatchdogOverview(%%).xml). goto camera server -> locations
sndueste 13.1 168 * right upper part is a button Device control
sendels 1.1 169
sendels 12.1 170 [[image:attach:Clipboardadd_camera.jpg||height="400"]]
sendels 1.1 171
172 *
173 ** use action: add
174 ** chose FCT code (812 in our case)
175 ** add name
176 ** press send
177
sendels 5.1 178 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 ...)
sendels 1.1 179
sendels 12.1 180 [[image:attach:screenshot.png||height="400"]]
sendels 1.1 181
182 \\
183
184 1. First you'll have to open the camera location overview from the watchdog panel
185 1*. Enable the camera you wanna edit. If the check mark can't be enabled, you can't talk to the camera.
186 1. Open the Camera Control Panel and switch to the "Expert View"
187 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.
188 1. Switch to continuous acquisition
189 1. Setup the trigger as needed
190 1. Enable rate-limiting in case you don't have a trigger
191 1. Start acquisition; if the frame number increases, you did everything right
192
193 == Renaming cameras ==
194
195 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
196
197 \\
198
199 == special topics ==
200
201 ==== Background subtraction: ====
202
sndueste 13.1 203 * 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)
204 * 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.
sendels 1.1 205
206 \\
207
208 ==== Power Over Ethernet ====
209
210 ==== Triggering ====
211
212 * 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 !!
sndueste 11.1 213 * [[BLCamTrigOverview>>doc:FLASHUSER.jddd-linked help pages.FLASH beamline camera docu.Docu of the BL camera trigger system based on MTCA.WebHome]]
sendels 1.1 214
215 ==== Restarting Servers ====
216
217 * 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.
218 * Restarting the server through the watchdog will make a call to the doocs script:(% class="code" %)
219 (((
220 doocs [re]start camera_server no_pre_start
221 ))).
222 * Calling (% class="WYSIWYG_TT" %)//doocs start camera_server// (%%)will include the
223
224 {{code language="none"}}
225 PRE_START
226 {{/code}}// //script, which is by default set to (% class="WYSIWYG_TT" %)///export/doocs/server/script/reload_CAMERA_Server// (%%).
227 * 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.
228 * The (% class="WYSIWYG_TT" %)//reload_CAMERA_server s//(%%)cript will usually:
229 ** Stop capturing on all cameras (optional)
230 ** Stop the camera_server
231 ** Unload the device drivers (optional)
232 ** Restore a default configuration (optional)
233 ** Start the camera_server
234
235 \\
236
237 == FAQs ==
238
239 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..."
sendels 2.1 240 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.
sendels 1.1 241 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
242 1. //The cameraserver is unavailable - what to do? See Restarting Server
243 //
244
245 == Troubleshooting ==
246
247 === Individual camera manuals ===
248
sndueste 7.1 249 * [[SpectrometerPCOManual>>doc:FLASHUSER.jddd-linked help pages.FLASH1 Tunnel Spectrometer.Things to know about the FLASH1 Spectrometer PCO.WebHome]]
sendels 1.1 250
251 == Cameras used in the FLASH photon diagnostic ==
252
sendels 4.1 253 * [[Basler ace GigE Users Manual>>attach:Basler_ace_GigE_Users_Manual.pdf]]
sendels 1.1 254
255 \\
256
sendels 4.1 257 * [[ Prosilika User_Manual.pdf>>attach:700013A_-_GE1350_User_Manual.pdf]]
sendels 1.1 258
259 \\
260
sendels 4.1 261 * [[Basler A311f user manual .pdf>>attach:Basler_A311f.pdf]]
sendels 1.1 262
263 \\
264
sendels 4.1 265 * [[PCO user manual.pdf>>attach:PCO.pdf]]
sendels 1.1 266
267 \\
268
269 * Link to PCO status Sept 2015