?_gÿÿÿÿ±ÂWNl!³÷E? BS ManualBrowseButtons()  ÌÌÌÌ/&;)z4ÿÿ ‹ ÿÿÿÿ|CONTEXT‚º|CTXOMAPw­|FONT,¬|KWBTREE$®|KWDATAŠ­|KWMAP®|SYSTEM|TOPIC–|TTLBTREES²–§§ÿÿÿÿ 8ÿÿÿÿD1ÀÿÿÿÿËÿÿÿÿDÌbs v5.1L , (€@€€‚€€‚‚‚ÿbs version August 2003 b:Dò( €t€˜€‚‚‚‚‚ÿ2D X-ray data processing programTable of Contents ÚqÌi ¢€â€P²P‚2€€ƒã/R¿£‰‚€€ƒã±.‰‚€€ƒãfʉ‚€€ƒãÒ2Ä=‰‚€€ƒã;Ýå>‰‚ÿ·Introduction·Interface·A Few General Points·The BSL/OTOKO File Format·Command Set= ò 1•ÿÿÿÿ \Introduction8ÌA) "€€ĘB˜‚2€‚ÿIntroductionì¿ -- (€€˜‚2€€€‚ÿBS is a windows version of the 2D X-ray data processing program BSL in use at the Daresbury Synchrotron radiation source, for the treatmentof low angle x-ray diffraction. It has a shorther command list and hence a shorther name. BSL was written mainly by Geoff Mant for Biology Support Laboratory in DL and it runs on Unix or Unix-like platforms. You may find more about it on Daresbury web site www.srs.dl.ac.uk/ncd/computing/manual.bsl.htmlÄAñ' €;€˜‚2€‚ÿDetailed documentation of BSL was produced by I. Dobbie during his PhD at Kings College, London. Many paragraphs here are close copies of Ian's manual. --' € €˜‚2€‚ÿThe core of BS was written in April - June 2000 to make it possible to work with Daresbury data on our home, Windows-based computers. Another aim was to make it more user friendly and to provide greater flexibility to adopt to the ever changing requirements. wQñ•& €¢€˜‚2€‚ÿThe program was written using CBuilder 4, all codes are available on request. ©‚>' €€˜‚2€‚ÿA number of useful tips were obtained from the open source of RasMol Molecular Graphics Program by R.Sayle (rasmol@ggr.co.uk). ~X•¼& €°€˜‚2€‚ÿI will be forever in debt if you mail me suggestions, bug reports, or just comments. )>å& €€˜‚2€‚ÿ;¼ & €*€˜‚2€‚ÿNatalia Koubassova<å\& €,€˜‚2€‚ÿnatalia@imec.msu.ru5 ‘1šËP ÿÿÿÿ‘ö FaceÓ“\d @ N€'€˜€‚€€‚‚ã@‰€€€€‚ÿInterface Unlike BSL the first thing to do is to open a file using MainMenu. The only exception is .usr command, that is discussed separately. From the moment a file is opened it becomes the Source. All commands are applied to the Source. Once you execute any command that generates a new image, that image is stored as a temporary file, n.tmp, where n is the temporary file count. Temporary files may be saved with a new name, (press SAVE button), or may become a new Source. In the latter case a new command will be applied to the "unsaved" data and you will be prompted with a question: Data not saved. Continue? . Select Yes and continue. *å‘Ž E X€Ë€˜€€€‚‚ã¿×‰ãÊÕ‰ã8~‰ã¿¹‰‚ÿAfter every SAVE Source is reversed to the initially opened file. The commands in BS follow the same nomenclature as in BSL, consisting of a set of 3 letters preceeded with a dot, e.g. .muc to multiply by a constant. Nearly all functions can be applied to either single time frames or to a set of frames from a time series. Such commands as .mir, process only one selected frame from the source. Commands like .adc, .int, can process a set of frames from an input file.hCd ö % €†€˜€‚‚ÿMore details could be found in the description of the command. 8Ž .1¥ •3‡ÿÿÿÿ.§IGeneral$Æö ^A^ Š€€˜€‚€€‚‚ã«Ø;‰ãWÙ3‰ã ƒ‰ãÕ›ô1‰ã^óòO‰‚‚€€‚‚‚€€‚‚ÿA Few General Points Image, Zoom, Mouse, 1D graph, FavouritesImageThe co-ordinate centre is the top-left corner of the image, with the x-axis horizontal and which in BSL corresponds to pixels, and the y-axis is vertical, corresponding to BSL rasters. ZoomZoom works like in Rasmol, press Shift+MouseRightButton and move mouse towards left bottom .^Aö corner of the image to increase magnification or towards right upper corner to reduce it. For a known reason it works slowly in the beginning and quick at high zoom level. For an unknown reason at the intermediate level of zoom it shows a grid which later dissapears. To shift magnified image press left mouse button and move the mouse.`ð.¾Cp ®€á€˜€‚€€‚‚ã8~‰ã@‰ã–‰ã¯²‰ã¿¹‰ãˆÏ‰ãxÔ‰ã¿×‰ã‰ã‰ã3‰‚ÿMouseYou may use mouse selection in commands where the first two input lines are horizontal and vertical limits of the selected region. Click Left Button to mark Top-Left corner of the selection, then move it to Bottom-Right point and click it again. The limits in the text-input fields will be changed automatically. You can correct them manually before execution of the command. These commands are: .adc, .ave, .cut, .hor, .int, .log, .max, .muc, .sum, .ver, .zer.G ^AF> J€€˜€ãëú‰ãÊ”‰‚ãÊ”‰ãëú‰‚ÿ In .rot session you may select two peaks by Ctrl+Left Button Click. Before doing that, it is useful to call .dis and to select sufficiently narrow threshold values for the image to see the actual peak pixel on the screen. The image centre and rotation angle are calculated after every second peak selection. In .dis and .rot command mouse movement with Shift + Left button down invokes a zoom of the image. Moving mouse with right mouse button down will shift the image but not futher than the image borders.”Y¾C™H; D€³€˜€‚€€‚㯲‰ã‰‚‚‚ÿ1D graphA separate window to display 1D plot can be opened directly from the main command window or as the result of horizontal/ vertical integration: .hor and .ver functions.1D data format is ASCII, two columns with x and y co-ordinates.F6 toggles cursor on the plot. When cursor is ON, use left and right arrows to move it along the data points. F3 selects a point. When two points are selected, the distance along x-axis and the position of the centre is calculated automatically. The latter option can be used to determine the centre of image after horizontal or vertical integration.áF§I- (€Ã€˜€‚€€‚‚ÿFavouritesThis is window that contains a dozen of your favourite commands. Click mouse right button over any form button to change its value. Left mouse button changes the button value to a currently selected function.9™HàI1šP €ÿÿÿÿàIYÀf_format«q§I‹L: B€ã€˜€‚€€‚‚ãíͨ։ãQ$ö¢‰‚ÿThe BSL/OTOKO File Format BSL and OTOKO share a common file format. A BSL "file" actually consist of at least 2 files on the computer: an ASCII header and at least one binary file. The header is identified by the file name in the form Xnn000.xxx, where X is an uppercase letter, nn is a 2-digit number and xxx are character extension , uppercase letters or numbers. Case is not significant in Windows, so BS supports both upper and lower-case characters. It is advised to name all your output files in uppercase letters to ease transfer of the data on Unix machines and to avoid manual editing of header files. ©|àI4O- (€ù€˜€‚‚‚‚‚‚‚‚‚ÿData from the area detector at Daresbury Laboratory is written into a maximum of five(?) files: Xnn000.mdd Header file Xnn001.mdd SAXS data Xnn002.mdd Calibration data Xnn003.mdd WAXS data Xnn004.mdd ??? where the first letter refers to the experimental session and the next two digits to the number of the individual record. The number increases by one after each record until the 100th record after which the number returns to zero. One should be careful to change the session letter before it happen. The detector data acquisition program will not ask your permission before overwriting the data. 7‹Lw% €%€˜€‚ÿThe next three digits refer to the type of information contained in the file. The 000 file is the header file and is in ASCII or readable form. It contains informatio4Ow§In such as the sample title, the frame size, the number of frames in the file, the names of the intensity and calibration data files. All other files are in binary format. The 001 file contains the raw SAXS (Small Angle X-ray Scattering) data, the 002 file contains calibration information, the 003 file contains the raw WAXS (Wide Angle X-ray Scattering) data. å4O‘ƒ5 8€Ë€˜€‚‚‚‚‚€€‚‚‚‚‚‚ÿThe mdd gives the date on which the data was recorded. The first digit being the duodecimal month and the other digits the date: Xnn000.807 7th August Xnn000.A24 24th OctoberHeader Files The name of a header file is of the form Xnn000.XXX where X is any alphanumeric character and n is any digit. e.g. M74000.TMP. This header file is always written in ASCII and contains the following information: * header 1. Comment line.* header 2. Comment line.; wÌ…0 .€€˜€‚‚‚‚‚‚€ ‚‚‚ÿ* data line 1. 10 integer indicators for the binary file.* data line 2. File name of the binary file Every line is up to 80 alphanumerical characters.Integer inducators take 8fields each.The data lines 1 and 2 should be repeated for subsequent binary files. Below is an example of a header file with two binary files dumped from an area detector at Daresbury. SRS Data recorded on Thu Mar 16 19:39:35 2000 200 s rigor 512 512 3 0 0 0 0 0 0 1 'õ‘ƒó‰2 2€ë€˜€ ‚‚‚€‚€ €‚ÿD38001.316 3 4 1 0 0 0 0 0 0 0 D38002.316The first line is automatically generated by the detector control program. It gives a time and date for the generation of the file. The second line is a comment that the detector control program prompts for when you dump that data. These lines are called first and second header in BSL. Both these comment lines are useful if your lab notes do not agree with the files. This happens much more often than it should. The next pairs of data lines are definitions for the X-ray and calibration data files. First comes the data file description. For the X-ray file first three numbers are: number of pixels, number of rasters, number of time frames. In the given example the image consists of 3 frames, frame size is 512 points horizontally (pixels) and 512 points vertically (rasters).What are they for the calibration channels? The last number is boolean indicator: whether there is another binary file. —hÌ…ŠŒ/ ,€Ñ€˜€‚‚€€‚‚‚ÿBinary Files The binary files contain the data, in Fortran terms, as direct access, unformatted, fixed length records (frames) containing REAL*4 values and as a stream of 4 byte floats in C terminology. The floating point format, as recorded by the Daresbury data acquisition system, is IEEE format based on "big endian" machines. The contents of these files are organised as indicated by the header file. The direction of reading/writing is pixel line, e.g. the second number is 2nd pixel in 1st raster line of the 1st frame , and (2^18+513)number is the 1st pixel in the 2nd raster line of the 2nd frame. ßó‰YÀ$ €?€˜€ÿThere are some advantages and some disadvantages for this simple flat file format. The files are easy to process and writing conversion routines from one format to another is relatively simple. The fact that there is no header etc. in the actual file means that the number of frames, and even the frame size can be deduced simply from the file size. Mislabelled files can often be rectified from this alone (1x512*512 frame is 1MB, or 1048576 bytes). The lack of any information in the actual data file means that several files are needed which can lead to confusion and difficulties if the ASCII header is lost. This can often be rectified reasonably easily by constructing a new ASCII header in a text editor.It is worth noting that the binary data file is written in "big endian" format, where 4 byte float has native byte order, 0123. BS is writŠŒYÀ§Iten for "little endian" machines and reads BSL files in reverse byte order. 9ŠŒ’À1h3‡q…ÿÿÿÿ’ÀÁÇCommands<YÀÎÀ' €*€ĘB˜€‚ÿList of commands :«’ÀçÂn ª€W€˜‚Hã±¹€‰ƒ‚ã8~‰ƒ‚ã9~‰ƒ‚ã–€‰ƒ‚ã½€‰ƒ‚ã@‰ƒ‚ãB‰ƒ‚ã–‰ƒ‚ãÊ”‰ƒ‚ÿ.inf Gives information about the data file..adc Add a constant to selected range in n frames from file..add Weighted addition of two images..arg Display memory contents..asc Export selection in ASCII format..ave Average of n frames from one file..csv Export selection from 1D file in ASCII, CSV format..cut Cut part of an image in a smaller image..dis Displays image with given threshold.$®ÎÀ Åv º€]€˜‚HãÍ”€‰ƒ‚㹤‰ƒ‚㩉ƒ‚㯲‰ƒ‚㿹‰ƒ‚ãˆÏ‰ƒ‚ãxÔ‰ƒ‚ãÀÕ‰ƒ‚ãÊÕ‰ƒ‚ãÎÕ‰ƒ‚ÿ.div Weighted division of two images..frm Select a frame from current file..gau Generate a 2D gaussian..hor Horizontal integration..int Integration though selected region..log Calculate natural or based 10 logarithm of the image..max Calculate extremal values of intensity..mih Mirror two halves horizontally..mir Mirror the four quadrants of the image..miv Mirror two halves vertically.Ÿç Çv º€?€˜‚Hã¿×€‰ƒ‚ãÈ׉ƒ‚ãÒ׉ƒ‚ãëú‰ƒ‚ã鉃‚㉃‚ãT‰ƒ‚ã@‰ƒ‚ã}‰ƒ‚㋉ƒ‚ÿ.muc Multiply selected region by a constant..mul Weighted multiplication of the two images..muv Multiply multiframe image by a vector..rot Image rotation..shf Shifts an image in x and/or x directions..sum Sum frames..tim Time correction for multiframe image..usr USER mode..wrh Bad wire seen horisontally, linear correction..wrv Bad wire seen vertically, linear correction.¡d ÅÁÇ= J€È€˜‚Hãm€‰ƒ‚㉃‚ã3‰ƒ‚ÿ.val Intensity value in one point..ver Vertical integration..zer Zero negative values.5 ÇöÇ1€‡ÿÿÿÿöÇÝÊ.inf)ÁÇÈ& €€˜‚H€‚ÿ4öÇSÈ, (€€˜‚H€ € ‚ÿ.inf)È|È& €€˜‚H€‚ÿCSÈ¿È0 0€&€˜‚H€ €ƒ€ €‚ÿSyntax: void)|ÈèÈ& €€˜‚H€‚ÿ8¿È É) "€€˜‚H€ €‚ÿDescriptionpJèÈÉ& €”€˜‚H€‚ÿGives information about the Source file and current frame. For example:M ÉÝÊ3 4€5€˜‚H€‚ƒ‚ƒ‚ƒ‚ƒ‚ƒ‚‚‚ÿ* D38001.BK6 *dim = 512 x 512 x 1 frame = 1min_I = -414.41max_I = 106222.27In this example Source file is D38001.BK6 (data file name), with 1st frame selected. Image has 1 frame of 512x512. In the selected frame values of minimal and maximal intensity are calculated.5ÉË1Õq…œ‰ÿÿÿÿ˲Ï.adc)ÝÊ;Ë& €€˜‚H€‚ÿ5 ËpË, (€€˜‚H€ € ‚ÿ.adc );Ë™Ë& €€˜‚H€‚ÿfôpËÿÌr ²€é€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒ‚‚ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512 Vertical limits, [y1, y2]: int, int 1, 512 Constant to add: float 1.5 Frames to use: int_list 2, 3 Zero outrange values? bool 08™Ë7Í) "€€˜‚H€ €‚ÿDescriptionôÿÌRÎ' €é€˜‚H€‚ÿAdds a constant to the rectangular region of an image in a set of frames. Horizontal and vertical limits could be set by mouse selection. The last line is the check box on the form. If you are using USER mode, you should enter boolean value.)7Í{Î& €€˜‚H€‚ÿ3 RήÎ) "€€˜‚H€ €‚ÿOutput–j{ÎDÏ, (€Ô€˜‚H€€ €‚ÿOutput is an image with n(int_list) number of frames, frame dimensions are the same as in input file.)®ÎmÏ& €€˜‚H€‚ÿEDϲÏ1 2€(€˜‚H€ €‚ƒã¿×‰‚ÿSee also.muc5mÏ 1®‡¾ÿÿÿÿ .add²Ï ²Ï)²Ï5& €€˜‚H€‚ÿ5 j, (€€˜‚H€ € ‚ÿ.add )5“& €€˜‚H€‚ÿ+Æj¾e ˜€€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚‚ÿSyntax Example Name of ADD-file: char*D38000.MIRFrames to use: int_list 13,4Frames from ADD_file: int_list 21Weight constants: float, float1.0, -1.08“ö) "€€˜‚H€ €‚ÿDescription¿Œ¾µ3 4€€˜‚H€€ €€€‚ÿWeighted addition of two images. The Source and the ADD-file must have equal frame dimensions.The second file may have 1 frame selected, n(int_list 2) = 1, then this frame is added to all range in the Source. Otherwise number of frames selected from the Source and Second File must be equal. In the example the 1st frame from D38000.MIR is subtracted from 3rd and 4th frames on the Source.)öÞ& €€˜‚H€‚ÿ3 µ) "€€˜‚H€ €‚ÿOutputpAÞ/ .€‚€˜€€ €€€ÿOutput is an image with n(int_list 1) (2) number of frames.5¶1&œ‰u ÿÿÿÿ¶§.arg'Ý$ €€˜€‚ÿ3 ¶* $€€˜€ € ‚ÿ.arg ‰IÝ™@ P€’€˜‚H€‚€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒ‚‚ÿSyntax Example Threshold: float, float0, 10008Ñ) "€€˜‚H€ €‚ÿDescriptionj=™;- (€{€˜‚H€€€‚ÿThe .arg command displays the selected frame of the Source. All points with the intensity within the threshold interval are separated in 256 layers and coloured from black to white in greyscale. Points with the intensity lower than lower threshlod are black, the points below the upper threshold value are white.)Ñd& €€˜‚H€‚ÿC;§0 0€&€˜‚H€ €‚ƒãÊ”‰ÿSee also.dis5dÜ1n¾€ ÿÿÿÿÜ .asc)§& €€˜‚H€‚ÿ5 Ü:, (€€˜‚H€ € ‚ÿ.asc )c& €€˜‚H€‚ÿJÔ:­ v º€©€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒƒ‚‚€ €‚‚‚€ €‚‚ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512Vertical limits, [y1, y2]: int, int 100, 100Frames to use: int_list34Write output file: bool 1 DescriptionExport the selected region in ASCII format.OutputValues are separated with space. If one side of the selected region is one pixel wide/high the output values are in two columns - first is pixel/raster number, the second is its intensity value.h(c @ P€P€˜‚H€‚€ €‚ƒãB‰ãm‰ã¿¹‰ÿSee also.csv, .val, .int.5­ J 1 u[ ÿÿÿÿJ  .ave) s & €€˜‚H€‚ÿ5 J ¨ , (€€˜‚H€ € ‚ÿ.ave )s Ñ & €€˜‚H€‚ÿ¬¨ Ó V z€Y€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚‚ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512Vertical limits, [y1, y2]: int, int 1, 512Frames to average: int_list 3-68Ñ  ) "€€˜‚H€ €‚ÿDescriptionšnÓ ¥ , (€Ü€˜‚H€€€‚ÿThe .ave averages frames from current file.You may restrict the region for averaging selecting rectangle.) Î & €€˜‚H€‚ÿ3 ¥ ) "€€˜‚H€ €‚ÿOutput±Î ²2 4€þ€˜‚H€€ €€ €‚ÿOutput is an image with n(int_list), 4, number of frames. Frame dimensions of output are (x2-x1+1)x(y2-y1+1) (512x512).)Û& €€˜‚H€‚ÿE² 1 2€(€˜‚H€ €‚ƒã‰‚ÿSee also.sum5ÛU1#€€ ÿÿÿÿUÒA.csv) ~& €€˜‚H€‚ÿ5 U³, (€€˜‚H€ € ‚ÿ.csv )~Ü& €€˜‚H€‚ÿꂳÒAh ž€€˜‚H€ ÜÒA €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚‚€ €‚‚‚€ €‚‚‚€ €‚ƒã½€‰ãm‰ã¿¹‰ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512DescriptionExport the selected region in ASCII 'Comma Separated Values' format. This option works only with 1D file format.OutputValues are written in two columns separated with comma. First column contains pixel number, the second - its intensity value. See also.asc, .val, .int.5ÜB1k[™ ÿÿÿÿB=E.cut)ÒA0B& €€˜‚H€‚ÿ5 BeB, (€€˜‚H€ € ‚ÿ.cut )0BŽB& €€˜‚H€‚ÿ¬eB‘CW |€Y€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚‚ÿSyntax Example Horizontal limits, [x1, x2]: int, int 50, 462Vertical limits, [y1, y2]: int, int 236, 266Frames to use: int_list 3-68ŽBÉC) "€€˜‚H€ €‚ÿDescriptionN(‘CD& €P€˜‚H€‚ÿCuts a smaller image from the Source.)ÉC@D& €€˜‚H€‚ÿ3 DsD) "€€˜‚H€ €‚ÿOutputÊš@D=E0 .€5€˜€€ €€ €ÿOutput is an image with n(int_list) number of frames and (x2-x1+1)x(y2-y1+1) frame dimensions. In the example output image is of four 413x31 frames.5sDrE1V€ƒÿÿÿÿrE“H.dis'=E™E$ €€˜€‚ÿ3 rEÌE* $€€˜€ € ‚ÿ.dis ŠJ™EVF@ P€”€˜‚H€‚€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒ‚‚ÿSyntax Example Threshold: float, float0, 1000 8ÌEŽF) "€€˜‚H€ €‚ÿDescription—jVF%H- (€Õ€˜‚H€€€‚ÿThe .dis command displays the selected frame of the input file, the one indicated in the window caption. All points with the intensity within the threshold interval are separated in 256 layers and coloured from black to white in greyscale. Points with the intensity lower than lower threshlod are black, the points below the upper threshold value are white.)ŽFNH& €€˜‚H€‚ÿE%H“H1 2€(€˜‚H€ €‚ƒã–€‰‚ÿSee also.arg5NHÈH1Þ™ò†ÿÿÿÿÈHqM.div)“HñH& €€˜‚H€‚ÿ5 ÈH&I, (€€˜‚H€ € ‚ÿ.div )ñHOI& €€˜‚H€‚ÿPÝ&IŸLs ´€»€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚‚€ €‚€ €‚ÿSyntax Example Name of DIV-file: char*D38000.MIRFrames to use: int_list 13,4Frames from DIV-file: int_list 21Weight constants: float, float1.0, 0.98DescriptionWeighted division of two images. The Source and the DIV-file must have equal frame dimensions.The second file may have 1 frame selected, n(int_list 2) = 1, then this frame is added to the selected frame range in the Source. Otherwise the number of frames selected from the Source and Second File must be equal. In the example the 3rd and 4th frames on the Source are divided by the 1st frame from D38000.MIR, that is multiplyed by 0.98. If the DIV-file has zero values, such points will be zeroed in the output image.Ò‡OIqMK d€€˜‚H€‚€ €‚€ €‚‚€ €‚ƒã9~‰ãÈ׉‚ÿOutputOutput is an image with n(int_list 1) number of frames. Example output will have 2 frames.See also.add, .mul5ŸL¦M1uƒu‡ÿÿÿÿ¦MæN.frm)qMÏM& €€˜‚H€‚ÿ5 ¦MN, (€€˜‚H€ € ‚ÿ.frm )ÏM-N& €€˜‚H€‚ÿ¹tNæNE Z€è€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒƒ‚‚€ €‚‚ÿSyntax Example Select frame: int3DescriptionSelects a frame from a multiframe image.5-NO1¹ò†ÿÿÿÿO€.gau)æNDO& €€˜‚H€‚ÿ5 OyO, (€€˜‚H€ € ‚ÿ.gau )DO¢O& €€˜‚H€‚ÿÒXyO€z €±€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒƒƒ‚‚€ €¢O€æN‚€€‚‚ƒ€ €‚‚‚€ €‚ÿSyntax Example SD_x, SD_y: float, float10, 50.25Centre, (x0, y0): int, int256, 256Amplitude: float600DescriptionThe .gau command generate a 2D gaussian:f(x,y) = Amplitude* exp((x-x0)/SD_x + (y-y0)/SD_y) .OutputThe output file has one frame with the same xy dimensions as the Source.5¢Oµ1uu‡ñÿÿÿÿµõ….hor)€Þ& €€˜‚H€‚ÿ5 µ‚, (€€˜‚H€ € ‚ÿ.hor )Þ<‚& €€˜‚H€‚ÿª#‚愇 Ü€G€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒƒƒ‚‚€ €‚€ €€ €‚€ €ãÕ›ô1‰‚ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512Vertical limits, [y1, y2]: int, int 1, 512Frames to use: int_list31-36Display plot: bool 1 DescriptionHorizontal integration in the selected frames. For every y integration is plain sum of all points in the [x1, x2] interval. If Display plot is true and only one frame is selected, the result is passed to 1D graphics window. If number of selected frames is more than 1, the output files will be written named "fXXver.txt".¿<‚õ…P n€€˜‚H€‚€ €‚€ €‚‚€ €‚ƒã¿¹‰ã‰ãÕ›ô1‰ÿOutputThe output file is in ASCII format. Data is in two columns: raster(y) number, integrated value. The dimension of new file is y2-y1+1.See also.int, .ver, 1D graph.5æ„*†1k÷ÿÿÿÿ*†`‰.int)õ…S†& €€˜‚H€‚ÿ5 *†ˆ†, (€€˜‚H€ € ‚ÿ.int )S†±†& €€˜‚H€‚ÿLЈ†ýˆ| Æ€¡€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒƒ‚‚€ €‚‚‚€ €‚€€‚ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512Vertical limits, [y1, y2]: int, int 1, 512Frames to use: int_list31-36Write output file: bool 1 DescriptionIntegration in the selected region. By default, the result of integration is printed out in the Result Window.OutputIf output file is true the ASCII file is written. The dimension of new file is number of frames, 6 in the given example.c'±†`‰< H€N€˜‚H€ €‚ƒã¯²‰ã‰ãm‰ÿSee also.hor, .ver, .val.5ýˆ•‰1jñÿÿÿÿ•‰ÊŒ.log)`‰¾‰& €€˜‚H€‚ÿ5 •‰ó‰, (€€˜‚H€ € ‚ÿ.log )¾‰Š& €€˜‚H€‚ÿ3»ó‰OŒx ¾€w€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒ‚‚€ €‚€€€ €‚ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512Vertical limits, [y1, y2]: int, int 1, 512Base, [e or 10]: char*eFrames to proceed: int_list4DescriptionThe .log command takes the logarithm of the given base of the data in the selected region.The output file has n(int_list) number of frames, and the frame dimensions of the Source image. The outrange values are not changed.{RŠÊŒ) "€¤€˜‚H€ €‚ÿOutputThe output file has one frame with the same xy dimensions as the Source.5OŒÿŒ1W÷VÿÿÿÿÿŒ!.max)ÊŒ(& €€˜‚H€‚ÿ4ÿŒ\, (€€˜‚H€ € ‚ÿ.max)(…& €€˜‚H€‚ÿœ5\!g œ€k€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚‚€ €‚€ €‚‚‚€ €‚ƒã¿¹‰ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512Vertical limits, [y1, y2]: int, int 1, 512DescriptionGives minimal and maximal values of intensity in the selected region in given frame. OutputThe interval [min, max] typed in the text box.See also.int.5…V1`\ÿÿÿÿV~Ã.mih)!& €€˜‚H€‚ÿ4V³, (€€˜‚H€ € ‚ÿ.mih)Ü& €€˜‚H€‚ÿ|@³dÀ< H€€€˜‚H€ ÜdÀ!€ƒƒƒƒ‚€ ƒ€ €ƒƒƒƒ‚ÿSyntax Example Centre, y0: int.510.5 )ÜÀ& €€˜‚H€‚ÿ)dÀ¶À& €€˜‚H€‚ÿ8ÀîÀ) "€€˜‚H€ €‚ÿDescriptiona¶À{Á, (€Â€˜‚H€€€‚ÿThe .mih command is not a BSL command, it mirrors only horizontally, e.g. only pixel lines. nHîÀéÁ& €€˜‚H€‚ÿM(x, y0 + d) = M(x, y0 - d) = (Source( x, y0+d) + Source(x, y0-d))/2.C{Á,Â& €:€˜‚H€‚ÿUnpaired lines are zeroed.)éÁUÂ& €€˜‚H€‚ÿ3 ,ˆÂ) "€€˜‚H€ €‚ÿOutputySUÂÃ& €¦€˜‚H€‚ÿOutput file as a single frame image, frame dimensions the same as in the Source.)ˆÂ*Ã& €€˜‚H€‚ÿTÃ~Ã6 <€<€˜‚H€ €‚ƒãÊÕ‰ãÎÕ‰ÿSee also.mir, .miv5*óÃ1oVw‚ÿÿÿÿ³ÃíÆ.mir)~ÃÜÃ& €€˜‚H€‚ÿ4³ÃÄ, (€€˜‚H€ € ‚ÿ.mir)ÜÃ9Ä& €€˜‚H€‚ÿ‹PÄÄÄ; F€ €˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒ‚ÿSyntax Example Centre, x0, y0: int.5, int.5126.5, 128 )9ÄíÄ& €€˜‚H€‚ÿ)ÄÄÅ& €€˜‚H€‚ÿ8íÄNÅ) "€€˜‚H€ €‚ÿDescriptionM'Å›Å& €N€˜‚H€‚ÿMirrors four quadrants of the image.)NÅÄÅ& €€˜‚H€‚ÿ3 ›Å÷Å) "€€˜‚H€ €‚ÿOutputySÄÅpÆ& €¦€˜‚H€‚ÿOutput file as a single frame image, frame dimensions the same as in the Source.)÷Å™Æ& €€˜‚H€‚ÿTpÆíÆ6 <€<€˜‚H€ €‚ƒãÀÕ‰ãÎÕ‰ÿSee also.mih, .miv5™Æ"Ç1X\(„ÿÿÿÿ"ÇEË.miv)íÆKÇ& €€˜‚H€‚ÿ4"ÇÇ, (€€˜‚H€ € ‚ÿ.miv)KǨÇ& €€˜‚H€‚ÿ|@Ç$È< H€€€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒƒ‚ÿSyntax Example Centre, y0: int.510.5 )¨ÇMÈ& €€˜‚H€‚ÿ)$ÈvÈ& €€˜‚H€‚ÿ8MÈ®È) "€€˜‚H€ €‚ÿDescriptionŽbvÈ<É, (€Ä€˜‚H€€€‚ÿThe .miv command is not a BSL command, it mirrors only vertically, e.g. only raster columns. rL®È®É& €˜€˜‚H€‚ÿM(x0 + d, y) = M(x0 - d, y) = (Source( x0 + d, y) + Source(x0 - d, y))/2.E<ÉóÉ& €>€˜‚H€‚ÿUnpaired rasters are zeroed.)®ÉÊ& €€˜‚H€‚ÿ3 óÉOÊ) "€€˜‚H€ €‚ÿOutputySÊÈÊ& €¦€˜‚H€‚ÿOutput file as a single frame image, frame dimensions the same as in the Source.)OÊñÊ& €€˜‚H€‚ÿTÈÊEË6 <€<€˜‚H€ €‚ƒãÀÕ‰ãÊÕ‰ÿSee also.mih, .mir5ñÊzË1Ýw‚ÿÿÿÿzË..muc)EË£Ë& €€˜‚H€‚ÿ5 zËØË, (€€˜‚H€ € ‚ÿ.muc )£ËÌ& €€˜‚H€‚ÿiøØËjÍq °€ñ€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒ‚‚ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512 Vertical limits, [y1, y2]: int, int 1, 512 Constant to multiply: float 1.5 Frames to use: int_list 2, 3 Zero outrange values? bool 08Ì¢Í) "€€˜‚H€ €‚ÿDescription ùjÍÂÎ' €ó€˜‚H€‚ÿMuliplies the rectangular region of an image by a constant in a set of frames. Horizontal and vertical limits could be set by mouse selection. The last line is the check box on the form. If you are using USER mode, you should enter boolean value.)¢ÍëÎ& €€˜‚H€‚ÿ3 ÂÎÏ) "€€˜‚H€ €‚ÿOutput–jëδÏ, (€Ô€˜‚H€€ €‚ÿOutput is an image with n(int_list) number of frames, frame dimensions are the same as in the Source.)ÏÝÏ& €€˜‚H€‚ÿE´Ï.1 2€(€˜‚H€ ÝÏ.EË€‚ƒã8~‰‚ÿSee also.adc5ÝÏc1€(„ÿÿÿÿc®.mul).Œ& €€˜‚H€‚ÿ5 cÁ, (€€˜‚H€ € ‚ÿ.mul )Œê& €€˜‚H€‚ÿòÁÜs ´€ÿ€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚‚€ €‚€ €‚ÿSyntax Example Name of MUL-file: char*D38000.MIR Frames to use: int_list 13,4Frames from MUL-file: int_list 21Weight constants: float, float1.0, -5.5DescriptionWeighted multiplication of two images. The Source and the DIV-file must have equal frame dimensions.Second file may have 1 frame selected, n(int_list 2) = 1, then this frame is added to all range in the Source. Otherwise number of frames selected from the Source and Second File must be equal. In the example the 3rd and 4th frames on the Source are multiplied by the 1st frame from D38000.MIR, that is multiplyed by -5.5.Ò‡ê®K d€€˜‚H€‚€ €‚€ €‚‚€ €‚ƒã9~‰ãÍ”‰‚ÿOutputOutput is an image with n(int_list 1) number of frames. Example output will have 2 frames.See also.add, .div5Üã1þ½ÿÿÿÿã¬.muv)® & €€˜‚H€‚ÿ5 ãA, (€€˜‚H€ € ‚ÿ.muv ) j& €€˜‚H€‚ÿ`AÊX ~€€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚‚€ €‚€ €‚ÿSyntax Example Name of MUV file: filenamevector.txt Frames to use: int_list3,4DescriptionMultiplication of selected frames by a vector of floating point values. Vector must be written in ASCII, better with .txt extension to be easily viewed by opening menu. If the vector is shorter than number of frames in the frames list, it will be continued with '1's and the warning will appear unless working in USER mode. The longer list will be cut to the length of frames list int_list. â‘j¬Q p€#€˜‚H€‚€ €‚€ €‚‚€ €‚ƒã¿×‰ãÈ׉ãT‰‚ÿOutputOutput is an image with n(int_list 1) number of frames. Example output will have 2 frames.See also.muc, .mul, .tim5Êá1^ÿÿÿÿÿá .rot)¬ & €€˜‚H€‚ÿ5 á? , (€€˜‚H€ € ‚ÿ.rot ) h & €€˜‚H€‚ÿ¢3?  o ¬€g€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚‚€ €‚‚‚€ €‚€ €‚‚ÿSyntax Example Rotation Angle, deg: float27.53 Rotation centre (x0, y0): int, int256, 256Frames to rotate: int_list4-6DescriptionRotation is counter-clockwise.OutputOutput is an image with n(int_list) number of frames. Example output will have 3 frames.5h ? 1Ó½Îÿÿÿÿ? Ý .shf) h & €€˜‚H€‚ÿ5 ?  , (€€˜‚H€ € ‚ÿ.shf )h Æ & €€˜‚H€‚ÿÀ Ý W |€€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒƒ‚‚€ €‚‚ƒ‚ƒ‚ÿSyntax Example Shift, x_, y_: int, int1, -5 Frames to shift: int_list3DescriptionShifting x axis: + for right, - for left y axis: + for down, - for up5Æ  1=ÿ€ÿÿÿÿ &@.sum)Ý ; & €€˜‚H€‚ÿ5  p , (€€˜‚H€ € ‚ÿ.sum ); ™ & €€˜‚H€‚ÿ6¼p Ïz €y€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚‚€ €‚€€‚‚€ €‚€ €€ €‚ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512 Vertical limits, [y1, y2]: int, int 1, 512 Frames to sum: int_list 13-15 DescriptionThe .sum command sum frames from current file.You may restrict the region by selecting a rectangle.OutputOutput is an image with n(int_list) number of frames and (x2-x1+1)x(y2-y1+1) frame dimensions. They are 3 frames of 512x512 in the example.K™ &@5 :€,€˜‚H€‚€ €‚ƒã@Ï&@Ý ‰‚ÿSee also.ave5Ï[@1Ϋ‚ÿÿÿÿ[@,D.tim)&@„@& €€˜‚H€‚ÿ5 [@¹@, (€€˜‚H€ € ‚ÿ.tim )„@â@& €€˜‚H€‚ÿ ²¹@ïB[ „€e€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚‚€ €‚‚‚‚‚‚‚‚‚‚‚ÿSyntax Example Name of TIM file: filenamevector.txt Frames to use: int_list3,4DescriptionDivision of selected frames by the time of exposure. TIM file is necessarily ASCII format, first lines could contain comments (line starting with ';'). ; milliseconds ; current experiment 1 0.01 0.01 2 0.1 0.01 3 50 500 4 50 0.01 first row: frame numbersecond row: lifetime=êâ@,DS t€Õ€˜‚H€‚‚‚€ €‚€ €‚‚€ €‚ƒã¿×‰ãÈ׉ãT‰‚ÿ[third row](optional): deadtime - does not work!Deadtime input is in the command line.OutputOutput is an image with n(int_list 1) number of frames. Example output will have 2 frames.See also.muc, .mul, .tim5ïBaD1b€Ö… ÿÿÿÿaDŽH.usr),DŠD& €€˜‚H€‚ÿ5 aD¿D, (€€˜‚H€ € ‚ÿ.usr )ŠDèD& €€˜‚H€‚ÿ¹¿DûFZ ‚€s€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒ‚‚€ €‚€ €€ €‚‚‚‚‚‚‚‚‚‚ÿSyntax Example User filename: char* usr.txt DescriptionUser file is a command list. It should start with open and end with close. In between you may place commands with corresponding parameter lines. Every command, filename or parameter line must be placed in the separate lines. Here is an example of user file: open D38000.BK6 .hor 100, 200 200, 250 1 save D38HOR.txt “cèDŽH0 .€Ç€˜‚H€‚‚‚‚‚‚‚‚‚‚ÿ .shf 10, -2 1 .mih 256 save D38000.MIH close In this example result of horizontal integration is passed to 1D graphics window and saved to the text file. Then the Source file D38000.BK6 is shifted, and the result of the shifting is mirrored horizontally. The output image (shifted and mirrored) is saved as D38000.MIH. 5ûFÃH1„«‚h†!ÿÿÿÿÃHJ.val)ŽHìH& €€˜‚H€‚ÿ5 ÃH!I, (€€˜‚H€ € ‚ÿ.val )ìHJI& €€˜‚H€‚ÿȃ!IJE X€€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒƒ‚‚€ €‚‚ÿSyntax Example Point (x, y): int, int10, 50 DescriptionGives the intensity value in the point (x, y).5JIGJ1[Ö…E‰"ÿÿÿÿGJmN.ver)JpJ& €€˜‚H€‚ÿ5 GJ¥J, (€€˜‚H€ € ‚ÿ.ver )pJÎJ& €€˜‚H€‚ÿ¢¥JpM‡ Ü€7€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚€ ƒ€ €ƒƒƒƒ‚‚€ €‚€ €€ €‚€ €ãÕ›ô1‰‚ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512Vertical limits, [y1, y2]: int, int 1, 512Frames to use: int_list3,4Display plot: bool 1 DescriptionVertical integration in the selected frame. For every x integration is plain sum of all points in the [y1, y2] interval. If Display plot is true and only one frame is selected, the result is passed to 1D graph window. If number of selected frames is more than 1, the output files will be written named "fXXver.txt".ý³ÎJmNJ b€g€˜‚H€‚€ €‚€ €‚‚€ €‚ƒã¯²‰ã¿¹‰ÿOutputThe output file is in ASCII format. Data is in two columns: pixel(x) number, integrated value. The dimension of new file is x2-x1+1.See also.hor, .int.5pM¢N1Ÿh†I#ÿÿÿÿ¢N.wrh)mNËN& €€˜‚H€‚ÿ5 ¢NO, (€€˜‚H€ € ‚ÿ.wrh )ËN)O& €€˜‚H€‚ÿôžO)€V z€=€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚‚ÿSyntax Example Bad wires interval, [x1, x2]: int, int 1, 512 Npoints to average: int 1.5 Frames t)O)€mNo use: int_list 2, 3 8)Oa€) "€€˜‚H€ €‚ÿDescriptionI#)€ª€& €F€˜‚H€‚ÿA huck. Do not use this command.)a€Ó€& €€˜‚H€‚ÿEª€1 2€(€˜‚H€ €‚ƒã‹‰‚ÿSee also.wrv5Ó€M1ŸE‰?$ÿÿÿÿM·ƒ.wrv)v& €€˜‚H€‚ÿ5 M«, (€€˜‚H€ € ‚ÿ.wrv )vÔ& €€˜‚H€‚ÿôž«È‚V z€=€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒƒ‚‚ÿSyntax Example Bad wires interval, [y1, y2]: int, int 1, 512 Npoints to average: int 1.5 Frames to use: int_list 2, 3 8Ôƒ) "€€˜‚H€ €‚ÿDescriptionI#È‚Iƒ& €F€˜‚H€‚ÿA huck. Do not use this command.)ƒrƒ& €€˜‚H€‚ÿEIƒ·ƒ1 2€(€˜‚H€ €‚ƒã}‰‚ÿSee also.wrh5rƒìƒ1¥Iÿÿÿÿ%ÿÿÿÿìƒ\‡.zer)·ƒ„& €€˜‚H€‚ÿ5 ìƒJ„, (€€˜‚H€ € ‚ÿ.zer )„s„& €€˜‚H€‚ÿ°J„y…V z€a€˜‚H€ €ƒƒƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚€ ƒ€ €ƒƒ‚‚ÿSyntax Example Horizontal limits, [x1, x2]: int, int 1, 512 Vertical limits, [y1, y2]: int, int 1, 512 Frames to proceed: int_list 2, 3 8s„±…) "€€˜‚H€ €‚ÿDescriptionX2y… †& €d€˜‚H€‚ÿZero negative values in the selected rectangle.)±…2†& €€˜‚H€‚ÿ3 †e†) "€€˜‚H€ €‚ÿOutputyM2†Þ†, (€š€˜‚H€€ €‚ÿOutput is n(int_list) file with the same frame dimensions as the Source.)e†‡& €€˜‚H€‚ÿUÞ†\‡7 >€<€˜‚H€ €‚ƒã8~‰ã–‰‚ÿSee also.adc, .cut1‡ÿÿÿÿ1ÿÿÿÿÿÿÿÿ&ÿÿÿÿÿÿÿÿÿÿÿÿKB¨Times New RomanSymbolArialMS SerifMS Sans Serifÿd2d2 ‰€ ‡Áxƒ^€œ‚ƒõ†x‡t…ôúY_z‚+„ÀÑ€®‚Ù…k†H‰LB/&;)F24ÿÿ ¸ ÿÿÿÿadcaddargasc avecsvcutdisdiv frm$gau(hor,inf0int4log8max<mih@mirDmivHmucLmulPmuvTrotXshf\sum`timdusrhvallverpwrhtwrvxzer|/&;)Lzÿÿ'‡'ÿÿÿÿbs v5.1ËIntroduction•FaceP General3‡f_format€Commandsq….inf‡.adcœ‰.add¾.argu.asc€.ave[.csv€.cut™.disƒ.divò†.frmu‡.gau.horñ.int÷.log.maxV.mih\.mirw‚.miv(„.muc.mul.muv½.rotÿ.shfÎ.sum€.tim«‚.usrÖ….valh†.verE‰.wrhI.wrv?.zerº/&;)L4ÿÿ--ÿÿÿÿfÊP Q$ö¢è/R¿£Ëíͨ־)8~ ‡9~–€Á½€x@ƒB^–€Ê”œÍ”‚ƒ¹¤õ†©x‡¯²±¹t…¿¹ôˆÏúxÔÀÕYÊÕ_ÎÕz‚¿×+„È×Ò×ëúÀéÑT€@®‚mÙ…k†}H‰‹L3B±.•WÙ3b «Ø;Ÿ ƒ€Õ›ô1ûƒÒ2Ä=3‡;Ýå>€^óòOT†