<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.advacam.cz/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MarekL</id>
	<title>ADVACAM Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.advacam.cz/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MarekL"/>
	<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/wiki/Special:Contributions/MarekL"/>
	<updated>2026-05-09T10:48:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=File_types&amp;diff=1624</id>
		<title>File types</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=File_types&amp;diff=1624"/>
		<updated>2026-02-04T13:42:01Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* T3PA files details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Summary =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|+ General image/data files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 40px;&amp;quot;| &#039;&#039;&#039;txt&#039;&#039;&#039; || &#039;&#039;&#039;ASCII frame&#039;&#039;&#039;. Text files with img lines converted to text lines with numbers separated by spaces.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;pbf&#039;&#039;&#039; || &#039;&#039;&#039;Pixet binary frame&#039;&#039;&#039;. Simple binary files, numbers only.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;pmf&#039;&#039;&#039; || &#039;&#039;&#039;Pixet multi frame&#039;&#039;&#039;. Default is same as the txt, but multiple frames on top of each other. Can use BINARY flag.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;t3pa&#039;&#039;&#039; || &#039;&#039;&#039;Tpx3 pixels ASCII&#039;&#039;&#039;. Text, CSV-like format, tab-separated columns with the header in the first row. Biggest to saving.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;t3p&#039;&#039;&#039; || &#039;&#039;&#039;Tpx3 pixels&#039;&#039;&#039;. Binary format. Lower saved size than T3PA, contains simple repeats of 1 structure.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;t3r&#039;&#039;&#039; || &#039;&#039;&#039;Tpx3 raw&#039;&#039;&#039;. Complete data stream of Tpx3 chips. Lahge to saving, difficult to understand, slow to processing and can cause processing errors.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;png&#039;&#039;&#039; || Lossless compressed image. Easy to view, but not good for data processing.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;tiff&#039;&#039;&#039; || &#039;&#039;&#039;TIFF, TIF&#039;&#039;&#039;, high bit-depth file usable in common graphic softwares or data processing.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;h5&#039;&#039;&#039; || &#039;&#039;&#039;HDF5&#039;&#039;&#039;, hierarchical data format 5. Used as one of multi-frame formats.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|+ Files auxilliary for image/data&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 40px;&amp;quot;| &#039;&#039;&#039;dsc&#039;&#039;&#039; || Text metadata list saved beside a standard multiframe files (PMF for example).&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;info&#039;&#039;&#039; || Text metadata list saved beside other than standard multiframe files (T3PA for example).&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;idx&#039;&#039;&#039; || Binary index for multi-frame files. Two formats existing.&amp;lt;br&amp;gt;&lt;br /&gt;
Usesfull for fast access to n-th frame of large text files, necessary for frame seeking in binary sparse files.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|+ Special data files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 40px;&amp;quot;| &#039;&#039;&#039;clog, plog&#039;&#039;&#039; || &#039;&#039;&#039;Clusters/pixels logs&#039;&#039;&#039;. Text files contains clusters separated to frames with pixels lists. Historic formats for saving a data with few hited pixels in a frames. (&#039;&#039;&#039;obsolette&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;bstg&#039;&#039;&#039; || &#039;&#039;&#039;Binary settings&#039;&#039;&#039; file. Measured or processed data with all configuration.&amp;lt;br&amp;gt;&lt;br /&gt;
See [[Binary_Spectral_Imaging_API#BSTG_files:_pxpSiSaveToFile_and_pxpSiLoadFromFile|Binary Spectral Imaging API: BSTG files]] or see the &amp;quot;Spectraimg and data files&amp;quot; chapter in the Python API manual.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;vtxt&#039;&#039;&#039; || &#039;&#039;&#039;ASCII vertical&#039;&#039;&#039; CSV-like file used in PIXet Basic and Clustering plugin for saving histograms&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|+ Configuration files&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 40px;&amp;quot;| &#039;&#039;&#039;xml&#039;&#039;&#039; || See [[Files_and_directories_of_the_Pixet_and_SDK#Configuration_XML_files|&#039;&#039;&#039;#Configuration XML files&#039;&#039;&#039;]]&lt;br /&gt;
# &#039;&#039;&#039;Device settings&#039;&#039;&#039;. Device configuration and calibration files. Name like as MiniPIX-A06-W0050.xml.&lt;br /&gt;
# &#039;&#039;&#039;Pixet Pro devcontrol settings&#039;&#039;&#039; Name like as devcontrol_MiniPIX-A06-W0050.xml.&lt;br /&gt;
# &#039;&#039;&#039;Pixet Basic devcontrol settings&#039;&#039;&#039; Name like as eduview_MiniPIX-A06-W0050.xml.&lt;br /&gt;
# &#039;&#039;&#039;User configuration&#039;&#039;&#039; files from ISettings object&lt;br /&gt;
# &#039;&#039;&#039;Pixel matrix configuration&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;DAC settings&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ini&#039;&#039;&#039; || See [[Files_and_directories_of_the_Pixet_and_SDK#pixet.ini_file|&#039;&#039;&#039;pixet.ini file&#039;&#039;&#039;]]&lt;br /&gt;
# &#039;&#039;&#039;pixet.ini&#039;&#039;&#039; Main configuration file of the Pixet core&lt;br /&gt;
# &#039;&#039;&#039;hwlibname.ini&#039;&#039;&#039; Configuration of single hwlib. Name like as minipix.ini, zem.ini, zest.ini...&lt;br /&gt;
# &#039;&#039;&#039;pluginname.ini&#039;&#039;&#039; Configuration of a plugin in the Pixet program.&lt;br /&gt;
: &#039;&#039;&#039;Note&#039;&#039;&#039; Since 2025/09 release &#039;&#039;&#039;format changed&#039;&#039;&#039; to fully standard ini&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;txt&#039;&#039;&#039; ||&lt;br /&gt;
# &#039;&#039;&#039;(ASCII frames)&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Calibation files&#039;&#039;&#039; Set of 4 txt files with ASCII frames containing abct constants for each pixel&lt;br /&gt;
# &#039;&#039;&#039;Pixel matrix configuration&#039;&#039;&#039; ASCII frame containing complete pixel matrix configuration, mask bits, test bits, or THL adjustments.&lt;br /&gt;
# &#039;&#039;&#039;DAC settings&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;mcf&#039;&#039;&#039; ||&lt;br /&gt;
: &#039;&#039;&#039;OBSOLETE&#039;&#039;&#039;: Support can ended without previous warning&lt;br /&gt;
# Pixel matrix configuration&lt;br /&gt;
# DAC settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;bpc&#039;&#039;&#039; ||&lt;br /&gt;
: &#039;&#039;&#039;OBSOLETE&#039;&#039;&#039;: Support can ended without previous warning&lt;br /&gt;
# Pixel matrix configuration&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= File type and extensions constants =&lt;br /&gt;
There are constants for file types and extensions. It can be used with [[Python API | &#039;&#039;&#039;Python API&#039;&#039;&#039;]] for filenames testing or with acquisition functions. But &#039;&#039;&#039;mostly PX_FTYPE_AUTODETECT will be enough&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Python example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=Python&amp;gt;&lt;br /&gt;
# measure and save one 0.25 second frame to png file named &amp;quot;testFile.png&amp;quot;&lt;br /&gt;
dev.doSimpleAcquisition(1, 0.25, pixet.PX_FTYPE_PNG, &amp;quot;testFile&amp;quot;)&lt;br /&gt;
dev.doSimpleAcquisition(1, 0.25, pixet.PX_FTYPE_AUTODETECT, &amp;quot;testFile.png&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! colspan=3 | File types and extensions constants table &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
! File type constants !! File extensions constants !! Ext value&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_NONE || (No direct file saving – data stored only in memory) ||&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_AUTODETECT || (FTYPE detected by extension in a filename) ||&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_ASCII_FRAME || PX_EXT_ASCII_FRAME || &amp;quot;txt&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_BINARY_FRAME || PX_EXT_BINARY_FRAME || &amp;quot;pbf&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_MULTI_FRAME || PX_EXT_MULTI_FRAME || &amp;quot;pmf&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_BINARY_MULTIFRAME || PX_EXT_BINARY_MULTI_FRAME || &amp;quot;bmf&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_TPX3_PIXELS || PX_EXT_TPX3_PIXELS || &amp;quot;t3p&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_TPX3_PIXELS_ASCII ||PX_EXT_TPX3_PIXELS_ASCII || &amp;quot;t3pa&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_CLUSTER_LOG || PX_EXT_CLUSTER_LOG || &amp;quot;clog&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_PIXEL_LOG || PX_EXT_PIXEL_LOG || &amp;quot;plog&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_PNG || PX_EXT_PNG || &amp;quot;png&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_TPX3_RAW_DATA || PX_EXT_TPX3_RAW_DATA || &amp;quot;t3r&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_PIXET_RAW_DATA || PX_EXT_PIXET_RAW_DATA || &amp;quot;prd&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PX_FTYPE_EXTERNAL || (reserved) ||&lt;br /&gt;
|-&lt;br /&gt;
| (description file saved automatically with pmf/txt) || PX_EXT_FRAME_DESC || &amp;quot;dsc&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| (index file saved automatically with pmf/txt) || PX_EXT_INDEX || &amp;quot;idx&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= File saving flags summary =&lt;br /&gt;
File saving flags can do additional settings for file(s) saving.&lt;br /&gt;
* Can be used in &#039;&#039;&#039;saving&#039;&#039;&#039; files or in &#039;&#039;&#039;doAdvancedAcquisition&#039;&#039;&#039; python methods, for example.&lt;br /&gt;
* Flags can be combined.&lt;br /&gt;
* Default frame file settings is set of separate subframes text files, with all pixels include zeros, each subframe with idx+dsc files:&lt;br /&gt;
:: file_ToT.pmf, file_ToT.pmf.dsc, file_ToT.pmf.idx, file_ToA.pmf, file_ToA.pmf.dsc, file_ToA.pmf.idx&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ File saving flags&lt;br /&gt;
|-&lt;br /&gt;
! Flag constant base name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| PX_FRAMESAVE_BINARY || Use binary format in pmf.&lt;br /&gt;
|-&lt;br /&gt;
| PX_FRAMESAVE_SPARSEX || Index + non-zero pixels in file. # separates (sub)frames.&lt;br /&gt;
|-&lt;br /&gt;
| PX_FRAMESAVE_SPARSEXY || X, Y + non-zero pixel in file. # separates (sub)frames.&lt;br /&gt;
|-&lt;br /&gt;
| PX_FRAMESAVE_NODSC || Do not add dsc file.&lt;br /&gt;
|-&lt;br /&gt;
| PX_FRAMESAVE_NOSUBFRAMES || Do not use subframes, save main frame only.&lt;br /&gt;
|-&lt;br /&gt;
| PX_FRAMESAVE_SUBFRAMES_ONEFILE || Save all subframes to a single file.&lt;br /&gt;
|-&lt;br /&gt;
| PX_FRAMESAVE_SUBFRAMES_SAVEMAINFRAME || Save separate all subframes and main frame extra.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; The file saving flags can be used in&lt;br /&gt;
* &#039;&#039;&#039;Python API&#039;&#039;&#039;: Use pixet.PX_FRAMESAVE_... constants in flags parameter of some measuring/saving methods.&lt;br /&gt;
* &#039;&#039;&#039;Binary API&#039;&#039;&#039;: Use PX_FRAMESAVE_... constants in flags parameter of some measuring functions.&lt;br /&gt;
* The Pixet program. Available in the &#039;&#039;&#039;More measurement settings, after compatible filename was selected&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:File-flags-dialog.png|frame|alt=File saving flags in More measurement settings in Pixet|File saving flags in More measurement settings in Pixet]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= File extensions and flags: TXT/PBF/PMF details =&lt;br /&gt;
&lt;br /&gt;
== The files formats ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;width:50px;&amp;quot;| &#039;&#039;&#039;txt&#039;&#039;&#039; &lt;br /&gt;
|| &#039;&#039;&#039;Text&#039;&#039;&#039; || Single frame in the text file.&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;pbf&#039;&#039;&#039; &lt;br /&gt;
|| &#039;&#039;&#039;Pixet&amp;amp;nbsp;Binary&amp;amp;nbsp;Frame&#039;&#039;&#039; || Single frame in the binary file.&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;pmf&#039;&#039;&#039; &lt;br /&gt;
|| &#039;&#039;&#039;Pixet&amp;amp;nbsp;Multi&amp;amp;nbsp;Frame&#039;&#039;&#039; || Multiframe file with text or binary format, depends on flags used with saving.&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;idx&#039;&#039;&#039; &lt;br /&gt;
|| &#039;&#039;&#039;Index&#039;&#039;&#039; || Binary array of structs with 64b pointers to start of frames, frame metadata and subframes.&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;dsc&#039;&#039;&#039; &lt;br /&gt;
|| &#039;&#039;&#039;Description&#039;&#039;&#039; || List of all metadata for each frame and subframe. Actual device and acquisition parameters, data types, etc. The &amp;quot;Frame name&amp;quot; item can be helpful to orientation in pmf structure if the ONEFILE flag used. The Type=item is helpful to understanding the structure of data if the BINARY flag used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Multi-files names generation ==&lt;br /&gt;
; Note:&lt;br /&gt;
: All the next examples are for Timepix3, single chip, opm = TPX3_OPM_TOATOT&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; flags 0 (default), input filename = &amp;quot;name&amp;quot;, acqCount = 1&lt;br /&gt;
: name_ToA.txt, name_ToA.txt.dsc, name_ToT.txt, name_ToT.txt.dsc&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; acqCount = 6:&lt;br /&gt;
: name_0_ToA.txt, name_0_ToA.txt.dsc, name_0_ToT.txt, ...&lt;br /&gt;
: ...&lt;br /&gt;
: name_5_ToA.txt, name_5_ToA.txt.dsc, ...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; PMF note&lt;br /&gt;
: With each pmf generating &#039;&#039;&#039;.pmf.idx&#039;&#039;&#039; binary file, other is same as TXT with acqCount = 1.&lt;br /&gt;
&lt;br /&gt;
== Files with flags=0 ==&lt;br /&gt;
; Note&lt;br /&gt;
: All the next examples are for Timepix3, single chip, opm = TPX3_OPM_TOATOT&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; TXT file data, default&lt;br /&gt;
: 0 0 0 5 0 0 0 … 256 numbers (int for non-calibrated values or float if the calibration used) and enter&lt;br /&gt;
: 0 872 0 0 0 … 256 numbers (int for non-calibrated values or float if the calibration used) and enter&lt;br /&gt;
: (256 lines)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; PBF file data, default&lt;br /&gt;
: Simple pixels binary data without anything else&lt;br /&gt;
: Data can be typically 16 or 32 bit raw integers with little-endian order and doubles for calibrated data.&lt;br /&gt;
: For example, MiniPIX has single chip, this has 65536 pixels, it&#039;s binary file has 65536 words (size 128 kB binary), sometimes 65536 doubles (size 512 kB binary).&lt;br /&gt;
: The &#039;&#039;&#039;data format&#039;&#039;&#039; can be read in the line starting with Type= line in the [[#DSC files details | &#039;&#039;&#039;DSC file&#039;&#039;&#039;]] saved beside the data file.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; PMF file data, default&lt;br /&gt;
: 0.00000 78.65742 0.00000 … 256 numbers (int for non-calibrated values or float if the calibration used) and enter&lt;br /&gt;
: 0.00000 0.00000 999785.5 … 256 numbers (int for non-calibrated values or float if the calibration used) and enter &lt;br /&gt;
: (256 lines * acqCount)&lt;br /&gt;
&lt;br /&gt;
== Flags influence to files ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ TXT file data: FRAMESAVE_SPARSEX flag&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;| _ToA.txt file !!colspan=&amp;quot;2&amp;quot;| _ToT.txt file&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;px index&#039;&#039;&#039; || &#039;&#039;&#039;ToA&#039;&#039;&#039; || &#039;&#039;&#039;px index&#039;&#039;&#039; || &#039;&#039;&#039;ToT&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 227212.500000 || 0 || 20&lt;br /&gt;
|-&lt;br /&gt;
| 17 || 310685.937500 || 17 || 13&lt;br /&gt;
|-&lt;br /&gt;
| 255 || 265487.500000 || 255 || 11&lt;br /&gt;
|-&lt;br /&gt;
| 1274 || 105728.125000 || 1274 || 9&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;4&amp;quot;| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;| - Lists of all hited pixels&amp;lt;br&amp;gt;- ToT: int for non-calibrated data or float if the calibration used&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ TXT file data: FRAMESAVE_SPARSEXY flag&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;| _ToA.txt file !!colspan=&amp;quot;3&amp;quot;| _ToT.txt file&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;amp;nbsp; || &amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;Y&#039;&#039;&#039;&amp;amp;nbsp; || &#039;&#039;&#039;ToA&#039;&#039;&#039; || &amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;amp;nbsp; || &amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;Y&#039;&#039;&#039;&amp;amp;nbsp; || &#039;&#039;&#039;ToT&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 247 || 3 || 189851.562500 || 247 || 3 || 16&lt;br /&gt;
|-&lt;br /&gt;
| 250 || 4 || 140042.187500 || 250 || 4 || 12&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 9 || 317195.312500 || 5 || 9 || 5&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;6&amp;quot;| - Lists of all hited pixels&amp;lt;br&amp;gt;- ToT: int for non-calibrated data or float if the calibration used&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;PMF file data, pixet.PX_FRAMESAVE_SPARSEX(Y) flag&#039;&#039;&#039;&amp;lt;br&amp;gt;Same as TXT, but containing single lines with only # to separate frames&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! X !! Y !! ToA !! Line description&lt;br /&gt;
|-&lt;br /&gt;
| 232 || 139 || 321620.312500 || frame 1, px 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 252 || 340231.250000 || frame 1, px 2&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;| # || frames separator&lt;br /&gt;
|-&lt;br /&gt;
| 39 || 0 || 258270.312500 || frame 2, px 1&lt;br /&gt;
|-&lt;br /&gt;
| 201 || 0 || 76593.750000 || frame 2, px 2&lt;br /&gt;
|-&lt;br /&gt;
| 92 || 1 || 268642.187500 || frame 2, px 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; PX_FRAMESAVE_SUBFRAMES_ONEFILE&lt;br /&gt;
: All the data is in one file, subframes are placed one behind the other. If the measurement result has 10 frames with 2 subframes A/B, each _n TXT file contains 2 subrfames and the PMF contains 20 frames in order:&lt;br /&gt;
: sfr0A, sfr0B, sfr1A, sfr1B, ...&lt;br /&gt;
: The exact order and names of type of (sub)frames is listed in the DSC file. The DSC have separate records [Fn] for all the items.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; PX_FRAMESAVE_SUBFRAMES_SAVEMAINFRAME&lt;br /&gt;
: The group of the saved files contains the main frame and all subframes. Subframe files end in _sfrName, the main frame does not. In DSC file accompanying the TXT with main frame is not the &amp;quot;Frame name&amp;quot; item.&lt;br /&gt;
: Not applicable if combined with the &#039;&#039;&#039;ONEFILE&#039;&#039;&#039; flag.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; PX_FRAMESAVE_BINARY&lt;br /&gt;
: If the file type supports text and binary format, ex. PMF, save the binary.&lt;br /&gt;
: Not applicable to TXT, must use PBF instead.&lt;br /&gt;
: Data in the file are the simple array of non-calibrated 16 or 32b integers or calibrated doubles. See the DSC file for used data type.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;BINARY + SPARSEXY examples:&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ||&lt;br /&gt;
[[File:File-binary-sparsexy-example.png|frame|none|alt=Example of data saved if flags BINARY+SPARSEXY used|Example of data saved if flags BINARY+SPARSEXY used]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Timepix3 specific data files =&lt;br /&gt;
The Timepix3 have the data-driven mode feature. It is &amp;quot;frameless&amp;quot; mode, where the device can continuously send the data of the pixels just hit indefinitely. Each sent pixel contains information:&lt;br /&gt;
# Pixel position index&lt;br /&gt;
# Event registration time (raw ToA count and FToA, conversion and corrections needed)&lt;br /&gt;
# Energy deposited in a pixel (raw ToT count, need conversion using the chip-specific calibration table containing cal. constants for each pixel)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Theese files can be very large. You can collecting a data from cosmic particles using Minipix continuously for more weeks and get a T3PA sized in tens of megabytes. But if some noising pixel occurs, a files can has many gygabytes per day. If the Advapix used with x-ray mashines or accelerators, the output data can has gigabytes in an instant.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The formats:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;T3PA&#039;&#039;&#039; files are &#039;&#039;&#039;text/csv&#039;&#039;&#039; files with basic data. User can simply see it in text editor and process it in Python etc.&lt;br /&gt;
* &#039;&#039;&#039;T3P&#039;&#039;&#039; files are &#039;&#039;&#039;binary&#039;&#039;&#039; files with basic data same as T3PA. Faster saving, shorter files.&lt;br /&gt;
* &#039;&#039;&#039;T3R&#039;&#039;&#039; files are binary files with complete raw communication data. &#039;&#039;&#039;For special purposes only.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data order&#039;&#039;&#039;&lt;br /&gt;
* The order of the data roughly corresponds to the order of events, so data an hour later will definitely be further in the file.&lt;br /&gt;
* But the exact order corresponds to the order in which the data came from the device, so for example a later event that occurred at the edge where the chip is read can be recorded earlier than an earlier event that occurred further from the edge.&lt;br /&gt;
* The unevenness of the order occurs from tens of ns on a lightly loaded Advapix to several ms with a heavy load on the Minipix.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;How to get the files:&#039;&#039;&#039;&lt;br /&gt;
* In the [[PIXet|&#039;&#039;&#039;Pixet&#039;&#039;&#039;]] program set operation mode to ToA+ToT and use the &amp;quot;Pixels&amp;quot; measurement type and turn on file saving.&lt;br /&gt;
* In the [[Binary_core_API|&#039;&#039;&#039;binary API&#039;&#039;&#039;]] using programs set operation mode to PXC_TPX3_OPM_TOATOT and use the [[Binary_core_API#pxcMeasureTpx3DataDrivenMode|&#039;&#039;&#039;pxcMeasureTpx3DataDrivenMode&#039;&#039;&#039;]] function.&lt;br /&gt;
* In the [[Python API|&#039;&#039;&#039;Python API&#039;&#039;&#039;]] using programs set operation mode to pixet.PX_TPX3_OPM_TOATOT and use the dev.&#039;&#039;&#039;doAdvancedAcqquisition&#039;&#039;&#039; with acqType=pixet.PX_ACQTYPE_DATADRIVEN.&lt;br /&gt;
&lt;br /&gt;
== T3PA files details ==&lt;br /&gt;
The &#039;&#039;&#039;Timepix3 pixels ASCII file&#039;&#039;&#039; is timepix3 data file in text format with lines and tabs. Can be read as CSV, but its size is not limited to sizes readable by Office-like programs . Contains the header line and data lines with record index, pixel index in the matrix, Time of arrival, Time over threshold, Fine ToA and Overflow.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The T3PA example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Index   Matrix Index    ToA     ToT     FToA    Overflow&lt;br /&gt;
0       1028    1918    14      22      0&lt;br /&gt;
1       1028    3126    8       28      0&lt;br /&gt;
2       1028    3778    5       23      0&lt;br /&gt;
...&lt;br /&gt;
156003  39793   98473646054     38      9       0&lt;br /&gt;
156004  190     98492090610     19      3       0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;Index&#039;&#039;&#039; is simple index of measurement line. This growing while measurement is running. If you append new measurement to existing file, new index is 0 again and again growing while new measurement is running.&lt;br /&gt;
[[File:Minipix-pixel00.png|frame|right|alt=Physical position of the x=0, y=0 pixel on the Minipix|Physical position of the x=0, y=0 pixel on the Minipix]]&lt;br /&gt;
* The &#039;&#039;&#039;Matrix Index&#039;&#039;&#039; is index of the pixel. On the Minipix Tpx3 is 0 at the left-down (see image)&lt;br /&gt;
* The &#039;&#039;&#039;ToA&#039;&#039;&#039; is time of arrival in units 25 ns, mod by limit specific by device type.&lt;br /&gt;
:: For example Minipix 2&amp;lt;sup&amp;gt;64&amp;lt;/sup&amp;gt; (14600y), Advapix-single 2&amp;lt;sup&amp;gt;30&amp;lt;/sup&amp;gt; (26s), Advapix-Quad 2&amp;lt;sup&amp;gt;28&amp;lt;/sup&amp;gt; (6.5s).&lt;br /&gt;
: &#039;&#039;&#039;Note:&#039;&#039;&#039; The ToA on-chip implementation in the pixels is limited to 14 bits (409.6 µs).&lt;br /&gt;
:: The ToA in T3PA is extended by device. But there is inherent uncertainty around the borders. These values may be incorrectly assigned. Users not comfortable with our extension can apply AND with (uint64)16383 to extended ToA to get original ToA from the chip.&lt;br /&gt;
* The &#039;&#039;&#039;ToT&#039;&#039;&#039; is time over threshold in units 25 ns.&lt;br /&gt;
* The &#039;&#039;&#039;FToA&#039;&#039;&#039; stands for &amp;quot;fine ToA&amp;quot; and it is the finest step of the ToA measurement. To properly account for this step in the conversion of ToA to time, it is necessary to subtract the amount of counts of fToA in the following manner:&lt;br /&gt;
:: &#039;&#039;&#039;Time [ns] = 25*ToA - (25/16)*fToA&#039;&#039;&#039;&lt;br /&gt;
: The original range of this fToA value in the chip is 4 bits, or 16 values. This is extended in the post-processing of the data into 5 bits, or 32 values to include a correction for Intentional phase shift of clocks propagated into the columns of the chip. The final value exported into t3pa files has a range of 5 bits, or 32 values, but the previous equation still stands.&lt;br /&gt;
* The &#039;&#039;&#039;Overflow&#039;&#039;&#039; is sign of data transfer overflow or other special cases.&lt;br /&gt;
:: &#039;&#039;&#039;Note:&#039;&#039;&#039; In data from multichip devices, there is not Overflow, replaced by Chip index (=copy of bits 16+ of Matrix Index. But column name is still Overflow).&lt;br /&gt;
:* If the line has this &#039;&#039;&#039;1 - data transfer overflow&#039;&#039;&#039;:&lt;br /&gt;
::: matrix index = 0x74: start of lost data&lt;br /&gt;
::: matrix index = 0x75: end of lost data, toa is length of the missing time&lt;br /&gt;
::: (this can occurs with rates over megahits per seconds for Minipix)&lt;br /&gt;
::: matrix index = 0: Data corruption event detected - all next data can be corrupted&lt;br /&gt;
:* If the line has this &#039;&#039;&#039;10 - trigger timestamp&#039;&#039;&#039; (If the &#039;&#039;&#039;trgTimeStamp&#039;&#039;&#039; feature is enabled):&lt;br /&gt;
::: matrix index = 0, ToT = 0&lt;br /&gt;
::: ToA = Timestamp of arrival external sync pulse to the device.&lt;br /&gt;
::: FToA = Count of expected ToA counter overflows.&lt;br /&gt;
::: If the &#039;&#039;&#039;trgTimeStamp&#039;&#039;&#039; feature is enabled, every sync pulse cause creating of one line record, independent of sync is or is not used to start of the acquisition. Timestamps can be recorded some time before the measurement starts. They may have zero or, conversely, an arbitrarily high value.&lt;br /&gt;
::: Warnings:&lt;br /&gt;
:::* Be careful about having too high values ​​in the FToA column (increment every 409.6 µs).&lt;br /&gt;
:::* Primary internal development/testing feature. It is possible that other firmware versions has a different format and meaning of the numbers.&lt;br /&gt;
&lt;br /&gt;
* Related: [[The_RawTpx3Pixel_structure_in_memory#Explanation_of_the_struct|The RawTpx3Pixel structure in memory: Explanation of the struct]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If &#039;&#039;&#039;saving of the T3PA repeated to the same file&#039;&#039;&#039;, new data will be append with new reset of record index and ToA and the file containing parts is like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
507812	353	39993345	1022	15	0&lt;br /&gt;
507813	46177	39999843	159	2	0&lt;br /&gt;
507814	45921	39999843	159	2	0&lt;br /&gt;
0	421	2	13	29	0&lt;br /&gt;
1	297	2	22	27	0&lt;br /&gt;
2	297	145	62	17	0&lt;br /&gt;
3	297	283	19	13	0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== T3P files details ==&lt;br /&gt;
&#039;&#039;&#039;Timepix3 Binary Pixels&#039;&#039;&#039; is similar to t3pa file without record index. And the numbers are not saved as ASCII, but binary. The file contains one pixel after each other. Each pixel in this format:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
u32 matrixIdx;&lt;br /&gt;
u64 toa;&lt;br /&gt;
byte overflow;&lt;br /&gt;
byte ftoa;&lt;br /&gt;
u16 tot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;T3P file contents example:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
|+ As see in a HEX editor&lt;br /&gt;
|- &lt;br /&gt;
| 5E86 || 0000 || 1E0B || 0000&lt;br /&gt;
|-&lt;br /&gt;
| 0000 || 0000 || 0005 || 0300&lt;br /&gt;
|-&lt;br /&gt;
| 6087 || 0000 || 1E0B || 0000&lt;br /&gt;
|-&lt;br /&gt;
| 0000 || 0000 || 0005 || 0400&lt;br /&gt;
|-&lt;br /&gt;
| 6387 || 0000 || 1F0B || 0000&lt;br /&gt;
|-&lt;br /&gt;
| 0000 || 0000 || 001B || 0100&lt;br /&gt;
|-&lt;br /&gt;
| 6486 || 0000 || 1E0B || 0000&lt;br /&gt;
|-&lt;br /&gt;
| 0000 || 0000 || 0015 || 0400&lt;br /&gt;
|-&lt;br /&gt;
| 5D84 || 0000 || 1F0B || 0000&lt;br /&gt;
|-&lt;br /&gt;
| 0000 || 0000 || 0010 || 0200&lt;br /&gt;
|-&lt;br /&gt;
| 89BD || 0000 || 240B || 0000&lt;br /&gt;
|-&lt;br /&gt;
| 0000 || 0000 || 0015 || 0D00&lt;br /&gt;
|-&lt;br /&gt;
| 5F80 || 0000 || 1E0B || 0000&lt;br /&gt;
|-&lt;br /&gt;
| 0000 || 0000 || 0002 || 0600&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ||&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&lt;br /&gt;
|+ Redistributed according the structure&lt;br /&gt;
|-&lt;br /&gt;
! pxIdx&amp;lt;br&amp;gt;4 B !! ToA&amp;lt;br&amp;gt;8 B !! Over&amp;lt;br&amp;gt;1 B !! fToA&amp;lt;br&amp;gt;1 B !! ToT&amp;lt;br&amp;gt;2 B&lt;br /&gt;
|-&lt;br /&gt;
| 5E 86 00 00 || 1E 0B 00 00 00 00 00 00 || 00 || 05 || 03 00&lt;br /&gt;
|-&lt;br /&gt;
| 60 87 00 00 || 1E 0B 00 00 00 00 00 00 || 00 || 05 || 04 00&lt;br /&gt;
|-&lt;br /&gt;
| 63 87 00 00 || 1F 0B 00 00 00 00 00 00 || 00 || 1B || 01 00&lt;br /&gt;
|-&lt;br /&gt;
| 64 86 00 00 || 1E 0B 00 00 00 00 00 00 || 00 || 15 || 04 00&lt;br /&gt;
|-&lt;br /&gt;
| 5D 84 00 00 || 1F 0B 00 00 00 00 00 00 || 00 || 10 || 02 00&lt;br /&gt;
|-&lt;br /&gt;
| 89 BD 00 00 || 24 0B 00 00 00 00 00 00 || 00 || 15 || 0D 00&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; Corresponding start of T3PA&lt;br /&gt;
: Index &amp;amp;nbsp;	Matrix Index &amp;amp;nbsp;	ToA &amp;amp;nbsp;	ToT &amp;amp;nbsp;	FToA &amp;amp;nbsp;	Overflow&lt;br /&gt;
: 0  &amp;amp;nbsp; 34398  &amp;amp;nbsp; 2846   &amp;amp;nbsp; 3  &amp;amp;nbsp; 5  &amp;amp;nbsp; 0&lt;br /&gt;
: 1  &amp;amp;nbsp; 34656  &amp;amp;nbsp; 2846   &amp;amp;nbsp; 4  &amp;amp;nbsp; 5  &amp;amp;nbsp; 0&lt;br /&gt;
: 2  &amp;amp;nbsp; 34659  &amp;amp;nbsp; 2847   &amp;amp;nbsp; 1  &amp;amp;nbsp; 27 &amp;amp;nbsp; 0&lt;br /&gt;
: 3  &amp;amp;nbsp; 34404  &amp;amp;nbsp; 2846   &amp;amp;nbsp; 4  &amp;amp;nbsp; 21 &amp;amp;nbsp; 0&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Overflow value&#039;&#039;&#039; - Data transfer overflow indicator or other special value indicator.&amp;lt;br&amp;gt;&lt;br /&gt;
See [[#T3PA files details]] for details and see below for T3P differences in the trgTimeStamp.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;T3P files with trgTimeStamp&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Note: This is old internal testing feature and was not intended for mormal using. If you do want to use it, here&#039;s some info:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If the &#039;&#039;&#039;trgTimeStamp&#039;&#039;&#039; feature is enabled, file can contains lines of tab-divided ASCII numbers. Every record is six numbers divided by tabs (0x09) and ended with line end (0x0A).This is simple T3PA line. See the T3PA with overflow=10 for details.&amp;lt;br&amp;gt;&lt;br /&gt;
Warning: Primary internal development/testing feature. It is possible that other firmware versions has a different format and meaning of the numbers.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Every sync pulse cause creating of one line record. In the file, each sync record and each pixel are simply stored in the order as it arrived on the computer. Any combination of order and number of binary and text records can be expected.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This is a source of complications when using the file. The file must be browsed sequentially as binary pixels. At the first occurrence of faulty or suspicious values (eg high pixel index, high ToA, Overflow&amp;gt;1) assume that the current record is not a pixel, but that the ASCII/tab line starts here and that it ends at 0A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== T3R files ==&lt;br /&gt;
The &#039;&#039;&#039;Timepix3 Raw Data File&#039;&#039;&#039; is special format for testing purposes. This is a dump of raw communication from the device. The file format is device specific, binary, complex and files are very large. Use this only if you have no other option.&lt;br /&gt;
&lt;br /&gt;
= DSC/INFO metadata files =&lt;br /&gt;
The metadata text files are saved beside the data files and containing informations about device and settings used for measuring the data. It can be usable while openning the data file in the Pixet program or in other working with the data.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the API is used to saving the data, programmer can use callback like us &amp;quot;&#039;&#039;&#039;before saving data callback&#039;&#039;&#039;&amp;quot; to add Your specific metadata items or can remove items that will not need.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;DSC&#039;&#039;&#039; are files generated beside the frame data and cotaining information for each frame&lt;br /&gt;
* &#039;&#039;&#039;INFO&#039;&#039;&#039; are files generated beside pixel data and some special data formats&lt;br /&gt;
&lt;br /&gt;
== DSC files details ==&lt;br /&gt;
The first line is &#039;&#039;&#039;header line&#039;&#039;&#039;:&lt;br /&gt;
: Some like as &#039;&#039;&#039;A123456789&#039;&#039;&#039;: B=binary / A=ASCII and number = count of frames in multiframe data file&lt;br /&gt;
Next are &#039;&#039;&#039;frames&#039;&#039;&#039; in format:&lt;br /&gt;
: &#039;&#039;&#039;1. [Fn]&#039;&#039;&#039; - Frame with idx n start: [F0], [F1], ...&lt;br /&gt;
: &#039;&#039;&#039;2. Frame type&#039;&#039;&#039; - Data type, pixel format and frame size: Some like as &amp;quot;Type=i16 [X,C] width=256 height=256&amp;quot;&lt;br /&gt;
:: Pixels format options:&lt;br /&gt;
::: &#039;&#039;&#039;matrix&#039;&#039;&#039; - Whole matrix saved. Number of saved pixels are allways width*height.&lt;br /&gt;
:::: Multiframe data file not contains frame separator.&lt;br /&gt;
::: &#039;&#039;&#039;[X,C]&#039;&#039;&#039; - Hit pixels only. Every saved pixel has matrix index and data value.&lt;br /&gt;
:::: ASCII multiframe data file contains the frame separators.&lt;br /&gt;
:::: The IDX file must be used to find frame begins in binary multiframe file.&lt;br /&gt;
::: &#039;&#039;&#039;[X,Y,C]&#039;&#039;&#039; - Hit pixels only. Every saved pixel has X,Y position and data value.&lt;br /&gt;
:::: ASCII multiframe data file contains the frame separators.&lt;br /&gt;
:::: The IDX file must be used to find frame begins in binary multiframe file.&lt;br /&gt;
: &#039;&#039;&#039;3. Frame metadata&#039;&#039;&#039; - List of metadata items separated by blank lines:&lt;br /&gt;
::: Each metadata item is line triplet:&lt;br /&gt;
:# &amp;quot;Item name&amp;quot; (&amp;quot;Item description&amp;quot;): Example: &amp;quot;Acq time&amp;quot; (&amp;quot;Acquisition time [s]&amp;quot;):&lt;br /&gt;
:# DataType[valCount] Example: double[1]&lt;br /&gt;
:# Values list Example: 0.500000&lt;br /&gt;
:# (blank line)&lt;br /&gt;
: &#039;&#039;&#039;4. (blank line)&#039;&#039;&#039; - end of frame (there are two blank lines, the last metadata item end and the frame end)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In &#039;&#039;&#039;txt.dsc&#039;&#039;&#039; and &#039;&#039;&#039;pbf.dsc&#039;&#039;&#039;, end of the frame is end of the file.&amp;lt;br&amp;gt;&lt;br /&gt;
In the &#039;&#039;&#039;pmf.dsc&#039;&#039;&#039;, next frames or subframes metadata follows.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&#039;&#039;&#039;Some example (PBF 1 frame, with BINARY and SPARSEXY – test_49_ToA.pbf.dsc):&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
B000000001                                      B=binary / A=ASCII and number = count of frames in multiframe file&lt;br /&gt;
[F0]                                            Index of frame in the file = 0&lt;br /&gt;
Type=double [X,Y,C] width=256 height=256        Data type double, X,Y,C = only hit pixels saved and has XY pos.&lt;br /&gt;
&amp;quot;Acq Serie Index&amp;quot; (&amp;quot;Acquisition serie index&amp;quot;):  Some metadata item name and (description)&lt;br /&gt;
u32[1]                                          Type of the item data [number of values]&lt;br /&gt;
49                                              The value&lt;br /&gt;
&lt;br /&gt;
(more metadata items separated by blank lines …)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Frame name&amp;quot; (&amp;quot;Frame name&amp;quot;):&lt;br /&gt;
char[3]&lt;br /&gt;
ToA                                             This is the ToA frame&lt;br /&gt;
&lt;br /&gt;
(more metadata items separated by blank lines …)&lt;br /&gt;
(end of the file)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&#039;&#039;&#039;Other example (PMF 10 frames, with BINARY+SPARSEX+ONEFILE – test.pmf.dsc):&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
B000000010&lt;br /&gt;
[F0]                                            Start of the first subframe&lt;br /&gt;
Type=double [X,C] width=256 height=256          Pixel index and double type pixel data (ToA in ns)&lt;br /&gt;
&amp;quot;Acq Serie Index&amp;quot; (&amp;quot;Acquisition serie index&amp;quot;):&lt;br /&gt;
u32[1]&lt;br /&gt;
0 &lt;br /&gt;
&lt;br /&gt;
(more metadata items separated by blank lines …)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Frame name&amp;quot; (&amp;quot;Frame name&amp;quot;):&lt;br /&gt;
char[3]&lt;br /&gt;
ToA &lt;br /&gt;
(more metadata items separated by blank lines …)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[F1]                                            Start of the second subframe&lt;br /&gt;
Type=i16 [X,C] width=256 height=256             Pixel index and i16 type pixel data (ToT in ticks 40MHz)&lt;br /&gt;
&amp;quot;Acq Serie Index&amp;quot; (&amp;quot;Acquisition serie index&amp;quot;):&lt;br /&gt;
u32[1]&lt;br /&gt;
0&lt;br /&gt;
&lt;br /&gt;
(and the ToT frame metadata, [F2] and ToA subframe, [F3] and ToT sfr, … [Fn] and ToT sfr of (n/2)th frame)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&#039;&#039;&#039;Complete one frame DSC example (PMF 1 frame, BINARY+SPARSEX – test_15_ToA.pbf.dsc):&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
B000000001&lt;br /&gt;
[F0]&lt;br /&gt;
Type=double [X,C] width=256 height=256&lt;br /&gt;
&amp;quot;Acq Serie Index&amp;quot; (&amp;quot;Acquisition serie index&amp;quot;):&lt;br /&gt;
u32[1]&lt;br /&gt;
15&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Acq Serie Start time&amp;quot; (&amp;quot;Acquisition serie start time&amp;quot;):&lt;br /&gt;
double[1]&lt;br /&gt;
1639059034.903085 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Acq time&amp;quot; (&amp;quot;Acquisition time [s]&amp;quot;):&lt;br /&gt;
double[1]&lt;br /&gt;
0.500000&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ChipboardID&amp;quot; (&amp;quot;Chipboard ID&amp;quot;):&lt;br /&gt;
char[9]&lt;br /&gt;
I08-W0060&lt;br /&gt;
&lt;br /&gt;
&amp;quot;DACs&amp;quot; (&amp;quot;DACs&amp;quot;):&lt;br /&gt;
u16[19]&lt;br /&gt;
16 8 128 10 120 1301 501 5 16 8 16 8 40 128 128 128 256 128 128 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Frame name&amp;quot; (&amp;quot;Frame name&amp;quot;):&lt;br /&gt;
char[3]&lt;br /&gt;
ToA&lt;br /&gt;
&lt;br /&gt;
&amp;quot;HV&amp;quot; (&amp;quot;High voltage [V]&amp;quot;):&lt;br /&gt;
double[1]&lt;br /&gt;
-500 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Interface&amp;quot; (&amp;quot;Readout interface&amp;quot;):&lt;br /&gt;
char[7]&lt;br /&gt;
MiniPIX&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Mpx type&amp;quot; (&amp;quot;Medipix type (1-MXR, 2-TPX, 3-MPX3, 4-TPX3, 5-TPX2)&amp;quot;):&lt;br /&gt;
i32[1]&lt;br /&gt;
4 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Pixet version&amp;quot; (&amp;quot;Pixet version&amp;quot;):&lt;br /&gt;
char[5]&lt;br /&gt;
1.7.8&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Start time&amp;quot; (&amp;quot;Acquisition start time&amp;quot;):&lt;br /&gt;
double[1]&lt;br /&gt;
1639059042.934810 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Start time (string)&amp;quot; (&amp;quot;Acquisition start time (string)&amp;quot;):&lt;br /&gt;
char[64]&lt;br /&gt;
Thu Dec 9 15:10:42.934809 2021&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Threshold&amp;quot; (&amp;quot;Threshold [keV]&amp;quot;):&lt;br /&gt;
double[1]&lt;br /&gt;
5.026744&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== INFO files details ==&lt;br /&gt;
* The T3PA.INFO containing metadata in format very similar to one frame of DSC file.&lt;br /&gt;
* Some other INFO files can containing simpliest formated metadata&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;The &#039;&#039;&#039;T3PA.INFO example:&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
[FileInfo]&lt;br /&gt;
&amp;quot;Acq Serie Index&amp;quot; (&amp;quot;Acquisition serie index&amp;quot;):&lt;br /&gt;
u32[1]&lt;br /&gt;
0 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Acq Serie Start time&amp;quot; (&amp;quot;Acquisition serie start time&amp;quot;):&lt;br /&gt;
double[1]&lt;br /&gt;
1704809538.719000 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Acq time&amp;quot; (&amp;quot;Acquisition time [s]&amp;quot;):&lt;br /&gt;
double[1]&lt;br /&gt;
1.000000 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;ChipboardID&amp;quot; (&amp;quot;Chipboard ID&amp;quot;):&lt;br /&gt;
char[9]&lt;br /&gt;
D06-W0065&lt;br /&gt;
&lt;br /&gt;
&amp;quot;DACs&amp;quot; (&amp;quot;DACs&amp;quot;):&lt;br /&gt;
u16[19]&lt;br /&gt;
16 8 128 10 120 1237 437 5 16 8 16 8 40 128 128 128 256 128 128 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;HV&amp;quot; (&amp;quot;High voltage [V]&amp;quot;):&lt;br /&gt;
double[1]&lt;br /&gt;
-450 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Interface&amp;quot; (&amp;quot;Readout interface&amp;quot;):&lt;br /&gt;
char[7]&lt;br /&gt;
MiniPIX&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Mpx type&amp;quot; (&amp;quot;Medipix type (1-MXR, 2-TPX, 3-MPX3, 4-TPX3, 5-TPX2)&amp;quot;):&lt;br /&gt;
i32[1]&lt;br /&gt;
4 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Pixet version&amp;quot; (&amp;quot;Pixet version&amp;quot;):&lt;br /&gt;
char[5]&lt;br /&gt;
1.8.1&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Shutter open time&amp;quot; (&amp;quot;Shutter open timestamp&amp;quot;):&lt;br /&gt;
double[1]&lt;br /&gt;
1704809538.867000 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Start time&amp;quot; (&amp;quot;Acquisition start time&amp;quot;):&lt;br /&gt;
double[1]&lt;br /&gt;
1704809538.867000 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Start time (string)&amp;quot; (&amp;quot;Acquisition start time (string)&amp;quot;):&lt;br /&gt;
char[64]&lt;br /&gt;
Tue Jan  9 15:12:18.867000 2024&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Threshold&amp;quot; (&amp;quot;Threshold [keV]&amp;quot;):&lt;br /&gt;
double[1]&lt;br /&gt;
5.015797 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;The &#039;&#039;&#039;BMF.INFO example:&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
[File Meta Data]&lt;br /&gt;
Acq Serie Index:0&lt;br /&gt;
Acq Serie Start time:1704813831.469&lt;br /&gt;
Acq time:0.001&lt;br /&gt;
ChipboardID:G03-W0259&lt;br /&gt;
DACs:10 100 255 127 127 0 153 6 130 100 80 85 128 128&lt;br /&gt;
HV:-450&lt;br /&gt;
Interface:AdvaPIX&lt;br /&gt;
Mpx type:2&lt;br /&gt;
Pixet version:1.8.1&lt;br /&gt;
Start time:1704813831.633&lt;br /&gt;
Start time (string):Tue Jan  9 16:23:51.633000 2024&lt;br /&gt;
Threshold:5.02649397407217&lt;br /&gt;
Timepix clock:50&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= IDX files details =&lt;br /&gt;
The IDX files are generated with multiframe files to help with fast seeking frames in files. &#039;&#039;&#039;Each frame except first&#039;&#039;&#039; has the basic structure in the IDX file:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
struct IndexItem {&lt;br /&gt;
 i64 dscPos;    // frame position in the DSC file&lt;br /&gt;
 i64 dataPos;   // frame position in the main data file&lt;br /&gt;
 i64 sfPos;     // subframe position if exist subframes file next to the main data file (usually not and =0)&lt;br /&gt;
};&lt;br /&gt;
// Note: CLOG.IDX has no this structure, this in only i64 pointers to frames&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;PMF.IDX&#039;&#039;&#039; files generated beside the PMFs. Contains the simple binary array of structs of 3 little-endian qwords with addresses associated to the start of each frame except first: DSC, frame and subframe.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
; .pmf.idx with BINARY+ONEFILE, ToA+ToT example&lt;br /&gt;
: main data contains&lt;br /&gt;
:* ToA subframes (double*0x10000 = len 0x80000)&lt;br /&gt;
:* ToT subframes (i16*0x10000 = len 0x20000)&lt;br /&gt;
The IDX contains&lt;br /&gt;
# Pointers to frames in DSC file at 0 (not in idx), 0x03B5, 0x075D, 0x0B08, 0x0BE0, ... (points to an empty line before [Fx] line)&lt;br /&gt;
# Pointers to frames in main data file at 0 (not in idx), 0x080000, 0x0A0000, 0x120000, 0x140000, 0x1C0000, ...&lt;br /&gt;
# Pointers to frames in additional subframes file (not exist -&amp;gt; all=0)&lt;br /&gt;
|| &lt;br /&gt;
[[File:File-pmf-idx-example.png|frame|right|alt=.pmf.idx file example|.pmf.idx file example]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= HDF5 files =&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| The HDF5 (&#039;&#039;&#039;.H5&#039;&#039;&#039;) files are general standard binary containers for structured data. If used to save, contains both measured data and metadata.&lt;br /&gt;
* To access theese files, use third party tools like as:&lt;br /&gt;
:* &#039;&#039;&#039;HDFview&#039;&#039;&#039; from HDF Group&lt;br /&gt;
:* &#039;&#039;&#039;h5py&#039;&#039;&#039; python library from HDF Group&lt;br /&gt;
:: See: [[Python_API#Examples|&#039;&#039;&#039;Python API: Examples&#039;&#039;&#039;]] for reading using Python&lt;br /&gt;
:* &#039;&#039;&#039;HDF5 C++ API&#039;&#039;&#039; from HDF Group&lt;br /&gt;
* If you are saving from the API without Pixet, the &#039;&#039;&#039;hdf5io.dll&#039;&#039;&#039; plugin must still be found and listed in the [plugins] section of the pixet.ini file.&lt;br /&gt;
:* See example right &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
:* Note&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; The library is not in the API package. Copy it from the plugins directory in the Pixet program pckage.&lt;br /&gt;
:* See [[Files_and_directories_of_the_Pixet_and_SDK#pixet.ini_file|Files and directories of the Pixet and SDK: &#039;&#039;&#039;pixet.ini&#039;&#039;&#039;]]&lt;br /&gt;
|| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;pixet.ini example with the hdf5io plugin:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=ini highlight=10,11&amp;gt;&lt;br /&gt;
[Settings]&lt;br /&gt;
UseAppDataDir=false&lt;br /&gt;
FactoryDir=C:\Advacam\_factory&lt;br /&gt;
&lt;br /&gt;
[Hwlibs]&lt;br /&gt;
hwlib=hwlibs\minipix.dll&lt;br /&gt;
hwlib=hwlibs\zem.dll&lt;br /&gt;
hwlib=hwlibs\zest.dll&lt;br /&gt;
&lt;br /&gt;
[Plugins]&lt;br /&gt;
plugin=plugins\hdf5io.dll&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;(Old pixet.ini format)&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=ini highlight=10,11&amp;gt;&lt;br /&gt;
[Settings]&lt;br /&gt;
UseAppDataDir=false&lt;br /&gt;
FactoryDir=C:\Advacam\_factory&lt;br /&gt;
&lt;br /&gt;
[Hwlibs]&lt;br /&gt;
hwlibs\minipix.dll&lt;br /&gt;
hwlibs\zem.dll&lt;br /&gt;
hwlibs\zest.dll&lt;br /&gt;
&lt;br /&gt;
[Plugins]&lt;br /&gt;
plugins\hdf5io.dll&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Saving a HDF5 files ==&lt;br /&gt;
* The files can be saved from the Pixet program or by API.&lt;br /&gt;
: [[File:Files-hdf5-saving-pixet.png|frame|none|alt=Saving HDF5 from the Pixet program|Saving HDF5 from the Pixet program:&amp;lt;br&amp;gt;First was saved the &#039;&#039;&#039;test.h5&#039;&#039;&#039;, second the &#039;&#039;&#039;test.h5:meas2&#039;&#039;&#039;]]&lt;br /&gt;
* When saving to an existing file, the data is added to the existing structure in it.&lt;br /&gt;
* Use the AUTODETECT filetype in the API functions using filetype.&lt;br /&gt;
* Saving flags will be ignored.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; Next image showing 3 files in the HDFview program&lt;br /&gt;
# File test1.h5 saved by acquisition of 10 frames with no additional filename settings.&lt;br /&gt;
# File test2.h5 saved by tripple acquisitions of 10 frames, with filename settings &amp;quot;test1.h5:set0&amp;quot;,  &amp;quot;test1.h5:set1&amp;quot; and  &amp;quot;test1.h5:set2&amp;quot;.&lt;br /&gt;
# File test1.h5, existing from first acq., saved again in next acquisition of 10 frames with no additional filename settings.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Files-hdf5-examples.png|frame|none|alt=HDF5 files examples in HDFview|HDF5 files examples in HDFview: Single acq. with 10 frames, triple with structure, first file after second acq.]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The files was saved from the PY script:&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=Python start=60&amp;gt;&lt;br /&gt;
fName = out_dir + &amp;quot;test1.h5&amp;quot;&lt;br /&gt;
print(&amp;quot;doSimpleAcquisition&amp;quot;, fName, &amp;quot;...&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(10, 0.1, pixet.PX_FTYPE_AUTODETECT, fName)&lt;br /&gt;
if rc==0: print(&amp;quot;OK&amp;quot;)&lt;br /&gt;
else:     print(&amp;quot;error:&amp;quot;, rc, dev.lastError())&lt;br /&gt;
fName = out_dir + &amp;quot;test1.h5&amp;quot;&lt;br /&gt;
print(&amp;quot;doSimpleAcquisition&amp;quot;, fName, &amp;quot;...&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(10, 0.1, pixet.PX_FTYPE_AUTODETECT, fName)&lt;br /&gt;
if rc==0: print(&amp;quot;OK&amp;quot;)&lt;br /&gt;
else:     print(&amp;quot;error:&amp;quot;, rc, dev.lastError())&lt;br /&gt;
&lt;br /&gt;
fName = out_dir + &amp;quot;test2.h5:set0&amp;quot;&lt;br /&gt;
print(&amp;quot;doSimpleAcquisition&amp;quot;, fName, &amp;quot;...&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(10, 0.1, pixet.PX_FTYPE_AUTODETECT, fName)&lt;br /&gt;
if rc==0: print(&amp;quot;OK&amp;quot;)&lt;br /&gt;
else:     print(&amp;quot;error:&amp;quot;, rc, dev.lastError())&lt;br /&gt;
fName = out_dir + &amp;quot;test2.h5:set1&amp;quot;&lt;br /&gt;
print(&amp;quot;doSimpleAcquisition&amp;quot;, fName, &amp;quot;...&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(10, 0.1, pixet.PX_FTYPE_AUTODETECT, fName)&lt;br /&gt;
if rc==0: print(&amp;quot;OK&amp;quot;)&lt;br /&gt;
else:     print(&amp;quot;error:&amp;quot;, rc, dev.lastError())&lt;br /&gt;
fName = out_dir + &amp;quot;test2.h5:set2&amp;quot;&lt;br /&gt;
print(&amp;quot;doSimpleAcquisition&amp;quot;, fName, &amp;quot;...&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(10, 0.1, pixet.PX_FTYPE_AUTODETECT, fName)&lt;br /&gt;
if rc==0: print(&amp;quot;OK&amp;quot;)&lt;br /&gt;
else:     print(&amp;quot;error:&amp;quot;, rc, dev.lastError())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pixet structures in HDF5 ==&lt;br /&gt;
As see at the &amp;quot;HDF5 files examples&amp;quot; image in the previous chapter, the acquisition creates the file with structure (or adds to existing):&lt;br /&gt;
# Root name or path if defined by adding :hdfpath at end of filename (optional)&lt;br /&gt;
# Frame list: Frame_0, Frame_1, ...&lt;br /&gt;
# Main frame data: The Data item&lt;br /&gt;
# Basic informations items: AcqTime, Width, Height, StartTime&lt;br /&gt;
# MetaData directory containing same data as saved to the dsc files alongise classic simple data files.&lt;br /&gt;
# SubFrames directory with subframes subdirs named by subframe names (ToA, ToT, Event, iToT, ...) containing same structures as the main frame.&lt;br /&gt;
&lt;br /&gt;
= TIFF images =&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| The TIFF (&#039;&#039;&#039;.TIFF / .TIF&#039;&#039;&#039;) &amp;quot;Tag Image File Format&amp;quot;, files are image format for high-resolution and high-bitDepth data and has multi-page support. If used to save, contains measured data in 32 bit integer format.&lt;br /&gt;
* If saving from API without the Pixet program, the &#039;&#039;&#039;tiffio.dll plugin&#039;&#039;&#039; must still be found and listed in the [plugins] section of the pixet.ini file.&lt;br /&gt;
:* See example right &amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
:* Note&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; The library is not in the API package. Copy it from the plugins directory in the Pixet program pckage.&lt;br /&gt;
:* See [[Files_and_directories_of_the_Pixet_and_SDK#pixet.ini_file|Files and directories of the Pixet and SDK: &#039;&#039;&#039;pixet.ini&#039;&#039;&#039;]]* Note: Multipage format is not yet supported in Pixet. &lt;br /&gt;
* To simplify further data processing, Pixet saving an integer data only in 32bit format without any conversion. Or if data is double/float, the conversion factor is used (change it in the File output tab on Measurement settings dialog).&lt;br /&gt;
* To facilitate processing, an &#039;&#039;&#039;auxiliary file .tiff.aux.xml&#039;&#039;&#039; is also saved with the image. Note: Contents are completelly different from DSC/INFO files.&lt;br /&gt;
* It very often happens that integer data has negligible values ​​against the range of 32 bits (over 4 billion). This can cause the image &#039;&#039;&#039;looks like completely black&#039;&#039;&#039; when viewed in some programs, even though it contains data.&lt;br /&gt;
* The image can be shown in the Pixet. Drag-drop the image to the image zone. Recommended view settings: Auto range / Smart&lt;br /&gt;
|| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;pixet.ini example with the tiffio plugin:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=ini highlight=10,11&amp;gt;&lt;br /&gt;
[Settings]&lt;br /&gt;
UseAppDataDir=false&lt;br /&gt;
FactoryDir=C:\Advacam\_factory&lt;br /&gt;
&lt;br /&gt;
[Hwlibs]&lt;br /&gt;
hwlib=hwlibs\minipix.dll&lt;br /&gt;
hwlib=hwlibs\zem.dll&lt;br /&gt;
hwlib=hwlibs\zest.dll&lt;br /&gt;
&lt;br /&gt;
[Plugins]&lt;br /&gt;
plugin=plugins\tiffio.dll&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;(Old pixet.ini format)&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=ini highlight=10,11&amp;gt;&lt;br /&gt;
[Settings]&lt;br /&gt;
UseAppDataDir=false&lt;br /&gt;
FactoryDir=C:\Advacam\_factory&lt;br /&gt;
&lt;br /&gt;
[Hwlibs]&lt;br /&gt;
hwlibs\minipix.dll&lt;br /&gt;
hwlibs\zem.dll&lt;br /&gt;
hwlibs\zest.dll&lt;br /&gt;
&lt;br /&gt;
[Plugins]&lt;br /&gt;
plugins\tiffio.dll&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Configuration files =&lt;br /&gt;
Ecosystem of the Pixet software containing many configuration files and formats. Part of this was inherited from the old Pixelman program. Do not use formats marked OBSOLETE to save new data. Load old data and save it to new formats before support ends.&lt;br /&gt;
&lt;br /&gt;
== Calibration files ==&lt;br /&gt;
# Threshold DAC/energy curves of every pixel are different. For proper device function the threshold adjustment matrix needed. This data is part of the pixel matrix configuration and it is part of the device XML config file.&lt;br /&gt;
# If the readout chip supports energy measuremnts, You need calibration data for convert digital data to the energy in keVs. Every pixel has own calibration coeficients. It&#039;s values depends on sensor chip local differences.&lt;br /&gt;
::* Calibration in the device config file - simpliest variant. The device config file contains calibration section with encoded binary data.&lt;br /&gt;
::* Set of the calibration files - files named name_a.txt, name_b.txt, name_c.txt and name_t.txt. Data is in the text matrix like in the frame files.&lt;br /&gt;
::* Most functions support using filename &amp;quot;name.xml&amp;quot; or &amp;quot;name_a.txt|name_b.txt|name_c.txt|name_t.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Pixel matrix configuration files ==&lt;br /&gt;
Contains matrix of:&lt;br /&gt;
# threshold adjustment bits of the pixel&lt;br /&gt;
# if the pixel is masked&lt;br /&gt;
# if test is on&lt;br /&gt;
# other bits depending on the chip type&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Overview&lt;br /&gt;
|-&lt;br /&gt;
! &amp;amp;nbsp;&#039;&#039;&#039;bpc&#039;&#039;&#039;&amp;amp;nbsp;&lt;br /&gt;
|| &#039;&#039;&#039;Binary Pixel Configuration&#039;&#039;&#039; || All PM config in one file, meaning of the bits depends on the chip.&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;txt&#039;&#039;&#039; &lt;br /&gt;
|| &#039;&#039;&#039;Ascii Mask Matrix&#039;&#039;&#039; || Text file with pixel mask&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;txt&#039;&#039;&#039; &lt;br /&gt;
|| &#039;&#039;&#039;Ascii Test Bit Matrix&#039;&#039;&#039; || Text file with test bits&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;txt&#039;&#039;&#039; &lt;br /&gt;
|| &#039;&#039;&#039;Ascii THL adj. bits Matrix&#039;&#039;&#039; || Text file with threshold values adjustment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== XML format ==&lt;br /&gt;
Standard XML files&amp;lt;br&amp;gt;&lt;br /&gt;
; Used for&lt;br /&gt;
# &#039;&#039;&#039;Device settings&#039;&#039;&#039;. Device configuration and calibration files. Name like as MiniPIX-A06-W0050.xml.&lt;br /&gt;
# &#039;&#039;&#039;Pixet Pro devcontrol settings&#039;&#039;&#039; Name like as devcontrol_MiniPIX-A06-W0050.xml.&lt;br /&gt;
# &#039;&#039;&#039;Pixet Basic devcontrol settings&#039;&#039;&#039; Name like as eduview_MiniPIX-A06-W0050.xml.&lt;br /&gt;
# &#039;&#039;&#039;User configuration&#039;&#039;&#039; files from ISettings object&lt;br /&gt;
# &#039;&#039;&#039;Pixel matrix configuration&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;DAC settings&#039;&#039;&#039;&lt;br /&gt;
See [[Files_and_directories_of_the_Pixet_and_SDK#Configuration_XML_files|&#039;&#039;&#039;#Configuration XML files&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
== INI format ==&lt;br /&gt;
; Used for&lt;br /&gt;
# &#039;&#039;&#039;pixet.ini&#039;&#039;&#039; Main configuration file of the Pixet core&lt;br /&gt;
# &#039;&#039;&#039;hwlibname.ini&#039;&#039;&#039; Configuration of single hwlib. Name like as minipix.ini, zem.ini, zest.ini...&lt;br /&gt;
# &#039;&#039;&#039;pluginname.ini&#039;&#039;&#039; Configuration of a plugin in the Pixet program.&lt;br /&gt;
See [[Files_and_directories_of_the_Pixet_and_SDK#pixet.ini_file|&#039;&#039;&#039;pixet.ini file&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
; Note&lt;br /&gt;
: The original implementation in Pixet environment &#039;&#039;&#039;was non-standard&#039;&#039;&#039;. Older files have sections, such as [hwlibs], which contain values ​​themselves without name= beginnings.&lt;br /&gt;
: Starting &#039;&#039;&#039;from 2025/09 we are switching to standard INI&#039;&#039;&#039;. In sections where previously item beginnings were missing, we have switched to named items, where the name does not matter.&lt;br /&gt;
&lt;br /&gt;
== TXT format ==&lt;br /&gt;
All except DAC settings is simple matrix with lines containing numbers separated by spaces.&amp;lt;br&amp;gt;&lt;br /&gt;
; Used for&lt;br /&gt;
# &#039;&#039;&#039;(ASCII frames)&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Calibation files&#039;&#039;&#039; Set of 4 txt files with ASCII frames containing abct constants for each pixel&lt;br /&gt;
# &#039;&#039;&#039;Pixel matrix configuration&#039;&#039;&#039; ASCII frame containing complete pixel matrix configuration, mask bits, test bits, or THL adjustments.&lt;br /&gt;
# &#039;&#039;&#039;DAC settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Obsolete files =&lt;br /&gt;
All formats in this chapter are obsolete and, with the exception of CLOG, has not used for long time and it is possible that their support will be removed.&lt;br /&gt;
Pay attention to possible ambiguities when using CLOG.&lt;br /&gt;
&lt;br /&gt;
== CLOG and PLOG files ==&lt;br /&gt;
Old text formats from age of the first Timepix chips. Due to the new use with Tpx3, new ambiguities in CLOG have arisen.&lt;br /&gt;
* &#039;&#039;&#039;CLOG&#039;&#039;&#039; (clusters log) has remained popular in the context of cluster processing.&lt;br /&gt;
* &#039;&#039;&#039;PLOG&#039;&#039;&#039; (pixels log) is currently no longer used.&lt;br /&gt;
&lt;br /&gt;
=== CLOG and CLOG.IDX files details ===&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
The CLOG format was developed to facilitate further processing of cluster data by the user programs. This is a text file divided to the frame records and the records can contain a clusters. Frames and clusters are separated by the line breaks. Frames can be separated by whole free line.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; The record format&lt;br /&gt;
: Frame FN (frameStart, frameAcqTime s)&lt;br /&gt;
: [x, y, energy, ToA] [x, y, energy, ToA] [x, y, energy, ToA] ...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;FN&#039;&#039;&#039; || Frame index number. First 0 or 1.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;frameStart&#039;&#039;&#039; || Start time of the frame. There are variants:&lt;br /&gt;
1. If it from measuring or from replay frame-based data with metadata available:&lt;br /&gt;
: Linux format, frame starting time from PC’s getPrecisionTime.&lt;br /&gt;
2. If it from pixel-based data with metadata available (file.t3pa + file.t3pa.info):&lt;br /&gt;
: Linux format, acq. starting time from PC’s getPrecisionTime with added time from data.&lt;br /&gt;
3. If it from replay data and metadata not available:&lt;br /&gt;
: Nanoseconds from the input data.&lt;br /&gt;
: Periodic increments if source is frame-based, random increments if source is data-driven.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;frameAcqTime&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; || Duration of the frame, float in seconds. Always 0.000000 in data from data-driven sources.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;x, y&#039;&#039;&#039; || Position of the pixel.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;energy&#039;&#039;&#039;* || Energy deposited in the pixel. Integer ToT counter value if not calibrated, float in keV if calibrated.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;ToA&#039;&#039;&#039;* || Time of arrival, relative to frameStart. Integer in CLK ticks if ToA conversion is disabled, float in ns if ToA conversion is enabled.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*&#039;&#039;&#039;ToA+energy records can be created from source that supports combined ToA+ToT modes, like as OPM_TOATOT on the Timepix3. If the data source supports only single modes, only one value is in this position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Clog from &#039;&#039;&#039;data-driven&#039;&#039;&#039; source &#039;&#039;&#039;not&#039;&#039;&#039; contains free frames.&amp;lt;br&amp;gt;&lt;br /&gt;
Clog from &#039;&#039;&#039;frame-based&#039;&#039;&#039; source &#039;&#039;&#039;can&#039;&#039;&#039; contains free frames.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example records&#039;&#039;&#039; (Timepix3, Frame2 with two clusters by 2 and 4 pixels, Frame3 with single 2-pixel cluster)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Frame 2 (273697060.937500, 0.000000 s)&lt;br /&gt;
[214, 195, 43.1598, 0] [220, 191, 20.6515, 7.8125]&lt;br /&gt;
[224, 182, 21.8018, 31.25] [223, 186, 4.58576, 31.25] [222, 183, 38.2381, 31.25] [226, 185, 14.7623, 34.375]&lt;br /&gt;
&lt;br /&gt;
Frame 3 (371034565.625000, 0.000000 s)&lt;br /&gt;
[151, 33, 32.5745, 0] [151, 34, 13.8135, 17.1875]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example records&#039;&#039;&#039; (Timepix)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Frame 6 (1639143482.765164, 0.200000 s)&lt;br /&gt;
[87, 134, 5.75352] [217, 58, 14.8396]&lt;br /&gt;
Frame 7 (1639143483.019154, 0.200000 s)&lt;br /&gt;
Frame 8 (1639143483.261158, 0.200000 s)&lt;br /&gt;
Frame 9 (1639143483.513150, 0.200000 s)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| The &#039;&#039;&#039;CLOG.IDX&#039;&#039;&#039; files generated beside the CLOGs. Contains the simple binary array of little-endian qword addresses of the &amp;quot;F&amp;quot; at each record start.&amp;lt;br&amp;gt;&lt;br /&gt;
; .clog.idx example&lt;br /&gt;
: Pointers to records at 0, 0x29, 0x52, 0x7b, 0xA4, 0xCD, ...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The &#039;&#039;&#039;CLOG.IDX is different&#039;&#039;&#039; from ordinary ones [[#IDX files details|IDX files]].&lt;br /&gt;
|| &lt;br /&gt;
[[File:File-clog-idx-example.png|frame|alt=Example .clog.idx file|Example .clog.idx file]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PLOG files details ===&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Like as CLOG&#039;&#039;&#039;, but with simple lists of hit pixels of a frames.&lt;br /&gt;
* &#039;&#039;&#039;Metatdata section&#039;&#039;&#039; at start.&lt;br /&gt;
* &#039;&#039;&#039;Obsolete&#039;&#039;&#039; format usable only with &#039;&#039;&#039;Timepix&#039;&#039;&#039; (first generation) chips.&lt;br /&gt;
:: Saved data are main frame only.&lt;br /&gt;
:: IDX is like CLOG.IDX, but items points to [ at start of each frame.&lt;br /&gt;
:: Recommended to use PMF with SPARSEX(Y) flag instead it.&lt;br /&gt;
&lt;br /&gt;
== Advapix specific data files ==&lt;br /&gt;
New data formats were created for early AdvaPIX variants based on special requirements, but their use was minimal. This chapter serves mainly in case you have such data from the past and need to process it with your software.&lt;br /&gt;
&lt;br /&gt;
=== BMF details ===&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
This special file contains a &#039;&#039;&#039;binary matrix data from fast measurements&#039;&#039;&#039; (AdvaPIX-Tpx and ModuPIX devices).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Note&lt;br /&gt;
: &#039;&#039;&#039;Obsolete&#039;&#039;&#039; format for obsolete devices&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! BMF files details&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
To save theese files the Advapix-Timepix must be used, set the fast mode by setting acq. time 0.01 sec or shorter and frames count divisible by 100.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The file starts with 13 bytes long header and then is followed by pixel values of each frame. Each frame has a few dummy bytes at the beginning. So the layout of the file is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
[HEADER][Frame 1][Frame 2][Frame 3] ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where header is 13 bytes:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
u32 width;&lt;br /&gt;
u32 height;&lt;br /&gt;
u32 offset;&lt;br /&gt;
char frameType;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;witdh&#039;&#039;&#039; and &#039;&#039;&#039;height&#039;&#039;&#039; is the dimensions of each frame.&lt;br /&gt;
* Each frame data is prepended by &#039;&#039;&#039;offset&#039;&#039;&#039; number of dummy bytes.&lt;br /&gt;
* The &#039;&#039;&#039;frameType&#039;&#039;&#039; specifies the type (variable type) of pixel values. It can be one of the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
CHAR = 0 (1 byte size)&lt;br /&gt;
BYTE = 1 (1 byte size) &lt;br /&gt;
I16 = 2 (2 bytes size)&lt;br /&gt;
U16 = 3 (2 bytes size)&lt;br /&gt;
I32 = 4 (4 bytes size) &lt;br /&gt;
U32 = 5 (4 bytes size)&lt;br /&gt;
I64 = 6 (8 bytes size)&lt;br /&gt;
U64 = 7 (8 bytes size)&lt;br /&gt;
FLOAT = 8 (4 bytes size)&lt;br /&gt;
DOUBLE = 9 (8 bytes size)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== AMF details ===&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
; Notes&lt;br /&gt;
: &#039;&#039;&#039;Obsolete&#039;&#039;&#039;, special, rare format.&lt;br /&gt;
: This is the output of a mechanical &#039;&#039;&#039;assembly of four AdvaPIX-TPX&#039;&#039;&#039; devices, with &#039;&#039;&#039;four USB cables&#039;&#039;&#039;, which was then presented as the AdvaPIX TPX Quad. Not to be confused with the current AdvaPIX-Quad which has a single USB cable.&lt;br /&gt;
: Even if you have this set, don&#039;t save AMF unless you have a very special reason.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! AMF files details&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
The amf is a binary file that contains data from all the devices combined into one stream of frame matrixes. The file consists of two parts a header (1000 bytes) and the data.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There are two versions of the file. Version 1 and Version 2. Version 1 has only one offset parameter, but had a bug, where frames were shifted in the file by 8 bytes. Version 2 has to frame data offsets - before frame data and after frame data.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Header (version 1):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
struct header {&lt;br /&gt;
 byte magic[3]; // AMF &lt;br /&gt;
 byte ver; // 1&lt;br /&gt;
 u32 channelCount;&lt;br /&gt;
 u32 offset; // offset of each frame data in the frame block&lt;br /&gt;
 u32 chipsWidth; // number of chips in x coordinate&lt;br /&gt;
 u32 chipsHeight; // number of chips in y coordinate&lt;br /&gt;
 byte chipLayout[256]; // order of chips&lt;br /&gt;
 byte chipAngles[256]; // rotation of chips&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Header (version 2):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
struct header {&lt;br /&gt;
 byte magic[3]; // AMF &lt;br /&gt;
 byte ver; // 2&lt;br /&gt;
 u32 channelCount;&lt;br /&gt;
 u32 offsetBefore; // offset of the beginning of frame data in frame block&lt;br /&gt;
 u32 offsetAfter; // offset after frame data&lt;br /&gt;
 u32 chipsWidth; // number of chips in x coordinate&lt;br /&gt;
 u32 chipsHeight; // number of chips in y coordinate&lt;br /&gt;
 byte chipLayout[256]; // order of chips&lt;br /&gt;
 byte chipAngles[256]; // rotation of chips&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file may contain variable number of chips (not only data from AdvaPIX Quad = 4 chips).&lt;br /&gt;
* &#039;&#039;&#039;channelCount&#039;&#039;&#039; - How many chip are present in the file.&lt;br /&gt;
* &#039;&#039;&#039;chipsWidth&#039;&#039;&#039; and &#039;&#039;&#039;chipsHeight&#039;&#039;&#039; - How many chips are in x and y coordinate. For example for AdvaPIX Quad it is 2 by 2 (chipsWith = 2, chipsHeight = 2).&lt;br /&gt;
* &#039;&#039;&#039;chipLayout&#039;&#039;&#039; and &#039;&#039;&#039;chipAngles&#039;&#039;&#039; - When the device is read the order of chips is different than shown on the screen (depending on the layout of the internal chip interconnection). Therefore it is necessary to know AdvaPIX QUAD Multi-Frame Format (*.amf) order of the chips and they rotation to create correct image. chipLayout specifies order of the chip (the indexes starts from 0 to the index of last chip, from the top left to the right bottom). The chipAngles specifies rotation of each chip (0 = no rotation, 1 = 90 deg, 2 = 180, 3 = 270, all clockwise).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
After the header file the frame data folows. The frame data are saved in frames blocks. Each block contain frames from each detector.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [FrameBlock1][FrameBlock2][FrameBlock3]...&lt;br /&gt;
Frame Block contains:&lt;br /&gt;
 [FrameData1][FrameData2][FrameData3][FrameData4]....&lt;br /&gt;
Each frame contains:&lt;br /&gt;
 [Offset][MatrixData(65536*2)] // Version 1 of the file&lt;br /&gt;
 [OffsetBefore][MatrixData(65536*2)][OffsetAfter] // Version 2 of the file&lt;br /&gt;
Each frame is prepended by an offset (specified in header, offsetBefore) and appended byt some dummy data of length offsetAfter. The frame pixels are saved as 16 bit unsigned integer. Each chip has 256x256 pixels. Therefore - 65536 * 2 bytes.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Bug in Version 1 of the AMF File:&#039;&#039;&#039;&lt;br /&gt;
The version 1.0 of the AMF file contains bug, where the first frame in the data is missing first 8 bytes. To compensate in the code, when reading make the length of HEADER smaller by 8 bytes =&amp;gt; 992 bytes.&amp;lt;br&amp;gt;&lt;br /&gt;
Version 2 has size of offset before and after frame data instead.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Version 1.0 Example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#define HEADER_SIZE 1000&lt;br /&gt;
frameSizeInBytes = 65536 * 2 + offset;&lt;br /&gt;
numberOfFramesInFile = (fileSizeInBytes - HEADER_SIZE) / frameSizeInBytes / channelCount&lt;br /&gt;
firstFrameDataPosition = (HEADER_SIZE - 8) + offset&lt;br /&gt;
secondFrameDataPosition = (HEADER_SIZE - 8) + offset + frameSizeInBytes * 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Version 2.0 Example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#define HEADER_SIZE 1000&lt;br /&gt;
frameSizeInBytes = 65536 * 2 + offsetBefore + offsetAfter;&lt;br /&gt;
numberOfFramesInFile = (fileSizeInBytes - HEADER_SIZE) / frameSizeInBytes / channelCount&lt;br /&gt;
firstFrameDataPosition = HEADER_SIZE + offsetBefore&lt;br /&gt;
secondFrameDataPosition = HEADER_SIZE + offsetBefore + frameSizeInBytes * 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MCF and BPC ==&lt;br /&gt;
Old configuration formats. Was used for pixcfg or DACs. Use only to read old data. If it possible, save all old configurations in newer formats, such as XML, and do not use old files due to possible end of support.&lt;br /&gt;
&lt;br /&gt;
= Other files =&lt;br /&gt;
* See: [[Files_and_directories_of_the_Pixet_and_SDK#pixet.ini_file|Files and directories of the Pixet and SDK: &#039;&#039;&#039;pixet.ini&#039;&#039;&#039;]]&lt;br /&gt;
* See: [[Files_and_directories_of_the_Pixet_and_SDK#Configuration_XML_files|Files and directories of the Pixet and SDK: &#039;&#039;&#039;Configuration XML files&#039;&#039;&#039;]]&lt;br /&gt;
* See: [[Files_and_directories_of_the_Pixet_and_SDK#Device_configuration_ini_files|Files and directories of the Pixet and SDK: &#039;&#039;&#039;Device configuration ini files&#039;&#039;&#039;]]&lt;br /&gt;
* See: [[Files_and_directories_of_the_Pixet_and_SDK#Device_firmware_files|Files and directories of the Pixet and SDK: &#039;&#039;&#039;Device firmware files&#039;&#039;&#039;]]&lt;br /&gt;
* See: [[Binary_Spectral_Imaging_API#BSTG_files:_pxpSiSaveToFile_and_pxpSiLoadFromFile|Binary Spectral Imaging API: &#039;&#039;&#039;BSTG files&#039;&#039;&#039;]] or see the &#039;&#039;&#039;Spectraimg and data files&#039;&#039;&#039; chapter in the &#039;&#039;&#039;Python API manual&#039;&#039;&#039; (PDF included in API package)&lt;br /&gt;
* &#039;&#039;&#039;User XML settings&#039;&#039;&#039;: See: The &#039;&#039;&#039;ISetting object&#039;&#039;&#039; chapter in the &#039;&#039;&#039;Python API manual&#039;&#039;&#039; (PDF included in API package)&lt;br /&gt;
* &#039;&#039;&#039;ASCII vertical *.vtxt&#039;&#039;&#039;: CSV-like file used in [[PIXet Basic|&#039;&#039;&#039;PIXet Basic&#039;&#039;&#039;]] and [[PIXet#Clustering_plugin|&#039;&#039;&#039;Clustering plugin&#039;&#039;&#039;]] for saving histograms&lt;br /&gt;
&lt;br /&gt;
= Related =&lt;br /&gt;
* [[Files and directories of the Pixet and SDK]]&lt;br /&gt;
* [[Pixet_SDK|Pixet SDK overview]]&lt;br /&gt;
* [[PIXet|The PIXet program]]&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_CLI&amp;diff=1480</id>
		<title>TraX Engine CLI</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_CLI&amp;diff=1480"/>
		<updated>2025-07-10T12:54:22Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:ADVACAM logo SQUARE rounded RGB.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The TraX Engine is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:dir_analysis_2dhist_sphere.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported via email: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039; or &#039;&#039;&#039;support@advacam.cz&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
There is also possibility to use a specialized git hub repository: https://github.com/lmareksla/DPE_Issues/issues  &amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
#define DPE_ERR_NOT_INIT			-1049	///&amp;lt; DPE is not initilized.&lt;br /&gt;
#define DPE_ERR_EXPIRED			    -1050	///&amp;lt; DPE is expired.&lt;br /&gt;
#define DPE_ERR_UNKNOWN_LIC			-1051	///&amp;lt; Unknown license.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
#define DPE_ERR_NO_ECLIST			-3016	///&amp;lt; ExtClist can not be opened.&lt;br /&gt;
#define DPE_ERR_READ_HEAD_CLIST		-3017	///&amp;lt; Can not read clist header from file.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
#define DPE_ERR_DEL_CLIST			-4029	///&amp;lt; Can not delete clist file.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_CLI&amp;diff=1479</id>
		<title>TraX Engine CLI</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_CLI&amp;diff=1479"/>
		<updated>2025-07-10T12:53:47Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The TraX Engine is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:dir_analysis_2dhist_sphere.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported via email: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039; or &#039;&#039;&#039;support@advacam.cz&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
There is also possibility to use a specialized git hub repository: https://github.com/lmareksla/DPE_Issues/issues  &amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
#define DPE_ERR_NOT_INIT			-1049	///&amp;lt; DPE is not initilized.&lt;br /&gt;
#define DPE_ERR_EXPIRED			    -1050	///&amp;lt; DPE is expired.&lt;br /&gt;
#define DPE_ERR_UNKNOWN_LIC			-1051	///&amp;lt; Unknown license.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
#define DPE_ERR_NO_ECLIST			-3016	///&amp;lt; ExtClist can not be opened.&lt;br /&gt;
#define DPE_ERR_READ_HEAD_CLIST		-3017	///&amp;lt; Can not read clist header from file.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
#define DPE_ERR_DEL_CLIST			-4029	///&amp;lt; Can not delete clist file.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_CLI&amp;diff=1478</id>
		<title>TraX Engine CLI</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_CLI&amp;diff=1478"/>
		<updated>2025-07-10T12:53:39Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The TraX Engine is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:dir_analysis_2dhist_sphere.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported via email: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039; or &#039;&#039;&#039;support@advacam.cz&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
There is also possibility to use a specialized git hub repository: https://github.com/lmareksla/DPE_Issues/issues  &amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
#define DPE_ERR_NOT_INIT			-1049	///&amp;lt; DPE is not initilized.&lt;br /&gt;
#define DPE_ERR_EXPIRED			    -1050	///&amp;lt; DPE is expired.&lt;br /&gt;
#define DPE_ERR_UNKNOWN_LIC			-1051	///&amp;lt; Unknown license.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
#define DPE_ERR_NO_ECLIST			-3016	///&amp;lt; ExtClist can not be opened.&lt;br /&gt;
#define DPE_ERR_READ_HEAD_CLIST		-3017	///&amp;lt; Can not read clist header from file.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
#define DPE_ERR_DEL_CLIST			-4029	///&amp;lt; Can not delete clist file.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1477</id>
		<title>TraX Engine</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1477"/>
		<updated>2025-07-10T12:53:15Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
For basic information, please visit the page with page with [[TraX Engine CLI|command line interface]].&lt;br /&gt;
&lt;br /&gt;
= Software Interfaces =&lt;br /&gt;
* [[TraX Engine GUI|Application for windows and linux]]&lt;br /&gt;
* [[TraX Engine CLI|Command line interface]]&lt;br /&gt;
* [[TraX Engine Python API|Application programing interface for python]]&lt;br /&gt;
* [[TraX Engine C++ API|Application programing interface for C++]]&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1476</id>
		<title>TraX Engine</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1476"/>
		<updated>2025-07-10T12:52:50Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
For basic information, please visit the page with command line interface (link below).&lt;br /&gt;
&lt;br /&gt;
= Software Interfaces =&lt;br /&gt;
* [[TraX Engine GUI|Application for windows and linux]]&lt;br /&gt;
* [[TraX Engine CLI|Command line interface]]&lt;br /&gt;
* [[TraX Engine Python API|Application programing interface for python]]&lt;br /&gt;
* [[TraX Engine C++ API|Application programing interface for C++]]&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1453</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1453"/>
		<updated>2025-06-30T07:42:46Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moved to TraX Engine CLI: https://wiki.advacam.cz/wiki/TraX_Engine_CLI&lt;br /&gt;
&lt;br /&gt;
General TraX Engine: https://wiki.advacam.cz/wiki/TraX_Engine&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1452</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1452"/>
		<updated>2025-06-30T07:42:27Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moved to: https://wiki.advacam.cz/wiki/TraX_Engine_CLI&lt;br /&gt;
General TraX Engine: https://wiki.advacam.cz/wiki/TraX_Engine&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1451</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1451"/>
		<updated>2025-06-30T07:41:48Z</updated>

		<summary type="html">&lt;p&gt;MarekL: Replaced content with &amp;quot;https://wiki.advacam.cz/wiki/TraX_Engine_CLI&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://wiki.advacam.cz/wiki/TraX_Engine_CLI&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_CLI&amp;diff=1450</id>
		<title>TraX Engine CLI</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_CLI&amp;diff=1450"/>
		<updated>2025-06-30T07:41:11Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:dir_analysis_2dhist_sphere.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported via email: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039; or &#039;&#039;&#039;support@advacam.cz&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
There is also possibility to use a specialized git hub repository: https://github.com/lmareksla/DPE_Issues/issues  &amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
#define DPE_ERR_NOT_INIT			-1049	///&amp;lt; DPE is not initilized.&lt;br /&gt;
#define DPE_ERR_EXPIRED			    -1050	///&amp;lt; DPE is expired.&lt;br /&gt;
#define DPE_ERR_UNKNOWN_LIC			-1051	///&amp;lt; Unknown license.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
#define DPE_ERR_NO_ECLIST			-3016	///&amp;lt; ExtClist can not be opened.&lt;br /&gt;
#define DPE_ERR_READ_HEAD_CLIST		-3017	///&amp;lt; Can not read clist header from file.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
#define DPE_ERR_DEL_CLIST			-4029	///&amp;lt; Can not delete clist file.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1449</id>
		<title>TraX Engine GUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1449"/>
		<updated>2025-06-27T11:20:50Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
This document is the user manual for the Data Processing Engine (DPE) Graphical User Interface (GUI). It includes sections on installation, steps for running the program, configuration of data processing and graphical visualization. Additionally, it provides detailed information on the structure of output folders and data products.&lt;br /&gt;
&lt;br /&gt;
This manual is complemented by the webpage: https://wiki.advacam.cz/index.php/DPE, which contains updated information on the DPE platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;install-and-run&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Install and Run =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;prerequisites&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To utilize the full capabilities of the Data Processing Engine, the following software components are required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Python 3.10&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Python Packages:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;matplotlib&#039;&#039;&#039; (version &amp;amp;gt;= 3.4)&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;numpy&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;RAM&#039;&#039;&#039; usage minimal 400 MB (example data consumes app 650 MB)&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Hard drive space&#039;&#039;&#039; usage is from 100 MB, but can be up to several GB (data from processing are stored on the hard drive)&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation Instructions&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Program:&#039;&#039;&#039; Obtain the program archive/zip file from the official source.&lt;br /&gt;
* &#039;&#039;&#039;Extract Files:&#039;&#039;&#039; Navigate to the directory where you wish to install the program and extract all files from the downloaded archive/zip file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;run-dpe-gui-instructions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Run DPE GUI instructions: ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Windows:&#039;&#039;&#039; Click on the executable file to start the DPE GUI program:&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;trax_enegine.exe&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;2&amp;quot; style=&amp;quot;list-style-type: lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Linux:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Open a Terminal.&lt;br /&gt;
* Navigate to the installation directory of the DPE.&lt;br /&gt;
* Execute the DPE with the following command: ./trax_engine.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;overview-of-dpe-gui-trax-engine-interface&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=  Overview of DPE GUI (TraX Engine) Interface =&lt;br /&gt;
&lt;br /&gt;
The image illustrates a comprehensive overview of the DPE TraX Engine graphical user interface (GUI), which is divided into three main sections. This layout facilitates a broad range of tasks from data input and processing to visualization and analysis.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image2.png|662x364px]]&lt;br /&gt;
&lt;br /&gt;
Figure 1. Overview of DPE GUI (TraX Engine) interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;top-menu-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Top menu bar ==&lt;br /&gt;
&lt;br /&gt;
Contains menus such as &#039;View&#039;, &#039;Preferences&#039;, and &#039;Help&#039;, offering quick access to general settings, customization options, and assistance resources.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image3.png|678x207px]]&lt;br /&gt;
&lt;br /&gt;
Figure 2. Top menu bar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;data-visualization-panels&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Data Visualization Panels ==&lt;br /&gt;
&lt;br /&gt;
Graph 1, Graph 2, and Graph 3: These panels display various data visualizations important for detailed analysis. Each graph comes with its toolbar allowing operations like exporting data, adjusting the display to logarithmic scale, and other customization features such as setting data binning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Overview of Figure Options Dialog Box&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image4.png|604x332px]]&lt;br /&gt;
&lt;br /&gt;
Figure 3. Overview of Figure Options Dialog Box.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axes/Image Identifier&#039;&#039;&#039;: The dropdown menu allows users to select different components or layers of the figure to configure. Each component can be labeled or identified uniquely to facilitate specific adjustments.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Label Field&#039;&#039;&#039;: Users can enter a descriptive label for the selected component, enhancing the clarity of graphs or images. This label often appears within the graph itself or in legends and helps to identify different data sets or image layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Palette Selection&#039;&#039;&#039;: A dropdown menu offering various color maps such as &#039;RdYlBu&#039; (Red-Yellow-Blue). This setting is important for visual data representation, as different color schemes can indicate intensity, density, or categories within the data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Min Value&#039;&#039;&#039;: Defines the lower bound for the data values associated with the colormap. This can help in normalizing data presentation, ensuring that the colormap accurately reflects variations in the underlying data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Max Value&#039;&#039;&#039;: Sets the upper boundary for the data values, which works in conjunction with the minimum value to scale the color mapping effectively.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;: Saves the changes and exits the dialog box.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;: Closes the dialog box without saving any changes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apply&#039;&#039;&#039;: Applies the changes without closing the dialog box, allowing users to immediately see the effect of their adjustments on the figure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;settings-for-data-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= settings for data processing =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;general-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== General Settings ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;General Settings&#039;&#039; section of the DPE GUI is central to configuring the data processing environment. This section is divided into several components, each with specific functionalities to enhance user interaction and data management efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image5.png|604x524px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 4. Overview of the General Settings section of the DPE GUI with detailed description on the right side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;input-data-and-calibration-matrices&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Input Data and Calibration Matrices ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Input Data&#039;&#039;&#039;: Users can insert the path to the data file which will be processed. Clicking the &#039;Open&#039; button allows for browsing and selecting the appropriate file. Data collected in either data driven or frame mode can be processed (t3pa/clog formats).&lt;br /&gt;
* &#039;&#039;&#039;Calibration Matrices&#039;&#039;&#039;: Similar to the data file, the path for calibration coefficients matrices can be entered here. Calibration files are crucial for converting measure time over threshold (ToT) values to energy and can also be loaded via &#039;Open&#039; button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;simple-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Simple Settings ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sampling Time&#039;&#039;&#039;: Set the interval in seconds for sampling the data.&lt;br /&gt;
* &#039;&#039;&#039;Particle Identification Algorithm&#039;&#039;&#039;: Choose from a dropdown menu to select the algorithm suitable for particle identification based on the data and experimental conditions. Options for PID based on artificial intelligence (AI) Neural Networks (NN): 251, 252, 201, or 202. Access the Wiki page for further information.&lt;br /&gt;
* &#039;&#039;&#039;Sensor Bias:&#039;&#039;&#039; Sensor Bias in Volts.&lt;br /&gt;
&lt;br /&gt;
Example: SensBias = 100 to specify that applied was 100 V. Default: 200.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sensor Thickness:&#039;&#039;&#039; Sensor thickness in micrometers.&lt;br /&gt;
&lt;br /&gt;
Example: SensThick = 500 to specify the thickness of the detector as 500 micrometers. Default: 500.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Chip Type:&#039;&#039;&#039; Select from the list: TPX (Timepix1), TPX2 (Timepix2), TPX3 (Timepix3) or Timepix4 (TPX)&lt;br /&gt;
* &#039;&#039;&#039;Sensor material:&#039;&#039;&#039; Select from the list: Silicon, Cadmium telluride, gallium arsenide or silicon carbide.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cluster Count&#039;&#039;&#039;: Specify the number of clusters to be processed per run, allowing users to manage the data volume per processing cycle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;advanced-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Advanced settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image6.png|604x314px]]&lt;br /&gt;
&lt;br /&gt;
Figure 5. Overview of the Advanced Settings section of the DPE GUI.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sensor Width&#039;&#039;&#039;: Enter the number of pixels that represent the width of the sensor.&lt;br /&gt;
* &#039;&#039;&#039;Sensor Height&#039;&#039;&#039;: Similar to sensor width, this setting allows the user to specify the height of the sensor in pixels.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mask File Name&#039;&#039;&#039;: This field should contain the filename of the mask file used during data processing. Masks are typically used to exclude certain areas of the sensor from analysis. Save mask as `Mask.ini`&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example of Mask&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [0-255,0-205] [0-5, 0-255] [254-255, 0-255] [0-255,0-5] [0-255,254-255]&lt;br /&gt;
* &#039;&#039;&#039;Mask File Path&#039;&#039;&#039;: Here, users should specify the full directory path where the mask file is located, ensuring the software can correctly access and apply the mask.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Direction Track Condition&#039;&#039;&#039;: When checked, this option enables the tracking of directional data.&lt;br /&gt;
* &#039;&#039;&#039;Radiology Units&#039;&#039;&#039;: Toggling this changes the units used in data processing and display from micrograys per hour (µGy/h) to grays per second (Gy/s).&lt;br /&gt;
* &#039;&#039;&#039;Ignore Clusters at Sensor Edge&#039;&#039;&#039;: Activating this setting will ignore any data clusters detected at the edges of the sensor, often necessary to avoid edge distortions in the analysis.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Timepix High Energy Correction&#039;&#039;&#039;: This checkbox enables specific corrections for high-energy particles detected by Timepix sensors, improving accuracy in high-energy experiments.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cluster Length Correction&#039;&#039;&#039;: A dropdown menu allows selection of the method used to correct the length calculation of clusters during processing, important for accurate LET measurements. In DPE GUI, there are two methods available for calculating length with the default method being Method 1. To select a different method for length derivation used in the formula for LET calculation, choose from the following list:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1:&#039;&#039;&#039; Based on weighted standard deviation subtraction from projected length (Default formula).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2:&#039;&#039;&#039; Based on projected width subtraction from projected length.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Dead Time of Frame&#039;&#039;&#039;: Defines a period, in milliseconds, where data is not recorded between frames—useful in high-speed data capture to prevent data overlap.&lt;br /&gt;
* &#039;&#039;&#039;Acquisition Time of Frame&#039;&#039;&#039;: Specifies for how long each frame&#039;s data is acquired. It is expressed in seconds.&lt;br /&gt;
* &#039;&#039;&#039;Coincidence Time&#039;&#039;&#039;: Sets the time window, in milliseconds, for detecting coincidences between events, essential for time-correlated particle detection studies.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;OK&#039;&#039;&#039;: Clicking this will save all changes and close the window.&lt;br /&gt;
* &#039;&#039;&#039;Cancel&#039;&#039;&#039;: This button exits the window without saving changes, keeping previous settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;analysis-options&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Analysis Options ===&lt;br /&gt;
&lt;br /&gt;
Provides checkboxes for toggling specific types of analysis such as Direction, Coincidence, Radiation Field Recognition, and Frame analysis. These settings allow for customized data processing based on the study requirements.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;input-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Input Parameters File ===&lt;br /&gt;
&lt;br /&gt;
Facilitates loading a pre-configured parameters file that sets various processing parameters. Users can load the desired parameters file by navigating to it and then clicking the &#039;Load&#039; button. The `ParametersFile.txt` contains essential information related to the configuration of the detector, data input/output, calibration files, and other parameters required for processing. The DPE GUI platform includes an example dataset with a predefined `ParametersFile.txt`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Customization Steps:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Open `ParametersFile.txt` in a text editor.&lt;br /&gt;
# Modify the following parameters to match your setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;3&amp;quot; style=&amp;quot;list-style-type: lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;FileInPath = [Path to your input data]&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;CalMat = [Path to your calibration matrices]&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;FileOutPath = [Path for output data]&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example Configuration:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
FileInPath = &amp;amp;quot;C:\WORK \example\data\&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
CalMat = &amp;amp;quot;C:\WORK\example\cal_mat\&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
FileOutPath = &amp;amp;quot;C:\WORK\example\out\&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
For further details on customizing the output, refer to the Wiki page: https://wiki.advacam.cz/index.php/DPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;export-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Export Data ===&lt;br /&gt;
&lt;br /&gt;
This function enables users to define a path to export processed data. After setting the path, clicking the &#039;Export&#039; button will save the output accordingly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;results&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
Displays the output from the last data processing session, including the count of particles processed, the total processing time, and the count of samples, providing quick access to processing outcomes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;start-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Start Processing ===&lt;br /&gt;
&lt;br /&gt;
The blue &#039;Start processing&#039; button at the bottom is used to initiate the data processing. A progress bar alongside shows the completion rate, which fills up to 100% upon the end of the process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-panel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Panel ===&lt;br /&gt;
&lt;br /&gt;
This panel, see figure 6, is particularly valuable for system administrators or users needing to troubleshoot operations, verify processes, or ensure that all system activities are running as expected. In case of an error check the Log Panel.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image7.png|604x290px]]&lt;br /&gt;
&lt;br /&gt;
Figure 6. Overview of the Log Panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;filters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Filters ==&lt;br /&gt;
&lt;br /&gt;
When dealing with a mixed field and the need to isolate specific types of particles independently of the existing particle recognition algorithms, one can define custom filters in the Filters.ini file or directly in the interactive Filter section, see image below. These filters allow for the specification of ranges for cluster parameters, which can then be applied to the data. For instance, within the same dataset, one might seek to isolate thermal neutron interactions and perpendicular protons. Below is an example demonstrating the implementation of advanced filters:&lt;br /&gt;
&lt;br /&gt;
[Y]&lt;br /&gt;
&lt;br /&gt;
Range = 205.0,255.0&lt;br /&gt;
&lt;br /&gt;
[E]&lt;br /&gt;
&lt;br /&gt;
Range = 260.0,2170.0&lt;br /&gt;
&lt;br /&gt;
[Size]&lt;br /&gt;
&lt;br /&gt;
Range = 3.0,62.0&lt;br /&gt;
&lt;br /&gt;
[Height]&lt;br /&gt;
&lt;br /&gt;
Range = 150.0,610.0&lt;br /&gt;
&lt;br /&gt;
[BorderPixCount]&lt;br /&gt;
&lt;br /&gt;
Range = 5.0,35.0&lt;br /&gt;
&lt;br /&gt;
[Roundness]&lt;br /&gt;
&lt;br /&gt;
Range = 0.55,1.0&lt;br /&gt;
&lt;br /&gt;
[Linearity]&lt;br /&gt;
&lt;br /&gt;
Range = 0.0,0.7&lt;br /&gt;
&lt;br /&gt;
[WidthProj]&lt;br /&gt;
&lt;br /&gt;
Range = 0.95,8.1&lt;br /&gt;
&lt;br /&gt;
[StdAlong]&lt;br /&gt;
&lt;br /&gt;
Range = 0.1,1.5&lt;br /&gt;
&lt;br /&gt;
[StdPerp]&lt;br /&gt;
&lt;br /&gt;
Range = 0.1,1.8&lt;br /&gt;
&lt;br /&gt;
[Thin]&lt;br /&gt;
&lt;br /&gt;
Range = 0.36,1.1&lt;br /&gt;
&lt;br /&gt;
[Thick]&lt;br /&gt;
&lt;br /&gt;
Range = 0.0,0.63&lt;br /&gt;
&lt;br /&gt;
[CurlyThin]&lt;br /&gt;
&lt;br /&gt;
Range = 0.3,1.0&lt;br /&gt;
&lt;br /&gt;
[EpixMean]&lt;br /&gt;
&lt;br /&gt;
Range = 8.0,290.0&lt;br /&gt;
&lt;br /&gt;
[AngleElev]&lt;br /&gt;
&lt;br /&gt;
Range = 4.5,42.0&lt;br /&gt;
&lt;br /&gt;
[LET]&lt;br /&gt;
&lt;br /&gt;
Range = 0.45,3.7&lt;br /&gt;
&lt;br /&gt;
[Diameter]&lt;br /&gt;
&lt;br /&gt;
Range = 2.4,9.0&lt;br /&gt;
&lt;br /&gt;
This panel is essential for users who need to perform targeted analyses by filtering out irrelevant or specific data. It supports complex analytical tasks by providing robust control over which data points are included based on quantitative criteria.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;filter-panel-overview&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Filter Panel Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image8.png|604x490px]]&lt;br /&gt;
&lt;br /&gt;
Figure 7. Overview of the Filter panel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variable List&#039;&#039;&#039;: A table with rows for different variables such as AngleAzim, AngleElev, BorderPixCount, etc., where each variable can be individually set with minimum and maximum values. This allows users to define thresholds or ranges for the data they want to include or exclude in the analysis.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Min and Max Columns&#039;&#039;&#039;: These columns are used to enter the desired minimum and maximum values for each variable, effectively setting the bounds for data filtering. For instance, users can limit AngleAzim between 5.0 and 40.0, ensuring that only data within this range is processed or displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cluster Count&#039;&#039;&#039;: Specifies the number of clusters to display, which helps in managing the visual density and processing load when analyzing large datasets.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apply Button&#039;&#039;&#039;: Commits the entered filter settings and applies them to the data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset Button&#039;&#039;&#039;: Resets all filter settings to their default values, offering a quick way to start over the configuration process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Switch to Filtered Out Particles&#039;&#039;&#039;: A toggle that, when activated, displays the particles or data points that have been filtered out based on the current settings. This is useful for verifying what is being excluded from the analysis.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use in Next Processing&#039;&#039;&#039;: A checkbox that, if selected, ensures that the current filter settings are retained and used in the next data processing cycle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Results&#039;&#039;&#039;: Shows the outcome of the current filtering, typically indicating the number of clusters or data points that passed or failed the filters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Import Section&#039;&#039;&#039;: Allows users to load filter configurations from an external file, which is helpful for applying previously defined or standardized filter settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Export Section&#039;&#039;&#039;: Enables saving the current filter settings to a file for reuse or documentation purposes.&lt;br /&gt;
&lt;br /&gt;
The import/export functionality further enhances workflow efficiency by facilitating the reuse of filter configurations across different sessions or projects.&lt;br /&gt;
&lt;br /&gt;
After inserting the filters, one needs to apply it by clicking on the Apply button. Afterwards in the graphical visualization will be displayed the output from filters which passed the criteria. If user selects a certain number of clusters (see cluster count), then push Enter button outside cluster count box and apply again the filters by clicking on the Apply button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;processing-panel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Processing Panel ==&lt;br /&gt;
&lt;br /&gt;
The Processing Panel is integral to managing data processing tasks within the application. It provides tools to handle multiple processes simultaneously, adjust process settings, initiate processing tasks, and view logs related to processing activities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;processing-panel-overview&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Processing Panel Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image9.png|604x609px]]&lt;br /&gt;
&lt;br /&gt;
Figure 8. Processing Panel Overview.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Process Selection Dropdown&#039;&#039;&#039;: Allows users to select from existing processes or switch between them to view and adjust settings or monitor their progress.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create New Process&#039;&#039;&#039;: Users can initiate a new processing task by defining its parameters and settings. This is essential for starting separate analysis tasks without interference from or to other ongoing processes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete Process&#039;&#039;&#039;: This option permits the deletion of existing processes, useful for managing space or removing outdated process setups.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Open Log Button&#039;&#039;&#039;: Opens a log file or log panel that provides detailed feedback on the processing activities. This feature is crucial for troubleshooting and understanding the flow of data processing, especially to check for errors or confirm successful completions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Start Processing Button&#039;&#039;&#039;: Begins the data processing task as configured. This button is typically used after all settings have been confirmed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Progress Bar&#039;&#039;&#039;: Displays the current progress of the data processing task, giving users a visual indication of how much of the task has been completed and how much remains.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;data-visualization-and-analysis-tools&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Data Visualization and Analysis Tools =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;general&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
The General panel serves as the primary interface for initial data visualization, containing three key graphs (see figure 9).&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image10.png|604x432px]]&lt;br /&gt;
&lt;br /&gt;
Figure 9. Data visualization: General panel overview.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Particle Count with PID (Particle Identification) Graph (Top Left):&amp;lt;/u&amp;gt;&#039;&#039; This graph displays the particle count over time, with particle discrimination. The PID algorithm classifies particles into the following categories: total, protons, photons &amp;amp;amp; electrons, ions, and others, each represented with distinct colors. Users can export the data, toggle the logarithmic display of the axes, and navigate through different time points to examine specific data intervals.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;2D Visualization of Clusters E in the Sensor (Top Right)&amp;lt;/u&amp;gt;&#039;&#039;: Presents a spatial map showing the distribution of energy clusters within the sensor.&lt;br /&gt;
&lt;br /&gt;
Includes an interactive element where users can adjust the number of clusters displayed, enhancing the granularity of the visualization based on the user&#039;s needs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histogram of Deposited Energy (Bottom):&amp;lt;/u&amp;gt;&#039;&#039; A histogram of deposited energy in the sensor for all particles. Similar to the first graph, this includes options for exporting data, adjusting the logarithmic scale, and setting the bin size for detailed analysis. The user can select to visualize histograms of other cluster parameters/variables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histograms&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Histograms ==&lt;br /&gt;
&lt;br /&gt;
The Histograms panel in the DPE GUI provides a multipurpose interface for the visualization and analysis of data distributions across a range of cluster parameters/variables. It allows users to quickly generate and customize histograms, which are essential tools for statistical data analysis. The panel features include controls for selecting the data variable, adjusting the binning, and toggling between logarithmic and linear scales to suit different requirements. In figure 10 can be seen the overview of the histogram panel. For illustration of other histograms of cluster parameters/variables, in figure 11a is displayed histogram of height and in figure 11b histogram of PID.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image11.png|604x426px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 10. Overview of histograms panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;a) [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image12.png|227x288px]] b) [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image13.png|227x288px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 11. Selected histograms from Data visualization section histograms. The following histograms are displayed: a) height (H), b) Particle identification (PID) class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;clusters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Clusters ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Clusters&#039;&#039; section of the DPE GUI focuses on providing detailed visualizations of data clusters, important for analyzing spatial and energy distributions within the dataset. This section includes two main types of visualizations along with interactive tools to enhance data interpretation.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image14.png|604x432px]]&lt;br /&gt;
&lt;br /&gt;
Figure 12. Overview of data visualization section Clusters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Single-cluster Visualization:&amp;lt;/u&amp;gt; Displays a detailed view of a selected single cluster, showing energy levels across different sensor pixels. Each pixel displays energy in color scale, which allows for a quick assessment of the energy distribution within a cluster.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;2D Visualization of Clusters E in the Sensor&amp;lt;/u&amp;gt;: Provides a comprehensive spatial view of energy distribution across the sensor area 256 by 256 pixels representing 14.08 by 14.08 mm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;. In this case, 300 cluster counts were displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-evaluation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Time Evaluation ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Time Evaluation&#039;&#039; panel in the DPE GUI presents a set of graphical tools for monitoring and analyzing different types of particle fluxes and dose rates across specified time intervals.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image15.png|604x424px]]&lt;br /&gt;
&lt;br /&gt;
Figure 13. Overview of the Time evolution panel.&lt;br /&gt;
&lt;br /&gt;
The following graphs are displayed in this panel:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Total Flux (Top Left)&amp;lt;/u&amp;gt;&#039;&#039;: Displays the total particle flux measured over time in particles per square centimeter per second (particles/cm²/s). Overall particle flux distribution over the measurement&#039;s duration can be seen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Flux with PID (Top Right)&amp;lt;/u&amp;gt;&#039;&#039;: Shows the particle flux over time, with particle identification where data are discriminated and sorted into: protons, photons &amp;amp;amp; electrons, ions, and others. This allows comparison of flux between different types of particles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Total Dose Rate (Bottom Left):&amp;lt;/u&amp;gt;&#039;&#039; Plots the total dose rate measured over time in grays per second (Gy/s).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Dose Rate with PID (Bottom Right)&amp;lt;/u&amp;gt;&#039;&#039;: Similar to the flux graph, this graph shows the dose rate with PID providing a detailed look at how different particles contribute to the overall dose rate. This type of data processing could be useful for understanding which particles are the primary contributors to radiation dose during the measurement and managing radiation safety.&lt;br /&gt;
&lt;br /&gt;
a)[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image16.png|338x192px]]&lt;br /&gt;
&lt;br /&gt;
b)[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image17.png|339x192px]]&lt;br /&gt;
&lt;br /&gt;
Figure 14. Selected data from Time evaluation section of data visualization with PID of dose rate for algorithm 251 and for algorithm 252.&lt;br /&gt;
&lt;br /&gt;
Figure 14 shows an example of particle flux with PID algorithm specific for the detector used: in a) 251 with 3 classes and b) 252 with 6 classes. In case of other algorithms used, the specific particle classes will be recognized and displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;pid-particle-identification&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== PID (Particle Identification) ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;PID&#039;&#039; (Particle Identification) section in the DPE GUI is important for analyzing particle characteristics and classifying them using artificial intelligence neural networks. This panel provides a multi-layered view of particle data, integrating histograms, time series, and spatial distribution maps to offer a comprehensive analysis based on particle types. This section facilitates detailed investigations into the characteristics and behaviors of different particles detected in the dataset.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image18.png|604x401px]]&lt;br /&gt;
&lt;br /&gt;
Figure 15. Overview of data visualization section PID.&lt;br /&gt;
&lt;br /&gt;
The key components of the PID panel are listed below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histograms of Energy&amp;lt;/u&amp;gt;&#039;&#039;: Displays energy distributions for various particles, with histograms colored for different particle types such as protons, photons &amp;amp;amp; electrons, ions, and others. Users can select the cluster variable (Cluster parameter) from drop-down menus, adjust the number of bins, and switch between logarithmic and linear scales to adjust the visualization to specific analytical needs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Time Graphs&amp;lt;/u&amp;gt;&#039;&#039;: Plots the count of different particle types over time. Includes options to select physics products correlated with PID data, such as count of particles, flux, fluence, dose rate, and deposited energy, enhancing the graph&#039;s utility for various studies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Spatial Distribution Maps (Bottom)&amp;lt;/u&amp;gt;&#039;&#039;: Four separate maps show the spatial distribution of total particles, protons, photons &amp;amp;amp; electrons, and ions. The first map shows the integrated number of particles set in the cluster count. The following maps are corelated to the total map of integrated particles and show the detected number of particles for each class/type. Tools are available for exporting data, adjusting the number of clusters displayed, and navigating through the dataset, enabling users to explore spatial patterns and correlations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;filter&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Filter ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Filter&#039;&#039; section in the DPE GUI is designed to show how data, which has passed/or not (in case the switch button was used) through applied filters, is visualized.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image19.png|604x425px]]&lt;br /&gt;
&lt;br /&gt;
Figure 16. Overview of data visualization in section Filters for data which passed the applied filters.&lt;br /&gt;
&lt;br /&gt;
The following graphs are displayed in Filter panel:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Selected Variable:&amp;lt;/u&amp;gt;&#039;&#039; Presents a histogram plotting the distribution of a selected variable, in this case energy (E), across the dataset that meets the filter criteria. Users can adjust the number of bins, choose the variable from a dropdown menu, and switch between logarithmic and linear scales to customize the view according to their analytical preferences.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;2D Histogram of Selected Variables:&amp;lt;/u&amp;gt;&#039;&#039; A two-dimensional histogram that cross-tabulates two selected variables, such as energy and size in this case, displaying counts of occurrences in a color-scale. Allows users to select variables for the x and y axes, adjust the bin sizes, and toggle the logarithmic display to enhance the visualization of data correlations and distributions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Single-cluster Visualization:&amp;lt;/u&amp;gt;&#039;&#039; Provides a detailed visual representation of a single cluster&#039;s data, showing energy distribution across sensor pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;2D Map of Clusters Energy:&amp;lt;/u&amp;gt;&#039;&#039; Displays a spatial map showing the distribution of energy across clusters within the dataset which passed the filters. Users can adjust the number of clusters displayed, facilitating customized view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;direction&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Direction ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Direction&#039;&#039; panel of the DPE GUI focuses on analyzing the directional properties of particle trajectories, specifically through azimuth and elevation angles. This analysis is important for understanding particle orientation and behavior within the studied environment.&lt;br /&gt;
&lt;br /&gt;
The primary objective of this analysis is to acquire information regarding particle directions. To achieve this, an analysis of each detected track via clustering process is performed. Then, a directional analysis is performed for the elevation and azimuth angles, accomplished by means of particle track length estimation. Four main features are analyzed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Particle length in sensor plane or L&amp;lt;sub&amp;gt;2D &amp;lt;/sub&amp;gt;&#039;&#039;&#039;– Estimation of the particle track length in the sensor plane. If a high-energy (HE) particle traversed fully through the sensor, this length should be equal to the length of a projection of the line going from the entry point to the exit point.&lt;br /&gt;
* &#039;&#039;&#039;Particle length in sensor volume or L&amp;lt;sub&amp;gt;3D &amp;lt;/sub&amp;gt;&#039;&#039;&#039;– Estimation of the particle track length in the sensor volume. If an HE particle traversed fully through the sensor, this length should be equal to the length of a line going from the entry point to the exit point.&lt;br /&gt;
* &#039;&#039;&#039;Azimuth angle&#039;&#039;&#039; – The angle between the y-axis and the cluster axis.&lt;br /&gt;
* &#039;&#039;&#039;Elevation angle β&#039;&#039;&#039; – the angle between the z-axis and the estimation of the particle trajectory in the sensor volume.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image20.png|604x429px]]&lt;br /&gt;
&lt;br /&gt;
Figure 17. Data visualization of section Direction. (top) histogram of Azimuth angle, (bottom) histogram of elevation angle and (right) Polar plot of distribution of azimuth and elevation angle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histogram of Azimuth Angle&amp;lt;/u&amp;gt;&#039;&#039;: This histogram displays the distribution of azimuth angles of particle tracks, plotted on a logarithmic scale to handle a wide range of data. Peaks in the histogram indicate preferred particle directions or orientations. Users can export the data for further analysis and adjust the binning of the histogram to fine-tune the resolution of angular distribution details.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histogram of Elevation Angle&amp;lt;/u&amp;gt;&#039;&#039;: Similar to the azimuth histogram, this graph shows the distribution of elevation angles, showing particle distribution relative to the horizontal plane.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Polar Plot of Distribution of Azimuth and Elevation Angles:&amp;lt;/u&amp;gt;&#039;&#039; Combines both azimuth and elevation data into a single polar plot, providing a comprehensive 2D representation of particle directions. Number of particles are displayed in color logarithmic scale. This visualization is useful for identifying dominant particle trajectories.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;frame&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Frame ==&lt;br /&gt;
&lt;br /&gt;
Provide options to view or analyze individual frames in case of data collected in frame mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;coincidence&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Coincidence ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Coincidence&#039;&#039; section of the DPE GUI is crucial for analyzing events where multiple particle detections occur at nearly the same time (within 100 ns in this case).&lt;br /&gt;
&lt;br /&gt;
The objective of this analysis is to provide users with statistical information about coincidence groups in terms of basic physical products. Visualization of coincidence groups is also included. Examples of statistical information are presented. Figure below illustrates how particle counts change over time within the coincidence groups.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image21.png|604x430px]] Figure 18. Data visualization of section Coincidence. 1D histogram of mean count of particles in event, histogram of coincidence group count, histogram of Time difference, clusters in coincidence.&lt;br /&gt;
&lt;br /&gt;
The following visualizations graphs regarding particle coincidences can be seen in the Coincidence panel from above:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Mean Count of Particles&amp;lt;/u&amp;gt;&#039;&#039;: This graph shows the mean count of particles per event over time. Allows users to observe fluctuations and trends in the average number of particles detected per event, indicating variations in particle generation or detection efficiency.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Coincidence Group Count&amp;lt;/u&amp;gt;&#039;&#039;: Displays the total count of coincidence groups (events where multiple particles are detected simultaneously) over time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Time Difference of Particles in Coincidence&amp;lt;/u&amp;gt;&#039;&#039;: Plots the distribution of time differences between detected particles within coincidence groups.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Clusters in Coincidence:&amp;lt;/u&amp;gt;&#039;&#039; Shows cluster groups which are seen as a group of particles in coincidence, see more examples in figure 19.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image22.png|604x213px]]&lt;br /&gt;
&lt;br /&gt;
Figure 19. Overview of data visualization in section coincidence showing 2 groups of particles in coincidence.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;spatial-maps&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Spatial Maps ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Spatial Maps&#039;&#039; panel in the DPE GUI provides an intricate view of spatial distributions related to particle clusters. These maps are important for analyzing the spatial characteristics of particle events and their distribution across a given sensor area. Various spatial maps can be seen in figure 20 including: 2D map of cluster counts, cluster energy, height and size. These type of analyzes can be used also for imaging, radiographies.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image23.png|604x428px]]&lt;br /&gt;
&lt;br /&gt;
Figure 20. Overview of data visualization in the section spatial maps.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;rfr-radiation-field-recognition&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== RFR (Radiation Field Recognition) ==&lt;br /&gt;
&lt;br /&gt;
Provides information on radiation field recognition, see output file for more details and analysis.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;exported-results-and-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Exported results and output =&lt;br /&gt;
&lt;br /&gt;
After exporting the output to the designated path, the following folders will be listed:&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image24.png|438x208px]]&lt;br /&gt;
&lt;br /&gt;
Figure 21. Output folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;coincevent-coincidences&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== CoincEvent (coincidences) ==&lt;br /&gt;
&lt;br /&gt;
This folder contains information on the coincidence of events in numerical forms. The files can be used to plot histograms or visualized events in coincidences.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image25.png|463x109px]]&lt;br /&gt;
&lt;br /&gt;
Figure 22. Overlay of folder coincidences containing files of related histograms, plots and a list of coincidence events.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;direction-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Direction ==&lt;br /&gt;
&lt;br /&gt;
The output overlay of the folder Direction can be seen below. It contains input files that can be used to plot various types of histograms both 1D and 2D of elevation and azimuth angles. In addition, the file `DirectionList.json` can be used to plot multiple parameters related to other directional quantities: e.g. length 2D and 3D.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image26.png|604x127px]]&lt;br /&gt;
&lt;br /&gt;
Figure 23. Overlay of folder direction containing files of related histograms and a list of of coincidence events.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;eventvisual-event-visualization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== EventVisual (Event Visualization) ==&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image27.png|604x219px]]&lt;br /&gt;
&lt;br /&gt;
Figure 24. Overlay of folder event visualization containing files of 2D Maps of deposited energy for all particles (integrated) and particle plots of (Total) and with particle discrimination and classification. Plots of individual clusters can be found here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-ascii-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==  File (ASCII output) ==&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image28.png|604x236px]]&lt;br /&gt;
&lt;br /&gt;
Figure 25. Overlay of folder File.&lt;br /&gt;
&lt;br /&gt;
This folder contains information related to different formats of the data. For example, in file `ClusterLog.clog` the data from data driven-mode (pixels, Toa + ToT mode) is divided into frames of 100 ns acquisition time.&lt;br /&gt;
&lt;br /&gt;
The clusterization stage is succeeded by cluster analysis, which evaluates both the morphological and spectral features of the clusters. File `EventList.advelist` and `EventListExt.advelist` contain a list of cluster parameters for each cluster. A detailed list of all cluster parameters is given in Table 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Table 1&#039;&#039;&#039;. List of cluster parameters processed for each particle and their description.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;22%&amp;quot;| &#039;&#039;&#039;Parameter name&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;13%&amp;quot;| &#039;&#039;&#039;Unit&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;64%&amp;quot;| &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| EventID&lt;br /&gt;
| -&lt;br /&gt;
| ID of events. It has the same value if particles are in coincidence.&lt;br /&gt;
|-&lt;br /&gt;
| X&lt;br /&gt;
| px&lt;br /&gt;
| X coordinate of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Y&lt;br /&gt;
| px&lt;br /&gt;
| Y coordinate of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| keV&lt;br /&gt;
| Energy of cluster. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| T&lt;br /&gt;
| ns&lt;br /&gt;
| Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| Flags&lt;br /&gt;
| -&lt;br /&gt;
| Frame number for data collected in frame mode.&lt;br /&gt;
|-&lt;br /&gt;
| Size&lt;br /&gt;
| px&lt;br /&gt;
| Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| Height&lt;br /&gt;
| keV&lt;br /&gt;
| Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| BorderPixCount&lt;br /&gt;
| px&lt;br /&gt;
| Count of border pixels in cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Roundness&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature, the similarity of cluster to circle.&lt;br /&gt;
|-&lt;br /&gt;
| AngleAzim&lt;br /&gt;
| deg&lt;br /&gt;
| Estimation of cluster direction as an angle in sensor plane.&lt;br /&gt;
|-&lt;br /&gt;
| Linearity&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature, similarity of cluster to a line.&lt;br /&gt;
|-&lt;br /&gt;
| LengthProj&lt;br /&gt;
| px&lt;br /&gt;
| Length of cluster. The maximal distance between pixels, L2D.&lt;br /&gt;
|-&lt;br /&gt;
| WidthProj&lt;br /&gt;
| px&lt;br /&gt;
| Maximal distance between pixels perp. to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
| IsSensEdge&lt;br /&gt;
| -&lt;br /&gt;
| Information whether cluster is at sensor edge, 1= True.&lt;br /&gt;
|-&lt;br /&gt;
| StdAlong&lt;br /&gt;
| px&lt;br /&gt;
| Standard deviation of pixels with respect to cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
| StdPerp&lt;br /&gt;
| px&lt;br /&gt;
| Standard deviation of pixels perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
| Thin&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Thick&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| CurlyThin&lt;br /&gt;
| -&lt;br /&gt;
| Combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
| EpixMean&lt;br /&gt;
| keV&lt;br /&gt;
| Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
| EpixStd&lt;br /&gt;
| keV&lt;br /&gt;
| Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Length3DCorrStd&lt;br /&gt;
| um&lt;br /&gt;
| L3D, particle trajectory corrected for based on weighted STD.&lt;br /&gt;
|-&lt;br /&gt;
| AngleElev&lt;br /&gt;
| deg&lt;br /&gt;
| Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| LET&lt;br /&gt;
| keV/um&lt;br /&gt;
| Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
| Diameter&lt;br /&gt;
| px&lt;br /&gt;
| Diameter of a cluster.&lt;br /&gt;
|-&lt;br /&gt;
| PIDClass&lt;br /&gt;
| -&lt;br /&gt;
| Shows the class into which the cluster was classified.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Furthermore, physics products and data evaluation output is summarized in `SamplingList` which is available in two output formats: `json` and `ASCII/txt`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Table 2&#039;&#039;&#039;. Description of physics products in `SamplingList`.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;29%&amp;quot;| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;14%&amp;quot;| &#039;&#039;&#039;Unit&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;55%&amp;quot;| &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| TimeLive_Sum&lt;br /&gt;
| s&lt;br /&gt;
| Sum of the time when detector was recording data excluding dead time&lt;br /&gt;
|-&lt;br /&gt;
| TimeSampling&lt;br /&gt;
| s&lt;br /&gt;
| Sampling time&lt;br /&gt;
|-&lt;br /&gt;
| CountSample&lt;br /&gt;
| -&lt;br /&gt;
| Number of counts in a sampling time&lt;br /&gt;
|-&lt;br /&gt;
| Time_First&lt;br /&gt;
| ns&lt;br /&gt;
| Time of arrival of the first hit cluster&lt;br /&gt;
|-&lt;br /&gt;
| Time_Last&lt;br /&gt;
| ns&lt;br /&gt;
| Time of arrival of the last hit cluster&lt;br /&gt;
|-&lt;br /&gt;
| Time_Last&lt;br /&gt;
| s&lt;br /&gt;
| Time of arrival of the last hit cluster&lt;br /&gt;
|-&lt;br /&gt;
| CountPixHit_Sum&lt;br /&gt;
| -&lt;br /&gt;
| Sum of pixels hit in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountPixHit_Sum_Proc&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum&lt;br /&gt;
| -&lt;br /&gt;
| Sum of clusters in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum_Proc&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CountRate_Mean&lt;br /&gt;
| s&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Average of clusters in the given data set per second&lt;br /&gt;
|-&lt;br /&gt;
| CountRatePixHit_Mean&lt;br /&gt;
| s&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Average of pixel hits in the given data set per second&lt;br /&gt;
|-&lt;br /&gt;
| Fluence_Sum&lt;br /&gt;
| cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Sum of fluence of particles in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| Flux_Sum&lt;br /&gt;
| Particles/cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;/s&lt;br /&gt;
| Sum flux of particles&lt;br /&gt;
|-&lt;br /&gt;
| EnergyDep_Sum&lt;br /&gt;
| keV&lt;br /&gt;
| Sum deposited energy in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| Dose_Sum&lt;br /&gt;
| uGy&lt;br /&gt;
| Sum absorbed dose in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| DoseRate_Mean&lt;br /&gt;
| uGy&lt;br /&gt;
| Average dose rate in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| ClassNames&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;23%&amp;quot;| 1)&lt;br /&gt;
!width=&amp;quot;76%&amp;quot;| Protons&lt;br /&gt;
|-&lt;br /&gt;
| 2)&lt;br /&gt;
| Photons and electrons&lt;br /&gt;
|-&lt;br /&gt;
| 3)&lt;br /&gt;
| Ions&lt;br /&gt;
|-&lt;br /&gt;
| 4)&lt;br /&gt;
| Others&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| AlgorithmSwitch&lt;br /&gt;
| -&lt;br /&gt;
| 251&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum_Class&lt;br /&gt;
| -&lt;br /&gt;
| Total number of particles for each identified class of particles in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum_Class&lt;br /&gt;
| %&lt;br /&gt;
| The personage of total number of particles for each identified class in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountRate_Mean_Class&lt;br /&gt;
| s&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Mean count rate for each identified class in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| Fluence_Sum_Class&lt;br /&gt;
| cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Sum of fluence for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| Flux_Sum_Class&lt;br /&gt;
| Particles/cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;/s&lt;br /&gt;
| Sum of flux for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| EnergyDep_Sum_Class&lt;br /&gt;
| keV&lt;br /&gt;
| Sum of deposited energy for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| Dose_Sum_Class&lt;br /&gt;
| uGy&lt;br /&gt;
| Sum of absorbed dose for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| DoseRate_Mean_Class&lt;br /&gt;
| uGy/h&lt;br /&gt;
| Mean dose rate for each class of particles identified in the measured data set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All the information in the `SamplingList` is given for each sampling interval that was set in the `ParametersFile.txt`.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;sigvec-significant-vectors&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== SigVec (Significant Vectors) ==&lt;br /&gt;
&lt;br /&gt;
This folder contains information on Significant vectors analysis structured into 2 files. The file below contains information on vector parameters used to for evaluation and their intervals. For example, Cluster parameter Size contains 3 intervals: [-1, 5]; [5,20] and [20, 1e+200] and the corresponding significant vectors are given in the next file `SigVec.vec` in the first 3 lines. Data are normalized to 1 as indicated in the info file. If user wants to define other cluster parameters for significant vectors, then he should define the variable title and the intervals. Data can be normalized to 1 or weighting can be applied.&lt;br /&gt;
&lt;br /&gt;
a) [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image29.png|402x316px]]&lt;br /&gt;
&lt;br /&gt;
b)[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image30.png|83x170px]]&lt;br /&gt;
&lt;br /&gt;
Figure 26. &#039;&#039;Example of a) significant vectors information file and b) of significant vectors output file.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;hist-histograms&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Hist (Histograms) ==&lt;br /&gt;
&lt;br /&gt;
This folder contains histograms of cluster variables from Table 1. These histograms are generated using data from `EventListExt.advelist` with a defined binning interval. Histograms are produced in both logarithmic and linear scale. Individual histograms in ASCII formats are available in this folder, along with details about the binning of each histogram and its intervals.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;An example of Histogram information can be found below: [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image31.png|355x141px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 27. Example of histogram information.&lt;br /&gt;
&lt;br /&gt;
The binning of the histograms can be adjusted using the `ParametersFile.txt` if the user desires different intervals or binning values or directly in the interactive Histogram Panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;In this file are detailed the mean value of the histogram, its error as seen below:&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Mean: 950.533&lt;br /&gt;
* Mean Error: 21.874&lt;br /&gt;
* Standard Deviation: 1531.520&lt;br /&gt;
* Standard Deviation Error: 42.188&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1D Histograms&#039;&#039;&#039; in graphical visualization are categorized by classes of particles and include the following Cluster parameters: deposited energy, height, and size. Additionally, histograms of all cluster parameters are available in ASCII format, sorted by classes of particles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2D histograms&#039;&#039;&#039; in graphical visualization for total deposited energy of low energy clusters (0-1000 keV) and high energy clusters (from 0 to over 15 000 keV) can be seen in this folder. In ASCII format the histogram of cluster energy and size are processed by classes of particles&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;spatialmap-spatial-graphs&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== SpatialMap (Spatial graphs) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Spatial maps can be used for imaging of the beam or of objects. 2D visualization of various parameters can be found in this folder including: Sensor map of cluster position, map of cluster sum of deposited energy, map of cluster mean energy per pixel, cluster height, Cluster LET, and cluster size.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image32.png|604x260px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 28. Folder Spatial Maps containing 2D histograms of various parameters for all particles and with particle discrimination (PID).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;support-and-issues&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Support and ISSUES =&lt;br /&gt;
&lt;br /&gt;
For technical support contact: Lukas Marek: [mailto:Lukas.marek@advacam.cz Lukas.marek@advacam.cz]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issues and Help&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Issues can be reported on github forum for issues:&lt;br /&gt;
&lt;br /&gt;
https://github.com/lmareksla/trax_engine_gui_issues&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can send issues directly to the following email addresses:&lt;br /&gt;
&lt;br /&gt;
* Lukas.Marek@advacam.cz&lt;br /&gt;
* Cristina.Oancea@advacam.cz&lt;br /&gt;
* [mailto:Carlos.Granja@advacam.cz Carlos.Granja@advacam.cz]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;frequently-asked-questions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Frequently asked questions =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q1: What is the difference between TraX Engine and DPE?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; There is no difference. DPE was renamed into TraX Engine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q2: Is there any citation for using TraX Engine and DPE?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; L Marek, C Granja, J Jakubek, J Ingerle, D Turecek, M Vuolo, C Oancea. Data Processing Engine (DPE): data analysis tool for particle tracking and mixed radiation field characterization with pixel detectors Timepix,2024 JINST 19 C04026&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q3: What type of data can be processed?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; Various types of data formats can be used including both data driven and frame with extensions t3pa, clog, txt, etc. See more details on the wiki page: https://wiki.advacam.cz/wiki/DPE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q4: How do I check if the calibration was applied correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; You can verify if the calibration was applied correctly by examining the output file &amp;amp;quot;EventListExt.advelist&amp;amp;quot; located in the output/File directory. Check the column labeled &amp;amp;quot;Energy [E]&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* If calibration was applied correctly, the energy values for each cluster will be written with decimals (e.g., 3343.12).&lt;br /&gt;
* If calibration was not applied, the Time-over-Threshold (ToT) values will be written as integer numbers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q5: How do I find the calibration coefficients of my detector, or detector used for measurement?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; The calibration coefficients (a, b, c, and t) are stored as ASCII files, each specific to an individual detector. You can access these coefficients using the PIXET software by following these steps:&lt;br /&gt;
&lt;br /&gt;
# Open the PIXET software.&lt;br /&gt;
# Navigate to the settings section.&lt;br /&gt;
# Select the chip settings.&lt;br /&gt;
# Choose the option to extract coefficients.&lt;br /&gt;
# Save the coefficients as ASCII files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;List of Acronyms&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
DPE –Data Processing Engine&lt;br /&gt;
&lt;br /&gt;
CL – Command Line&lt;br /&gt;
&lt;br /&gt;
WP – Web Portal&lt;br /&gt;
&lt;br /&gt;
TPX – Timepix&lt;br /&gt;
&lt;br /&gt;
TPX3 – Timepix3&lt;br /&gt;
&lt;br /&gt;
LE – Low Energy&lt;br /&gt;
&lt;br /&gt;
ME – Medium Energy&lt;br /&gt;
&lt;br /&gt;
HE – High Energy&lt;br /&gt;
&lt;br /&gt;
OD – Omnidirectional&lt;br /&gt;
&lt;br /&gt;
PID – Particle identification&lt;br /&gt;
&lt;br /&gt;
Si – Silicon&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1448</id>
		<title>TraX Engine GUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1448"/>
		<updated>2025-06-27T11:20:42Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image1.png|429x61px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This document is the user manual for the Data Processing Engine (DPE) Graphical User Interface (GUI). It includes sections on installation, steps for running the program, configuration of data processing and graphical visualization. Additionally, it provides detailed information on the structure of output folders and data products.&lt;br /&gt;
&lt;br /&gt;
This manual is complemented by the webpage: https://wiki.advacam.cz/index.php/DPE, which contains updated information on the DPE platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;install-and-run&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Install and Run =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;prerequisites&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To utilize the full capabilities of the Data Processing Engine, the following software components are required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Python 3.10&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Python Packages:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;matplotlib&#039;&#039;&#039; (version &amp;amp;gt;= 3.4)&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;numpy&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;RAM&#039;&#039;&#039; usage minimal 400 MB (example data consumes app 650 MB)&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Hard drive space&#039;&#039;&#039; usage is from 100 MB, but can be up to several GB (data from processing are stored on the hard drive)&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation Instructions&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Program:&#039;&#039;&#039; Obtain the program archive/zip file from the official source.&lt;br /&gt;
* &#039;&#039;&#039;Extract Files:&#039;&#039;&#039; Navigate to the directory where you wish to install the program and extract all files from the downloaded archive/zip file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;run-dpe-gui-instructions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Run DPE GUI instructions: ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Windows:&#039;&#039;&#039; Click on the executable file to start the DPE GUI program:&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;trax_enegine.exe&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;2&amp;quot; style=&amp;quot;list-style-type: lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Linux:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Open a Terminal.&lt;br /&gt;
* Navigate to the installation directory of the DPE.&lt;br /&gt;
* Execute the DPE with the following command: ./trax_engine.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;overview-of-dpe-gui-trax-engine-interface&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=  Overview of DPE GUI (TraX Engine) Interface =&lt;br /&gt;
&lt;br /&gt;
The image illustrates a comprehensive overview of the DPE TraX Engine graphical user interface (GUI), which is divided into three main sections. This layout facilitates a broad range of tasks from data input and processing to visualization and analysis.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image2.png|662x364px]]&lt;br /&gt;
&lt;br /&gt;
Figure 1. Overview of DPE GUI (TraX Engine) interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;top-menu-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Top menu bar ==&lt;br /&gt;
&lt;br /&gt;
Contains menus such as &#039;View&#039;, &#039;Preferences&#039;, and &#039;Help&#039;, offering quick access to general settings, customization options, and assistance resources.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image3.png|678x207px]]&lt;br /&gt;
&lt;br /&gt;
Figure 2. Top menu bar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;data-visualization-panels&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Data Visualization Panels ==&lt;br /&gt;
&lt;br /&gt;
Graph 1, Graph 2, and Graph 3: These panels display various data visualizations important for detailed analysis. Each graph comes with its toolbar allowing operations like exporting data, adjusting the display to logarithmic scale, and other customization features such as setting data binning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Overview of Figure Options Dialog Box&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image4.png|604x332px]]&lt;br /&gt;
&lt;br /&gt;
Figure 3. Overview of Figure Options Dialog Box.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axes/Image Identifier&#039;&#039;&#039;: The dropdown menu allows users to select different components or layers of the figure to configure. Each component can be labeled or identified uniquely to facilitate specific adjustments.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Label Field&#039;&#039;&#039;: Users can enter a descriptive label for the selected component, enhancing the clarity of graphs or images. This label often appears within the graph itself or in legends and helps to identify different data sets or image layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Palette Selection&#039;&#039;&#039;: A dropdown menu offering various color maps such as &#039;RdYlBu&#039; (Red-Yellow-Blue). This setting is important for visual data representation, as different color schemes can indicate intensity, density, or categories within the data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Min Value&#039;&#039;&#039;: Defines the lower bound for the data values associated with the colormap. This can help in normalizing data presentation, ensuring that the colormap accurately reflects variations in the underlying data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Max Value&#039;&#039;&#039;: Sets the upper boundary for the data values, which works in conjunction with the minimum value to scale the color mapping effectively.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;: Saves the changes and exits the dialog box.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;: Closes the dialog box without saving any changes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apply&#039;&#039;&#039;: Applies the changes without closing the dialog box, allowing users to immediately see the effect of their adjustments on the figure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;settings-for-data-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= settings for data processing =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;general-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== General Settings ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;General Settings&#039;&#039; section of the DPE GUI is central to configuring the data processing environment. This section is divided into several components, each with specific functionalities to enhance user interaction and data management efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image5.png|604x524px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 4. Overview of the General Settings section of the DPE GUI with detailed description on the right side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;input-data-and-calibration-matrices&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Input Data and Calibration Matrices ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Input Data&#039;&#039;&#039;: Users can insert the path to the data file which will be processed. Clicking the &#039;Open&#039; button allows for browsing and selecting the appropriate file. Data collected in either data driven or frame mode can be processed (t3pa/clog formats).&lt;br /&gt;
* &#039;&#039;&#039;Calibration Matrices&#039;&#039;&#039;: Similar to the data file, the path for calibration coefficients matrices can be entered here. Calibration files are crucial for converting measure time over threshold (ToT) values to energy and can also be loaded via &#039;Open&#039; button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;simple-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Simple Settings ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sampling Time&#039;&#039;&#039;: Set the interval in seconds for sampling the data.&lt;br /&gt;
* &#039;&#039;&#039;Particle Identification Algorithm&#039;&#039;&#039;: Choose from a dropdown menu to select the algorithm suitable for particle identification based on the data and experimental conditions. Options for PID based on artificial intelligence (AI) Neural Networks (NN): 251, 252, 201, or 202. Access the Wiki page for further information.&lt;br /&gt;
* &#039;&#039;&#039;Sensor Bias:&#039;&#039;&#039; Sensor Bias in Volts.&lt;br /&gt;
&lt;br /&gt;
Example: SensBias = 100 to specify that applied was 100 V. Default: 200.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sensor Thickness:&#039;&#039;&#039; Sensor thickness in micrometers.&lt;br /&gt;
&lt;br /&gt;
Example: SensThick = 500 to specify the thickness of the detector as 500 micrometers. Default: 500.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Chip Type:&#039;&#039;&#039; Select from the list: TPX (Timepix1), TPX2 (Timepix2), TPX3 (Timepix3) or Timepix4 (TPX)&lt;br /&gt;
* &#039;&#039;&#039;Sensor material:&#039;&#039;&#039; Select from the list: Silicon, Cadmium telluride, gallium arsenide or silicon carbide.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cluster Count&#039;&#039;&#039;: Specify the number of clusters to be processed per run, allowing users to manage the data volume per processing cycle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;advanced-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Advanced settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image6.png|604x314px]]&lt;br /&gt;
&lt;br /&gt;
Figure 5. Overview of the Advanced Settings section of the DPE GUI.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sensor Width&#039;&#039;&#039;: Enter the number of pixels that represent the width of the sensor.&lt;br /&gt;
* &#039;&#039;&#039;Sensor Height&#039;&#039;&#039;: Similar to sensor width, this setting allows the user to specify the height of the sensor in pixels.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mask File Name&#039;&#039;&#039;: This field should contain the filename of the mask file used during data processing. Masks are typically used to exclude certain areas of the sensor from analysis. Save mask as `Mask.ini`&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example of Mask&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [0-255,0-205] [0-5, 0-255] [254-255, 0-255] [0-255,0-5] [0-255,254-255]&lt;br /&gt;
* &#039;&#039;&#039;Mask File Path&#039;&#039;&#039;: Here, users should specify the full directory path where the mask file is located, ensuring the software can correctly access and apply the mask.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Direction Track Condition&#039;&#039;&#039;: When checked, this option enables the tracking of directional data.&lt;br /&gt;
* &#039;&#039;&#039;Radiology Units&#039;&#039;&#039;: Toggling this changes the units used in data processing and display from micrograys per hour (µGy/h) to grays per second (Gy/s).&lt;br /&gt;
* &#039;&#039;&#039;Ignore Clusters at Sensor Edge&#039;&#039;&#039;: Activating this setting will ignore any data clusters detected at the edges of the sensor, often necessary to avoid edge distortions in the analysis.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Timepix High Energy Correction&#039;&#039;&#039;: This checkbox enables specific corrections for high-energy particles detected by Timepix sensors, improving accuracy in high-energy experiments.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cluster Length Correction&#039;&#039;&#039;: A dropdown menu allows selection of the method used to correct the length calculation of clusters during processing, important for accurate LET measurements. In DPE GUI, there are two methods available for calculating length with the default method being Method 1. To select a different method for length derivation used in the formula for LET calculation, choose from the following list:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1:&#039;&#039;&#039; Based on weighted standard deviation subtraction from projected length (Default formula).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2:&#039;&#039;&#039; Based on projected width subtraction from projected length.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Dead Time of Frame&#039;&#039;&#039;: Defines a period, in milliseconds, where data is not recorded between frames—useful in high-speed data capture to prevent data overlap.&lt;br /&gt;
* &#039;&#039;&#039;Acquisition Time of Frame&#039;&#039;&#039;: Specifies for how long each frame&#039;s data is acquired. It is expressed in seconds.&lt;br /&gt;
* &#039;&#039;&#039;Coincidence Time&#039;&#039;&#039;: Sets the time window, in milliseconds, for detecting coincidences between events, essential for time-correlated particle detection studies.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;OK&#039;&#039;&#039;: Clicking this will save all changes and close the window.&lt;br /&gt;
* &#039;&#039;&#039;Cancel&#039;&#039;&#039;: This button exits the window without saving changes, keeping previous settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;analysis-options&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Analysis Options ===&lt;br /&gt;
&lt;br /&gt;
Provides checkboxes for toggling specific types of analysis such as Direction, Coincidence, Radiation Field Recognition, and Frame analysis. These settings allow for customized data processing based on the study requirements.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;input-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Input Parameters File ===&lt;br /&gt;
&lt;br /&gt;
Facilitates loading a pre-configured parameters file that sets various processing parameters. Users can load the desired parameters file by navigating to it and then clicking the &#039;Load&#039; button. The `ParametersFile.txt` contains essential information related to the configuration of the detector, data input/output, calibration files, and other parameters required for processing. The DPE GUI platform includes an example dataset with a predefined `ParametersFile.txt`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Customization Steps:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Open `ParametersFile.txt` in a text editor.&lt;br /&gt;
# Modify the following parameters to match your setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;3&amp;quot; style=&amp;quot;list-style-type: lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;FileInPath = [Path to your input data]&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;CalMat = [Path to your calibration matrices]&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;FileOutPath = [Path for output data]&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example Configuration:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
FileInPath = &amp;amp;quot;C:\WORK \example\data\&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
CalMat = &amp;amp;quot;C:\WORK\example\cal_mat\&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
FileOutPath = &amp;amp;quot;C:\WORK\example\out\&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
For further details on customizing the output, refer to the Wiki page: https://wiki.advacam.cz/index.php/DPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;export-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Export Data ===&lt;br /&gt;
&lt;br /&gt;
This function enables users to define a path to export processed data. After setting the path, clicking the &#039;Export&#039; button will save the output accordingly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;results&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
Displays the output from the last data processing session, including the count of particles processed, the total processing time, and the count of samples, providing quick access to processing outcomes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;start-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Start Processing ===&lt;br /&gt;
&lt;br /&gt;
The blue &#039;Start processing&#039; button at the bottom is used to initiate the data processing. A progress bar alongside shows the completion rate, which fills up to 100% upon the end of the process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-panel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Panel ===&lt;br /&gt;
&lt;br /&gt;
This panel, see figure 6, is particularly valuable for system administrators or users needing to troubleshoot operations, verify processes, or ensure that all system activities are running as expected. In case of an error check the Log Panel.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image7.png|604x290px]]&lt;br /&gt;
&lt;br /&gt;
Figure 6. Overview of the Log Panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;filters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Filters ==&lt;br /&gt;
&lt;br /&gt;
When dealing with a mixed field and the need to isolate specific types of particles independently of the existing particle recognition algorithms, one can define custom filters in the Filters.ini file or directly in the interactive Filter section, see image below. These filters allow for the specification of ranges for cluster parameters, which can then be applied to the data. For instance, within the same dataset, one might seek to isolate thermal neutron interactions and perpendicular protons. Below is an example demonstrating the implementation of advanced filters:&lt;br /&gt;
&lt;br /&gt;
[Y]&lt;br /&gt;
&lt;br /&gt;
Range = 205.0,255.0&lt;br /&gt;
&lt;br /&gt;
[E]&lt;br /&gt;
&lt;br /&gt;
Range = 260.0,2170.0&lt;br /&gt;
&lt;br /&gt;
[Size]&lt;br /&gt;
&lt;br /&gt;
Range = 3.0,62.0&lt;br /&gt;
&lt;br /&gt;
[Height]&lt;br /&gt;
&lt;br /&gt;
Range = 150.0,610.0&lt;br /&gt;
&lt;br /&gt;
[BorderPixCount]&lt;br /&gt;
&lt;br /&gt;
Range = 5.0,35.0&lt;br /&gt;
&lt;br /&gt;
[Roundness]&lt;br /&gt;
&lt;br /&gt;
Range = 0.55,1.0&lt;br /&gt;
&lt;br /&gt;
[Linearity]&lt;br /&gt;
&lt;br /&gt;
Range = 0.0,0.7&lt;br /&gt;
&lt;br /&gt;
[WidthProj]&lt;br /&gt;
&lt;br /&gt;
Range = 0.95,8.1&lt;br /&gt;
&lt;br /&gt;
[StdAlong]&lt;br /&gt;
&lt;br /&gt;
Range = 0.1,1.5&lt;br /&gt;
&lt;br /&gt;
[StdPerp]&lt;br /&gt;
&lt;br /&gt;
Range = 0.1,1.8&lt;br /&gt;
&lt;br /&gt;
[Thin]&lt;br /&gt;
&lt;br /&gt;
Range = 0.36,1.1&lt;br /&gt;
&lt;br /&gt;
[Thick]&lt;br /&gt;
&lt;br /&gt;
Range = 0.0,0.63&lt;br /&gt;
&lt;br /&gt;
[CurlyThin]&lt;br /&gt;
&lt;br /&gt;
Range = 0.3,1.0&lt;br /&gt;
&lt;br /&gt;
[EpixMean]&lt;br /&gt;
&lt;br /&gt;
Range = 8.0,290.0&lt;br /&gt;
&lt;br /&gt;
[AngleElev]&lt;br /&gt;
&lt;br /&gt;
Range = 4.5,42.0&lt;br /&gt;
&lt;br /&gt;
[LET]&lt;br /&gt;
&lt;br /&gt;
Range = 0.45,3.7&lt;br /&gt;
&lt;br /&gt;
[Diameter]&lt;br /&gt;
&lt;br /&gt;
Range = 2.4,9.0&lt;br /&gt;
&lt;br /&gt;
This panel is essential for users who need to perform targeted analyses by filtering out irrelevant or specific data. It supports complex analytical tasks by providing robust control over which data points are included based on quantitative criteria.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;filter-panel-overview&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Filter Panel Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image8.png|604x490px]]&lt;br /&gt;
&lt;br /&gt;
Figure 7. Overview of the Filter panel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variable List&#039;&#039;&#039;: A table with rows for different variables such as AngleAzim, AngleElev, BorderPixCount, etc., where each variable can be individually set with minimum and maximum values. This allows users to define thresholds or ranges for the data they want to include or exclude in the analysis.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Min and Max Columns&#039;&#039;&#039;: These columns are used to enter the desired minimum and maximum values for each variable, effectively setting the bounds for data filtering. For instance, users can limit AngleAzim between 5.0 and 40.0, ensuring that only data within this range is processed or displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cluster Count&#039;&#039;&#039;: Specifies the number of clusters to display, which helps in managing the visual density and processing load when analyzing large datasets.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apply Button&#039;&#039;&#039;: Commits the entered filter settings and applies them to the data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset Button&#039;&#039;&#039;: Resets all filter settings to their default values, offering a quick way to start over the configuration process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Switch to Filtered Out Particles&#039;&#039;&#039;: A toggle that, when activated, displays the particles or data points that have been filtered out based on the current settings. This is useful for verifying what is being excluded from the analysis.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use in Next Processing&#039;&#039;&#039;: A checkbox that, if selected, ensures that the current filter settings are retained and used in the next data processing cycle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Results&#039;&#039;&#039;: Shows the outcome of the current filtering, typically indicating the number of clusters or data points that passed or failed the filters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Import Section&#039;&#039;&#039;: Allows users to load filter configurations from an external file, which is helpful for applying previously defined or standardized filter settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Export Section&#039;&#039;&#039;: Enables saving the current filter settings to a file for reuse or documentation purposes.&lt;br /&gt;
&lt;br /&gt;
The import/export functionality further enhances workflow efficiency by facilitating the reuse of filter configurations across different sessions or projects.&lt;br /&gt;
&lt;br /&gt;
After inserting the filters, one needs to apply it by clicking on the Apply button. Afterwards in the graphical visualization will be displayed the output from filters which passed the criteria. If user selects a certain number of clusters (see cluster count), then push Enter button outside cluster count box and apply again the filters by clicking on the Apply button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;processing-panel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Processing Panel ==&lt;br /&gt;
&lt;br /&gt;
The Processing Panel is integral to managing data processing tasks within the application. It provides tools to handle multiple processes simultaneously, adjust process settings, initiate processing tasks, and view logs related to processing activities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;processing-panel-overview&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Processing Panel Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image9.png|604x609px]]&lt;br /&gt;
&lt;br /&gt;
Figure 8. Processing Panel Overview.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Process Selection Dropdown&#039;&#039;&#039;: Allows users to select from existing processes or switch between them to view and adjust settings or monitor their progress.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create New Process&#039;&#039;&#039;: Users can initiate a new processing task by defining its parameters and settings. This is essential for starting separate analysis tasks without interference from or to other ongoing processes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete Process&#039;&#039;&#039;: This option permits the deletion of existing processes, useful for managing space or removing outdated process setups.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Open Log Button&#039;&#039;&#039;: Opens a log file or log panel that provides detailed feedback on the processing activities. This feature is crucial for troubleshooting and understanding the flow of data processing, especially to check for errors or confirm successful completions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Start Processing Button&#039;&#039;&#039;: Begins the data processing task as configured. This button is typically used after all settings have been confirmed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Progress Bar&#039;&#039;&#039;: Displays the current progress of the data processing task, giving users a visual indication of how much of the task has been completed and how much remains.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;data-visualization-and-analysis-tools&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Data Visualization and Analysis Tools =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;general&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
The General panel serves as the primary interface for initial data visualization, containing three key graphs (see figure 9).&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image10.png|604x432px]]&lt;br /&gt;
&lt;br /&gt;
Figure 9. Data visualization: General panel overview.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Particle Count with PID (Particle Identification) Graph (Top Left):&amp;lt;/u&amp;gt;&#039;&#039; This graph displays the particle count over time, with particle discrimination. The PID algorithm classifies particles into the following categories: total, protons, photons &amp;amp;amp; electrons, ions, and others, each represented with distinct colors. Users can export the data, toggle the logarithmic display of the axes, and navigate through different time points to examine specific data intervals.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;2D Visualization of Clusters E in the Sensor (Top Right)&amp;lt;/u&amp;gt;&#039;&#039;: Presents a spatial map showing the distribution of energy clusters within the sensor.&lt;br /&gt;
&lt;br /&gt;
Includes an interactive element where users can adjust the number of clusters displayed, enhancing the granularity of the visualization based on the user&#039;s needs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histogram of Deposited Energy (Bottom):&amp;lt;/u&amp;gt;&#039;&#039; A histogram of deposited energy in the sensor for all particles. Similar to the first graph, this includes options for exporting data, adjusting the logarithmic scale, and setting the bin size for detailed analysis. The user can select to visualize histograms of other cluster parameters/variables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histograms&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Histograms ==&lt;br /&gt;
&lt;br /&gt;
The Histograms panel in the DPE GUI provides a multipurpose interface for the visualization and analysis of data distributions across a range of cluster parameters/variables. It allows users to quickly generate and customize histograms, which are essential tools for statistical data analysis. The panel features include controls for selecting the data variable, adjusting the binning, and toggling between logarithmic and linear scales to suit different requirements. In figure 10 can be seen the overview of the histogram panel. For illustration of other histograms of cluster parameters/variables, in figure 11a is displayed histogram of height and in figure 11b histogram of PID.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image11.png|604x426px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 10. Overview of histograms panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;a) [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image12.png|227x288px]] b) [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image13.png|227x288px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 11. Selected histograms from Data visualization section histograms. The following histograms are displayed: a) height (H), b) Particle identification (PID) class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;clusters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Clusters ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Clusters&#039;&#039; section of the DPE GUI focuses on providing detailed visualizations of data clusters, important for analyzing spatial and energy distributions within the dataset. This section includes two main types of visualizations along with interactive tools to enhance data interpretation.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image14.png|604x432px]]&lt;br /&gt;
&lt;br /&gt;
Figure 12. Overview of data visualization section Clusters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Single-cluster Visualization:&amp;lt;/u&amp;gt; Displays a detailed view of a selected single cluster, showing energy levels across different sensor pixels. Each pixel displays energy in color scale, which allows for a quick assessment of the energy distribution within a cluster.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;2D Visualization of Clusters E in the Sensor&amp;lt;/u&amp;gt;: Provides a comprehensive spatial view of energy distribution across the sensor area 256 by 256 pixels representing 14.08 by 14.08 mm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;. In this case, 300 cluster counts were displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-evaluation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Time Evaluation ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Time Evaluation&#039;&#039; panel in the DPE GUI presents a set of graphical tools for monitoring and analyzing different types of particle fluxes and dose rates across specified time intervals.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image15.png|604x424px]]&lt;br /&gt;
&lt;br /&gt;
Figure 13. Overview of the Time evolution panel.&lt;br /&gt;
&lt;br /&gt;
The following graphs are displayed in this panel:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Total Flux (Top Left)&amp;lt;/u&amp;gt;&#039;&#039;: Displays the total particle flux measured over time in particles per square centimeter per second (particles/cm²/s). Overall particle flux distribution over the measurement&#039;s duration can be seen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Flux with PID (Top Right)&amp;lt;/u&amp;gt;&#039;&#039;: Shows the particle flux over time, with particle identification where data are discriminated and sorted into: protons, photons &amp;amp;amp; electrons, ions, and others. This allows comparison of flux between different types of particles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Total Dose Rate (Bottom Left):&amp;lt;/u&amp;gt;&#039;&#039; Plots the total dose rate measured over time in grays per second (Gy/s).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Dose Rate with PID (Bottom Right)&amp;lt;/u&amp;gt;&#039;&#039;: Similar to the flux graph, this graph shows the dose rate with PID providing a detailed look at how different particles contribute to the overall dose rate. This type of data processing could be useful for understanding which particles are the primary contributors to radiation dose during the measurement and managing radiation safety.&lt;br /&gt;
&lt;br /&gt;
a)[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image16.png|338x192px]]&lt;br /&gt;
&lt;br /&gt;
b)[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image17.png|339x192px]]&lt;br /&gt;
&lt;br /&gt;
Figure 14. Selected data from Time evaluation section of data visualization with PID of dose rate for algorithm 251 and for algorithm 252.&lt;br /&gt;
&lt;br /&gt;
Figure 14 shows an example of particle flux with PID algorithm specific for the detector used: in a) 251 with 3 classes and b) 252 with 6 classes. In case of other algorithms used, the specific particle classes will be recognized and displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;pid-particle-identification&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== PID (Particle Identification) ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;PID&#039;&#039; (Particle Identification) section in the DPE GUI is important for analyzing particle characteristics and classifying them using artificial intelligence neural networks. This panel provides a multi-layered view of particle data, integrating histograms, time series, and spatial distribution maps to offer a comprehensive analysis based on particle types. This section facilitates detailed investigations into the characteristics and behaviors of different particles detected in the dataset.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image18.png|604x401px]]&lt;br /&gt;
&lt;br /&gt;
Figure 15. Overview of data visualization section PID.&lt;br /&gt;
&lt;br /&gt;
The key components of the PID panel are listed below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histograms of Energy&amp;lt;/u&amp;gt;&#039;&#039;: Displays energy distributions for various particles, with histograms colored for different particle types such as protons, photons &amp;amp;amp; electrons, ions, and others. Users can select the cluster variable (Cluster parameter) from drop-down menus, adjust the number of bins, and switch between logarithmic and linear scales to adjust the visualization to specific analytical needs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Time Graphs&amp;lt;/u&amp;gt;&#039;&#039;: Plots the count of different particle types over time. Includes options to select physics products correlated with PID data, such as count of particles, flux, fluence, dose rate, and deposited energy, enhancing the graph&#039;s utility for various studies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Spatial Distribution Maps (Bottom)&amp;lt;/u&amp;gt;&#039;&#039;: Four separate maps show the spatial distribution of total particles, protons, photons &amp;amp;amp; electrons, and ions. The first map shows the integrated number of particles set in the cluster count. The following maps are corelated to the total map of integrated particles and show the detected number of particles for each class/type. Tools are available for exporting data, adjusting the number of clusters displayed, and navigating through the dataset, enabling users to explore spatial patterns and correlations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;filter&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Filter ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Filter&#039;&#039; section in the DPE GUI is designed to show how data, which has passed/or not (in case the switch button was used) through applied filters, is visualized.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image19.png|604x425px]]&lt;br /&gt;
&lt;br /&gt;
Figure 16. Overview of data visualization in section Filters for data which passed the applied filters.&lt;br /&gt;
&lt;br /&gt;
The following graphs are displayed in Filter panel:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Selected Variable:&amp;lt;/u&amp;gt;&#039;&#039; Presents a histogram plotting the distribution of a selected variable, in this case energy (E), across the dataset that meets the filter criteria. Users can adjust the number of bins, choose the variable from a dropdown menu, and switch between logarithmic and linear scales to customize the view according to their analytical preferences.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;2D Histogram of Selected Variables:&amp;lt;/u&amp;gt;&#039;&#039; A two-dimensional histogram that cross-tabulates two selected variables, such as energy and size in this case, displaying counts of occurrences in a color-scale. Allows users to select variables for the x and y axes, adjust the bin sizes, and toggle the logarithmic display to enhance the visualization of data correlations and distributions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Single-cluster Visualization:&amp;lt;/u&amp;gt;&#039;&#039; Provides a detailed visual representation of a single cluster&#039;s data, showing energy distribution across sensor pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;2D Map of Clusters Energy:&amp;lt;/u&amp;gt;&#039;&#039; Displays a spatial map showing the distribution of energy across clusters within the dataset which passed the filters. Users can adjust the number of clusters displayed, facilitating customized view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;direction&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Direction ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Direction&#039;&#039; panel of the DPE GUI focuses on analyzing the directional properties of particle trajectories, specifically through azimuth and elevation angles. This analysis is important for understanding particle orientation and behavior within the studied environment.&lt;br /&gt;
&lt;br /&gt;
The primary objective of this analysis is to acquire information regarding particle directions. To achieve this, an analysis of each detected track via clustering process is performed. Then, a directional analysis is performed for the elevation and azimuth angles, accomplished by means of particle track length estimation. Four main features are analyzed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Particle length in sensor plane or L&amp;lt;sub&amp;gt;2D &amp;lt;/sub&amp;gt;&#039;&#039;&#039;– Estimation of the particle track length in the sensor plane. If a high-energy (HE) particle traversed fully through the sensor, this length should be equal to the length of a projection of the line going from the entry point to the exit point.&lt;br /&gt;
* &#039;&#039;&#039;Particle length in sensor volume or L&amp;lt;sub&amp;gt;3D &amp;lt;/sub&amp;gt;&#039;&#039;&#039;– Estimation of the particle track length in the sensor volume. If an HE particle traversed fully through the sensor, this length should be equal to the length of a line going from the entry point to the exit point.&lt;br /&gt;
* &#039;&#039;&#039;Azimuth angle&#039;&#039;&#039; – The angle between the y-axis and the cluster axis.&lt;br /&gt;
* &#039;&#039;&#039;Elevation angle β&#039;&#039;&#039; – the angle between the z-axis and the estimation of the particle trajectory in the sensor volume.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image20.png|604x429px]]&lt;br /&gt;
&lt;br /&gt;
Figure 17. Data visualization of section Direction. (top) histogram of Azimuth angle, (bottom) histogram of elevation angle and (right) Polar plot of distribution of azimuth and elevation angle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histogram of Azimuth Angle&amp;lt;/u&amp;gt;&#039;&#039;: This histogram displays the distribution of azimuth angles of particle tracks, plotted on a logarithmic scale to handle a wide range of data. Peaks in the histogram indicate preferred particle directions or orientations. Users can export the data for further analysis and adjust the binning of the histogram to fine-tune the resolution of angular distribution details.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histogram of Elevation Angle&amp;lt;/u&amp;gt;&#039;&#039;: Similar to the azimuth histogram, this graph shows the distribution of elevation angles, showing particle distribution relative to the horizontal plane.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Polar Plot of Distribution of Azimuth and Elevation Angles:&amp;lt;/u&amp;gt;&#039;&#039; Combines both azimuth and elevation data into a single polar plot, providing a comprehensive 2D representation of particle directions. Number of particles are displayed in color logarithmic scale. This visualization is useful for identifying dominant particle trajectories.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;frame&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Frame ==&lt;br /&gt;
&lt;br /&gt;
Provide options to view or analyze individual frames in case of data collected in frame mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;coincidence&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Coincidence ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Coincidence&#039;&#039; section of the DPE GUI is crucial for analyzing events where multiple particle detections occur at nearly the same time (within 100 ns in this case).&lt;br /&gt;
&lt;br /&gt;
The objective of this analysis is to provide users with statistical information about coincidence groups in terms of basic physical products. Visualization of coincidence groups is also included. Examples of statistical information are presented. Figure below illustrates how particle counts change over time within the coincidence groups.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image21.png|604x430px]] Figure 18. Data visualization of section Coincidence. 1D histogram of mean count of particles in event, histogram of coincidence group count, histogram of Time difference, clusters in coincidence.&lt;br /&gt;
&lt;br /&gt;
The following visualizations graphs regarding particle coincidences can be seen in the Coincidence panel from above:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Mean Count of Particles&amp;lt;/u&amp;gt;&#039;&#039;: This graph shows the mean count of particles per event over time. Allows users to observe fluctuations and trends in the average number of particles detected per event, indicating variations in particle generation or detection efficiency.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Coincidence Group Count&amp;lt;/u&amp;gt;&#039;&#039;: Displays the total count of coincidence groups (events where multiple particles are detected simultaneously) over time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Time Difference of Particles in Coincidence&amp;lt;/u&amp;gt;&#039;&#039;: Plots the distribution of time differences between detected particles within coincidence groups.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Clusters in Coincidence:&amp;lt;/u&amp;gt;&#039;&#039; Shows cluster groups which are seen as a group of particles in coincidence, see more examples in figure 19.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image22.png|604x213px]]&lt;br /&gt;
&lt;br /&gt;
Figure 19. Overview of data visualization in section coincidence showing 2 groups of particles in coincidence.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;spatial-maps&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Spatial Maps ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Spatial Maps&#039;&#039; panel in the DPE GUI provides an intricate view of spatial distributions related to particle clusters. These maps are important for analyzing the spatial characteristics of particle events and their distribution across a given sensor area. Various spatial maps can be seen in figure 20 including: 2D map of cluster counts, cluster energy, height and size. These type of analyzes can be used also for imaging, radiographies.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image23.png|604x428px]]&lt;br /&gt;
&lt;br /&gt;
Figure 20. Overview of data visualization in the section spatial maps.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;rfr-radiation-field-recognition&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== RFR (Radiation Field Recognition) ==&lt;br /&gt;
&lt;br /&gt;
Provides information on radiation field recognition, see output file for more details and analysis.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;exported-results-and-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Exported results and output =&lt;br /&gt;
&lt;br /&gt;
After exporting the output to the designated path, the following folders will be listed:&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image24.png|438x208px]]&lt;br /&gt;
&lt;br /&gt;
Figure 21. Output folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;coincevent-coincidences&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== CoincEvent (coincidences) ==&lt;br /&gt;
&lt;br /&gt;
This folder contains information on the coincidence of events in numerical forms. The files can be used to plot histograms or visualized events in coincidences.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image25.png|463x109px]]&lt;br /&gt;
&lt;br /&gt;
Figure 22. Overlay of folder coincidences containing files of related histograms, plots and a list of coincidence events.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;direction-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Direction ==&lt;br /&gt;
&lt;br /&gt;
The output overlay of the folder Direction can be seen below. It contains input files that can be used to plot various types of histograms both 1D and 2D of elevation and azimuth angles. In addition, the file `DirectionList.json` can be used to plot multiple parameters related to other directional quantities: e.g. length 2D and 3D.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image26.png|604x127px]]&lt;br /&gt;
&lt;br /&gt;
Figure 23. Overlay of folder direction containing files of related histograms and a list of of coincidence events.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;eventvisual-event-visualization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== EventVisual (Event Visualization) ==&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image27.png|604x219px]]&lt;br /&gt;
&lt;br /&gt;
Figure 24. Overlay of folder event visualization containing files of 2D Maps of deposited energy for all particles (integrated) and particle plots of (Total) and with particle discrimination and classification. Plots of individual clusters can be found here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-ascii-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==  File (ASCII output) ==&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image28.png|604x236px]]&lt;br /&gt;
&lt;br /&gt;
Figure 25. Overlay of folder File.&lt;br /&gt;
&lt;br /&gt;
This folder contains information related to different formats of the data. For example, in file `ClusterLog.clog` the data from data driven-mode (pixels, Toa + ToT mode) is divided into frames of 100 ns acquisition time.&lt;br /&gt;
&lt;br /&gt;
The clusterization stage is succeeded by cluster analysis, which evaluates both the morphological and spectral features of the clusters. File `EventList.advelist` and `EventListExt.advelist` contain a list of cluster parameters for each cluster. A detailed list of all cluster parameters is given in Table 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Table 1&#039;&#039;&#039;. List of cluster parameters processed for each particle and their description.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;22%&amp;quot;| &#039;&#039;&#039;Parameter name&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;13%&amp;quot;| &#039;&#039;&#039;Unit&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;64%&amp;quot;| &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| EventID&lt;br /&gt;
| -&lt;br /&gt;
| ID of events. It has the same value if particles are in coincidence.&lt;br /&gt;
|-&lt;br /&gt;
| X&lt;br /&gt;
| px&lt;br /&gt;
| X coordinate of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Y&lt;br /&gt;
| px&lt;br /&gt;
| Y coordinate of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| keV&lt;br /&gt;
| Energy of cluster. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| T&lt;br /&gt;
| ns&lt;br /&gt;
| Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| Flags&lt;br /&gt;
| -&lt;br /&gt;
| Frame number for data collected in frame mode.&lt;br /&gt;
|-&lt;br /&gt;
| Size&lt;br /&gt;
| px&lt;br /&gt;
| Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| Height&lt;br /&gt;
| keV&lt;br /&gt;
| Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| BorderPixCount&lt;br /&gt;
| px&lt;br /&gt;
| Count of border pixels in cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Roundness&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature, the similarity of cluster to circle.&lt;br /&gt;
|-&lt;br /&gt;
| AngleAzim&lt;br /&gt;
| deg&lt;br /&gt;
| Estimation of cluster direction as an angle in sensor plane.&lt;br /&gt;
|-&lt;br /&gt;
| Linearity&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature, similarity of cluster to a line.&lt;br /&gt;
|-&lt;br /&gt;
| LengthProj&lt;br /&gt;
| px&lt;br /&gt;
| Length of cluster. The maximal distance between pixels, L2D.&lt;br /&gt;
|-&lt;br /&gt;
| WidthProj&lt;br /&gt;
| px&lt;br /&gt;
| Maximal distance between pixels perp. to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
| IsSensEdge&lt;br /&gt;
| -&lt;br /&gt;
| Information whether cluster is at sensor edge, 1= True.&lt;br /&gt;
|-&lt;br /&gt;
| StdAlong&lt;br /&gt;
| px&lt;br /&gt;
| Standard deviation of pixels with respect to cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
| StdPerp&lt;br /&gt;
| px&lt;br /&gt;
| Standard deviation of pixels perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
| Thin&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Thick&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| CurlyThin&lt;br /&gt;
| -&lt;br /&gt;
| Combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
| EpixMean&lt;br /&gt;
| keV&lt;br /&gt;
| Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
| EpixStd&lt;br /&gt;
| keV&lt;br /&gt;
| Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Length3DCorrStd&lt;br /&gt;
| um&lt;br /&gt;
| L3D, particle trajectory corrected for based on weighted STD.&lt;br /&gt;
|-&lt;br /&gt;
| AngleElev&lt;br /&gt;
| deg&lt;br /&gt;
| Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| LET&lt;br /&gt;
| keV/um&lt;br /&gt;
| Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
| Diameter&lt;br /&gt;
| px&lt;br /&gt;
| Diameter of a cluster.&lt;br /&gt;
|-&lt;br /&gt;
| PIDClass&lt;br /&gt;
| -&lt;br /&gt;
| Shows the class into which the cluster was classified.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Furthermore, physics products and data evaluation output is summarized in `SamplingList` which is available in two output formats: `json` and `ASCII/txt`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Table 2&#039;&#039;&#039;. Description of physics products in `SamplingList`.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;29%&amp;quot;| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;14%&amp;quot;| &#039;&#039;&#039;Unit&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;55%&amp;quot;| &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| TimeLive_Sum&lt;br /&gt;
| s&lt;br /&gt;
| Sum of the time when detector was recording data excluding dead time&lt;br /&gt;
|-&lt;br /&gt;
| TimeSampling&lt;br /&gt;
| s&lt;br /&gt;
| Sampling time&lt;br /&gt;
|-&lt;br /&gt;
| CountSample&lt;br /&gt;
| -&lt;br /&gt;
| Number of counts in a sampling time&lt;br /&gt;
|-&lt;br /&gt;
| Time_First&lt;br /&gt;
| ns&lt;br /&gt;
| Time of arrival of the first hit cluster&lt;br /&gt;
|-&lt;br /&gt;
| Time_Last&lt;br /&gt;
| ns&lt;br /&gt;
| Time of arrival of the last hit cluster&lt;br /&gt;
|-&lt;br /&gt;
| Time_Last&lt;br /&gt;
| s&lt;br /&gt;
| Time of arrival of the last hit cluster&lt;br /&gt;
|-&lt;br /&gt;
| CountPixHit_Sum&lt;br /&gt;
| -&lt;br /&gt;
| Sum of pixels hit in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountPixHit_Sum_Proc&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum&lt;br /&gt;
| -&lt;br /&gt;
| Sum of clusters in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum_Proc&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CountRate_Mean&lt;br /&gt;
| s&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Average of clusters in the given data set per second&lt;br /&gt;
|-&lt;br /&gt;
| CountRatePixHit_Mean&lt;br /&gt;
| s&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Average of pixel hits in the given data set per second&lt;br /&gt;
|-&lt;br /&gt;
| Fluence_Sum&lt;br /&gt;
| cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Sum of fluence of particles in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| Flux_Sum&lt;br /&gt;
| Particles/cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;/s&lt;br /&gt;
| Sum flux of particles&lt;br /&gt;
|-&lt;br /&gt;
| EnergyDep_Sum&lt;br /&gt;
| keV&lt;br /&gt;
| Sum deposited energy in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| Dose_Sum&lt;br /&gt;
| uGy&lt;br /&gt;
| Sum absorbed dose in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| DoseRate_Mean&lt;br /&gt;
| uGy&lt;br /&gt;
| Average dose rate in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| ClassNames&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;23%&amp;quot;| 1)&lt;br /&gt;
!width=&amp;quot;76%&amp;quot;| Protons&lt;br /&gt;
|-&lt;br /&gt;
| 2)&lt;br /&gt;
| Photons and electrons&lt;br /&gt;
|-&lt;br /&gt;
| 3)&lt;br /&gt;
| Ions&lt;br /&gt;
|-&lt;br /&gt;
| 4)&lt;br /&gt;
| Others&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| AlgorithmSwitch&lt;br /&gt;
| -&lt;br /&gt;
| 251&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum_Class&lt;br /&gt;
| -&lt;br /&gt;
| Total number of particles for each identified class of particles in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum_Class&lt;br /&gt;
| %&lt;br /&gt;
| The personage of total number of particles for each identified class in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountRate_Mean_Class&lt;br /&gt;
| s&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Mean count rate for each identified class in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| Fluence_Sum_Class&lt;br /&gt;
| cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Sum of fluence for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| Flux_Sum_Class&lt;br /&gt;
| Particles/cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;/s&lt;br /&gt;
| Sum of flux for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| EnergyDep_Sum_Class&lt;br /&gt;
| keV&lt;br /&gt;
| Sum of deposited energy for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| Dose_Sum_Class&lt;br /&gt;
| uGy&lt;br /&gt;
| Sum of absorbed dose for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| DoseRate_Mean_Class&lt;br /&gt;
| uGy/h&lt;br /&gt;
| Mean dose rate for each class of particles identified in the measured data set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All the information in the `SamplingList` is given for each sampling interval that was set in the `ParametersFile.txt`.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;sigvec-significant-vectors&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== SigVec (Significant Vectors) ==&lt;br /&gt;
&lt;br /&gt;
This folder contains information on Significant vectors analysis structured into 2 files. The file below contains information on vector parameters used to for evaluation and their intervals. For example, Cluster parameter Size contains 3 intervals: [-1, 5]; [5,20] and [20, 1e+200] and the corresponding significant vectors are given in the next file `SigVec.vec` in the first 3 lines. Data are normalized to 1 as indicated in the info file. If user wants to define other cluster parameters for significant vectors, then he should define the variable title and the intervals. Data can be normalized to 1 or weighting can be applied.&lt;br /&gt;
&lt;br /&gt;
a) [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image29.png|402x316px]]&lt;br /&gt;
&lt;br /&gt;
b)[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image30.png|83x170px]]&lt;br /&gt;
&lt;br /&gt;
Figure 26. &#039;&#039;Example of a) significant vectors information file and b) of significant vectors output file.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;hist-histograms&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Hist (Histograms) ==&lt;br /&gt;
&lt;br /&gt;
This folder contains histograms of cluster variables from Table 1. These histograms are generated using data from `EventListExt.advelist` with a defined binning interval. Histograms are produced in both logarithmic and linear scale. Individual histograms in ASCII formats are available in this folder, along with details about the binning of each histogram and its intervals.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;An example of Histogram information can be found below: [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image31.png|355x141px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 27. Example of histogram information.&lt;br /&gt;
&lt;br /&gt;
The binning of the histograms can be adjusted using the `ParametersFile.txt` if the user desires different intervals or binning values or directly in the interactive Histogram Panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;In this file are detailed the mean value of the histogram, its error as seen below:&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Mean: 950.533&lt;br /&gt;
* Mean Error: 21.874&lt;br /&gt;
* Standard Deviation: 1531.520&lt;br /&gt;
* Standard Deviation Error: 42.188&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1D Histograms&#039;&#039;&#039; in graphical visualization are categorized by classes of particles and include the following Cluster parameters: deposited energy, height, and size. Additionally, histograms of all cluster parameters are available in ASCII format, sorted by classes of particles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2D histograms&#039;&#039;&#039; in graphical visualization for total deposited energy of low energy clusters (0-1000 keV) and high energy clusters (from 0 to over 15 000 keV) can be seen in this folder. In ASCII format the histogram of cluster energy and size are processed by classes of particles&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;spatialmap-spatial-graphs&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== SpatialMap (Spatial graphs) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Spatial maps can be used for imaging of the beam or of objects. 2D visualization of various parameters can be found in this folder including: Sensor map of cluster position, map of cluster sum of deposited energy, map of cluster mean energy per pixel, cluster height, Cluster LET, and cluster size.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image32.png|604x260px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 28. Folder Spatial Maps containing 2D histograms of various parameters for all particles and with particle discrimination (PID).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;support-and-issues&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Support and ISSUES =&lt;br /&gt;
&lt;br /&gt;
For technical support contact: Lukas Marek: [mailto:Lukas.marek@advacam.cz Lukas.marek@advacam.cz]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issues and Help&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Issues can be reported on github forum for issues:&lt;br /&gt;
&lt;br /&gt;
https://github.com/lmareksla/trax_engine_gui_issues&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can send issues directly to the following email addresses:&lt;br /&gt;
&lt;br /&gt;
* Lukas.Marek@advacam.cz&lt;br /&gt;
* Cristina.Oancea@advacam.cz&lt;br /&gt;
* [mailto:Carlos.Granja@advacam.cz Carlos.Granja@advacam.cz]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;frequently-asked-questions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Frequently asked questions =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q1: What is the difference between TraX Engine and DPE?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; There is no difference. DPE was renamed into TraX Engine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q2: Is there any citation for using TraX Engine and DPE?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; L Marek, C Granja, J Jakubek, J Ingerle, D Turecek, M Vuolo, C Oancea. Data Processing Engine (DPE): data analysis tool for particle tracking and mixed radiation field characterization with pixel detectors Timepix,2024 JINST 19 C04026&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q3: What type of data can be processed?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; Various types of data formats can be used including both data driven and frame with extensions t3pa, clog, txt, etc. See more details on the wiki page: https://wiki.advacam.cz/wiki/DPE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q4: How do I check if the calibration was applied correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; You can verify if the calibration was applied correctly by examining the output file &amp;amp;quot;EventListExt.advelist&amp;amp;quot; located in the output/File directory. Check the column labeled &amp;amp;quot;Energy [E]&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* If calibration was applied correctly, the energy values for each cluster will be written with decimals (e.g., 3343.12).&lt;br /&gt;
* If calibration was not applied, the Time-over-Threshold (ToT) values will be written as integer numbers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q5: How do I find the calibration coefficients of my detector, or detector used for measurement?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; The calibration coefficients (a, b, c, and t) are stored as ASCII files, each specific to an individual detector. You can access these coefficients using the PIXET software by following these steps:&lt;br /&gt;
&lt;br /&gt;
# Open the PIXET software.&lt;br /&gt;
# Navigate to the settings section.&lt;br /&gt;
# Select the chip settings.&lt;br /&gt;
# Choose the option to extract coefficients.&lt;br /&gt;
# Save the coefficients as ASCII files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;List of Acronyms&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
DPE –Data Processing Engine&lt;br /&gt;
&lt;br /&gt;
CL – Command Line&lt;br /&gt;
&lt;br /&gt;
WP – Web Portal&lt;br /&gt;
&lt;br /&gt;
TPX – Timepix&lt;br /&gt;
&lt;br /&gt;
TPX3 – Timepix3&lt;br /&gt;
&lt;br /&gt;
LE – Low Energy&lt;br /&gt;
&lt;br /&gt;
ME – Medium Energy&lt;br /&gt;
&lt;br /&gt;
HE – High Energy&lt;br /&gt;
&lt;br /&gt;
OD – Omnidirectional&lt;br /&gt;
&lt;br /&gt;
PID – Particle identification&lt;br /&gt;
&lt;br /&gt;
Si – Silicon&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1447</id>
		<title>TraX Engine GUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1447"/>
		<updated>2025-06-27T11:13:06Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DATA PROCESSING ENGINE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(DPE)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User Manual: Graphical User Interface (GUI)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Author:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cristina Oancea&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DPE_Manual_GUI_1.0_July2024&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image1.png|429x61px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;content&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= CONTENT =&lt;br /&gt;
&lt;br /&gt;
[[#_Toc173484127|CONTENT [[#_Toc173484127|2]]]]&lt;br /&gt;
&lt;br /&gt;
[[#introduction|1. INTRODUCTION [[#introduction|4]]]]&lt;br /&gt;
&lt;br /&gt;
[[#install-and-run|2. Install and Run [[#install-and-run|4]]]]&lt;br /&gt;
&lt;br /&gt;
[[#prerequisites|2.1. Prerequisites [[#prerequisites|4]]]]&lt;br /&gt;
&lt;br /&gt;
[[#run-dpe-gui-instructions|2.2. Run DPE GUI instructions: [[#run-dpe-gui-instructions|4]]]]&lt;br /&gt;
&lt;br /&gt;
[[#overview-of-dpe-gui-trax-engine-interface|3. Overview of DPE GUI (TraX Engine) Interface [[#overview-of-dpe-gui-trax-engine-interface|5]]]]&lt;br /&gt;
&lt;br /&gt;
[[#top-menu-bar|3.1. Top menu bar [[#top-menu-bar|5]]]]&lt;br /&gt;
&lt;br /&gt;
[[#data-visualization-panels|3.2. Data Visualization Panels [[#data-visualization-panels|6]]]]&lt;br /&gt;
&lt;br /&gt;
[[#settings-for-data-processing|4. settings for data processing [[#settings-for-data-processing|7]]]]&lt;br /&gt;
&lt;br /&gt;
[[#general-settings|4.1. General Settings [[#general-settings|7]]]]&lt;br /&gt;
&lt;br /&gt;
[[#input-data-and-calibration-matrices|4.1.1 Input Data and Calibration Matrices [[#input-data-and-calibration-matrices|8]]]]&lt;br /&gt;
&lt;br /&gt;
[[#simple-settings|4.1.2 Simple Settings [[#simple-settings|8]]]]&lt;br /&gt;
&lt;br /&gt;
[[#advanced-settings|4.1.3 Advanced settings [[#advanced-settings|9]]]]&lt;br /&gt;
&lt;br /&gt;
[[#analysis-options|4.1.4 Analysis Options [[#analysis-options|11]]]]&lt;br /&gt;
&lt;br /&gt;
[[#input-parameters-file|4.1.5 Input Parameters File [[#input-parameters-file|11]]]]&lt;br /&gt;
&lt;br /&gt;
[[#export-data|4.1.6 Export Data [[#export-data|12]]]]&lt;br /&gt;
&lt;br /&gt;
[[#results|4.1.7 Results [[#results|12]]]]&lt;br /&gt;
&lt;br /&gt;
[[#start-processing|4.1.8 Start Processing [[#start-processing|12]]]]&lt;br /&gt;
&lt;br /&gt;
[[#log-panel|4.1.9 Log Panel [[#log-panel|12]]]]&lt;br /&gt;
&lt;br /&gt;
[[#filters|4.2. Filters [[#filters|13]]]]&lt;br /&gt;
&lt;br /&gt;
[[#filter-panel-overview|4.2.1 Filter Panel Overview [[#filter-panel-overview|14]]]]&lt;br /&gt;
&lt;br /&gt;
[[#processing-panel|4.3. Processing Panel [[#processing-panel|16]]]]&lt;br /&gt;
&lt;br /&gt;
[[#processing-panel-overview|4.3.1 Processing Panel Overview [[#processing-panel-overview|16]]]]&lt;br /&gt;
&lt;br /&gt;
[[#data-visualization-and-analysis-tools|5. Data Visualization and Analysis Tools [[#data-visualization-and-analysis-tools|18]]]]&lt;br /&gt;
&lt;br /&gt;
[[#general|5.1. General [[#general|18]]]]&lt;br /&gt;
&lt;br /&gt;
[[#histograms|5.2. Histograms [[#histograms|19]]]]&lt;br /&gt;
&lt;br /&gt;
[[#clusters|5.3. Clusters [[#clusters|21]]]]&lt;br /&gt;
&lt;br /&gt;
[[#time-evaluation|5.4. Time Evaluation [[#time-evaluation|22]]]]&lt;br /&gt;
&lt;br /&gt;
[[#pid-particle-identification|5.5. PID (Particle Identification) [[#pid-particle-identification|23]]]]&lt;br /&gt;
&lt;br /&gt;
[[#filter|5.6. Filter [[#filter|25]]]]&lt;br /&gt;
&lt;br /&gt;
[[#direction|5.7. Direction [[#direction|26]]]]&lt;br /&gt;
&lt;br /&gt;
[[#frame|5.8. Frame [[#frame|28]]]]&lt;br /&gt;
&lt;br /&gt;
[[#coincidence|5.9. Coincidence [[#coincidence|28]]]]&lt;br /&gt;
&lt;br /&gt;
[[#spatial-maps|5.10. Spatial Maps [[#spatial-maps|29]]]]&lt;br /&gt;
&lt;br /&gt;
[[#rfr-radiation-field-recognition|5.11. RFR (Radiation Field Recognition) [[#rfr-radiation-field-recognition|30]]]]&lt;br /&gt;
&lt;br /&gt;
[[#exported-results-and-output|6. Exported results and output [[#exported-results-and-output|30]]]]&lt;br /&gt;
&lt;br /&gt;
[[#coincevent-coincidences|6.1. CoincEvent (coincidences) [[#coincevent-coincidences|31]]]]&lt;br /&gt;
&lt;br /&gt;
[[#direction-1|6.2. Direction [[#direction-1|31]]]]&lt;br /&gt;
&lt;br /&gt;
[[#eventvisual-event-visualization|6.3. EventVisual (Event Visualization) [[#eventvisual-event-visualization|32]]]]&lt;br /&gt;
&lt;br /&gt;
[[#file-ascii-output|6.4. File (ASCII output) [[#file-ascii-output|33]]]]&lt;br /&gt;
&lt;br /&gt;
[[#sigvec-significant-vectors|6.5. SigVec (Significant Vectors) [[#sigvec-significant-vectors|36]]]]&lt;br /&gt;
&lt;br /&gt;
[[#hist-histograms|6.6. Hist (Histograms) [[#hist-histograms|37]]]]&lt;br /&gt;
&lt;br /&gt;
[[#spatialmap-spatial-graphs|6.7. SpatialMap (Spatial graphs) [[#spatialmap-spatial-graphs|38]]]]&lt;br /&gt;
&lt;br /&gt;
[[#support-and-issues|7. Support and ISSUES [[#support-and-issues|39]]]]&lt;br /&gt;
&lt;br /&gt;
[[#frequently-asked-questions|8. Frequently asked questions [[#frequently-asked-questions|40]]]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;introduction&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= INTRODUCTION =&lt;br /&gt;
&lt;br /&gt;
This document is the user manual for the Data Processing Engine (DPE) Graphical User Interface (GUI). It includes sections on installation, steps for running the program, configuration of data processing and graphical visualization. Additionally, it provides detailed information on the structure of output folders and data products.&lt;br /&gt;
&lt;br /&gt;
This manual is complemented by the webpage: https://wiki.advacam.cz/index.php/DPE, which contains updated information on the DPE platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;install-and-run&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Install and Run =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;prerequisites&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To utilize the full capabilities of the Data Processing Engine, the following software components are required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Python 3.10&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Python Packages:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;matplotlib&#039;&#039;&#039; (version &amp;amp;gt;= 3.4)&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;numpy&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;RAM&#039;&#039;&#039; usage minimal 400 MB (example data consumes app 650 MB)&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Hard drive space&#039;&#039;&#039; usage is from 100 MB, but can be up to several GB (data from processing are stored on the hard drive)&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation Instructions&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Download the Program:&#039;&#039;&#039; Obtain the program archive/zip file from the official source.&lt;br /&gt;
* &#039;&#039;&#039;Extract Files:&#039;&#039;&#039; Navigate to the directory where you wish to install the program and extract all files from the downloaded archive/zip file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;run-dpe-gui-instructions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Run DPE GUI instructions: ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Windows:&#039;&#039;&#039; Click on the executable file to start the DPE GUI program:&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;trax_enegine.exe&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;2&amp;quot; style=&amp;quot;list-style-type: lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Linux:&#039;&#039;&#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Open a Terminal.&lt;br /&gt;
* Navigate to the installation directory of the DPE.&lt;br /&gt;
* Execute the DPE with the following command: ./trax_engine.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;overview-of-dpe-gui-trax-engine-interface&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=  Overview of DPE GUI (TraX Engine) Interface =&lt;br /&gt;
&lt;br /&gt;
The image illustrates a comprehensive overview of the DPE TraX Engine graphical user interface (GUI), which is divided into three main sections. This layout facilitates a broad range of tasks from data input and processing to visualization and analysis.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image2.png|662x364px]]&lt;br /&gt;
&lt;br /&gt;
Figure 1. Overview of DPE GUI (TraX Engine) interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;top-menu-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Top menu bar ==&lt;br /&gt;
&lt;br /&gt;
Contains menus such as &#039;View&#039;, &#039;Preferences&#039;, and &#039;Help&#039;, offering quick access to general settings, customization options, and assistance resources.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image3.png|678x207px]]&lt;br /&gt;
&lt;br /&gt;
Figure 2. Top menu bar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;data-visualization-panels&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Data Visualization Panels ==&lt;br /&gt;
&lt;br /&gt;
Graph 1, Graph 2, and Graph 3: These panels display various data visualizations important for detailed analysis. Each graph comes with its toolbar allowing operations like exporting data, adjusting the display to logarithmic scale, and other customization features such as setting data binning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Overview of Figure Options Dialog Box&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image4.png|604x332px]]&lt;br /&gt;
&lt;br /&gt;
Figure 3. Overview of Figure Options Dialog Box.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axes/Image Identifier&#039;&#039;&#039;: The dropdown menu allows users to select different components or layers of the figure to configure. Each component can be labeled or identified uniquely to facilitate specific adjustments.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Label Field&#039;&#039;&#039;: Users can enter a descriptive label for the selected component, enhancing the clarity of graphs or images. This label often appears within the graph itself or in legends and helps to identify different data sets or image layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Color Palette Selection&#039;&#039;&#039;: A dropdown menu offering various color maps such as &#039;RdYlBu&#039; (Red-Yellow-Blue). This setting is important for visual data representation, as different color schemes can indicate intensity, density, or categories within the data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Min Value&#039;&#039;&#039;: Defines the lower bound for the data values associated with the colormap. This can help in normalizing data presentation, ensuring that the colormap accurately reflects variations in the underlying data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Max Value&#039;&#039;&#039;: Sets the upper boundary for the data values, which works in conjunction with the minimum value to scale the color mapping effectively.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;: Saves the changes and exits the dialog box.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;: Closes the dialog box without saving any changes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apply&#039;&#039;&#039;: Applies the changes without closing the dialog box, allowing users to immediately see the effect of their adjustments on the figure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;settings-for-data-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= settings for data processing =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;general-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== General Settings ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;General Settings&#039;&#039; section of the DPE GUI is central to configuring the data processing environment. This section is divided into several components, each with specific functionalities to enhance user interaction and data management efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image5.png|604x524px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 4. Overview of the General Settings section of the DPE GUI with detailed description on the right side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;input-data-and-calibration-matrices&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Input Data and Calibration Matrices ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Input Data&#039;&#039;&#039;: Users can insert the path to the data file which will be processed. Clicking the &#039;Open&#039; button allows for browsing and selecting the appropriate file. Data collected in either data driven or frame mode can be processed (t3pa/clog formats).&lt;br /&gt;
* &#039;&#039;&#039;Calibration Matrices&#039;&#039;&#039;: Similar to the data file, the path for calibration coefficients matrices can be entered here. Calibration files are crucial for converting measure time over threshold (ToT) values to energy and can also be loaded via &#039;Open&#039; button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;simple-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Simple Settings ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sampling Time&#039;&#039;&#039;: Set the interval in seconds for sampling the data.&lt;br /&gt;
* &#039;&#039;&#039;Particle Identification Algorithm&#039;&#039;&#039;: Choose from a dropdown menu to select the algorithm suitable for particle identification based on the data and experimental conditions. Options for PID based on artificial intelligence (AI) Neural Networks (NN): 251, 252, 201, or 202. Access the Wiki page for further information.&lt;br /&gt;
* &#039;&#039;&#039;Sensor Bias:&#039;&#039;&#039; Sensor Bias in Volts.&lt;br /&gt;
&lt;br /&gt;
Example: SensBias = 100 to specify that applied was 100 V. Default: 200.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sensor Thickness:&#039;&#039;&#039; Sensor thickness in micrometers.&lt;br /&gt;
&lt;br /&gt;
Example: SensThick = 500 to specify the thickness of the detector as 500 micrometers. Default: 500.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Chip Type:&#039;&#039;&#039; Select from the list: TPX (Timepix1), TPX2 (Timepix2), TPX3 (Timepix3) or Timepix4 (TPX)&lt;br /&gt;
* &#039;&#039;&#039;Sensor material:&#039;&#039;&#039; Select from the list: Silicon, Cadmium telluride, gallium arsenide or silicon carbide.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cluster Count&#039;&#039;&#039;: Specify the number of clusters to be processed per run, allowing users to manage the data volume per processing cycle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;advanced-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Advanced settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image6.png|604x314px]]&lt;br /&gt;
&lt;br /&gt;
Figure 5. Overview of the Advanced Settings section of the DPE GUI.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sensor Width&#039;&#039;&#039;: Enter the number of pixels that represent the width of the sensor.&lt;br /&gt;
* &#039;&#039;&#039;Sensor Height&#039;&#039;&#039;: Similar to sensor width, this setting allows the user to specify the height of the sensor in pixels.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mask File Name&#039;&#039;&#039;: This field should contain the filename of the mask file used during data processing. Masks are typically used to exclude certain areas of the sensor from analysis. Save mask as `Mask.ini`&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example of Mask&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [0-255,0-205] [0-5, 0-255] [254-255, 0-255] [0-255,0-5] [0-255,254-255]&lt;br /&gt;
* &#039;&#039;&#039;Mask File Path&#039;&#039;&#039;: Here, users should specify the full directory path where the mask file is located, ensuring the software can correctly access and apply the mask.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Direction Track Condition&#039;&#039;&#039;: When checked, this option enables the tracking of directional data.&lt;br /&gt;
* &#039;&#039;&#039;Radiology Units&#039;&#039;&#039;: Toggling this changes the units used in data processing and display from micrograys per hour (µGy/h) to grays per second (Gy/s).&lt;br /&gt;
* &#039;&#039;&#039;Ignore Clusters at Sensor Edge&#039;&#039;&#039;: Activating this setting will ignore any data clusters detected at the edges of the sensor, often necessary to avoid edge distortions in the analysis.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Timepix High Energy Correction&#039;&#039;&#039;: This checkbox enables specific corrections for high-energy particles detected by Timepix sensors, improving accuracy in high-energy experiments.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cluster Length Correction&#039;&#039;&#039;: A dropdown menu allows selection of the method used to correct the length calculation of clusters during processing, important for accurate LET measurements. In DPE GUI, there are two methods available for calculating length with the default method being Method 1. To select a different method for length derivation used in the formula for LET calculation, choose from the following list:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1:&#039;&#039;&#039; Based on weighted standard deviation subtraction from projected length (Default formula).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2:&#039;&#039;&#039; Based on projected width subtraction from projected length.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Dead Time of Frame&#039;&#039;&#039;: Defines a period, in milliseconds, where data is not recorded between frames—useful in high-speed data capture to prevent data overlap.&lt;br /&gt;
* &#039;&#039;&#039;Acquisition Time of Frame&#039;&#039;&#039;: Specifies for how long each frame&#039;s data is acquired. It is expressed in seconds.&lt;br /&gt;
* &#039;&#039;&#039;Coincidence Time&#039;&#039;&#039;: Sets the time window, in milliseconds, for detecting coincidences between events, essential for time-correlated particle detection studies.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;OK&#039;&#039;&#039;: Clicking this will save all changes and close the window.&lt;br /&gt;
* &#039;&#039;&#039;Cancel&#039;&#039;&#039;: This button exits the window without saving changes, keeping previous settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;analysis-options&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Analysis Options ===&lt;br /&gt;
&lt;br /&gt;
Provides checkboxes for toggling specific types of analysis such as Direction, Coincidence, Radiation Field Recognition, and Frame analysis. These settings allow for customized data processing based on the study requirements.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;input-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Input Parameters File ===&lt;br /&gt;
&lt;br /&gt;
Facilitates loading a pre-configured parameters file that sets various processing parameters. Users can load the desired parameters file by navigating to it and then clicking the &#039;Load&#039; button. The `ParametersFile.txt` contains essential information related to the configuration of the detector, data input/output, calibration files, and other parameters required for processing. The DPE GUI platform includes an example dataset with a predefined `ParametersFile.txt`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Customization Steps:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Open `ParametersFile.txt` in a text editor.&lt;br /&gt;
# Modify the following parameters to match your setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;3&amp;quot; style=&amp;quot;list-style-type: lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;FileInPath = [Path to your input data]&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;CalMat = [Path to your calibration matrices]&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;FileOutPath = [Path for output data]&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example Configuration:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
FileInPath = &amp;amp;quot;C:\WORK \example\data\&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
CalMat = &amp;amp;quot;C:\WORK\example\cal_mat\&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
FileOutPath = &amp;amp;quot;C:\WORK\example\out\&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
For further details on customizing the output, refer to the Wiki page: https://wiki.advacam.cz/index.php/DPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;export-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Export Data ===&lt;br /&gt;
&lt;br /&gt;
This function enables users to define a path to export processed data. After setting the path, clicking the &#039;Export&#039; button will save the output accordingly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;results&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
Displays the output from the last data processing session, including the count of particles processed, the total processing time, and the count of samples, providing quick access to processing outcomes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;start-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Start Processing ===&lt;br /&gt;
&lt;br /&gt;
The blue &#039;Start processing&#039; button at the bottom is used to initiate the data processing. A progress bar alongside shows the completion rate, which fills up to 100% upon the end of the process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-panel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Panel ===&lt;br /&gt;
&lt;br /&gt;
This panel, see figure 6, is particularly valuable for system administrators or users needing to troubleshoot operations, verify processes, or ensure that all system activities are running as expected. In case of an error check the Log Panel.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image7.png|604x290px]]&lt;br /&gt;
&lt;br /&gt;
Figure 6. Overview of the Log Panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;filters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Filters ==&lt;br /&gt;
&lt;br /&gt;
When dealing with a mixed field and the need to isolate specific types of particles independently of the existing particle recognition algorithms, one can define custom filters in the Filters.ini file or directly in the interactive Filter section, see image below. These filters allow for the specification of ranges for cluster parameters, which can then be applied to the data. For instance, within the same dataset, one might seek to isolate thermal neutron interactions and perpendicular protons. Below is an example demonstrating the implementation of advanced filters:&lt;br /&gt;
&lt;br /&gt;
[Y]&lt;br /&gt;
&lt;br /&gt;
Range = 205.0,255.0&lt;br /&gt;
&lt;br /&gt;
[E]&lt;br /&gt;
&lt;br /&gt;
Range = 260.0,2170.0&lt;br /&gt;
&lt;br /&gt;
[Size]&lt;br /&gt;
&lt;br /&gt;
Range = 3.0,62.0&lt;br /&gt;
&lt;br /&gt;
[Height]&lt;br /&gt;
&lt;br /&gt;
Range = 150.0,610.0&lt;br /&gt;
&lt;br /&gt;
[BorderPixCount]&lt;br /&gt;
&lt;br /&gt;
Range = 5.0,35.0&lt;br /&gt;
&lt;br /&gt;
[Roundness]&lt;br /&gt;
&lt;br /&gt;
Range = 0.55,1.0&lt;br /&gt;
&lt;br /&gt;
[Linearity]&lt;br /&gt;
&lt;br /&gt;
Range = 0.0,0.7&lt;br /&gt;
&lt;br /&gt;
[WidthProj]&lt;br /&gt;
&lt;br /&gt;
Range = 0.95,8.1&lt;br /&gt;
&lt;br /&gt;
[StdAlong]&lt;br /&gt;
&lt;br /&gt;
Range = 0.1,1.5&lt;br /&gt;
&lt;br /&gt;
[StdPerp]&lt;br /&gt;
&lt;br /&gt;
Range = 0.1,1.8&lt;br /&gt;
&lt;br /&gt;
[Thin]&lt;br /&gt;
&lt;br /&gt;
Range = 0.36,1.1&lt;br /&gt;
&lt;br /&gt;
[Thick]&lt;br /&gt;
&lt;br /&gt;
Range = 0.0,0.63&lt;br /&gt;
&lt;br /&gt;
[CurlyThin]&lt;br /&gt;
&lt;br /&gt;
Range = 0.3,1.0&lt;br /&gt;
&lt;br /&gt;
[EpixMean]&lt;br /&gt;
&lt;br /&gt;
Range = 8.0,290.0&lt;br /&gt;
&lt;br /&gt;
[AngleElev]&lt;br /&gt;
&lt;br /&gt;
Range = 4.5,42.0&lt;br /&gt;
&lt;br /&gt;
[LET]&lt;br /&gt;
&lt;br /&gt;
Range = 0.45,3.7&lt;br /&gt;
&lt;br /&gt;
[Diameter]&lt;br /&gt;
&lt;br /&gt;
Range = 2.4,9.0&lt;br /&gt;
&lt;br /&gt;
This panel is essential for users who need to perform targeted analyses by filtering out irrelevant or specific data. It supports complex analytical tasks by providing robust control over which data points are included based on quantitative criteria.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;filter-panel-overview&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Filter Panel Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image8.png|604x490px]]&lt;br /&gt;
&lt;br /&gt;
Figure 7. Overview of the Filter panel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variable List&#039;&#039;&#039;: A table with rows for different variables such as AngleAzim, AngleElev, BorderPixCount, etc., where each variable can be individually set with minimum and maximum values. This allows users to define thresholds or ranges for the data they want to include or exclude in the analysis.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Min and Max Columns&#039;&#039;&#039;: These columns are used to enter the desired minimum and maximum values for each variable, effectively setting the bounds for data filtering. For instance, users can limit AngleAzim between 5.0 and 40.0, ensuring that only data within this range is processed or displayed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cluster Count&#039;&#039;&#039;: Specifies the number of clusters to display, which helps in managing the visual density and processing load when analyzing large datasets.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apply Button&#039;&#039;&#039;: Commits the entered filter settings and applies them to the data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reset Button&#039;&#039;&#039;: Resets all filter settings to their default values, offering a quick way to start over the configuration process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Switch to Filtered Out Particles&#039;&#039;&#039;: A toggle that, when activated, displays the particles or data points that have been filtered out based on the current settings. This is useful for verifying what is being excluded from the analysis.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use in Next Processing&#039;&#039;&#039;: A checkbox that, if selected, ensures that the current filter settings are retained and used in the next data processing cycle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Results&#039;&#039;&#039;: Shows the outcome of the current filtering, typically indicating the number of clusters or data points that passed or failed the filters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Import Section&#039;&#039;&#039;: Allows users to load filter configurations from an external file, which is helpful for applying previously defined or standardized filter settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Export Section&#039;&#039;&#039;: Enables saving the current filter settings to a file for reuse or documentation purposes.&lt;br /&gt;
&lt;br /&gt;
The import/export functionality further enhances workflow efficiency by facilitating the reuse of filter configurations across different sessions or projects.&lt;br /&gt;
&lt;br /&gt;
After inserting the filters, one needs to apply it by clicking on the Apply button. Afterwards in the graphical visualization will be displayed the output from filters which passed the criteria. If user selects a certain number of clusters (see cluster count), then push Enter button outside cluster count box and apply again the filters by clicking on the Apply button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;processing-panel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Processing Panel ==&lt;br /&gt;
&lt;br /&gt;
The Processing Panel is integral to managing data processing tasks within the application. It provides tools to handle multiple processes simultaneously, adjust process settings, initiate processing tasks, and view logs related to processing activities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;processing-panel-overview&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Processing Panel Overview ===&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image9.png|604x609px]]&lt;br /&gt;
&lt;br /&gt;
Figure 8. Processing Panel Overview.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Process Selection Dropdown&#039;&#039;&#039;: Allows users to select from existing processes or switch between them to view and adjust settings or monitor their progress.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create New Process&#039;&#039;&#039;: Users can initiate a new processing task by defining its parameters and settings. This is essential for starting separate analysis tasks without interference from or to other ongoing processes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delete Process&#039;&#039;&#039;: This option permits the deletion of existing processes, useful for managing space or removing outdated process setups.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Open Log Button&#039;&#039;&#039;: Opens a log file or log panel that provides detailed feedback on the processing activities. This feature is crucial for troubleshooting and understanding the flow of data processing, especially to check for errors or confirm successful completions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Start Processing Button&#039;&#039;&#039;: Begins the data processing task as configured. This button is typically used after all settings have been confirmed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Progress Bar&#039;&#039;&#039;: Displays the current progress of the data processing task, giving users a visual indication of how much of the task has been completed and how much remains.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;data-visualization-and-analysis-tools&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Data Visualization and Analysis Tools =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;general&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
The General panel serves as the primary interface for initial data visualization, containing three key graphs (see figure 9).&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image10.png|604x432px]]&lt;br /&gt;
&lt;br /&gt;
Figure 9. Data visualization: General panel overview.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Particle Count with PID (Particle Identification) Graph (Top Left):&amp;lt;/u&amp;gt;&#039;&#039; This graph displays the particle count over time, with particle discrimination. The PID algorithm classifies particles into the following categories: total, protons, photons &amp;amp;amp; electrons, ions, and others, each represented with distinct colors. Users can export the data, toggle the logarithmic display of the axes, and navigate through different time points to examine specific data intervals.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;2D Visualization of Clusters E in the Sensor (Top Right)&amp;lt;/u&amp;gt;&#039;&#039;: Presents a spatial map showing the distribution of energy clusters within the sensor.&lt;br /&gt;
&lt;br /&gt;
Includes an interactive element where users can adjust the number of clusters displayed, enhancing the granularity of the visualization based on the user&#039;s needs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histogram of Deposited Energy (Bottom):&amp;lt;/u&amp;gt;&#039;&#039; A histogram of deposited energy in the sensor for all particles. Similar to the first graph, this includes options for exporting data, adjusting the logarithmic scale, and setting the bin size for detailed analysis. The user can select to visualize histograms of other cluster parameters/variables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histograms&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Histograms ==&lt;br /&gt;
&lt;br /&gt;
The Histograms panel in the DPE GUI provides a multipurpose interface for the visualization and analysis of data distributions across a range of cluster parameters/variables. It allows users to quickly generate and customize histograms, which are essential tools for statistical data analysis. The panel features include controls for selecting the data variable, adjusting the binning, and toggling between logarithmic and linear scales to suit different requirements. In figure 10 can be seen the overview of the histogram panel. For illustration of other histograms of cluster parameters/variables, in figure 11a is displayed histogram of height and in figure 11b histogram of PID.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image11.png|604x426px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 10. Overview of histograms panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;a) [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image12.png|227x288px]] b) [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image13.png|227x288px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 11. Selected histograms from Data visualization section histograms. The following histograms are displayed: a) height (H), b) Particle identification (PID) class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;clusters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Clusters ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Clusters&#039;&#039; section of the DPE GUI focuses on providing detailed visualizations of data clusters, important for analyzing spatial and energy distributions within the dataset. This section includes two main types of visualizations along with interactive tools to enhance data interpretation.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image14.png|604x432px]]&lt;br /&gt;
&lt;br /&gt;
Figure 12. Overview of data visualization section Clusters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Single-cluster Visualization:&amp;lt;/u&amp;gt; Displays a detailed view of a selected single cluster, showing energy levels across different sensor pixels. Each pixel displays energy in color scale, which allows for a quick assessment of the energy distribution within a cluster.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;2D Visualization of Clusters E in the Sensor&amp;lt;/u&amp;gt;: Provides a comprehensive spatial view of energy distribution across the sensor area 256 by 256 pixels representing 14.08 by 14.08 mm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;. In this case, 300 cluster counts were displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-evaluation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Time Evaluation ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Time Evaluation&#039;&#039; panel in the DPE GUI presents a set of graphical tools for monitoring and analyzing different types of particle fluxes and dose rates across specified time intervals.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image15.png|604x424px]]&lt;br /&gt;
&lt;br /&gt;
Figure 13. Overview of the Time evolution panel.&lt;br /&gt;
&lt;br /&gt;
The following graphs are displayed in this panel:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Total Flux (Top Left)&amp;lt;/u&amp;gt;&#039;&#039;: Displays the total particle flux measured over time in particles per square centimeter per second (particles/cm²/s). Overall particle flux distribution over the measurement&#039;s duration can be seen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Flux with PID (Top Right)&amp;lt;/u&amp;gt;&#039;&#039;: Shows the particle flux over time, with particle identification where data are discriminated and sorted into: protons, photons &amp;amp;amp; electrons, ions, and others. This allows comparison of flux between different types of particles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Total Dose Rate (Bottom Left):&amp;lt;/u&amp;gt;&#039;&#039; Plots the total dose rate measured over time in grays per second (Gy/s).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Dose Rate with PID (Bottom Right)&amp;lt;/u&amp;gt;&#039;&#039;: Similar to the flux graph, this graph shows the dose rate with PID providing a detailed look at how different particles contribute to the overall dose rate. This type of data processing could be useful for understanding which particles are the primary contributors to radiation dose during the measurement and managing radiation safety.&lt;br /&gt;
&lt;br /&gt;
a)[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image16.png|338x192px]]&lt;br /&gt;
&lt;br /&gt;
b)[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image17.png|339x192px]]&lt;br /&gt;
&lt;br /&gt;
Figure 14. Selected data from Time evaluation section of data visualization with PID of dose rate for algorithm 251 and for algorithm 252.&lt;br /&gt;
&lt;br /&gt;
Figure 14 shows an example of particle flux with PID algorithm specific for the detector used: in a) 251 with 3 classes and b) 252 with 6 classes. In case of other algorithms used, the specific particle classes will be recognized and displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;pid-particle-identification&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== PID (Particle Identification) ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;PID&#039;&#039; (Particle Identification) section in the DPE GUI is important for analyzing particle characteristics and classifying them using artificial intelligence neural networks. This panel provides a multi-layered view of particle data, integrating histograms, time series, and spatial distribution maps to offer a comprehensive analysis based on particle types. This section facilitates detailed investigations into the characteristics and behaviors of different particles detected in the dataset.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image18.png|604x401px]]&lt;br /&gt;
&lt;br /&gt;
Figure 15. Overview of data visualization section PID.&lt;br /&gt;
&lt;br /&gt;
The key components of the PID panel are listed below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histograms of Energy&amp;lt;/u&amp;gt;&#039;&#039;: Displays energy distributions for various particles, with histograms colored for different particle types such as protons, photons &amp;amp;amp; electrons, ions, and others. Users can select the cluster variable (Cluster parameter) from drop-down menus, adjust the number of bins, and switch between logarithmic and linear scales to adjust the visualization to specific analytical needs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Time Graphs&amp;lt;/u&amp;gt;&#039;&#039;: Plots the count of different particle types over time. Includes options to select physics products correlated with PID data, such as count of particles, flux, fluence, dose rate, and deposited energy, enhancing the graph&#039;s utility for various studies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Spatial Distribution Maps (Bottom)&amp;lt;/u&amp;gt;&#039;&#039;: Four separate maps show the spatial distribution of total particles, protons, photons &amp;amp;amp; electrons, and ions. The first map shows the integrated number of particles set in the cluster count. The following maps are corelated to the total map of integrated particles and show the detected number of particles for each class/type. Tools are available for exporting data, adjusting the number of clusters displayed, and navigating through the dataset, enabling users to explore spatial patterns and correlations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;filter&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Filter ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Filter&#039;&#039; section in the DPE GUI is designed to show how data, which has passed/or not (in case the switch button was used) through applied filters, is visualized.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image19.png|604x425px]]&lt;br /&gt;
&lt;br /&gt;
Figure 16. Overview of data visualization in section Filters for data which passed the applied filters.&lt;br /&gt;
&lt;br /&gt;
The following graphs are displayed in Filter panel:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Selected Variable:&amp;lt;/u&amp;gt;&#039;&#039; Presents a histogram plotting the distribution of a selected variable, in this case energy (E), across the dataset that meets the filter criteria. Users can adjust the number of bins, choose the variable from a dropdown menu, and switch between logarithmic and linear scales to customize the view according to their analytical preferences.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;2D Histogram of Selected Variables:&amp;lt;/u&amp;gt;&#039;&#039; A two-dimensional histogram that cross-tabulates two selected variables, such as energy and size in this case, displaying counts of occurrences in a color-scale. Allows users to select variables for the x and y axes, adjust the bin sizes, and toggle the logarithmic display to enhance the visualization of data correlations and distributions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Single-cluster Visualization:&amp;lt;/u&amp;gt;&#039;&#039; Provides a detailed visual representation of a single cluster&#039;s data, showing energy distribution across sensor pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;2D Map of Clusters Energy:&amp;lt;/u&amp;gt;&#039;&#039; Displays a spatial map showing the distribution of energy across clusters within the dataset which passed the filters. Users can adjust the number of clusters displayed, facilitating customized view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;direction&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Direction ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Direction&#039;&#039; panel of the DPE GUI focuses on analyzing the directional properties of particle trajectories, specifically through azimuth and elevation angles. This analysis is important for understanding particle orientation and behavior within the studied environment.&lt;br /&gt;
&lt;br /&gt;
The primary objective of this analysis is to acquire information regarding particle directions. To achieve this, an analysis of each detected track via clustering process is performed. Then, a directional analysis is performed for the elevation and azimuth angles, accomplished by means of particle track length estimation. Four main features are analyzed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Particle length in sensor plane or L&amp;lt;sub&amp;gt;2D &amp;lt;/sub&amp;gt;&#039;&#039;&#039;– Estimation of the particle track length in the sensor plane. If a high-energy (HE) particle traversed fully through the sensor, this length should be equal to the length of a projection of the line going from the entry point to the exit point.&lt;br /&gt;
* &#039;&#039;&#039;Particle length in sensor volume or L&amp;lt;sub&amp;gt;3D &amp;lt;/sub&amp;gt;&#039;&#039;&#039;– Estimation of the particle track length in the sensor volume. If an HE particle traversed fully through the sensor, this length should be equal to the length of a line going from the entry point to the exit point.&lt;br /&gt;
* &#039;&#039;&#039;Azimuth angle&#039;&#039;&#039; – The angle between the y-axis and the cluster axis.&lt;br /&gt;
* &#039;&#039;&#039;Elevation angle β&#039;&#039;&#039; – the angle between the z-axis and the estimation of the particle trajectory in the sensor volume.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image20.png|604x429px]]&lt;br /&gt;
&lt;br /&gt;
Figure 17. Data visualization of section Direction. (top) histogram of Azimuth angle, (bottom) histogram of elevation angle and (right) Polar plot of distribution of azimuth and elevation angle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histogram of Azimuth Angle&amp;lt;/u&amp;gt;&#039;&#039;: This histogram displays the distribution of azimuth angles of particle tracks, plotted on a logarithmic scale to handle a wide range of data. Peaks in the histogram indicate preferred particle directions or orientations. Users can export the data for further analysis and adjust the binning of the histogram to fine-tune the resolution of angular distribution details.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Histogram of Elevation Angle&amp;lt;/u&amp;gt;&#039;&#039;: Similar to the azimuth histogram, this graph shows the distribution of elevation angles, showing particle distribution relative to the horizontal plane.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Polar Plot of Distribution of Azimuth and Elevation Angles:&amp;lt;/u&amp;gt;&#039;&#039; Combines both azimuth and elevation data into a single polar plot, providing a comprehensive 2D representation of particle directions. Number of particles are displayed in color logarithmic scale. This visualization is useful for identifying dominant particle trajectories.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;frame&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Frame ==&lt;br /&gt;
&lt;br /&gt;
Provide options to view or analyze individual frames in case of data collected in frame mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;coincidence&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Coincidence ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Coincidence&#039;&#039; section of the DPE GUI is crucial for analyzing events where multiple particle detections occur at nearly the same time (within 100 ns in this case).&lt;br /&gt;
&lt;br /&gt;
The objective of this analysis is to provide users with statistical information about coincidence groups in terms of basic physical products. Visualization of coincidence groups is also included. Examples of statistical information are presented. Figure below illustrates how particle counts change over time within the coincidence groups.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image21.png|604x430px]] Figure 18. Data visualization of section Coincidence. 1D histogram of mean count of particles in event, histogram of coincidence group count, histogram of Time difference, clusters in coincidence.&lt;br /&gt;
&lt;br /&gt;
The following visualizations graphs regarding particle coincidences can be seen in the Coincidence panel from above:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Mean Count of Particles&amp;lt;/u&amp;gt;&#039;&#039;: This graph shows the mean count of particles per event over time. Allows users to observe fluctuations and trends in the average number of particles detected per event, indicating variations in particle generation or detection efficiency.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Coincidence Group Count&amp;lt;/u&amp;gt;&#039;&#039;: Displays the total count of coincidence groups (events where multiple particles are detected simultaneously) over time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;1D Histogram of Time Difference of Particles in Coincidence&amp;lt;/u&amp;gt;&#039;&#039;: Plots the distribution of time differences between detected particles within coincidence groups.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Clusters in Coincidence:&amp;lt;/u&amp;gt;&#039;&#039; Shows cluster groups which are seen as a group of particles in coincidence, see more examples in figure 19.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image22.png|604x213px]]&lt;br /&gt;
&lt;br /&gt;
Figure 19. Overview of data visualization in section coincidence showing 2 groups of particles in coincidence.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;spatial-maps&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Spatial Maps ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Spatial Maps&#039;&#039; panel in the DPE GUI provides an intricate view of spatial distributions related to particle clusters. These maps are important for analyzing the spatial characteristics of particle events and their distribution across a given sensor area. Various spatial maps can be seen in figure 20 including: 2D map of cluster counts, cluster energy, height and size. These type of analyzes can be used also for imaging, radiographies.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image23.png|604x428px]]&lt;br /&gt;
&lt;br /&gt;
Figure 20. Overview of data visualization in the section spatial maps.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;rfr-radiation-field-recognition&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== RFR (Radiation Field Recognition) ==&lt;br /&gt;
&lt;br /&gt;
Provides information on radiation field recognition, see output file for more details and analysis.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;exported-results-and-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Exported results and output =&lt;br /&gt;
&lt;br /&gt;
After exporting the output to the designated path, the following folders will be listed:&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image24.png|438x208px]]&lt;br /&gt;
&lt;br /&gt;
Figure 21. Output folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;coincevent-coincidences&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== CoincEvent (coincidences) ==&lt;br /&gt;
&lt;br /&gt;
This folder contains information on the coincidence of events in numerical forms. The files can be used to plot histograms or visualized events in coincidences.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image25.png|463x109px]]&lt;br /&gt;
&lt;br /&gt;
Figure 22. Overlay of folder coincidences containing files of related histograms, plots and a list of coincidence events.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;direction-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Direction ==&lt;br /&gt;
&lt;br /&gt;
The output overlay of the folder Direction can be seen below. It contains input files that can be used to plot various types of histograms both 1D and 2D of elevation and azimuth angles. In addition, the file `DirectionList.json` can be used to plot multiple parameters related to other directional quantities: e.g. length 2D and 3D.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image26.png|604x127px]]&lt;br /&gt;
&lt;br /&gt;
Figure 23. Overlay of folder direction containing files of related histograms and a list of of coincidence events.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;eventvisual-event-visualization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== EventVisual (Event Visualization) ==&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image27.png|604x219px]]&lt;br /&gt;
&lt;br /&gt;
Figure 24. Overlay of folder event visualization containing files of 2D Maps of deposited energy for all particles (integrated) and particle plots of (Total) and with particle discrimination and classification. Plots of individual clusters can be found here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-ascii-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==  File (ASCII output) ==&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image28.png|604x236px]]&lt;br /&gt;
&lt;br /&gt;
Figure 25. Overlay of folder File.&lt;br /&gt;
&lt;br /&gt;
This folder contains information related to different formats of the data. For example, in file `ClusterLog.clog` the data from data driven-mode (pixels, Toa + ToT mode) is divided into frames of 100 ns acquisition time.&lt;br /&gt;
&lt;br /&gt;
The clusterization stage is succeeded by cluster analysis, which evaluates both the morphological and spectral features of the clusters. File `EventList.advelist` and `EventListExt.advelist` contain a list of cluster parameters for each cluster. A detailed list of all cluster parameters is given in Table 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Table 1&#039;&#039;&#039;. List of cluster parameters processed for each particle and their description.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;22%&amp;quot;| &#039;&#039;&#039;Parameter name&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;13%&amp;quot;| &#039;&#039;&#039;Unit&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;64%&amp;quot;| &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| EventID&lt;br /&gt;
| -&lt;br /&gt;
| ID of events. It has the same value if particles are in coincidence.&lt;br /&gt;
|-&lt;br /&gt;
| X&lt;br /&gt;
| px&lt;br /&gt;
| X coordinate of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Y&lt;br /&gt;
| px&lt;br /&gt;
| Y coordinate of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| keV&lt;br /&gt;
| Energy of cluster. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| T&lt;br /&gt;
| ns&lt;br /&gt;
| Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| Flags&lt;br /&gt;
| -&lt;br /&gt;
| Frame number for data collected in frame mode.&lt;br /&gt;
|-&lt;br /&gt;
| Size&lt;br /&gt;
| px&lt;br /&gt;
| Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| Height&lt;br /&gt;
| keV&lt;br /&gt;
| Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
| BorderPixCount&lt;br /&gt;
| px&lt;br /&gt;
| Count of border pixels in cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Roundness&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature, the similarity of cluster to circle.&lt;br /&gt;
|-&lt;br /&gt;
| AngleAzim&lt;br /&gt;
| deg&lt;br /&gt;
| Estimation of cluster direction as an angle in sensor plane.&lt;br /&gt;
|-&lt;br /&gt;
| Linearity&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature, similarity of cluster to a line.&lt;br /&gt;
|-&lt;br /&gt;
| LengthProj&lt;br /&gt;
| px&lt;br /&gt;
| Length of cluster. The maximal distance between pixels, L2D.&lt;br /&gt;
|-&lt;br /&gt;
| WidthProj&lt;br /&gt;
| px&lt;br /&gt;
| Maximal distance between pixels perp. to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
| IsSensEdge&lt;br /&gt;
| -&lt;br /&gt;
| Information whether cluster is at sensor edge, 1= True.&lt;br /&gt;
|-&lt;br /&gt;
| StdAlong&lt;br /&gt;
| px&lt;br /&gt;
| Standard deviation of pixels with respect to cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
| StdPerp&lt;br /&gt;
| px&lt;br /&gt;
| Standard deviation of pixels perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
| Thin&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Thick&lt;br /&gt;
| -&lt;br /&gt;
| Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| CurlyThin&lt;br /&gt;
| -&lt;br /&gt;
| Combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
| EpixMean&lt;br /&gt;
| keV&lt;br /&gt;
| Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
| EpixStd&lt;br /&gt;
| keV&lt;br /&gt;
| Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Length3DCorrStd&lt;br /&gt;
| um&lt;br /&gt;
| L3D, particle trajectory corrected for based on weighted STD.&lt;br /&gt;
|-&lt;br /&gt;
| AngleElev&lt;br /&gt;
| deg&lt;br /&gt;
| Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
| LET&lt;br /&gt;
| keV/um&lt;br /&gt;
| Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
| Diameter&lt;br /&gt;
| px&lt;br /&gt;
| Diameter of a cluster.&lt;br /&gt;
|-&lt;br /&gt;
| PIDClass&lt;br /&gt;
| -&lt;br /&gt;
| Shows the class into which the cluster was classified.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Furthermore, physics products and data evaluation output is summarized in `SamplingList` which is available in two output formats: `json` and `ASCII/txt`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Table 2&#039;&#039;&#039;. Description of physics products in `SamplingList`.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;29%&amp;quot;| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;14%&amp;quot;| &#039;&#039;&#039;Unit&#039;&#039;&#039;&lt;br /&gt;
!width=&amp;quot;55%&amp;quot;| &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| TimeLive_Sum&lt;br /&gt;
| s&lt;br /&gt;
| Sum of the time when detector was recording data excluding dead time&lt;br /&gt;
|-&lt;br /&gt;
| TimeSampling&lt;br /&gt;
| s&lt;br /&gt;
| Sampling time&lt;br /&gt;
|-&lt;br /&gt;
| CountSample&lt;br /&gt;
| -&lt;br /&gt;
| Number of counts in a sampling time&lt;br /&gt;
|-&lt;br /&gt;
| Time_First&lt;br /&gt;
| ns&lt;br /&gt;
| Time of arrival of the first hit cluster&lt;br /&gt;
|-&lt;br /&gt;
| Time_Last&lt;br /&gt;
| ns&lt;br /&gt;
| Time of arrival of the last hit cluster&lt;br /&gt;
|-&lt;br /&gt;
| Time_Last&lt;br /&gt;
| s&lt;br /&gt;
| Time of arrival of the last hit cluster&lt;br /&gt;
|-&lt;br /&gt;
| CountPixHit_Sum&lt;br /&gt;
| -&lt;br /&gt;
| Sum of pixels hit in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountPixHit_Sum_Proc&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum&lt;br /&gt;
| -&lt;br /&gt;
| Sum of clusters in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum_Proc&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CountRate_Mean&lt;br /&gt;
| s&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Average of clusters in the given data set per second&lt;br /&gt;
|-&lt;br /&gt;
| CountRatePixHit_Mean&lt;br /&gt;
| s&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Average of pixel hits in the given data set per second&lt;br /&gt;
|-&lt;br /&gt;
| Fluence_Sum&lt;br /&gt;
| cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Sum of fluence of particles in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| Flux_Sum&lt;br /&gt;
| Particles/cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;/s&lt;br /&gt;
| Sum flux of particles&lt;br /&gt;
|-&lt;br /&gt;
| EnergyDep_Sum&lt;br /&gt;
| keV&lt;br /&gt;
| Sum deposited energy in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| Dose_Sum&lt;br /&gt;
| uGy&lt;br /&gt;
| Sum absorbed dose in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| DoseRate_Mean&lt;br /&gt;
| uGy&lt;br /&gt;
| Average dose rate in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| ClassNames&lt;br /&gt;
| -&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;23%&amp;quot;| 1)&lt;br /&gt;
!width=&amp;quot;76%&amp;quot;| Protons&lt;br /&gt;
|-&lt;br /&gt;
| 2)&lt;br /&gt;
| Photons and electrons&lt;br /&gt;
|-&lt;br /&gt;
| 3)&lt;br /&gt;
| Ions&lt;br /&gt;
|-&lt;br /&gt;
| 4)&lt;br /&gt;
| Others&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| AlgorithmSwitch&lt;br /&gt;
| -&lt;br /&gt;
| 251&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum_Class&lt;br /&gt;
| -&lt;br /&gt;
| Total number of particles for each identified class of particles in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountParticle_Sum_Class&lt;br /&gt;
| %&lt;br /&gt;
| The personage of total number of particles for each identified class in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| CountRate_Mean_Class&lt;br /&gt;
| s&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Mean count rate for each identified class in the given data set&lt;br /&gt;
|-&lt;br /&gt;
| Fluence_Sum_Class&lt;br /&gt;
| cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Sum of fluence for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| Flux_Sum_Class&lt;br /&gt;
| Particles/cm&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt;/s&lt;br /&gt;
| Sum of flux for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| EnergyDep_Sum_Class&lt;br /&gt;
| keV&lt;br /&gt;
| Sum of deposited energy for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| Dose_Sum_Class&lt;br /&gt;
| uGy&lt;br /&gt;
| Sum of absorbed dose for each class of particles identified in the measured data set&lt;br /&gt;
|-&lt;br /&gt;
| DoseRate_Mean_Class&lt;br /&gt;
| uGy/h&lt;br /&gt;
| Mean dose rate for each class of particles identified in the measured data set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All the information in the `SamplingList` is given for each sampling interval that was set in the `ParametersFile.txt`.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;sigvec-significant-vectors&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== SigVec (Significant Vectors) ==&lt;br /&gt;
&lt;br /&gt;
This folder contains information on Significant vectors analysis structured into 2 files. The file below contains information on vector parameters used to for evaluation and their intervals. For example, Cluster parameter Size contains 3 intervals: [-1, 5]; [5,20] and [20, 1e+200] and the corresponding significant vectors are given in the next file `SigVec.vec` in the first 3 lines. Data are normalized to 1 as indicated in the info file. If user wants to define other cluster parameters for significant vectors, then he should define the variable title and the intervals. Data can be normalized to 1 or weighting can be applied.&lt;br /&gt;
&lt;br /&gt;
a) [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image29.png|402x316px]]&lt;br /&gt;
&lt;br /&gt;
b)[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image30.png|83x170px]]&lt;br /&gt;
&lt;br /&gt;
Figure 26. &#039;&#039;Example of a) significant vectors information file and b) of significant vectors output file.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;hist-histograms&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Hist (Histograms) ==&lt;br /&gt;
&lt;br /&gt;
This folder contains histograms of cluster variables from Table 1. These histograms are generated using data from `EventListExt.advelist` with a defined binning interval. Histograms are produced in both logarithmic and linear scale. Individual histograms in ASCII formats are available in this folder, along with details about the binning of each histogram and its intervals.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;An example of Histogram information can be found below: [[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image31.png|355x141px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 27. Example of histogram information.&lt;br /&gt;
&lt;br /&gt;
The binning of the histograms can be adjusted using the `ParametersFile.txt` if the user desires different intervals or binning values or directly in the interactive Histogram Panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;In this file are detailed the mean value of the histogram, its error as seen below:&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* Mean: 950.533&lt;br /&gt;
* Mean Error: 21.874&lt;br /&gt;
* Standard Deviation: 1531.520&lt;br /&gt;
* Standard Deviation Error: 42.188&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1D Histograms&#039;&#039;&#039; in graphical visualization are categorized by classes of particles and include the following Cluster parameters: deposited energy, height, and size. Additionally, histograms of all cluster parameters are available in ASCII format, sorted by classes of particles.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2D histograms&#039;&#039;&#039; in graphical visualization for total deposited energy of low energy clusters (0-1000 keV) and high energy clusters (from 0 to over 15 000 keV) can be seen in this folder. In ASCII format the histogram of cluster energy and size are processed by classes of particles&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;spatialmap-spatial-graphs&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== SpatialMap (Spatial graphs) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Spatial maps can be used for imaging of the beam or of objects. 2D visualization of various parameters can be found in this folder including: Sensor map of cluster position, map of cluster sum of deposited energy, map of cluster mean energy per pixel, cluster height, Cluster LET, and cluster size.&lt;br /&gt;
&lt;br /&gt;
[[File:vertopal_4d20fd67a374491d9eb38b2e430e2fc2/media/image32.png|604x260px]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Figure 28. Folder Spatial Maps containing 2D histograms of various parameters for all particles and with particle discrimination (PID).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;support-and-issues&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Support and ISSUES =&lt;br /&gt;
&lt;br /&gt;
For technical support contact: Lukas Marek: [mailto:Lukas.marek@advacam.cz Lukas.marek@advacam.cz]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Issues and Help&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Issues can be reported on github forum for issues:&lt;br /&gt;
&lt;br /&gt;
https://github.com/lmareksla/trax_engine_gui_issues&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can send issues directly to the following email addresses:&lt;br /&gt;
&lt;br /&gt;
* Lukas.Marek@advacam.cz&lt;br /&gt;
* Cristina.Oancea@advacam.cz&lt;br /&gt;
* [mailto:Carlos.Granja@advacam.cz Carlos.Granja@advacam.cz]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;frequently-asked-questions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Frequently asked questions =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q1: What is the difference between TraX Engine and DPE?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; There is no difference. DPE was renamed into TraX Engine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q2: Is there any citation for using TraX Engine and DPE?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; L Marek, C Granja, J Jakubek, J Ingerle, D Turecek, M Vuolo, C Oancea. Data Processing Engine (DPE): data analysis tool for particle tracking and mixed radiation field characterization with pixel detectors Timepix,2024 JINST 19 C04026&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q3: What type of data can be processed?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; Various types of data formats can be used including both data driven and frame with extensions t3pa, clog, txt, etc. See more details on the wiki page: https://wiki.advacam.cz/wiki/DPE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q4: How do I check if the calibration was applied correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; You can verify if the calibration was applied correctly by examining the output file &amp;amp;quot;EventListExt.advelist&amp;amp;quot; located in the output/File directory. Check the column labeled &amp;amp;quot;Energy [E]&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* If calibration was applied correctly, the energy values for each cluster will be written with decimals (e.g., 3343.12).&lt;br /&gt;
* If calibration was not applied, the Time-over-Threshold (ToT) values will be written as integer numbers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q5: How do I find the calibration coefficients of my detector, or detector used for measurement?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A:&#039;&#039;&#039; The calibration coefficients (a, b, c, and t) are stored as ASCII files, each specific to an individual detector. You can access these coefficients using the PIXET software by following these steps:&lt;br /&gt;
&lt;br /&gt;
# Open the PIXET software.&lt;br /&gt;
# Navigate to the settings section.&lt;br /&gt;
# Select the chip settings.&lt;br /&gt;
# Choose the option to extract coefficients.&lt;br /&gt;
# Save the coefficients as ASCII files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;List of Acronyms&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
DPE –Data Processing Engine&lt;br /&gt;
&lt;br /&gt;
CL – Command Line&lt;br /&gt;
&lt;br /&gt;
WP – Web Portal&lt;br /&gt;
&lt;br /&gt;
TPX – Timepix&lt;br /&gt;
&lt;br /&gt;
TPX3 – Timepix3&lt;br /&gt;
&lt;br /&gt;
LE – Low Energy&lt;br /&gt;
&lt;br /&gt;
ME – Medium Energy&lt;br /&gt;
&lt;br /&gt;
HE – High Energy&lt;br /&gt;
&lt;br /&gt;
OD – Omnidirectional&lt;br /&gt;
&lt;br /&gt;
PID – Particle identification&lt;br /&gt;
&lt;br /&gt;
Si – Silicon&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_C%2B%2B_API&amp;diff=1446</id>
		<title>TraX Engine C++ API</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_C%2B%2B_API&amp;diff=1446"/>
		<updated>2025-06-27T11:07:23Z</updated>

		<summary type="html">&lt;p&gt;MarekL: Created page with &amp;quot;asdasd&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;asdasd&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1445</id>
		<title>TraX Engine</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1445"/>
		<updated>2025-06-27T11:07:14Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
asdadsasd&lt;br /&gt;
&lt;br /&gt;
= Software Interfaces =&lt;br /&gt;
* [[TraX Engine GUI|Application for windows and linux]]&lt;br /&gt;
* [[TraX Engine CLI|Command line interface]]&lt;br /&gt;
* [[TraX Engine Python API|Application programing interface for python]]&lt;br /&gt;
* [[TraX Engine C++ API|Application programing interface for C++]]&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1444</id>
		<title>TraX Engine</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1444"/>
		<updated>2025-06-27T09:27:18Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software support texts =&lt;br /&gt;
* [[PIXet|Manual of the PIXet program]]&lt;br /&gt;
* [[PIXet Basic|Manual of the PIXet Basic]]&lt;br /&gt;
* [[EDU Kit experiments cookbook]]&lt;br /&gt;
* [[Files_and_directories_of_the_Pixet_and_SDK|Files and directories of the Pixet program and SDK]]&lt;br /&gt;
* [[File types]]&lt;br /&gt;
* [[Pixet_SDK|The Pixet SDK]]&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1443</id>
		<title>TraX Engine</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1443"/>
		<updated>2025-06-27T09:27:13Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software support texts =&lt;br /&gt;
* [[PIXet|Manual of the PIXet program]]&lt;br /&gt;
* [[PIXet Basic|Manual of the PIXet Basic]]&lt;br /&gt;
* [[EDU Kit experiments cookbook]]&lt;br /&gt;
* [[Files_and_directories_of_the_Pixet_and_SDK|Files and directories of the Pixet program and SDK]]&lt;br /&gt;
* [[File types]]&lt;br /&gt;
* [[Pixet_SDK|The Pixet SDK]]&lt;br /&gt;
* [[TraX Engine|TraX Engine (former DPE) - data processing engine for tracking analysis]]&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1442</id>
		<title>TraX Engine</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1442"/>
		<updated>2025-06-27T09:27:04Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software support texts =&lt;br /&gt;
* [[PIXet|Manual of the PIXet program]]&lt;br /&gt;
* [[PIXet Basic|Manual of the PIXet Basic]]&lt;br /&gt;
* [[EDU Kit experiments cookbook]]&lt;br /&gt;
* [[Files_and_directories_of_the_Pixet_and_SDK|Files and directories of the Pixet program and SDK]]&lt;br /&gt;
* [[File types]]&lt;br /&gt;
* [[Pixet_SDK|The Pixet SDK]]&lt;br /&gt;
* [[TraX Engine|TraX Engine (former DPE) - data processing engine for tracking analysis]]&lt;br /&gt;
= Devices support texts =&lt;br /&gt;
* [[Devices support]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Main_Page&amp;diff=1441</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Main_Page&amp;diff=1441"/>
		<updated>2025-06-27T09:26:30Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software support texts =&lt;br /&gt;
* [[PIXet|Manual of the PIXet program]]&lt;br /&gt;
* [[PIXet Basic|Manual of the PIXet Basic]]&lt;br /&gt;
* [[EDU Kit experiments cookbook]]&lt;br /&gt;
* [[Files_and_directories_of_the_Pixet_and_SDK|Files and directories of the Pixet program and SDK]]&lt;br /&gt;
* [[File types]]&lt;br /&gt;
* [[Pixet_SDK|The Pixet SDK]]&lt;br /&gt;
* [[TraX Engine|TraX Engine (former DPE) - data processing engine for tracking analysis]]&lt;br /&gt;
= Devices support texts =&lt;br /&gt;
* [[Devices support]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
(Note: The wiki is under construction - some pages not complete)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Main_Page&amp;diff=1440</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Main_Page&amp;diff=1440"/>
		<updated>2025-06-27T09:26:11Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software support texts =&lt;br /&gt;
* [[PIXet|Manual of the PIXet program]]&lt;br /&gt;
* [[PIXet Basic|Manual of the PIXet Basic]]&lt;br /&gt;
* [[EDU Kit experiments cookbook]]&lt;br /&gt;
* [[Files_and_directories_of_the_Pixet_and_SDK|Files and directories of the Pixet program and SDK]]&lt;br /&gt;
* [[File types]]&lt;br /&gt;
* [[Pixet_SDK|The Pixet SDK]]&lt;br /&gt;
* [[TraX Engine|Trax Engine, former DPE - data processing engine for tracking analysis]]&lt;br /&gt;
= Devices support texts =&lt;br /&gt;
* [[Devices support]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
(Note: The wiki is under construction - some pages not complete)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1439</id>
		<title>TraX Engine</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine&amp;diff=1439"/>
		<updated>2025-06-27T09:25:49Z</updated>

		<summary type="html">&lt;p&gt;MarekL: Created page with &amp;quot;asdads&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;asdads&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_CLI&amp;diff=1438</id>
		<title>TraX Engine CLI</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_CLI&amp;diff=1438"/>
		<updated>2025-06-27T09:25:22Z</updated>

		<summary type="html">&lt;p&gt;MarekL: Created page with &amp;quot;asdasd&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;asdasd&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_Python_API&amp;diff=1436</id>
		<title>TraX Engine Python API</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_Python_API&amp;diff=1436"/>
		<updated>2025-06-27T09:25:03Z</updated>

		<summary type="html">&lt;p&gt;MarekL: Created page with &amp;quot;asdads&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;asdads&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1435</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1435"/>
		<updated>2025-06-26T08:46:48Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:dir_analysis_2dhist_sphere.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported via email: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039; or &#039;&#039;&#039;support@advacam.cz&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
There is also possibility to use a specialized git hub repository: https://github.com/lmareksla/DPE_Issues/issues  &amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
#define DPE_ERR_NOT_INIT			-1049	///&amp;lt; DPE is not initilized.&lt;br /&gt;
#define DPE_ERR_EXPIRED			    -1050	///&amp;lt; DPE is expired.&lt;br /&gt;
#define DPE_ERR_UNKNOWN_LIC			-1051	///&amp;lt; Unknown license.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
#define DPE_ERR_NO_ECLIST			-3016	///&amp;lt; ExtClist can not be opened.&lt;br /&gt;
#define DPE_ERR_READ_HEAD_CLIST		-3017	///&amp;lt; Can not read clist header from file.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
#define DPE_ERR_DEL_CLIST			-4029	///&amp;lt; Can not delete clist file.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1434</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1434"/>
		<updated>2025-06-26T08:46:24Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png|Example of particle classification for data acquired onn board of ISS with TPX3 500um.&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:dir_analysis_2dhist_sphere.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported via email: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039; or &#039;&#039;&#039;support@advacam.cz&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
There is also possibility to use a specialized git hub repository: https://github.com/lmareksla/DPE_Issues/issues  &amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
#define DPE_ERR_NOT_INIT			-1049	///&amp;lt; DPE is not initilized.&lt;br /&gt;
#define DPE_ERR_EXPIRED			    -1050	///&amp;lt; DPE is expired.&lt;br /&gt;
#define DPE_ERR_UNKNOWN_LIC			-1051	///&amp;lt; Unknown license.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
#define DPE_ERR_NO_ECLIST			-3016	///&amp;lt; ExtClist can not be opened.&lt;br /&gt;
#define DPE_ERR_READ_HEAD_CLIST		-3017	///&amp;lt; Can not read clist header from file.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
#define DPE_ERR_DEL_CLIST			-4029	///&amp;lt; Can not delete clist file.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1433</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1433"/>
		<updated>2025-06-26T08:42:15Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png|Example of particle classification for data acquired onn board of ISS with TPX3 500um.&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported via email: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039; or &#039;&#039;&#039;support@advacam.cz&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
There is also possibility to use a specialized git hub repository: https://github.com/lmareksla/DPE_Issues/issues  &amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
#define DPE_ERR_NOT_INIT			-1049	///&amp;lt; DPE is not initilized.&lt;br /&gt;
#define DPE_ERR_EXPIRED			    -1050	///&amp;lt; DPE is expired.&lt;br /&gt;
#define DPE_ERR_UNKNOWN_LIC			-1051	///&amp;lt; Unknown license.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
#define DPE_ERR_NO_ECLIST			-3016	///&amp;lt; ExtClist can not be opened.&lt;br /&gt;
#define DPE_ERR_READ_HEAD_CLIST		-3017	///&amp;lt; Can not read clist header from file.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
#define DPE_ERR_DEL_CLIST			-4029	///&amp;lt; Can not delete clist file.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1432</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1432"/>
		<updated>2025-06-26T08:41:48Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* Error Codes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png|Example of particle classification for data acquired onn board of ISS with TPX3 500um.&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported via email: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039; or &#039;&#039;&#039;support@advacam.cz&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
There is also possibility to use a specialized git hub repository: https://github.com/lmareksla/DPE_Issues/issues  &amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
#define DPE_ERR_NOT_INIT			-1049	///&amp;lt; DPE is not initilized.&lt;br /&gt;
#define DPE_ERR_EXPIRED			    -1050	///&amp;lt; DPE is expired.&lt;br /&gt;
#define DPE_ERR_UNKNOWN_LIC			-1051	///&amp;lt; Unknown license.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
#define DPE_ERR_NO_ECLIST			-3016	///&amp;lt; ExtClist can not be opened.&lt;br /&gt;
#define DPE_ERR_READ_HEAD_CLIST		-3017	///&amp;lt; Can not read clist header from file.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
#define DPE_ERR_DEL_CLIST			-4029	///&amp;lt; Can not delete clist file.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - C++==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing Library in Python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1431</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1431"/>
		<updated>2025-06-26T08:40:35Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png|Example of particle classification for data acquired onn board of ISS with TPX3 500um.&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported via email: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039; or &#039;&#039;&#039;support@advacam.cz&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
There is also possibility to use a specialized git hub repository: https://github.com/lmareksla/DPE_Issues/issues  &amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - C++==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing Library in Python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1428</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1428"/>
		<updated>2025-06-18T08:39:28Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png|Example of particle classification for data acquired onn board of ISS with TPX3 500um.&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Examples ===&lt;br /&gt;
&lt;br /&gt;
Additional examples can be found in the directory &#039;&#039;Example/Test&#039;&#039; which includes several examples from testing. The input data are in directory &#039;&#039;data&#039;&#039; and its output can be found in the directory &#039;&#039;ref&#039;&#039; (referential output). The examples comprehend following cases:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;T3PA input&#039;&#039;&#039; - t3pa input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input&#039;&#039;&#039; - 20x t3pa files as input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa TPX3 input&#039;&#039;&#039; - clog tot+toa from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot TPX input&#039;&#039;&#039; - clog tot from TPX with default settings (protons HE).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG itot+count TPX3 input&#039;&#039;&#039; - clog itot+count from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Hist with T3PA&#039;&#039;&#039; - Hist settings with T3PA file as input.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Filter with T3PA&#039;&#039;&#039; - Filter settings with T3PA file as input (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec with T3PA&#039;&#039;&#039; - SigVec settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Mask with T3PA&#039;&#039;&#039; - Mask settings (general file) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with T3PA and CdTe&#039;&#039;&#039; - Comparator with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist old input&#039;&#039;&#039; - elist as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa input&#039;&#039;&#039; - pregenerated t3pa for physical variables etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec and Hist with T3PA&#039;&#039;&#039; - SigVec and Hist settings with T3PA file as input to produce SigVec from 2D hist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG event input&#039;&#039;&#039; - clog event with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG toa input&#039;&#039;&#039; - clog toa with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+time proc input&#039;&#039;&#039; - clog tot+time after processing with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3P input&#039;&#039;&#039; - t3p input with default setting (ba133)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3R input&#039;&#039;&#039; - t3r input with default settings (upper part of detector was masked)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix event input&#039;&#039;&#039; - matrix event input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix tot input&#039;&#039;&#039; - matrix tot input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist extended input&#039;&#039;&#039; - elist extended input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Graphics output CLOG tot+toa TPX3 input&#039;&#039;&#039; - graphics output for CLOG tot+toa TPX3 input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input, just dir name&#039;&#039;&#039; - several t3pa files, just specifying dir name as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with own DB&#039;&#039;&#039; - input is own DB for camparator and settings of SigVec and Hist for t3pa input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program version&#039;&#039;&#039; - print program version with -v&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program help&#039;&#039;&#039; - print program help with -h&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Ignore clusters at sensor edge&#039;&#039;&#039; - remove clusters at sensor edge with default settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Pixet mask with T3PA&#039;&#039;&#039; - Mask settings (pixet mask) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Acceptance of all param&#039;&#039;&#039; - param file with all params and their acceptanc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa meas input&#039;&#039;&#039; - clog tot+toa from measurement with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa 2x&#039;&#039;&#039; - pregenerated t3pa two times to check connection of two separate measurement files&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Coincidence analysis&#039;&#039;&#039; - coincidence and matching analysis (time coincidence window and products)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Directional analysis&#039;&#039;&#039; - directional analysis with proton 200 MeV 75 deg data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Ba133 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Cs137 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Frame analysis&#039;&#039;&#039; - frame analysis.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Detector geometry&#039;&#039;&#039; - setting of geometry via geo det config file.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist&#039;&#039;&#039; - advanced elist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist extended&#039;&#039;&#039; - advanced elist extended in dpe.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;All analysis and their switches&#039;&#039;&#039; - using all analysis and turning them off compatibility.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Length correction option&#039;&#039;&#039; - setting different length correction.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;High energy correction TPX&#039;&#039;&#039; - using high energy correction for TPX alpha Am241 (200V, peak around 3 MeV).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - missing param file&#039;&#039;&#039; - error behavior without parameters file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty file&#039;&#039;&#039; - error behavior with empty file file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - simple elist&#039;&#039;&#039; - error behavior with simple elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - nonsense file&#039;&#039;&#039; - error behavior with nonsense file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty clog&#039;&#039;&#039; - error behavior with empty clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - incorrect clog&#039;&#039;&#039; - error behavior with incorrect clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - partial elist&#039;&#039;&#039; - error behavior with partial elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - dsc file&#039;&#039;&#039; - error behavior with dsc file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - matrix toa&#039;&#039;&#039; - error behavior with matrix toa&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - module configs without path&#039;&#039;&#039; - error behavior of module configs wrong path&lt;br /&gt;
&lt;br /&gt;
All examples were produced on linux system but they should be also valid for windows system.&amp;lt;br /&amp;gt;&lt;br /&gt;
Note that some of the examples were written with older syntax from previous versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
This syntax is still valid, but not stated in the list below and it should be easy to follow which names were replaced with the new ones (e.g. CalMatrix_Path to CalMat).&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported on github forum for issues: &lt;br /&gt;
&lt;br /&gt;
https://github.com/lmareksla/DPE_Issues/ &lt;br /&gt;
&lt;br /&gt;
or send directly on the first mail below. &lt;br /&gt;
&lt;br /&gt;
For more information or help: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039;, &#039;&#039;&#039;carlos.granja@advacam.cz&#039;&#039;&#039;.&amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - C++==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing Library in Python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1420</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1420"/>
		<updated>2025-05-16T08:03:41Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* List of Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png|Example of particle classification for data acquired onn board of ISS with TPX3 500um.&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
File:ClusterVariables LogY.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Examples ===&lt;br /&gt;
&lt;br /&gt;
Additional examples can be found in the directory &#039;&#039;Example/Test&#039;&#039; which includes several examples from testing. The input data are in directory &#039;&#039;data&#039;&#039; and its output can be found in the directory &#039;&#039;ref&#039;&#039; (referential output). The examples comprehend following cases:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;T3PA input&#039;&#039;&#039; - t3pa input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input&#039;&#039;&#039; - 20x t3pa files as input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa TPX3 input&#039;&#039;&#039; - clog tot+toa from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot TPX input&#039;&#039;&#039; - clog tot from TPX with default settings (protons HE).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG itot+count TPX3 input&#039;&#039;&#039; - clog itot+count from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Hist with T3PA&#039;&#039;&#039; - Hist settings with T3PA file as input.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Filter with T3PA&#039;&#039;&#039; - Filter settings with T3PA file as input (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec with T3PA&#039;&#039;&#039; - SigVec settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Mask with T3PA&#039;&#039;&#039; - Mask settings (general file) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with T3PA and CdTe&#039;&#039;&#039; - Comparator with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist old input&#039;&#039;&#039; - elist as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa input&#039;&#039;&#039; - pregenerated t3pa for physical variables etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec and Hist with T3PA&#039;&#039;&#039; - SigVec and Hist settings with T3PA file as input to produce SigVec from 2D hist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG event input&#039;&#039;&#039; - clog event with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG toa input&#039;&#039;&#039; - clog toa with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+time proc input&#039;&#039;&#039; - clog tot+time after processing with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3P input&#039;&#039;&#039; - t3p input with default setting (ba133)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3R input&#039;&#039;&#039; - t3r input with default settings (upper part of detector was masked)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix event input&#039;&#039;&#039; - matrix event input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix tot input&#039;&#039;&#039; - matrix tot input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist extended input&#039;&#039;&#039; - elist extended input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Graphics output CLOG tot+toa TPX3 input&#039;&#039;&#039; - graphics output for CLOG tot+toa TPX3 input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input, just dir name&#039;&#039;&#039; - several t3pa files, just specifying dir name as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with own DB&#039;&#039;&#039; - input is own DB for camparator and settings of SigVec and Hist for t3pa input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program version&#039;&#039;&#039; - print program version with -v&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program help&#039;&#039;&#039; - print program help with -h&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Ignore clusters at sensor edge&#039;&#039;&#039; - remove clusters at sensor edge with default settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Pixet mask with T3PA&#039;&#039;&#039; - Mask settings (pixet mask) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Acceptance of all param&#039;&#039;&#039; - param file with all params and their acceptanc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa meas input&#039;&#039;&#039; - clog tot+toa from measurement with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa 2x&#039;&#039;&#039; - pregenerated t3pa two times to check connection of two separate measurement files&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Coincidence analysis&#039;&#039;&#039; - coincidence and matching analysis (time coincidence window and products)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Directional analysis&#039;&#039;&#039; - directional analysis with proton 200 MeV 75 deg data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Ba133 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Cs137 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Frame analysis&#039;&#039;&#039; - frame analysis.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Detector geometry&#039;&#039;&#039; - setting of geometry via geo det config file.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist&#039;&#039;&#039; - advanced elist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist extended&#039;&#039;&#039; - advanced elist extended in dpe.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;All analysis and their switches&#039;&#039;&#039; - using all analysis and turning them off compatibility.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Length correction option&#039;&#039;&#039; - setting different length correction.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;High energy correction TPX&#039;&#039;&#039; - using high energy correction for TPX alpha Am241 (200V, peak around 3 MeV).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - missing param file&#039;&#039;&#039; - error behavior without parameters file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty file&#039;&#039;&#039; - error behavior with empty file file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - simple elist&#039;&#039;&#039; - error behavior with simple elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - nonsense file&#039;&#039;&#039; - error behavior with nonsense file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty clog&#039;&#039;&#039; - error behavior with empty clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - incorrect clog&#039;&#039;&#039; - error behavior with incorrect clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - partial elist&#039;&#039;&#039; - error behavior with partial elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - dsc file&#039;&#039;&#039; - error behavior with dsc file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - matrix toa&#039;&#039;&#039; - error behavior with matrix toa&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - module configs without path&#039;&#039;&#039; - error behavior of module configs wrong path&lt;br /&gt;
&lt;br /&gt;
All examples were produced on linux system but they should be also valid for windows system.&amp;lt;br /&amp;gt;&lt;br /&gt;
Note that some of the examples were written with older syntax from previous versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
This syntax is still valid, but not stated in the list below and it should be easy to follow which names were replaced with the new ones (e.g. CalMatrix_Path to CalMat).&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported on github forum for issues: &lt;br /&gt;
&lt;br /&gt;
https://github.com/lmareksla/DPE_Issues/ &lt;br /&gt;
&lt;br /&gt;
or send directly on the first mail below. &lt;br /&gt;
&lt;br /&gt;
For more information or help: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039;, &#039;&#039;&#039;carlos.granja@advacam.cz&#039;&#039;&#039;.&amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - C++==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing Library in Python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1419</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1419"/>
		<updated>2025-05-16T07:52:21Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* Syntax of Configuration File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png|Example of particle classification for data acquired onn board of ISS with TPX3 500um.&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
File:ClusterVariables LogY.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Examples ===&lt;br /&gt;
&lt;br /&gt;
Additional examples can be found in the directory &#039;&#039;Example/Test&#039;&#039; which includes several examples from testing. The input data are in directory &#039;&#039;data&#039;&#039; and its output can be found in the directory &#039;&#039;ref&#039;&#039; (referential output). The examples comprehend following cases:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;T3PA input&#039;&#039;&#039; - t3pa input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input&#039;&#039;&#039; - 20x t3pa files as input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa TPX3 input&#039;&#039;&#039; - clog tot+toa from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot TPX input&#039;&#039;&#039; - clog tot from TPX with default settings (protons HE).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG itot+count TPX3 input&#039;&#039;&#039; - clog itot+count from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Hist with T3PA&#039;&#039;&#039; - Hist settings with T3PA file as input.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Filter with T3PA&#039;&#039;&#039; - Filter settings with T3PA file as input (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec with T3PA&#039;&#039;&#039; - SigVec settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Mask with T3PA&#039;&#039;&#039; - Mask settings (general file) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with T3PA and CdTe&#039;&#039;&#039; - Comparator with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist old input&#039;&#039;&#039; - elist as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa input&#039;&#039;&#039; - pregenerated t3pa for physical variables etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec and Hist with T3PA&#039;&#039;&#039; - SigVec and Hist settings with T3PA file as input to produce SigVec from 2D hist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG event input&#039;&#039;&#039; - clog event with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG toa input&#039;&#039;&#039; - clog toa with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+time proc input&#039;&#039;&#039; - clog tot+time after processing with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3P input&#039;&#039;&#039; - t3p input with default setting (ba133)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3R input&#039;&#039;&#039; - t3r input with default settings (upper part of detector was masked)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix event input&#039;&#039;&#039; - matrix event input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix tot input&#039;&#039;&#039; - matrix tot input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist extended input&#039;&#039;&#039; - elist extended input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Graphics output CLOG tot+toa TPX3 input&#039;&#039;&#039; - graphics output for CLOG tot+toa TPX3 input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input, just dir name&#039;&#039;&#039; - several t3pa files, just specifying dir name as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with own DB&#039;&#039;&#039; - input is own DB for camparator and settings of SigVec and Hist for t3pa input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program version&#039;&#039;&#039; - print program version with -v&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program help&#039;&#039;&#039; - print program help with -h&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Ignore clusters at sensor edge&#039;&#039;&#039; - remove clusters at sensor edge with default settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Pixet mask with T3PA&#039;&#039;&#039; - Mask settings (pixet mask) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Acceptance of all param&#039;&#039;&#039; - param file with all params and their acceptanc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa meas input&#039;&#039;&#039; - clog tot+toa from measurement with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa 2x&#039;&#039;&#039; - pregenerated t3pa two times to check connection of two separate measurement files&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Coincidence analysis&#039;&#039;&#039; - coincidence and matching analysis (time coincidence window and products)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Directional analysis&#039;&#039;&#039; - directional analysis with proton 200 MeV 75 deg data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Ba133 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Cs137 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Frame analysis&#039;&#039;&#039; - frame analysis.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Detector geometry&#039;&#039;&#039; - setting of geometry via geo det config file.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist&#039;&#039;&#039; - advanced elist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist extended&#039;&#039;&#039; - advanced elist extended in dpe.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;All analysis and their switches&#039;&#039;&#039; - using all analysis and turning them off compatibility.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Length correction option&#039;&#039;&#039; - setting different length correction.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;High energy correction TPX&#039;&#039;&#039; - using high energy correction for TPX alpha Am241 (200V, peak around 3 MeV).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - missing param file&#039;&#039;&#039; - error behavior without parameters file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty file&#039;&#039;&#039; - error behavior with empty file file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - simple elist&#039;&#039;&#039; - error behavior with simple elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - nonsense file&#039;&#039;&#039; - error behavior with nonsense file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty clog&#039;&#039;&#039; - error behavior with empty clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - incorrect clog&#039;&#039;&#039; - error behavior with incorrect clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - partial elist&#039;&#039;&#039; - error behavior with partial elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - dsc file&#039;&#039;&#039; - error behavior with dsc file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - matrix toa&#039;&#039;&#039; - error behavior with matrix toa&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - module configs without path&#039;&#039;&#039; - error behavior of module configs wrong path&lt;br /&gt;
&lt;br /&gt;
All examples were produced on linux system but they should be also valid for windows system.&amp;lt;br /&amp;gt;&lt;br /&gt;
Note that some of the examples were written with older syntax from previous versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
This syntax is still valid, but not stated in the list below and it should be easy to follow which names were replaced with the new ones (e.g. CalMatrix_Path to CalMat).&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported on github forum for issues: &lt;br /&gt;
&lt;br /&gt;
https://github.com/lmareksla/DPE_Issues/ &lt;br /&gt;
&lt;br /&gt;
or send directly on the first mail below. &lt;br /&gt;
&lt;br /&gt;
For more information or help: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039;, &#039;&#039;&#039;carlos.granja@advacam.cz&#039;&#039;&#039;.&amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should not be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should not be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[0,1] [2,5]&lt;br /&gt;
[2,3]&lt;br /&gt;
&lt;br /&gt;
[2-43,5]&lt;br /&gt;
[76,8-90]&lt;br /&gt;
[0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[E]&lt;br /&gt;
Range_1=100,200  &lt;br /&gt;
Range_2=500,1000  &lt;br /&gt;
Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - C++==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing Library in Python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_API&amp;diff=1346</id>
		<title>TraX Engine API</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_API&amp;diff=1346"/>
		<updated>2024-12-06T12:58:49Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See: [[DPE]]&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1345</id>
		<title>TraX Engine GUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1345"/>
		<updated>2024-12-06T12:58:40Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TraX Engine GUI manual and documentation&lt;br /&gt;
&lt;br /&gt;
See: [[DPE]]&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1343</id>
		<title>TraX Engine GUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1343"/>
		<updated>2024-12-06T12:58:14Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TraX Engine GUI manual and documentation&lt;br /&gt;
&lt;br /&gt;
See: https://wiki.advacam.cz/wiki/DPE&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Main_Page&amp;diff=1342</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Main_Page&amp;diff=1342"/>
		<updated>2024-12-06T12:57:18Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Welcome to the Advacam wiki page =&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Here you will find support texts for our products and software:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* [[PIXet|Manual of the PIXet program]]&lt;br /&gt;
* [[PIXet Basic|Manual of the PIXet Basic]]&lt;br /&gt;
* [[EDU Kit experiments cookbook]]&lt;br /&gt;
* [[Files_and_directories_of_the_Pixet_and_SDK|Files and directories of the Pixet program and SDK]]&lt;br /&gt;
* [[File types]]&lt;br /&gt;
* [[Pixet_SDK|The Pixet SDK]]&lt;br /&gt;
* [[DPE|Trax Engine, former DPE - data processing engine for tracking analysis]]&lt;br /&gt;
&lt;br /&gt;
(Note: The wiki is under construction - some pages not complete)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Python_API&amp;diff=1295</id>
		<title>Python API</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Python_API&amp;diff=1295"/>
		<updated>2024-11-08T14:34:03Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The python API can be used:&lt;br /&gt;
* directly in the system console, using a general python interpret&lt;br /&gt;
* in the Pixet program integrated python console&lt;br /&gt;
&lt;br /&gt;
The base is &#039;&#039;&#039;pypixet object&#039;&#039;&#039;. It has methods for initialize and deinitialize, can create the pixet object.&amp;lt;br&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;pixet object&#039;&#039;&#039; have device list, can create device objects and allows access to global properties.&amp;lt;br&amp;gt;&lt;br /&gt;
A &#039;&#039;&#039;device objects&#039;&#039;&#039; have methods for acquisions and allows access to device parameters.&amp;lt;br&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;pypxproc object&#039;&#039;&#039; is intended for use to processing of a data.&amp;lt;br&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;pygui object&#039;&#039;&#039; allows you to create your own graphical interface. It can be used only if a script is run from the Pixet program.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Small code example for using in the &#039;&#039;&#039;system console&#039;&#039;&#039; or other third-party environment, with the Python 3.7.9 (With all auxilliary files in the directory with the script):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
import pypixet&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;pixet core init...&amp;quot;)&lt;br /&gt;
pypixet.start()&lt;br /&gt;
pixet=pypixet.pixet&lt;br /&gt;
devices = pixet.devicesByType(pixet.PX_DEVTYPE_TPX3)&lt;br /&gt;
dev = devices[0]&lt;br /&gt;
dev.setOperationMode(pixet.PX_TPX3_OPM_EVENT_ITOT)&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;dev.doSimpleAcquisition (3 frames @ 1 sec) - start&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(3, 1, pixet.PX_FTYPE_AUTODETECT, &amp;quot;example.png&amp;quot;)&lt;br /&gt;
print(&amp;quot;dev.doSimpleAcquisition - end:&amp;quot;, rc, &amp;quot;(0 is OK)&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
pixet.exitPixet()  # save settings, correct stop devices and core exit&lt;br /&gt;
pypixet.exit()     # both lines important if third-party debug environment used&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Small code example for using in the &#039;&#039;&#039;system console&#039;&#039;&#039; or other third-party environment, with the Python 3.7.9 (With all auxilliary files in other directory, the Pixet directory for example):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
PIXETDIR=&amp;quot;C:\\Program Files\\PIXet Pro&amp;quot;&lt;br /&gt;
import os&lt;br /&gt;
os.chdir(PIXETDIR)&lt;br /&gt;
# Note: Alternative is using sys.path.append(PIXETDIR)&lt;br /&gt;
import pypixet&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;pixet core init...&amp;quot;)&lt;br /&gt;
pypixet.start()&lt;br /&gt;
pixet=pypixet.pixet&lt;br /&gt;
devices = pixet.devicesByType(pixet.PX_DEVTYPE_TPX3)&lt;br /&gt;
dev = devices[0]&lt;br /&gt;
dev.setOperationMode(pixet.PX_TPX3_OPM_EVENT_ITOT)&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;dev.doSimpleAcquisition (3 frames @ 1 sec) - start&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(3, 1, pixet.PX_FTYPE_AUTODETECT, &amp;quot;c:\\test-files\\example.png&amp;quot;)&lt;br /&gt;
print(&amp;quot;dev.doSimpleAcquisition - end:&amp;quot;, rc, &amp;quot;(0 is OK)&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
pixet.exitPixet()  # save settings, correct stop devices and core exit&lt;br /&gt;
pypixet.exit()     # both lines important if third-party debug environment used&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Small code example for using in the Pixet &#039;&#039;&#039;python console&#039;&#039;&#039; with integrated Python:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# do not create the pypixet and pixet, they exist by default&lt;br /&gt;
&lt;br /&gt;
devices = pixet.devicesByType(pixet.PX_DEVTYPE_TPX3)&lt;br /&gt;
dev = devices[0]&lt;br /&gt;
dev.setOperationMode(pixet.PX_TPX3_OPM_EVENT_ITOT)&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;dev.doSimpleAcquisition (3 frames @ 1 sec) - start&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(3, 1, pixet.PX_FTYPE_AUTODETECT, &amp;quot;example.png&amp;quot;)&lt;br /&gt;
print(&amp;quot;dev.doSimpleAcquisition - end: %i (0 is OK)&amp;quot; % rc)&lt;br /&gt;
&lt;br /&gt;
# do not execute the pixet.exitPixet(), it will cause whole the Pixet program to exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
The Pixet Python API can be used from the Python interpreter integrated in the Pixet program or from command line with external Python without the Pixet.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For starting from the Pixet Python scripting plugin are not need any special files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to run scripts without the Pixet, need additional files:&amp;lt;br&amp;gt;&lt;br /&gt;
* API functions using of &#039;&#039;&#039;pypixet.pyd&#039;&#039;&#039; and &#039;&#039;&#039;pypxproc.pyd&#039;&#039;&#039; &lt;br /&gt;
* Python versions 2.7 to 3.8 on Linux, or to 3.7 on Windows or 3.10 for ARM.&lt;br /&gt;
* For Windows the Pixet core dlls: &#039;&#039;&#039;pxcore.dll&#039;&#039;&#039;, &#039;&#039;&#039;pxproc.dll&#039;&#039;&#039;, or linux &#039;&#039;&#039;.so&#039;&#039;&#039; equivalents.&lt;br /&gt;
* For saving the HDF5: &#039;&#039;&#039;hdf5io.dll plugin&#039;&#039;&#039;, see: [[File_types#HDF5_files|File types #HDF5]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The Pixet core needs the &#039;&#039;&#039;pixet.ini&#039;&#039;&#039; file with proper hwlibs list inside, necessary hardware dll files (eq minipix.dll), subdirectory “configs” with config files for all present imaging chips (eq MiniPIX-I08-W0060.xml).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
See: [[Files and directories of the Pixet and SDK]]&lt;br /&gt;
&lt;br /&gt;
{{APIpackages}}&lt;br /&gt;
&lt;br /&gt;
== Project and auxilliary files examples ==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Files-need-for-PY-API-with-VS-minimal.png|none|alt=Files need for Python API program running without Pixet on a computer with MS Visual Studio installed|Files need for Python API program running without Pixet on a computer with MS Visual Studio installed]]|| This is the directory and the pixet.ini file of the minimalistic python project. Using only with the Minipix device and can be run on a computer with properly installed MS Visual Studio or it&#039;s auxiliary files installed by another way. The &amp;quot;factory&amp;quot; directory contains the factory config file.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;After the probram was started, pypixet.start() and pixet=pypixet.pixet, ... do something usesfull, ... pixet.exitPixet() and pypixet.exit() used, new directories, as visible on the right, will remain after the program.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If the MS VS auxiliary files are not accessible from the project directory, you can copy it from the Pixet program directory. In this image you can see all the auxiliary files marked, including MS VS dlls, firmware files for all our devices, hwlibs directories, ... Copying it to a python project should always make it ready to work, but not all are always needed.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Files-need-for-PY-API-in-Pixet-with-VS.png|thumb|none|alt=Files need for PY-API, located in the Pixet directory - with VS installed on computer|Files need for PY-API, located in the Pixet directory - with VS installed on computer]]|| [[File:Files-need-for-PY-API-in-Pixet-without-VS.png|thumb|none|alt=Files need for PY-API, located in the Pixet directory - without VS installed|Files need for PY-API, locateI in the Pixet directory - without VS installed]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Auxilliary files details ==&lt;br /&gt;
&#039;&#039;&#039;see:&#039;&#039;&#039;&lt;br /&gt;
* Small: [[Pixet_SDK#Auxilliary_files|Pixet SDK: Auxilliary files]]&lt;br /&gt;
* Details: [[Files_and_directories_of_the_Pixet_and_SDK#Main_directory_of_the_API-using_programs,_independent_on_the_Pixet|Main directory of the API-using programs, independent on the Pixet]]&lt;br /&gt;
&lt;br /&gt;
= Basic troubleshooting =&lt;br /&gt;
&#039;&#039;&#039;If normal error occured&#039;&#039;&#039;, like as function returns negative return code:&lt;br /&gt;
: Use the &#039;&#039;&#039;device.lastError()&#039;&#039;&#039; to get error message and print or log it.&lt;br /&gt;
: &amp;lt;syntaxhighlight lang=Python&amp;gt;&lt;br /&gt;
rc = dev.doSimpleAcquisition(5, 0.1, pixet.PX_FTYPE_AUTODETECT, &amp;quot;&amp;quot;)&lt;br /&gt;
if rc!=0: print(&amp;quot;doSimpleAcquisition&amp;quot;, rc, dev.lastEroor())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;If You want contact technical support&#039;&#039;&#039;&lt;br /&gt;
: Send us Your program, contents of the &amp;quot;logs&amp;quot; directory, the return code, error message and what do You want to do with the detector device.&lt;br /&gt;
&#039;&#039;&#039;If a problem like as &amp;quot;DLL load failed&#039;&#039;&#039;&amp;quot; occured and you want contact technical support&lt;br /&gt;
: Use the dir command and send us Your program, the error message, version of Python that is installed on the computer and the dir output.&lt;br /&gt;
: &#039;&#039;&#039;Tip:&#039;&#039;&#039; Use DIR with subdirs, redirected to file and python version redirected to file, than send us the files:&lt;br /&gt;
: &amp;lt;syntaxhighlight lang=PowerShell&amp;gt;&lt;br /&gt;
dir /s &amp;gt; dir.txt&lt;br /&gt;
python -c &amp;quot;import sys; print(sys.version_info)&amp;quot; &amp;gt; pyVersion.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;Note:&#039;&#039;&#039; If the program changing dirrectory, use &#039;&#039;&#039;cd &amp;quot;path&amp;quot;&#039;&#039;&#039; in the commandline. Copy the path from the program, type cd &amp;quot;, paste the copied path, type the second &amp;quot; and press enter (really copy the path by copy-paste, don&#039;t manual copy it). Then save the DIR again in the next file in the above way.&lt;br /&gt;
&lt;br /&gt;
== Typical complications ==&lt;br /&gt;
; Python version&lt;br /&gt;
: Our API currently supporting Python 3.7 or later. Examples was tested on 3.7.9.&lt;br /&gt;
: Error message example:&lt;br /&gt;
:: ImportError: DLL load failed while importing pypixet: &#039;&#039;The specified module was not found.&#039;&#039;&lt;br /&gt;
:: (Italic part is usually in the system language)&lt;br /&gt;
&lt;br /&gt;
; pypixet.pyd is not accessible&lt;br /&gt;
: The python library is not in the directory that python currently sees.&lt;br /&gt;
: May be related to pypixet.pyd, pypxproc.pyd, pypixetgui.pyd.&lt;br /&gt;
: Error message example:&lt;br /&gt;
:: ModuleNotFoundError: No module named &#039;pypixet&#039;&lt;br /&gt;
&lt;br /&gt;
; pxcore.dll is not accessible&lt;br /&gt;
: The DLL library is not in the directory that python currently sees.&lt;br /&gt;
: May be related to pxcore.dll, pxproc.dll&lt;br /&gt;
: Error message example:&lt;br /&gt;
:: (No error message. The program ends after reach the import pypixet line.)&lt;br /&gt;
&lt;br /&gt;
; HW library not loaded&lt;br /&gt;
: The import to Python was successful, but the program does not see any device, although it is connected and works in Pixet, for example.&lt;br /&gt;
: Check if the library for your device is listed in pixet.ini in the [hwlibs] section and if its file is located in the specified location.&lt;br /&gt;
: Error message example:&lt;br /&gt;
:: (No error message. The program simply not see the device.)&lt;br /&gt;
&lt;br /&gt;
; The program works the first time and then doesn&#039;t work until the IDE is restarted.&lt;br /&gt;
: Many programming environments (like us Spyder) allow variables and objects to be preserved after the program exits. If you do not exit your program with both pixet.exitPixet() and pypixet.exit() steps, there may be a problem with its restart.&lt;br /&gt;
&lt;br /&gt;
== First steps ==&lt;br /&gt;
See the [[#Overview|&#039;&#039;&#039;Overview&#039;&#039;&#039;]] section for difference between run Py scripts from the Pixet embeded Python and run from a system console or third patrty IDE. This chapter contains a system console examples.&lt;br /&gt;
&lt;br /&gt;
=== Mini test ===&lt;br /&gt;
Here we see the minimum necessary steps for the program to perform a measurement.&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=Python&amp;gt;&lt;br /&gt;
import pypixet&lt;br /&gt;
pypixet.start()&lt;br /&gt;
pixet=pypixet.pixet&lt;br /&gt;
devices = pixet.devices()&lt;br /&gt;
dev = devices[0]&lt;br /&gt;
dev.doSimpleAcquisition(1, 0.25, pixet.PX_FTYPE_AUTODETECT, &amp;quot;testFile.png&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* This program works, takes one measurement for 0.25 seconds and saves the result as an image testfile.png. However, it does not contain any detection and treatment of errors, setting the operating mode, properly terminating idle time with the device.&lt;br /&gt;
* It is possible that the program will measure something, but it is also possible that the resulting file will not appear. Or it is possible that the program will measure something once and it will be necessary to unplug and plug in the device before the next measurement.&lt;br /&gt;
&lt;br /&gt;
=== Enhanced test ===&lt;br /&gt;
The improved program will make it possible to see whether initialization, measurement or termination is running, whether and what error occurred during measurement.&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=Python&amp;gt;&lt;br /&gt;
import pypixet&lt;br /&gt;
print(&amp;quot;Pixet core starting...&amp;quot;)&lt;br /&gt;
pypixet.start()&lt;br /&gt;
pixet=pypixet.pixet&lt;br /&gt;
devices = pixet.devices()&lt;br /&gt;
dev = devices[0]&lt;br /&gt;
print(&amp;quot;doSimpleAcquisition...&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(1, 0.25, pixet.PX_FTYPE_AUTODETECT, &amp;quot;testFile.png&amp;quot;)&lt;br /&gt;
print(&amp;quot;doSimpleAcquisition rc:&amp;quot;, rc, &amp;quot;(0 is OK)&amp;quot;)&lt;br /&gt;
if rc!=0: print(&amp;quot;  &amp;quot;, dev.lastError())&lt;br /&gt;
print(&amp;quot;Exit pixet core...&amp;quot;)&lt;br /&gt;
pixet.exitPixet()&lt;br /&gt;
pypixet.exit()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Most API functions have a &#039;&#039;&#039;return code&#039;&#039;&#039;. 0 means the operation was successful, negative values are error codes.&lt;br /&gt;
* If an error is detected, the last error message can be found using the .&#039;&#039;&#039;lastError&#039;&#039;&#039;() method.&lt;br /&gt;
* The functions &#039;&#039;&#039;pixet.exitPixet&#039;&#039;&#039;() and &#039;&#039;&#039;pypixet.exit&#039;&#039;&#039;() ensure that the work with the device is properly terminated.&lt;br /&gt;
&lt;br /&gt;
=== We know what we are measuring ===&lt;br /&gt;
In this example, the operating mode is set before the measurement.&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=Python&amp;gt;&lt;br /&gt;
import pypixet&lt;br /&gt;
print(&amp;quot;Pixet core starting...&amp;quot;)&lt;br /&gt;
pypixet.start()&lt;br /&gt;
pixet=pypixet.pixet&lt;br /&gt;
devices = pixet.devices()&lt;br /&gt;
dev = devices[0]&lt;br /&gt;
&lt;br /&gt;
rc = dev.setOperationMode(pixet.PX_TPX3_OPM_TOATOT)&lt;br /&gt;
print(&amp;quot;setOperationMode rc:&amp;quot;, rc, &amp;quot;(0 is OK)&amp;quot;)&lt;br /&gt;
if rc!=0: print(&amp;quot;  &amp;quot;, dev.lastError())&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;doSimpleAcquisition...&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(1, 0.25, pixet.PX_FTYPE_AUTODETECT, &amp;quot;testFile.png&amp;quot;)&lt;br /&gt;
print(&amp;quot;doSimpleAcquisition rc:&amp;quot;, rc, &amp;quot;(0 is OK)&amp;quot;)&lt;br /&gt;
if rc!=0: print(&amp;quot;  &amp;quot;, dev.lastError())&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Exit pixet core...&amp;quot;)&lt;br /&gt;
pixet.exitPixet()&lt;br /&gt;
pypixet.exit()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Using &#039;&#039;&#039;setOperationMode&#039;&#039;&#039;, we set the operation mode to the desired value.&lt;br /&gt;
* If the command is not used, the device will measure according to what is stored in the configuration file since the last time.&lt;br /&gt;
* Note: Some devices hasn&#039;t the setOperationMode method. Use the pixel matrix configuration instead it (the Timepix chip, used in the Minipix-EDU device)&lt;br /&gt;
&lt;br /&gt;
=== Is the device connected? ===&lt;br /&gt;
It is usually necessary to know whether the desired device is connected.&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=Python&amp;gt;&lt;br /&gt;
import pypixet&lt;br /&gt;
print(&amp;quot;Pixet core starting...&amp;quot;)&lt;br /&gt;
pypixet.start()&lt;br /&gt;
pixet=pypixet.pixet&lt;br /&gt;
#devices = pixet.devices()&lt;br /&gt;
devices = pixet.devicesTpx3() # detecting Timepix3 devices only.&lt;br /&gt;
&lt;br /&gt;
devCnt = pixet.deviceCount()&lt;br /&gt;
if devCnt&amp;lt;1:&lt;br /&gt;
    print(&amp;quot;No tpx3 devices detected&amp;quot;)&lt;br /&gt;
    print(&amp;quot;Exit pixet core...&amp;quot;)&lt;br /&gt;
    pixet.exitPixet()&lt;br /&gt;
    pypixet.exit()&lt;br /&gt;
    exit()&lt;br /&gt;
&lt;br /&gt;
dev = devices[0]&lt;br /&gt;
&lt;br /&gt;
rc = dev.setOperationMode(pixet.PX_TPX3_OPM_TOATOT)&lt;br /&gt;
print(&amp;quot;setOperationMode rc:&amp;quot;, rc, &amp;quot;(0 is OK)&amp;quot;)&lt;br /&gt;
if rc!=0: print(&amp;quot;  &amp;quot;, dev.lastError())&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;doSimpleAcquisition...&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(1, 0.25, pixet.PX_FTYPE_AUTODETECT, &amp;quot;testFile.png&amp;quot;)&lt;br /&gt;
print(&amp;quot;doSimpleAcquisition rc:&amp;quot;, rc, &amp;quot;(0 is OK)&amp;quot;)&lt;br /&gt;
if rc!=0: print(&amp;quot;  &amp;quot;, dev.lastError())&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Exit pixet core...&amp;quot;)&lt;br /&gt;
pixet.exitPixet()&lt;br /&gt;
pypixet.exit()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There are several ways to get access to the device:&lt;br /&gt;
# &#039;&#039;&#039;pixet.devices()&#039;&#039;&#039; This will create a list of devices of all types. If no physical device is detected, the &#039;&#039;&#039;virtual device&#039;&#039;&#039; named &amp;quot;FileDevice 0&amp;quot; is in this list.&lt;br /&gt;
# &#039;&#039;&#039;devicesByType(&#039;&#039;&#039;type&#039;&#039;&#039;)&#039;&#039;&#039; List of devices of the type selected by the parameter.&lt;br /&gt;
# &#039;&#039;&#039;devicesMpx2(), devicesMpx3(), devicesTpx3()&#039;&#039;&#039; List of devices of one type according to the function used.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* First way can detect all device types, but with default pixet.ini settings count of devs is never 0. To detect the &amp;quot;no device&amp;quot; state, test the condition devices[0].fullName()==&amp;quot;FileDevice 0&amp;quot;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=Python&amp;gt;&lt;br /&gt;
devices = pixet.devices()&lt;br /&gt;
if devices[0].fullName()==&amp;quot;FileDevice 0&amp;quot;:&lt;br /&gt;
    print(&amp;quot;No devices connected&amp;quot;)&lt;br /&gt;
    pixet.exitPixet()&lt;br /&gt;
    pypixet.exit()&lt;br /&gt;
    exit()&lt;br /&gt;
dev0 = devices[0] # first of connected devices&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If an specialized dev list used, detect the &amp;quot;no device&amp;quot; state, by test the condition len(devices)==0.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=Python&amp;gt;&lt;br /&gt;
devices = pixet.devicesTpx3()&lt;br /&gt;
if len(devices)==0:&lt;br /&gt;
    print(&amp;quot;No Tpx3 devices connected&amp;quot;)&lt;br /&gt;
    pixet.exitPixet()&lt;br /&gt;
    pypixet.exit()&lt;br /&gt;
    exit()&lt;br /&gt;
dev0 = devices[0] # first of connected Tpx3 devices&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== List of the devices ===&lt;br /&gt;
Here, the display of the list of devices and their basic properties is added.&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=Python&amp;gt;&lt;br /&gt;
import pypixet&lt;br /&gt;
print(&amp;quot;Pixet core starting...&amp;quot;)&lt;br /&gt;
pypixet.start()&lt;br /&gt;
pixet=pypixet.pixet&lt;br /&gt;
&lt;br /&gt;
devices = pixet.devicesTpx3() # detecting Timepix3 devices only.&lt;br /&gt;
devCnt = pixet.deviceCount()&lt;br /&gt;
&lt;br /&gt;
if devCnt&amp;lt;1:&lt;br /&gt;
    print(&amp;quot;No tpx3 devices detected&amp;quot;)&lt;br /&gt;
    pixet.exitPixet()&lt;br /&gt;
    pypixet.exit()&lt;br /&gt;
    exit()&lt;br /&gt;
&lt;br /&gt;
for n in range(devCnt):&lt;br /&gt;
    dev = devices[n]&lt;br /&gt;
    print(&amp;quot;  &amp;quot;, n, dev.fullName(), dev.width(), dev.height(), dev.chipCount(), dev.chipIDs(), dev.sensorType(0))&lt;br /&gt;
&lt;br /&gt;
# do something useful here&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Exit pixet core...&amp;quot;)&lt;br /&gt;
pixet.exitPixet()&lt;br /&gt;
pypixet.exit()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Examples =&lt;br /&gt;
; Single examples&lt;br /&gt;
&lt;br /&gt;
:; General (commandline)&lt;br /&gt;
:: For clarification on various &#039;&#039;&#039;auxiliary directories, configurations and calibrations&#039;&#039;&#039;:&lt;br /&gt;
::: https://advacam.com/examples/dirs+configs+calibs.py&lt;br /&gt;
:: &#039;&#039;&#039;All callbacks possible&#039;&#039;&#039; of Minipix-Tpx3 used:&lt;br /&gt;
::: https://advacam.com/examples/device-tpx3-frames-manyCallbacks.py&lt;br /&gt;
:: Reading a &#039;&#039;&#039;HDF5&#039;&#039;&#039; (.H5) files:&lt;br /&gt;
::: https://advacam.com/examples/hdf5read.py&lt;br /&gt;
:: Library used in some frames-using examples:&lt;br /&gt;
::: https://advacam.com/examples/testFrames.py&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:; Tpx (commandline) (obsolete)&lt;br /&gt;
:: Tpx version of device-tpx3-frames-manyAcqs.py:&lt;br /&gt;
::: https://advacam.com/examples/device-tpx-frames-manyAcqs.py&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:; Tpx2 (commandline)&lt;br /&gt;
:: https://advacam.com/examples/device-tpx2-example.py&lt;br /&gt;
:: https://advacam.com/examples/device-tpx2-pixcfg.py&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:; Tpx3 (commandline)&lt;br /&gt;
:: Acquisition frames on Tpx3 and &#039;&#039;&#039;subframes access&#039;&#039;&#039;:&lt;br /&gt;
::: [[Python_API:_Frames_with_subframes_examle|Tpx3 Frames with subframes examle]]&lt;br /&gt;
::: (usually produces data in two subframes, and the data in the base frame are artifacts of raw frame processing)&lt;br /&gt;
:: &#039;&#039;&#039;Data-driven measuring&#039;&#039;&#039; and using callbacks:&lt;br /&gt;
::: https://advacam.com/examples/device-tpx3-dataDriven.py&lt;br /&gt;
:: &#039;&#039;&#039;Frame measuring&#039;&#039;&#039; by many ways with and without callbacks:&lt;br /&gt;
::: https://advacam.com/examples/device-tpx3-frames-manyAcqs.py&lt;br /&gt;
::: Requires: https://advacam.com/examples/testFrames.py&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:; Mpx3 (commandline)&lt;br /&gt;
:: Mpx3 &#039;&#039;&#039;frames with subframes&#039;&#039;&#039; examle: https://advacam.com/examples/device-mpx3-frames-SFRs.py&lt;br /&gt;
:: Mpx3 &#039;&#039;&#039;synchronization&#039;&#039;&#039; in multidev example: https://advacam.com/examples/device-mpx3-frames-sync.py&lt;br /&gt;
:: Mpx3 &#039;&#039;&#039;integral measuring&#039;&#039;&#039; example: https://advacam.com/examples/device-mpx3-frames-integral.py&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:; Pygui (run from Python IDE in Pixet)&lt;br /&gt;
:: https://advacam.com/examples/pygui-GridLayout.py&lt;br /&gt;
:: https://advacam.com/examples/pygui-Plot.py&lt;br /&gt;
:: https://advacam.com/examples/pygui-Plot-caldata.py&lt;br /&gt;
:: https://advacam.com/examples/pygui-PropertyTreeView.py&lt;br /&gt;
:: https://advacam.com/examples/pygui-PropertyTreeView+MpxFramePanel.py&lt;br /&gt;
:: https://advacam.com/examples/pygui-MpxFrame-Tpx.py&lt;br /&gt;
:: https://advacam.com/examples/pygui-MpxFrame-Tpx3.py&lt;br /&gt;
:: https://advacam.com/examples/pygui-MpxFrame-Mpx3.py&lt;br /&gt;
:: https://advacam.com/examples/pygui-MpxFrame-Mpx3-multiDev.py&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; Examples packages&lt;br /&gt;
:; Pxproc (commandline)&lt;br /&gt;
:: Spectral imaging API examples: https://advacam.com/examples/API-Python-pxproc-spectraimg.rar&lt;br /&gt;
:: Clustering API examples: https://advacam.com/examples/API-Python-pxproc-clustering.rar&lt;br /&gt;
&lt;br /&gt;
= Auxilliary scripts =&lt;br /&gt;
; Single scripts&lt;br /&gt;
:Single T3PA from Advapix-Quad to four &amp;quot;single-chip&amp;quot; files:&lt;br /&gt;
:: https://advacam.com/examples/multichip/t3pa-quad-to-4f.py&lt;br /&gt;
: Export ABCT calibration files from multichip devs:&lt;br /&gt;
:: https://advacam.com/examples/multichip/device-multichip-export-abct.py&lt;br /&gt;
: Spectral imaging offline parallel process of multichip data:&lt;br /&gt;
:: https://advacam.com/examples/multichip/pypxproc-spectraimg-tpx3-gFfE-parallel-offline.py&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
The documentation of the Python API is in a &#039;&#039;&#039;PDF file located in the API package&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
Download at: https://advacam.com/downloads/&lt;br /&gt;
&lt;br /&gt;
= Related =&lt;br /&gt;
* [[Pixet_SDK|Pixet SDK]]&lt;br /&gt;
* [[Files and directories of the Pixet and SDK#Main directory of the API-using programs, independent on the Pixet|Files and directories: Main directory of the API-using programs]]&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1164</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1164"/>
		<updated>2024-08-30T07:38:11Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png|Example of particle classification for data acquired onn board of ISS with TPX3 500um.&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
File:ClusterVariables LogY.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: black;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: support@advacam.cz or lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Examples ===&lt;br /&gt;
&lt;br /&gt;
Additional examples can be found in the directory &#039;&#039;Example/Test&#039;&#039; which includes several examples from testing. The input data are in directory &#039;&#039;data&#039;&#039; and its output can be found in the directory &#039;&#039;ref&#039;&#039; (referential output). The examples comprehend following cases:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;T3PA input&#039;&#039;&#039; - t3pa input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input&#039;&#039;&#039; - 20x t3pa files as input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa TPX3 input&#039;&#039;&#039; - clog tot+toa from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot TPX input&#039;&#039;&#039; - clog tot from TPX with default settings (protons HE).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG itot+count TPX3 input&#039;&#039;&#039; - clog itot+count from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Hist with T3PA&#039;&#039;&#039; - Hist settings with T3PA file as input.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Filter with T3PA&#039;&#039;&#039; - Filter settings with T3PA file as input (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec with T3PA&#039;&#039;&#039; - SigVec settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Mask with T3PA&#039;&#039;&#039; - Mask settings (general file) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with T3PA and CdTe&#039;&#039;&#039; - Comparator with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist old input&#039;&#039;&#039; - elist as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa input&#039;&#039;&#039; - pregenerated t3pa for physical variables etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec and Hist with T3PA&#039;&#039;&#039; - SigVec and Hist settings with T3PA file as input to produce SigVec from 2D hist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG event input&#039;&#039;&#039; - clog event with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG toa input&#039;&#039;&#039; - clog toa with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+time proc input&#039;&#039;&#039; - clog tot+time after processing with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3P input&#039;&#039;&#039; - t3p input with default setting (ba133)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3R input&#039;&#039;&#039; - t3r input with default settings (upper part of detector was masked)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix event input&#039;&#039;&#039; - matrix event input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix tot input&#039;&#039;&#039; - matrix tot input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist extended input&#039;&#039;&#039; - elist extended input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Graphics output CLOG tot+toa TPX3 input&#039;&#039;&#039; - graphics output for CLOG tot+toa TPX3 input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input, just dir name&#039;&#039;&#039; - several t3pa files, just specifying dir name as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with own DB&#039;&#039;&#039; - input is own DB for camparator and settings of SigVec and Hist for t3pa input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program version&#039;&#039;&#039; - print program version with -v&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program help&#039;&#039;&#039; - print program help with -h&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Ignore clusters at sensor edge&#039;&#039;&#039; - remove clusters at sensor edge with default settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Pixet mask with T3PA&#039;&#039;&#039; - Mask settings (pixet mask) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Acceptance of all param&#039;&#039;&#039; - param file with all params and their acceptanc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa meas input&#039;&#039;&#039; - clog tot+toa from measurement with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa 2x&#039;&#039;&#039; - pregenerated t3pa two times to check connection of two separate measurement files&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Coincidence analysis&#039;&#039;&#039; - coincidence and matching analysis (time coincidence window and products)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Directional analysis&#039;&#039;&#039; - directional analysis with proton 200 MeV 75 deg data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Ba133 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Cs137 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Frame analysis&#039;&#039;&#039; - frame analysis.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Detector geometry&#039;&#039;&#039; - setting of geometry via geo det config file.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist&#039;&#039;&#039; - advanced elist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist extended&#039;&#039;&#039; - advanced elist extended in dpe.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;All analysis and their switches&#039;&#039;&#039; - using all analysis and turning them off compatibility.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Length correction option&#039;&#039;&#039; - setting different length correction.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;High energy correction TPX&#039;&#039;&#039; - using high energy correction for TPX alpha Am241 (200V, peak around 3 MeV).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - missing param file&#039;&#039;&#039; - error behavior without parameters file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty file&#039;&#039;&#039; - error behavior with empty file file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - simple elist&#039;&#039;&#039; - error behavior with simple elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - nonsense file&#039;&#039;&#039; - error behavior with nonsense file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty clog&#039;&#039;&#039; - error behavior with empty clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - incorrect clog&#039;&#039;&#039; - error behavior with incorrect clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - partial elist&#039;&#039;&#039; - error behavior with partial elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - dsc file&#039;&#039;&#039; - error behavior with dsc file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - matrix toa&#039;&#039;&#039; - error behavior with matrix toa&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - module configs without path&#039;&#039;&#039; - error behavior of module configs wrong path&lt;br /&gt;
&lt;br /&gt;
All examples were produced on linux system but they should be also valid for windows system.&amp;lt;br /&amp;gt;&lt;br /&gt;
Note that some of the examples were written with older syntax from previous versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
This syntax is still valid, but not stated in the list below and it should be easy to follow which names were replaced with the new ones (e.g. CalMatrix_Path to CalMat).&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported on github forum for issues: &lt;br /&gt;
&lt;br /&gt;
https://github.com/lmareksla/DPE_Issues/ &lt;br /&gt;
&lt;br /&gt;
or send directly on the first mail below. &lt;br /&gt;
&lt;br /&gt;
For more information or help: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039;, &#039;&#039;&#039;carlos.granja@advacam.cz&#039;&#039;&#039;.&amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should not be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should not be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
    MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [0,1] [2,5]&lt;br /&gt;
    [2,3]&lt;br /&gt;
&lt;br /&gt;
    [2-43,5]&lt;br /&gt;
    [76,8-90]&lt;br /&gt;
    [0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
    FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [E]&lt;br /&gt;
    Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [E]&lt;br /&gt;
    Range_1=100,200  &lt;br /&gt;
    Range_2=500,1000  &lt;br /&gt;
    Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - C++==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing Library in Python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1163</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1163"/>
		<updated>2024-08-30T07:37:40Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png|Example of particle classification for data acquired onn board of ISS with TPX3 500um.&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
File:ClusterVariables LogY.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Examples ===&lt;br /&gt;
&lt;br /&gt;
Additional examples can be found in the directory &#039;&#039;Example/Test&#039;&#039; which includes several examples from testing. The input data are in directory &#039;&#039;data&#039;&#039; and its output can be found in the directory &#039;&#039;ref&#039;&#039; (referential output). The examples comprehend following cases:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;T3PA input&#039;&#039;&#039; - t3pa input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input&#039;&#039;&#039; - 20x t3pa files as input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa TPX3 input&#039;&#039;&#039; - clog tot+toa from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot TPX input&#039;&#039;&#039; - clog tot from TPX with default settings (protons HE).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG itot+count TPX3 input&#039;&#039;&#039; - clog itot+count from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Hist with T3PA&#039;&#039;&#039; - Hist settings with T3PA file as input.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Filter with T3PA&#039;&#039;&#039; - Filter settings with T3PA file as input (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec with T3PA&#039;&#039;&#039; - SigVec settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Mask with T3PA&#039;&#039;&#039; - Mask settings (general file) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with T3PA and CdTe&#039;&#039;&#039; - Comparator with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist old input&#039;&#039;&#039; - elist as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa input&#039;&#039;&#039; - pregenerated t3pa for physical variables etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec and Hist with T3PA&#039;&#039;&#039; - SigVec and Hist settings with T3PA file as input to produce SigVec from 2D hist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG event input&#039;&#039;&#039; - clog event with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG toa input&#039;&#039;&#039; - clog toa with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+time proc input&#039;&#039;&#039; - clog tot+time after processing with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3P input&#039;&#039;&#039; - t3p input with default setting (ba133)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3R input&#039;&#039;&#039; - t3r input with default settings (upper part of detector was masked)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix event input&#039;&#039;&#039; - matrix event input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix tot input&#039;&#039;&#039; - matrix tot input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist extended input&#039;&#039;&#039; - elist extended input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Graphics output CLOG tot+toa TPX3 input&#039;&#039;&#039; - graphics output for CLOG tot+toa TPX3 input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input, just dir name&#039;&#039;&#039; - several t3pa files, just specifying dir name as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with own DB&#039;&#039;&#039; - input is own DB for camparator and settings of SigVec and Hist for t3pa input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program version&#039;&#039;&#039; - print program version with -v&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program help&#039;&#039;&#039; - print program help with -h&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Ignore clusters at sensor edge&#039;&#039;&#039; - remove clusters at sensor edge with default settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Pixet mask with T3PA&#039;&#039;&#039; - Mask settings (pixet mask) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Acceptance of all param&#039;&#039;&#039; - param file with all params and their acceptanc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa meas input&#039;&#039;&#039; - clog tot+toa from measurement with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa 2x&#039;&#039;&#039; - pregenerated t3pa two times to check connection of two separate measurement files&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Coincidence analysis&#039;&#039;&#039; - coincidence and matching analysis (time coincidence window and products)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Directional analysis&#039;&#039;&#039; - directional analysis with proton 200 MeV 75 deg data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Ba133 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Cs137 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Frame analysis&#039;&#039;&#039; - frame analysis.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Detector geometry&#039;&#039;&#039; - setting of geometry via geo det config file.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist&#039;&#039;&#039; - advanced elist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist extended&#039;&#039;&#039; - advanced elist extended in dpe.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;All analysis and their switches&#039;&#039;&#039; - using all analysis and turning them off compatibility.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Length correction option&#039;&#039;&#039; - setting different length correction.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;High energy correction TPX&#039;&#039;&#039; - using high energy correction for TPX alpha Am241 (200V, peak around 3 MeV).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - missing param file&#039;&#039;&#039; - error behavior without parameters file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty file&#039;&#039;&#039; - error behavior with empty file file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - simple elist&#039;&#039;&#039; - error behavior with simple elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - nonsense file&#039;&#039;&#039; - error behavior with nonsense file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty clog&#039;&#039;&#039; - error behavior with empty clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - incorrect clog&#039;&#039;&#039; - error behavior with incorrect clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - partial elist&#039;&#039;&#039; - error behavior with partial elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - dsc file&#039;&#039;&#039; - error behavior with dsc file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - matrix toa&#039;&#039;&#039; - error behavior with matrix toa&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - module configs without path&#039;&#039;&#039; - error behavior of module configs wrong path&lt;br /&gt;
&lt;br /&gt;
All examples were produced on linux system but they should be also valid for windows system.&amp;lt;br /&amp;gt;&lt;br /&gt;
Note that some of the examples were written with older syntax from previous versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
This syntax is still valid, but not stated in the list below and it should be easy to follow which names were replaced with the new ones (e.g. CalMatrix_Path to CalMat).&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported on github forum for issues: &lt;br /&gt;
&lt;br /&gt;
https://github.com/lmareksla/DPE_Issues/ &lt;br /&gt;
&lt;br /&gt;
or send directly on the first mail below. &lt;br /&gt;
&lt;br /&gt;
For more information or help: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039;, &#039;&#039;&#039;carlos.granja@advacam.cz&#039;&#039;&#039;.&amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should not be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should not be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
    MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [0,1] [2,5]&lt;br /&gt;
    [2,3]&lt;br /&gt;
&lt;br /&gt;
    [2-43,5]&lt;br /&gt;
    [76,8-90]&lt;br /&gt;
    [0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
    FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [E]&lt;br /&gt;
    Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [E]&lt;br /&gt;
    Range_1=100,200  &lt;br /&gt;
    Range_2=500,1000  &lt;br /&gt;
    Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - C++==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing Library in Python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Files_and_directories_of_the_Pixet_and_SDK&amp;diff=1162</id>
		<title>Files and directories of the Pixet and SDK</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Files_and_directories_of_the_Pixet_and_SDK&amp;diff=1162"/>
		<updated>2024-08-27T08:50:38Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* User data directory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Main directory of the Pixet program =&lt;br /&gt;
[[File:Directory-pixet.png|thumb|alt=Pixet main directory if all here|Pixet main directory if all here]]&amp;lt;br&amp;gt;&lt;br /&gt;
Here are main program files binary libraries, API files, licence file and the &#039;&#039;&#039;pixet.ini&#039;&#039;&#039; file. Here may also be hwlibs subdirectory, special files for some devices. Their location depends on the &amp;lt;nowiki&amp;gt;[Hwlibs]&amp;lt;/nowiki&amp;gt; section of the pixet.ini file.&amp;lt;br&amp;gt;&lt;br /&gt;
There can also be subdirectories factory, configs and logs. They are there if &#039;&#039;&#039;UseAppDataDir&#039;&#039;&#039; is disabled in &#039;&#039;&#039;pixet.ini&#039;&#039;&#039;, in the &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;[Settings]&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; section.&amp;lt;br&amp;gt;&lt;br /&gt;
If here are not located configs, inis and logs, this directory can be located in Program files, or in another location where the user cannot normally write.&lt;br /&gt;
&lt;br /&gt;
= User data directory =&lt;br /&gt;
This is location of [[#The factory and the configs subdirectories|configuration]] and [[#logs|log]] files. The program must be able to write here.&amp;lt;br&amp;gt;&lt;br /&gt;
This is used, if in the &#039;&#039;&#039;[[Files_and_directories_of_the_Pixet_and_SDK#pixet.ini_file|pixet.ini]]&#039;&#039;&#039;, in the &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;[Settings]&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; section is located &#039;&#039;&#039;UseAppDataDir=true&#039;&#039;&#039;.&lt;br /&gt;
[[File:Directory-appdata.png|thumb|alt=AppData - user data directory|AppData - user data directory]]&amp;lt;br&amp;gt;&lt;br /&gt;
Default location is in the user&#039;s system application data directory, like us:&amp;lt;br&amp;gt;&lt;br /&gt;
* C:\Users\username\AppData\Local\PixetPro on Windows&lt;br /&gt;
* ~/.config/PixetPro on Linux&lt;br /&gt;
* ~/Library/Application Support/PixetPro on MacOS&lt;br /&gt;
&lt;br /&gt;
Location of the directory can be changed anywhere, using the &#039;&#039;&#039;AppDataDir=&#039;&#039;&#039; line in the pixet.ini.&amp;lt;br&amp;gt;&lt;br /&gt;
See [[#pixet.ini file]]&lt;br /&gt;
&lt;br /&gt;
= Subdirectories of the Pixet program =&lt;br /&gt;
&lt;br /&gt;
== The factory and the configs subdirectories ==&lt;br /&gt;
The factory directory should contain the factory default configuration XML files.&lt;br /&gt;
The Pixet core use it while starting, if the configuration file is not in the configs directory.&lt;br /&gt;
The configs directory contain configuration XML files.&lt;br /&gt;
The Pixet core try to use it while starting and save the current settings to it, if exiting.&amp;lt;br&amp;gt;&lt;br /&gt;
(This process works the same way when you start and quit the Pixet program or if you use C API functions pxcInit/pxcExit or Python API functions pypixet.start() / pixet.exitPixet()+pypixet.exit().)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;The detector cannot work properly if proper config not loaded&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
See [[#Configuration XML files]]&lt;br /&gt;
&lt;br /&gt;
=== factory ===&lt;br /&gt;
It should contain the factory default configuration XML files. The Pixet core use it while starting, if the configuration file is not in the configs directory or if user click the &amp;quot;Load factory config&amp;quot; or scripts can use it by the loadFactoryConfig() method.&amp;lt;br&amp;gt;&lt;br /&gt;
Location of this subdir can be in the main program directory or in user data directory, depending on the &#039;&#039;&#039;UseAppDataDir=&#039;&#039;&#039; line in the pixet.ini file, or can be located anywhere using the &#039;&#039;&#039;FactoryDir=&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
Hint: If you frequently do experiments with more instances of Pixet, API-using programs or scripts and have more devices, you can use single location of the factory directory for all.&lt;br /&gt;
&lt;br /&gt;
=== configs ===&lt;br /&gt;
Contain &#039;&#039;&#039;configuration XML files for devices&#039;&#039;&#039;. The Pixet core try to use it while starting the Pixet program or in pypixet.start() method in scripts, or if the C API function pxcInit() used. And automatically save the current settings to it, while exitting the Pixet program, or if the pypixet.exit() method is used in scripts, or if the pxcExit() function used via C API.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In addition, this directory contains:&lt;br /&gt;
* &#039;&#039;&#039;Configuration XML files for filters&#039;&#039;&#039; - name format filtername_DevName ChipID.xml - for example &amp;quot;adaptiveff_MiniPIX D06-W0065.xml&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;Configuration INI files for plugins - dev specific&#039;&#039;&#039; - name format pluginname_ChipID.ini - for example &amp;quot;devcontrol_D06-W0065.ini&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;Configuration INI files for plugins&#039;&#039;&#039; - name format pluginname.ini - for example &amp;quot;pyscripting.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Location of this subdir can be in the main program directory or in user data directory, depending on the &#039;&#039;&#039;UseAppDataDir=&#039;&#039;&#039; line in the pixet.ini file, or can be located anywhere using the &#039;&#039;&#039;ConfigsDir=&#039;&#039;&#039; line in the pixet.ini file.&lt;br /&gt;
&lt;br /&gt;
== logs ==&lt;br /&gt;
[[File:Directory-logs.png|thumb|alt=The logs directory|The logs directory]]&lt;br /&gt;
Here are log files from all hardware libraries, pixet core. Files are from last Pixet core run. While next run, the core archive last log files. Subdirectories logs1, logs2, ... contains backups for last 10 sessions.&amp;lt;br&amp;gt;&lt;br /&gt;
Location of this subdir can be in the main program directory or in user data directory, depending on the &#039;&#039;&#039;UseAppDataDir=&#039;&#039;&#039; line in the pixet.ini file, or can be located anywhere using the &#039;&#039;&#039;LogsDir=&#039;&#039;&#039; line in the pixet.ini file.&lt;br /&gt;
&lt;br /&gt;
== hwlibs ==&lt;br /&gt;
[[File:Dirrectory-minimalistic-api-prg.png|thumb|right|alt=Directory of the minimalistic program using Advacam C API, working on computer with IDE installed|Directory of the minimalistic program using Advacam C API, working on computer with .NET installed]]&lt;br /&gt;
This is the usual place for hwlib libraries, designed to work with different types of devices. The actual location of the files is defined in the &amp;lt;nowiki&amp;gt;[hwlibs]&amp;lt;/nowiki&amp;gt; section of the pixet.ini file. Default is the hwlibs subdirectory of the main program running directory. But here are a simple relative paths from the main program location and can be configured without subdirectory. It is commonly used in single-purpose programs using API.&amp;lt;br&amp;gt;&lt;br /&gt;
See [[#pixet.ini file]]&lt;br /&gt;
&lt;br /&gt;
== plugins ==&lt;br /&gt;
Default location of plugins to the Pixet program. Not related to programs working via API.&lt;br /&gt;
&lt;br /&gt;
== drivers ==&lt;br /&gt;
Installators of drivers for some devices.&lt;br /&gt;
&lt;br /&gt;
== libs ==&lt;br /&gt;
Libraries for Python scripting plugin.&lt;br /&gt;
&lt;br /&gt;
== scripts ==&lt;br /&gt;
* Sample scripts for using Python scripting plugin.&lt;br /&gt;
* The default place to search for imports used in scripts run from the Python scripting plugin. &lt;br /&gt;
&lt;br /&gt;
== Other subdirs ==&lt;br /&gt;
* samples - Sample data for demo when using virtual file device.&lt;br /&gt;
* help - PDF manuals&lt;br /&gt;
* platforms, styles - System directories of QT.&lt;br /&gt;
&lt;br /&gt;
= Main directory of the API-using programs, independent on the Pixet =&lt;br /&gt;
User can write programs using our API. To operate them, need:&lt;br /&gt;
* &#039;&#039;&#039;Pixet core library&#039;&#039;&#039; - The core of the Pixet program. &#039;&#039;&#039;pxcore.dll&#039;&#039;&#039;, or pxcore.so file.&lt;br /&gt;
* &#039;&#039;&#039;Pixel processing library&#039;&#039;&#039; - &#039;&#039;&#039;pxproc.dll&#039;&#039;&#039; or pxproc.so library - only for Clustering and Spectral imaging use&lt;br /&gt;
* &#039;&#039;&#039;Static linking libraries&#039;&#039;&#039; - To compile binary programs on Windows, user need the pxcore.lib (and pxproc.lib). Only in compile time. Compiler must be setup for using it.&lt;br /&gt;
* &#039;&#039;&#039;Auxilliary libraries of system&#039;&#039;&#039; - If program must working on computer without an IDE installed, can need some auxilliary libs, like as: msvcp140.dll, vcruntime140.dll, etc&lt;br /&gt;
* &#039;&#039;&#039;pixet.ini&#039;&#039;&#039; - configuration for the Pixet core. See [[#pixet.ini file]]&lt;br /&gt;
* &#039;&#039;&#039;HWlibs&#039;&#039;&#039; for the given hardware (and firmwares if devices need). See [[#hwlibs]] and [[#Device firmware files]]&lt;br /&gt;
* &#039;&#039;&#039;Device configuration files&#039;&#039;&#039; in the &#039;&#039;&#039;factory&#039;&#039;&#039; and &#039;&#039;&#039;configs&#039;&#039;&#039; directories, or elsewhere according to the settings in pixet.ini. See [[#The factory and the configs subdirectories]]&lt;br /&gt;
* &#039;&#039;&#039;Place for logs&#039;&#039;&#039; in the &#039;&#039;&#039;logs&#039;&#039;&#039; directory, or elsewhere according to the settings in pixet.ini. See [[#logs]]&lt;br /&gt;
* &#039;&#039;&#039;Python interface&#039;&#039;&#039; - To run Python scripts, &#039;&#039;&#039;pypixet.pyd&#039;&#039;&#039; is needed in addition. And a &#039;&#039;&#039;pypxproc.pyd&#039;&#039;&#039; for Clustering and Spectral imaging objects.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basic files are in the API packages:&lt;br /&gt;
{{APIpackages}}&lt;br /&gt;
&lt;br /&gt;
Alternatives to run the API using programs:&lt;br /&gt;
# Copy all need files to the Project directory.&lt;br /&gt;
# While running the program, change the operating directory to the Pixet main directory.&lt;br /&gt;
# Copy the binary executable or python script to the Pixet main directory and run it from here. Useful for occasional single test, but can do problems in more extensive cases.&lt;br /&gt;
&lt;br /&gt;
= Special files =&lt;br /&gt;
&lt;br /&gt;
=== Configuration XML files ===&lt;br /&gt;
The config file contains all detector settings and you can start and continue with the settings as it was while last program exit. The factory config is config saved afther low-level detector setup, finding of bad pixels, calibrations and other factory tests.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;The detector cannot work properly if proper config not loaded&#039;&#039;&#039;.&lt;br /&gt;
* The files must have proper names. “WidePIX-B04-W0535-10.xml” for example. If not, automatic load at start will not work. To optain proper config name, you can do the program exit and see saved filename in the configs directory.&lt;br /&gt;
&#039;&#039;&#039;See:&#039;&#039;&#039;&lt;br /&gt;
* [[#The_factory_and_the_configs_subdirectories|The factory and the configs subdirectories]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pixet.ini file ==&lt;br /&gt;
This is the main configuration file of the Pixet core. It has several sections beginning with a title in square brackets. Sections contain configuration lines formated as &#039;&#039;&#039;Name=value&#039;&#039;&#039; or &#039;&#039;&#039;Name=&#039;&#039;&#039; for default value. They can also contain comments, which start with a semicolon. This way you can also deactivate some configuration lines.&amp;lt;br&amp;gt;&lt;br /&gt;
Default version of the file conaining used options and all remaining options disabled + with =default. User can edit it and enable.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The default &#039;&#039;&#039;path where Pixet core looks for the pixet.ini&#039;&#039;&#039; file is the same as the path to the program that started the pxcore library. So the file should be next to it. Attention, &#039;&#039;&#039;all other paths&#039;&#039;&#039; are relative to the current directory, not to the position of the program.&amp;lt;br&amp;gt;&lt;br /&gt;
So if you run c:\program&amp;amp;nbsp;files\pixet\pixet.exe from c:\users\myname, pxcore will try to load c:\program&amp;amp;nbsp;files\pixet\pixet.ini and all other relative paths (including those listed in the pixet.ini) will start with c:\users\myname.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;[Settings]&amp;lt;/nowiki&amp;gt; ===&lt;br /&gt;
General settings of used directories, core and the Pixet program parameters:&lt;br /&gt;
* &#039;&#039;&#039;UseAppDataDir&#039;&#039;&#039; UseAppDataDir=true - Change default location of the configs and logs subdirs and ini files to the user data directory. It also allows different login users to have different settings of same devices in same programs.&lt;br /&gt;
* &#039;&#039;&#039;PixetIniInAppDataDir&#039;&#039;&#039; PixetIniInAppDataDir=true - Enable reading the pixet.ini file from the user data directory. Very usesful if the program is located in the Program files or at other location with no write rights. It also allows different users to have different pixet.ini. Note: Enabling this option means that the Pixet core first loads this file (from the program launch point) and, after detecting this option, loads it again from the user data directory. Other settings in the default pixet.ini are therefore ignored.&lt;br /&gt;
* &#039;&#039;&#039;PixetIni&#039;&#039;&#039; PixetIni=C:\myPixetAppData\myPixetIni1.ini - Change name and location of the pixet.ini file. Similar to the case of PixetIniInAppDataDir, when using PixetIni=, the initialization file will be loaded again and the contents of the original file will not affect the further operation of the software.&lt;br /&gt;
* &#039;&#039;&#039;AppDataDir&#039;&#039;&#039; AppDataDir=C:\myPixetAppData\group1 - Change location of the user data directory to specified path. Useful if user have more programs using a Advacam devices and want divide it to some groups with different settings.&lt;br /&gt;
* &#039;&#039;&#039;ConfigsDir&#039;&#039;&#039; ConfigsDir=C:\myPixetAppData\configsGroup1 - Change location od the configs dir to other location. Useful if user have more programs using a Advacam devices and want divide it to some groups with different settings of devices.&lt;br /&gt;
* &#039;&#039;&#039;FactoryDir&#039;&#039;&#039; FactoryDir=C:\myPixetAppData\factory - Change location od the factory dir to other location. Useful if user have many independent places of a programs, creating new programs and testing new devices. User can simply store all factory files in one location. Or it is possible to have such a directory on the company server, where users do not have the right to write.&lt;br /&gt;
* &#039;&#039;&#039;LogsDir&#039;&#039;&#039; LogsDir=C:\temp\pxCoreDebug - Change location of the logs directory. Useful if user have many independent places of a programs, typically if creating new programs. User can simply collect all logs to one directory so that he does not have to open another one every time.&lt;br /&gt;
* &#039;&#039;&#039;Splash&#039;&#039;&#039; Splash=true - Use a splash screen when the Pixet program starting. It does not affect programs using the API.&lt;br /&gt;
* &#039;&#039;&#039;FileDevice&#039;&#039;&#039; FileDevice=true - Enable virtual &amp;quot;file device&amp;quot; if physical devices connected.&lt;br /&gt;
* &#039;&#039;&#039;FileDeviceWhenNoDevs&#039;&#039;&#039; = FileDeviceWhenNoDevs=false - Disable virtual &amp;quot;file device&amp;quot; if no physical devices connected.&lt;br /&gt;
* &#039;&#039;&#039;SaveSettings&#039;&#039;&#039; SaveSettings=false - Disable automatic save device settings on exit pixet core. It affects Pixet as well as programs that use the API.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;MaxFrameMemory&#039;&#039;&#039; MaxFrameMemory=1024 - Change the frame memory limit for multiframe acquisitions. Reserved for future use, currently not used.&lt;br /&gt;
* &#039;&#039;&#039;MainUi&#039;&#039;&#039; MainUi=devcontrol - Change main user interface plugin of the Pixet program. User can programm your own plugins and one can be used instead of the Pixet main window.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LogLeaveOldLogs&#039;&#039;&#039; LogLeaveOldLogs=false - Disable archiving old log files sets.&lt;br /&gt;
* &#039;&#039;&#039;LogRotateCount&#039;&#039;&#039; LogRotateCount=15 - Change number of archived log directories.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;HighDPI&#039;&#039;&#039; HighDPI=true - Enable AA_EnableHighDpiScaling feature in QT GUI environment. Disable can work only in very old versions of Pixet. Currently is deprecated and allways on.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;[Hwlibs]&amp;lt;/nowiki&amp;gt; ===&lt;br /&gt;
List of hardware library files/paths used in startup to search and connect a devices. See the hwlibs subdirectory description for details.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039; Left is default Pixet configuration with hwlib files in the hwlibs subdirectory, right is simple arrangement with files in the program directory. Last line is disabled in both versions.&lt;br /&gt;
 [Hwlibs]                        [Hwlibs]&lt;br /&gt;
 hwlibs\minipix.dll              minipix.dll&lt;br /&gt;
 hwlibs\widepix.dll              widepix.dll&lt;br /&gt;
 hwlibs\zem.dll                  zem.dll&lt;br /&gt;
 ;hwlibs\zest.dll                ;zest.dll&lt;br /&gt;
&lt;br /&gt;
User can disable some hwlibs using the ; symbol.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;List of HWLIB files:&#039;&#039;&#039; Windows / Linux&lt;br /&gt;
* &#039;&#039;&#039;Minipix&#039;&#039;&#039;: minipix.dll / minipix.so&lt;br /&gt;
* &#039;&#039;&#039;Widepix with Eth&#039;&#039;&#039;: zest.dll / zest.so&lt;br /&gt;
* &#039;&#039;&#039;Widepix without Eth&#039;&#039;&#039;: widepix.dll / widepix.so&lt;br /&gt;
* &#039;&#039;&#039;Advapix&#039;&#039;&#039;: zem.dll (and aux. file okFrontPanel.dll - allways in the program directory) / zem.so + okFrontPanel.so&lt;br /&gt;
* &#039;&#039;&#039;Advapix new&#039;&#039;&#039;: abrd-hwlib.dll / abrd-hwlib.so&lt;br /&gt;
* And customer-specific files for motor driving, x-ray sources, etc.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;[Plugins]&amp;lt;/nowiki&amp;gt; ===&lt;br /&gt;
List of Pixet plugins files/paths. All files is by default in the plugins subdirectory.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;[PixelmanPlugins]&amp;lt;/nowiki&amp;gt; ===&lt;br /&gt;
List of Pixet plugins files/paths with backward compatibility for old Pixelman program.&lt;br /&gt;
&lt;br /&gt;
== Device configuration ini files ==&lt;br /&gt;
Some devices can has configuration file. Theese files are located in the program main directory or in the user data directory if the UseAppDataDir=true option used. Files have names identical to the names of the corresponding HWlibs, ending with .ini. For example, the Ethernet Widepix uses HWlib zest.dll (or zest.so on Linux) and the configuration is stored in zest.ini.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is usually no need to edit these files, you can find details about them in the device&#039;s manual.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Only for network devices it is sometimes useful to define IP addresses on which Pixet core should search for devices. Either because the general search does not work on the given network, or so that the program does not &amp;quot;steal&amp;quot; a device in another room.&lt;br /&gt;
For example, in zest.ini, each device can has its own section and an IP address defined in it:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[Device0]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 IP=10.10.1.30&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[Device1]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 IP=10.10.1.31&lt;br /&gt;
&lt;br /&gt;
== Device firmware files ==&lt;br /&gt;
Some devices need firmware files to upload while initialization process. These files are allways located in the program directory. Names are typically composed from HWlib name and readout chip name (zemtpx3.rbf for example).&amp;lt;br&amp;gt;&lt;br /&gt;
List of this kind of files:&amp;lt;br&amp;gt;&lt;br /&gt;
zestwpx.bit, zemwpxf.rbf, zemtpx3.rbf, zemtpx3quad.rbf, zemtpx.rbf, cyptpx3pix.rbf&amp;lt;br&amp;gt;&lt;br /&gt;
Note: The standard Pixet distribution that comes with your device only contains the files for that device, so you usually won&#039;t see all of these files. And Minipix, for example, doesn&#039;t need any of it.&lt;br /&gt;
&lt;br /&gt;
== Insidious complications with files/dirs ==&lt;br /&gt;
Let&#039;s have the following program and with it pypixet.pyd and other necessary files:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
import os&lt;br /&gt;
os.chdir(&amp;quot;test-output&amp;quot;)&lt;br /&gt;
import pypixet&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;pixet core init...&amp;quot;)&lt;br /&gt;
pypixet.start()&lt;br /&gt;
pixet=pypixet.pixet&lt;br /&gt;
devices = pixet.devices()&lt;br /&gt;
dev = devices[0]&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;dev.doSimpleAcquisition (3 frames @ 1 sec) - start&amp;quot;)&lt;br /&gt;
rc = dev.doSimpleAcquisition(3, 1, pixet.PX_FTYPE_AUTODETECT, &amp;quot;example.png&amp;quot;)&lt;br /&gt;
print(&amp;quot;dev.doSimpleAcquisition - end:&amp;quot;, rc, &amp;quot;(0 is OK)&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
pixet.exitPixet()&lt;br /&gt;
pypixet.exit()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This program normally works with e.g. Minipix, but does not work with e.q. Advapix. Crashes at pypixet.start() or has not any detected devices.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The problem is that hwlibs load their files eg firmware from the current directory. Minipix not need any other files, Advapix need a firmware .rbf file. Moving &#039;&#039;&#039;os.chdir&#039;&#039;&#039; after &#039;&#039;&#039;pypixet.start()&#039;&#039;&#039; solves the problem.&lt;br /&gt;
&lt;br /&gt;
= Related =&lt;br /&gt;
* [[Pixet_SDK|Pixet SDK overview]]&lt;br /&gt;
* [[PIXet|The PIXet program]]&lt;br /&gt;
* [[File types]]&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Binary_core_API&amp;diff=1160</id>
		<title>Binary core API</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Binary_core_API&amp;diff=1160"/>
		<updated>2024-08-06T13:19:11Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* Building on Linux using GCC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Core/basic binary (C/C++) API introduction =&lt;br /&gt;
&lt;br /&gt;
This API is part of the Advacam&#039;s [[Pixet SDK]] and allows access to functions of the Pixet Core.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The binary API parts are:&lt;br /&gt;
# &#039;&#039;&#039;Binary core/basic API&#039;&#039;&#039; (this document)&lt;br /&gt;
# [[Binary_Clustering_API|Binary clustering API]]&lt;br /&gt;
# [[Binary_Spectral_Imaging_API|Binary spectral imaging API]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See:&#039;&#039;&#039; [[Pixet SDK|Pixet SDK overview]]&lt;br /&gt;
&lt;br /&gt;
== Usage overview ==&lt;br /&gt;
* Settings of the device&lt;br /&gt;
* Getting information about the device&lt;br /&gt;
* Single-frame measurement&lt;br /&gt;
* Multi-frame measurement&lt;br /&gt;
* Continuous frame measurement (endless repeats and without dead time on some devices, Mpx3 and Tpx2 for example) &lt;br /&gt;
* Data-driven (pixel mode) measurement (Tpx3 only)&lt;br /&gt;
* Synchronized measurement&lt;br /&gt;
* TDI imaging - Scanning linearly moving objects, for example on a conveyor belt.&lt;br /&gt;
* Basic image bad pixel correction&lt;br /&gt;
* Beam hardening correction (Xray imaging has a very non-linear relationship between the thickness of the material and the intensity of the transmitted radiation. First, low-energy radiation is captured, followed by components that are significantly more penetrating.)&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
The core API with the &#039;&#039;&#039;pxcore library&#039;&#039;&#039;, allowing basic measurements and device settings.&amp;lt;br&amp;gt;&lt;br /&gt;
Files:&lt;br /&gt;
* &#039;&#039;&#039;pxcapi.h&#039;&#039;&#039; API header file&lt;br /&gt;
* &#039;&#039;&#039;pxcore.dll&#039;&#039;&#039; or &#039;&#039;&#039;pxcore.so&#039;&#039;&#039; binary libraries for Windows or Linux&lt;br /&gt;
* &#039;&#039;&#039;pxcore.lib&#039;&#039;&#039; static linging file for easier using on Windows (compile time only)&lt;br /&gt;
* &#039;&#039;&#039;common.h&#039;&#039;&#039; common file defining basic types, constatns and usefull macros. It&#039;s not necessary, but it can be useful.&lt;br /&gt;
&lt;br /&gt;
And need some auxiliary files and directories:&amp;lt;br&amp;gt;&lt;br /&gt;
* See [[Pixet SDK#Auxilliary files|Pixet SDK: Auxilliary files]]&lt;br /&gt;
* See [[Files and directories of the Pixet and SDK#Main directory of the API-using programs, independent on the Pixet|Files and directories: Main directory of the API-using programs]]&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
This API requires computer with x86 compatible architecture or ARM with memory management features (no small MCU), 64bit Windows or Linux and connected some Advacam hardware with imaging chip. Medipix3, Timepix, Timepix2, Timepix3, etc. Some functions are universal for all hardwares (pxcInitialize, pxcGetDeviceName, etc), some is specialized for only one chip type (pxcMeasureSingleFrameTpx3 is Timepix3 only).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Specialized functions have names with chip type included:&#039;&#039;&#039;&lt;br /&gt;
* pxcSet&#039;&#039;&#039;Timepix&#039;&#039;&#039;CalibrationEnabled – Timepix only (no Timepix3)&lt;br /&gt;
* pxcMeasure&#039;&#039;&#039;Tpx3&#039;&#039;&#039;DataDrivenMode – Timepix3 only&lt;br /&gt;
* pxcMeasureSingleFrame&#039;&#039;&#039;Mpx3&#039;&#039;&#039; – Medipix3 only&lt;br /&gt;
&lt;br /&gt;
The attempt to use the function if compatible hardware (in initialized state) not present, end with error.&amp;lt;br&amp;gt;&lt;br /&gt;
Return code is &#039;&#039;&#039;PXCERR_UNEXPECTED_ERROR&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
All the API functions have heads in pxcapi.h, implemented for Windows in the pxcore.dll and for linking must use the pxcore.lib in the linker settings. Implementation for Linux is in the libcore.so.&amp;lt;br&amp;gt;&lt;br /&gt;
Compiled program need the pixet.ini file with proper hwlibs list inside, necessary hardware dll files (eq minipix.dll for Minipixes), optional special files (eq zestwpx.bit for Widepixes), subdirectory “factory” with default config files for all present imaging devices (eq MiniPIX-I08-W0060.xml) and the Pixet core will create subdirectory “configs” to save changed configs on exit.&amp;lt;br&amp;gt;&lt;br /&gt;
See &#039;&#039;&#039;[[#The Pixet core, additional libraries and other files|The Pixet core, additional libraries and other files]]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Usually, for build, just set the compiler to use 64bit and the linker to use the pxcore.lib file.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In Microsoft visual studio, while creating the C++ CLR project, it is also necessary to insert the use of WIN32 definition into the project settings (C/C++ / Preprocessor / Preprocessor definitions):&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:VisualStudio-PrjSettings.png|frame|none|alt=Visual Studio Project Settings|Visual Studio Project Settings]]&lt;br /&gt;
&lt;br /&gt;
=== The Pixet core, additional libraries and other files ===&lt;br /&gt;
Main files:&lt;br /&gt;
* &#039;&#039;&#039;pxcapi.h&#039;&#039;&#039; API header file for importing to C/C++&lt;br /&gt;
* &#039;&#039;&#039;pxcore.dll&#039;&#039;&#039; or &#039;&#039;&#039;pxcore.so&#039;&#039;&#039; binary libraries for Windows or Linux&lt;br /&gt;
* &#039;&#039;&#039;pxcore.lib&#039;&#039;&#039; static linging file for easier using in C/C++ on Windows&lt;br /&gt;
&lt;br /&gt;
And need some auxiliary files and directories:&amp;lt;br&amp;gt;&lt;br /&gt;
* See [[Pixet SDK#Auxilliary files|Pixet SDK: Auxilliary files]]&lt;br /&gt;
* See [[Files and directories of the Pixet and SDK#Main directory of the API-using programs, independent on the Pixet|Files and directories: Main directory of the API-using programs]]&lt;br /&gt;
&lt;br /&gt;
==== Where to get these files? ====&lt;br /&gt;
:All need files except  XML configs are located in the zip file with name like us: &#039;&#039;&#039;PIXet_SDK_1.8.0_(Build_22b1f335)_Win.zip&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;Download:&#039;&#039;&#039; [https://downloads.advacam.com/sdk.php Advacam: Pixet Pro Software Updates]&amp;lt;br&amp;gt;&lt;br /&gt;
:And all files except LIB files for Windows compilation are located in the Pixet directory:&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Files-usable-for-SDK-in-Pixet.png|frame|none|alt=All files except LIB files for Windows compilation are located in the Pixet directory|All files except LIB files for Windows compilation are located in the Pixet directory]]&lt;br /&gt;
&lt;br /&gt;
==== Example of the project directory ====&lt;br /&gt;
[[File:Example-project-dirrectory.png|frame|right|alt=Example of the project dirrectory|Example of the project dirrectory]]&lt;br /&gt;
On the right is a screenshot of the Windows CLR APP project directory in Visual Studio that uses Minipix Tpx3. The marked files were copied from the Advacam SDK and the &amp;quot;factory&amp;quot; directory contains the configuration &lt;br /&gt;
XML file for the device. It is important that the name is complete, eg MiniPIX-I08-W0060.xml. This file will be used on first launch.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The directory &amp;quot;configs&amp;quot; is created when Pixet core is terminated and contains a configuration XML file with saved current settings. This file will be used on each subsequent startup and updated on each subsequent exit.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;quot;logs&amp;quot; directory is created when Pixet core is started for the first time and contains LOG files from device activity and backups of these files for the last 10 starts.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Contents of the pixet.ini file: &lt;br /&gt;
 [hwlibs]&lt;br /&gt;
 minipix.dll&lt;br /&gt;
&lt;br /&gt;
(x64, Myform... and TPx3-1... are from the MS Visual studio project)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Don&#039;t forget to set up WIN32 and pxcore.lib in the project settings as described in the parent chapter.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Tip: How to create the Windows CLR APP:&amp;lt;br&amp;gt;&lt;br /&gt;
[https://social.msdn.microsoft.com/Forums/windows/en-US/a9529502-6304-4aa6-90ee-0757ab258d87/create-c-windows-forms-application-in-visual-studio-2017?forum=winforms MSDN:create-c-windows-forms-application-in-visual-studio-2017]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Example of the minimalistic program directory ====&lt;br /&gt;
[[File:dirrectory-minimalistic-api-prg.png|frame|center|alt=Example of the minimalistic project dirrectory|Example of the minimalistic project dirrectory]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Some examples =&lt;br /&gt;
&lt;br /&gt;
== Simple C commandline example and build ==&lt;br /&gt;
&lt;br /&gt;
=== Example code ===&lt;br /&gt;
----&lt;br /&gt;
This is simple example of commandline C program, whitch initializes the Pixet core and device, sets it&#039;s operation mode, measures single frame, saves the frame to some files and deinitializes the Pixet core with all the connected devices.&amp;lt;br&amp;gt;&lt;br /&gt;
(Timepix3 only)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
 #include &amp;quot;pxcapi.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
     int rc; // return code&lt;br /&gt;
     &lt;br /&gt;
     printf(&amp;quot;Initializing...\n&amp;quot;);&lt;br /&gt;
     rc = pxcInitialize();&lt;br /&gt;
     printf(&amp;quot;pxcInitialize: %d (0 is OK)\n&amp;quot;, rc);&lt;br /&gt;
     &lt;br /&gt;
     rc = pxcSetTimepix3Mode(0, PXC_TPX3_OPM_TOATOT); // sets OPM of device with index 0&lt;br /&gt;
     printf(&amp;quot;pxcSetTimepix3Mode: %d (0 is OK)\n&amp;quot;, rc);&lt;br /&gt;
     &lt;br /&gt;
     // pxcMeasureMultipleFrames(deviceIndex, frameCount, acqTime, triggerSettings);&lt;br /&gt;
     rc = pxcMeasureMultipleFrames(0, 3, 1, PXC_TRG_NO);&lt;br /&gt;
     printf(&amp;quot;pxcMeasureMultipleFrames: %d (0 is OK)\n&amp;quot;, rc);&lt;br /&gt;
     &lt;br /&gt;
     // pxcSaveMeasuredFrame(deviceIndex, frameLastIndex, filename);&lt;br /&gt;
     rc = pxcSaveMeasuredFrame(0, 0, &amp;quot;testImg0.png&amp;quot;);&lt;br /&gt;
     printf(&amp;quot;pxcSaveMeasuredFrame 0: %d (0 is OK)\n&amp;quot;, rc);&lt;br /&gt;
     rc = pxcSaveMeasuredFrame(0, 1, &amp;quot;testImg1.txt&amp;quot;);&lt;br /&gt;
     printf(&amp;quot;pxcSaveMeasuredFrame 1: %d (0 is OK)\n&amp;quot;, rc);&lt;br /&gt;
     rc = pxcSaveMeasuredFrame(0, 2, &amp;quot;testImg2.pbf&amp;quot;);&lt;br /&gt;
     printf(&amp;quot;pxcSaveMeasuredFrame 2: %d (0 is OK)\n&amp;quot;, rc);&lt;br /&gt;
     &lt;br /&gt;
     rc = pxcExit();&lt;br /&gt;
     printf(&amp;quot;pxcExit: %d (0 is OK)\n&amp;quot;, rc);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Note: If You want test it in device other than Timepix3, You can comment lines with pxcSetTimepix3Mode. But then it is not clear what will be measured.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Building using cmake on Windows with Visual Studio installed ===&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Example of CMakeLists.txt&#039;&#039;&#039; file for compiling this using cmake (C++ file is named &amp;quot;&#039;&#039;&#039;minipix1.cpp&#039;&#039;&#039;&amp;quot;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
 cmake_minimum_required(VERSION 3.10)&lt;br /&gt;
 project(minipix1)&lt;br /&gt;
 &lt;br /&gt;
 # include_directories(${CMAKE_SOURCE_DIR})&lt;br /&gt;
 # link_directories(${CMAKE_SOURCE_DIR})&lt;br /&gt;
 add_library(pxcore SHARED IMPORTED)&lt;br /&gt;
 set_property(TARGET pxcore PROPERTY IMPORTED_LOCATION &amp;quot;${CMAKE_SOURCE_DIR}/pxcore.dll&amp;quot;)&lt;br /&gt;
 set_property(TARGET pxcore PROPERTY IMPORTED_IMPLIB  &amp;quot;${CMAKE_SOURCE_DIR}/pxcore.lib&amp;quot;)&lt;br /&gt;
 add_executable(minipix1 minipix1.cpp)&lt;br /&gt;
 target_link_libraries(minipix1 pxcore)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example of the Cmake building script:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 rmdir /s /q build&lt;br /&gt;
 mkdir build&lt;br /&gt;
 cd build&lt;br /&gt;
 cmake -DCMAKE_GENERATOR_PLATFORM=x64 .. &lt;br /&gt;
 &lt;br /&gt;
 msbuild /P:Configuration=Release ALL_BUILD.vcxproj &lt;br /&gt;
 &lt;br /&gt;
 cd .. &lt;br /&gt;
 copy pxcore.dll build\Release\pxcore.dll&lt;br /&gt;
 copy minipix.dll build\Release\minipix.dll&lt;br /&gt;
 copy pixet.ini build\Release\pixet.ini&lt;br /&gt;
 echo build\Release\minipix1.exe &amp;gt; run.cmd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
User can finally run the &#039;&#039;&#039;run.cmd&#039;&#039;&#039; to run the program.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Building on Linux using GCC ===&lt;br /&gt;
----&lt;br /&gt;
Example build.sh:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 gcc -o build-out minipix1.cpp -Wno-write-strings -L. -lpxcore  -ldl -lm -lc -g&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example run.sh to run the output executable:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 LD_LIBRARY_PATH=. ./build-out&lt;br /&gt;
 # run last compiled example&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Troubleshooting:&lt;br /&gt;
* Be careful of &#039;&#039;&#039;library, platform and system compatibility&#039;&#039;&#039;.&lt;br /&gt;
: That is, 32/64 bit, Intel vs ARM architecture and the use of unusual Linux distributions.&lt;br /&gt;
: Example error message: &#039;&#039;&#039;skipping incompatible ./libpxcore.so when searching for -lpxcore&#039;&#039;&#039;&lt;br /&gt;
* Be careful of &#039;&#039;&#039;gcc and it&#039;s libraries versions&#039;&#039;&#039;.&lt;br /&gt;
: If too old, some errors will occur.&lt;br /&gt;
: Example error message: &#039;&#039;&#039;undefined reference to symbol &#039;_Znam@@GLIBCXX_3.4&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== C++ Windows CLR examples ==&lt;br /&gt;
=== AdvacamAPIexamples package ===&lt;br /&gt;
This is the packace of example apps for all device types.&lt;br /&gt;
; Link&lt;br /&gt;
: https://advacam.com/examples/AdvacamAPIexamples.rar&lt;br /&gt;
: (MS Visual Studio 2017 Solution with C++ projects of Windows CLR programs)&lt;br /&gt;
&lt;br /&gt;
== C# examples ==&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* Use the release/64 bit configuration&lt;br /&gt;
* The working directory is directory with the exe file. Typically project\bin\Release. Copy pixet.ini and other auxilliary files here.&lt;br /&gt;
* In the MS Visual studio 2019, project first not working. You must click Properties, change .NET version to old, save it, change .NET version back to actual and save. Now project can work.&lt;br /&gt;
&lt;br /&gt;
=== Simple C# commandline example ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c#&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Runtime.InteropServices;&lt;br /&gt;
&lt;br /&gt;
namespace ConsoleApp1 {&lt;br /&gt;
    class Program {&lt;br /&gt;
        [DllImport(&amp;quot;pxcore.dll&amp;quot;, CallingConvention = CallingConvention.Cdecl)]&lt;br /&gt;
        public static extern int pxcInitialize(Int32 a, UInt64 b);&lt;br /&gt;
&lt;br /&gt;
        [DllImport(&amp;quot;pxcore.dll&amp;quot;, CallingConvention = CallingConvention.Cdecl)]&lt;br /&gt;
        public static extern int pxcExit();&lt;br /&gt;
&lt;br /&gt;
        [DllImport(&amp;quot;pxcore.dll&amp;quot;, CallingConvention = CallingConvention.Cdecl)]&lt;br /&gt;
        public static extern int pxcGetDevicesCount();&lt;br /&gt;
        static void Main(string[] args) {&lt;br /&gt;
            int rc;&lt;br /&gt;
&lt;br /&gt;
            Console.WriteLine(&amp;quot;pxcInitialize ...&amp;quot;);&lt;br /&gt;
            rc = pxcInitialize(0, 0);&lt;br /&gt;
            Console.WriteLine($&amp;quot;rc={rc:D} (0 is OK)&amp;quot;, rc);&lt;br /&gt;
&lt;br /&gt;
            Console.WriteLine(&amp;quot;pxcGetDevicesCount...&amp;quot;);&lt;br /&gt;
            rc = pxcGetDevicesCount();&lt;br /&gt;
            Console.WriteLine(&amp;quot;rc={0:D}\n&amp;quot;, rc);&lt;br /&gt;
&lt;br /&gt;
            if (rc &amp;gt; 0) {&lt;br /&gt;
                // do something now&lt;br /&gt;
            } else {&lt;br /&gt;
                Console.WriteLine(&amp;quot;No devices detected\n&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            Console.WriteLine(&amp;quot;pxcExit...&amp;quot;);&lt;br /&gt;
            rc = pxcExit();&lt;br /&gt;
            Console.WriteLine(&amp;quot;rc={0:D} (0 is OK)&amp;quot;, rc);&lt;br /&gt;
&lt;br /&gt;
            Console.ReadKey();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Some more complex imports for inspiration:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c#&amp;quot;&amp;gt;&lt;br /&gt;
 [DllImport(&amp;quot;pxcore.dll&amp;quot;, CallingConvention = CallingConvention.Cdecl)]&lt;br /&gt;
 public static extern int pxcGetDeviceChipID(UInt32 deviceIndex, UInt32 chipIndex, StringBuilder chipIDBuffer, UInt32 size);&lt;br /&gt;
&lt;br /&gt;
 [DllImport(&amp;quot;pxcore.dll&amp;quot;, CallingConvention = CallingConvention.Cdecl)]&lt;br /&gt;
 public static extern int pxcGetDeviceDimensions(UInt32 deviceIndex, ref UInt32 width, ref UInt32 height);&lt;br /&gt;
&lt;br /&gt;
 [DllImport(&amp;quot;pxcore.dll&amp;quot;, CallingConvention = CallingConvention.Cdecl)]&lt;br /&gt;
 public static extern int pxcMeasureSingleFrameTpx3(UInt32 deviceIndex, double frameTime, [Out] double[] frameToaITot, [Out] UInt16[] frameTotEvent, ref UInt32 size, UInt32 trgStg = 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== C# Windows desktop example ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See:&#039;&#039;&#039; [[C-sharp windows example]]&lt;br /&gt;
&lt;br /&gt;
== Xojo Basic Windows desktop example ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See:&#039;&#039;&#039; [[Xojo windows example]]&lt;br /&gt;
&lt;br /&gt;
= API header definition =&lt;br /&gt;
All API functions are defined in the pxcapi.h file. Each definition starting with the &#039;&#039;&#039;PXCAPI&#039;&#039;&#039; keyword:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef WIN32 // Linux&lt;br /&gt;
    #define PXCAPI extern &amp;quot;C&amp;quot; __attribute__ ((visibility(&amp;quot;default&amp;quot;)))&lt;br /&gt;
#else         // Windows&lt;br /&gt;
    #define PXCAPI extern &amp;quot;C&amp;quot; __declspec(dllexport)&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= API auxiliary functions =&lt;br /&gt;
This chapter describes auxiliary functions. There are need for normal using of the device, but it not measuring or processing data.&lt;br /&gt;
&lt;br /&gt;
== Start-up, end, errors ==&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcInitialize &lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function initializes the Pixet software and all connected devices. This function has to be called first before any other function except pxcGetLastError. The init process of each device is:&lt;br /&gt;
# Initialize hardwrare and communication&lt;br /&gt;
# Try to load device XML config file from the &amp;quot;configs&amp;quot; dir&lt;br /&gt;
# If failed, try to load device XML config file from the &amp;quot;factory&amp;quot; dir&amp;lt;br&amp;gt;&lt;br /&gt;
: Warning: If the correct config is not loaded, the device will not work properly and may do strange things.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;See&#039;&#039;&#039;&lt;br /&gt;
: [[Files_and_directories_of_the_Pixet_and_SDK#The_factory_and_the_configs_subdirectories|The factory and the configs subdirectories]]&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = int argc = 0, char const* argv[] = NULL&lt;br /&gt;
| argc – number of program command line arguments (optional parameter)&lt;br /&gt;
| argv – command line program arguments (optional parameter)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Can be imported with parameters int32,uint64 and called with 0,0. Usesfull in languages other than C/C++.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = int rc = pxcInitialize();&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcExit&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function deinitializes Pixet software and all the connected devices. This function has to be called as last function before unloading the pxcore library. The exit process of each device is:&lt;br /&gt;
# Save actual device XML config file to the &amp;quot;configs&amp;quot; dir&lt;br /&gt;
# Deinitialization of the hardware and communication&lt;br /&gt;
&#039;&#039;&#039;See&#039;&#039;&#039;&lt;br /&gt;
: [[Files_and_directories_of_the_Pixet_and_SDK#The_factory_and_the_configs_subdirectories|The factory and the configs subdirectories]]&amp;lt;br&amp;gt;&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = int rc = pxcExit();&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetDirectories&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sets the configuration files directory and directory for log files. Has to be set before calling the pxcInitialize function. Use it to change its default locations defined by pixet.ini.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;See&#039;&#039;&#039;&lt;br /&gt;
: [[Files_and_directories_of_the_Pixet_and_SDK#The_factory_and_the_configs_subdirectories|Files and directories of the Pixet and SDK: The factory and the configs subdirectories]]&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = const char* configsDir, const char* logsDir&lt;br /&gt;
| configsDir – Path to the directory for loading/saving config files&lt;br /&gt;
| logsDir – Path to the directory for saving log files&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcRefreshDevices&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function looks for newly connected devices and removed disconnected devices from the device list.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP =&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = int rc = pxcRefreshDevices();&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcReconnectDevice&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = If the device was disconnected or experienced communication problems, this function will try to reconnect the device and reinitialize it. Like as do the pxcExit and pxcInitialize, but only for one device index. The process is:&lt;br /&gt;
# Saves the device config to the “configs” directory&lt;br /&gt;
# Disconnects the device&lt;br /&gt;
# Connects the device&lt;br /&gt;
# Loads the device config&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex - index of the device, starting from zero&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = int rc = pxcReconnectDevice(0); // reconnect device with index 0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetLastError&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Returns text of last error. This function can be called even before pxcInitialize()&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = char* errorMsgBuffer, unsigned size&lt;br /&gt;
| errorMsgBuffer - buffer where text will be saved&lt;br /&gt;
| size - size of supplied buffer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = char msg[200];&lt;br /&gt;
pxcGetLastError(msg, 200);&amp;lt;br&amp;gt; printf(&amp;quot;Error msg: %s\n&amp;quot;, msg);&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Example1 (console)&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot; line&amp;gt;&lt;br /&gt;
 #define ERRMSG_BUFF_SIZE 512&lt;br /&gt;
 #define ENTER_ON true&lt;br /&gt;
 #define ENTER_OFF false&lt;br /&gt;
 // (the function used in most examples in this manual)&lt;br /&gt;
 void printErrors(const char* fName, int rc, bool enter) {&lt;br /&gt;
    char errorMsg[ERRMSG_BUFF_SIZE];&lt;br /&gt;
    pxcGetLastError(errorMsg, ERRMSG_BUFF_SIZE);&lt;br /&gt;
    if (errorMsg[0]&amp;gt;0) {&lt;br /&gt;
        printf(&amp;quot;%s %d err: %s&amp;quot;, fName, rc, errorMsg);&lt;br /&gt;
    } else {&lt;br /&gt;
        printf(&amp;quot;%s %d err: ---&amp;quot;, fName, rc);&lt;br /&gt;
    }&lt;br /&gt;
    if (enter) printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Now you can use it:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot; line&amp;gt;&lt;br /&gt;
 rc = pxcSetTimepix3Mode(deviceIndex, PXC_TPX3_OPM_EVENT_ITOT);&lt;br /&gt;
 printErrors(&amp;quot;pxcSetTimepix3Mode&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If mode set was suscessfull, result is:&lt;br /&gt;
: &#039;&#039;&#039;pxcSetTimepix3Mode 0 err: ---&#039;&#039;&#039;&lt;br /&gt;
If not, you can see some as:&lt;br /&gt;
: &#039;&#039;&#039;pxcSetTimepix3Mode -2 err: Invalid device index&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example2 (Windows CLR)&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot; line&amp;gt;&lt;br /&gt;
 const unsigned cErrBufSize = 512;&lt;br /&gt;
 // primary use to show function name, return code, last error message&lt;br /&gt;
 bool errorToList(const char* fName, int rc) {&lt;br /&gt;
     char errorMsg[cErrBufSize];&lt;br /&gt;
     char cMsg[cErrBufSize];&lt;br /&gt;
     String^ eMsg;&lt;br /&gt;
     pxcGetLastError(errorMsg, cErrBufSize);&lt;br /&gt;
     if (rc!=0) {&lt;br /&gt;
         sprintf(cMsg, &amp;quot;%s %d err: %s&amp;quot;, fName, rc, errorMsg);&lt;br /&gt;
         eMsg = gcnew String(errorMsg);&lt;br /&gt;
     } else {&lt;br /&gt;
         sprintf(cMsg, &amp;quot;%s %d err: ---&amp;quot;, fName, rc);&lt;br /&gt;
     };&lt;br /&gt;
     String^ sMsg = gcnew String(cMsg);&lt;br /&gt;
     listMessages-&amp;gt;Items-&amp;gt;Add(sMsg);&lt;br /&gt;
     return (rc!=0);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Now you can use it:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot; line&amp;gt;&lt;br /&gt;
 rc = pxcSetTimepix3Mode(deviceIndex, PXC_TPX3_OPM_EVENT_ITOT);&lt;br /&gt;
 if (errorToList(&amp;quot;pxcSetTimepix3Mode&amp;quot;, rc)) return rc;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetIPixet&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Returns a core pointer for processing libraries, Clustering or Spectral imaging for example.&lt;br /&gt;
| DefH = PXCAPI void*&lt;br /&gt;
| DefP = (void)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = core pointer&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Parameter Get/Set functions (direct) ==&lt;br /&gt;
Functions described in this chapter working directly, function name defines parameter name and type.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For named parameters settings see:&#039;&#039;&#039; [[#Parameter_Get/Set_functions_(using_text_paramName)|Parameter Get/Set functions (using text paramName)]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example: Setting operation mode ===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot; line&amp;gt;&lt;br /&gt;
 // Set the operating mode&lt;br /&gt;
 rc = pxcSetTimepix3Mode(deviceIndex, PXC_TPX3_OPM_TOATOT);&lt;br /&gt;
 printErrors(&amp;quot;pxcSetTimepix3Mode&amp;quot;, rc);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example: List of devices with parameters ===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot; line&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;quot;pxcapi.h&amp;quot;&lt;br /&gt;
 #define CHT_Si 0&lt;br /&gt;
 #define CHT_CdTe 1&lt;br /&gt;
 char chipType = CHT_Unknown;&lt;br /&gt;
 int main(int argc, char const* argv[]) { // #######################################&lt;br /&gt;
     int rc = pxcInitialize();&lt;br /&gt;
     if (rc) {&lt;br /&gt;
         printf(&amp;quot;Could not initialize Pixet:\n&amp;quot;);&lt;br /&gt;
         printErrors(&amp;quot;pxcInitialize&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
         return -1;&lt;br /&gt;
     }&lt;br /&gt;
     int connectedDevicesCount = pxcGetDevicesCount();&lt;br /&gt;
     printf(&amp;quot;Connected devices: %d\n&amp;quot;, connectedDevicesCount);&lt;br /&gt;
     if (connectedDevicesCount == 0) return pxcExit();&lt;br /&gt;
     for (unsigned devIdx = 0; (signed)devIdx &amp;lt; connectedDevicesCount; devIdx++) {&lt;br /&gt;
         char deviceName[256];&lt;br /&gt;
         memset(deviceName, 0, 256);&lt;br /&gt;
         pxcGetDeviceName(devIdx, deviceName, 256);&lt;br /&gt;
         char chipID[256];&lt;br /&gt;
         memset(chipID, 0, 256);&lt;br /&gt;
         pxcGetDeviceChipID(devIdx, 0, chipID, 256);&lt;br /&gt;
         printf(&amp;quot;Device %d: Name %s, (first ChipID: %s)\n&amp;quot;, devIdx, deviceName, chipID);&lt;br /&gt;
     }&lt;br /&gt;
     double bias;&lt;br /&gt;
     rc = pxcGetBias(devIdx, &amp;amp;bias);&lt;br /&gt;
     if (bias &amp;lt; 0.0) {&lt;br /&gt;
         if (devIdx == 0) chipType = CHT_CdTe;&lt;br /&gt;
         printf(&amp;quot;Chip material detected: CdTe\n&amp;quot;);&lt;br /&gt;
     } else if (bias == 0.0) {&lt;br /&gt;
         printf(&amp;quot;Chip material not detected!\n&amp;quot;);&lt;br /&gt;
     } else {&lt;br /&gt;
         if (devIdx == 0) chipType = CHT_Si;&lt;br /&gt;
         printf(&amp;quot;Chip material detected: Si\n&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     printf(&amp;quot;=================================================================\n&amp;quot;);&lt;br /&gt;
     &lt;br /&gt;
     // here can be working code (calling some example function from this manual)&lt;br /&gt;
     &lt;br /&gt;
     return pxcExit();&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDevicesCount&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function returns number of connected and initialized devices.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = Number of devices, otherwise the return value is a PXCERR_XXX code&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = printf(&amp;quot;Connected devices count: %d\n&amp;quot;, pxcGetDevicesCount());&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcListNetworkDevices&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Searches for available network devices and store basic information about it to arrary. This is special function, independent of the Pixet Core. Can be used for listing devices without the PXcore initialized to prevent &amp;quot;steal&amp;quot; of other devices on the network. The output is usesfull to browse/testing network devices, it&#039;s IPs and availability on the network subnets. &lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = NetworkDevInfo* devInfos, unsigned* size&lt;br /&gt;
| devInfos - Pointer to array of NetworkDevInfo{char ip[15]; char name[20]; int serial;} structures&lt;br /&gt;
| size - [in] Pointer to size of the devInfo (number of elements) / [out] Value overwritten by the number of devices found&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = Returns 0 if OK or PXCERR_BUFFER_SMALL if the number of devices exceeded the size of the array (the array is still filled and *size is set) &lt;br /&gt;
| Not = 1. Can be used independent of the Pixet core.&amp;lt;br&amp;gt;2. A related feature is planned, allowing you to select devices to be used by PXcore. Currently you can write to the zest.ini instead.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = NetworkDevInfo ndi[256];&lt;br /&gt;
unsigned ndiSize = 256;&lt;br /&gt;
int rc;&lt;br /&gt;
msgToList(&amp;quot;pxcListNetworkDevices...&amp;quot;);&lt;br /&gt;
//pxcListNetworkDevices(NetworkDevInfo* devInfos, unsigned* size);&lt;br /&gt;
rc = pxcListNetworkDevices(ndi, &amp;amp;ndiSize);&lt;br /&gt;
errorToList(&amp;quot;pxcListNetworkDevices&amp;quot;, rc);&lt;br /&gt;
if (rc != 0 &amp;amp;&amp;amp; rc != PXCERR_BUFFER_SMALL) return;&lt;br /&gt;
for (int n=0; n &amp;lt; ndiSize; n++) {&lt;br /&gt;
	msgToList(String::Format(&amp;quot;  IP: {0}\t Name: {1}\t SN: {2}&amp;quot;, gcnew String(ndi[n].ip), gcnew String(ndi[n].name), ndi[n].serial));&lt;br /&gt;
}&lt;br /&gt;
if (ndiSize == 0) msgToList(&amp;quot;  (no devs found)&amp;quot;);&lt;br /&gt;
else if (rc == PXCERR_BUFFER_SMALL) msgToList(&amp;quot;  (and more devs than ndi array size)&amp;quot;);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network device info details:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
struct NetworkDevInfo{&lt;br /&gt;
    char ip[15];&lt;br /&gt;
    char name[20];&lt;br /&gt;
    int serial;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDeviceInfo&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Gets device info structure and returns devType. If *devInfo is NULL, only returns devType.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, CDevInfo *devInfo&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| devInfo – pointer to CDevInfo struct&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = Device type number&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = // simple use:&lt;br /&gt;
if (pxcGetDeviceInfo(devIdx, NULL) != TPX3) errorMsg(&amp;quot;The device is not Timepix3&amp;quot;);&lt;br /&gt;
// Advanced use:&lt;br /&gt;
CDevInfo devInfo[20];&lt;br /&gt;
char *dtStrings[] = {&amp;quot;Tpx&amp;quot;, &amp;quot;Mpx3&amp;quot;, &amp;quot;Tpx3&amp;quot;, &amp;quot;Tpx2&amp;quot;};&lt;br /&gt;
for (int n=0; n&amp;lt;pxcGetDevicesCount(); n++) {&lt;br /&gt;
    pxcGetDeviceInfo(n, devInfo[n]);&lt;br /&gt;
    printf(&amp;quot;DevIdx %d: Name: %s, SN: %d, DevType: %s&amp;quot;, n, devInfo[n].name, devInfo[n].serial, dtStrings[devInfo[n].type+1]);&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Device info details:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
enum DevType{&lt;br /&gt;
    TPX = 1, MPX3, TPX3, TPX2,&lt;br /&gt;
};&lt;br /&gt;
struct CDevInfo{&lt;br /&gt;
    char name[20];&lt;br /&gt;
    int serial;&lt;br /&gt;
    DevType type;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDeviceName&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function returns the full name of the selected device.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, char* nameBuffer, unsigned size&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| nameBuffer – buffer where the name of the device will be saved. Cannot be NULL&lt;br /&gt;
| size – size of the supplied name buffer &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = char name[100];&lt;br /&gt;
pxcGetDeviceName(deviceIndex, name, 100);&lt;br /&gt;
printf(&amp;quot;Dev %d name: %s\n&amp;quot;, deviceIndex, name);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDeviceChipCount&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function returns number of chips in the device.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = Number of chips if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = printf(&amp;quot;Dev %d has chip count: %d\n&amp;quot;, deviceIndex, pxcGetDeviceChipCount(deviceIndex));&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDeviceChipID&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function returns the ID of chip of the detector connected to the readout device.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned chipIndex, char* chipIDBuffer, unsigned size&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| chipIndex – index of the chip in the device, starting from zero&lt;br /&gt;
| chipIDBuffer – buffer where the chipID of the detector will be saved. Cannot be NULL&lt;br /&gt;
| size - size of the supplied chipID buffer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = char id[50];&lt;br /&gt;
int rc = pxcGetDeviceChipID(deviceIndex, 0, id, 50);&lt;br /&gt;
if (rc==0) printf(&amp;quot;Chip 0 of dev %d have ID: %s\n&amp;quot;, deviceIndex, id);&lt;br /&gt;
else printf(&amp;quot;pxcGetDeviceChipID failed, code: %d\n&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDeviceSerial&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function returns the devise serial number.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex - index of the device, starting from zero&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = Serial number (&amp;gt;0) if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = printf(&amp;quot;Dev %d has serial number: %d\n&amp;quot;, deviceIndex, pxcGetDeviceSerial(deviceIndex));&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDeviceDimmensions&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function gets pixel width and height of the device.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned *w, unsigned *h&lt;br /&gt;
| deviceIndex - index of the device, starting from zero&lt;br /&gt;
| w – pointer to unsigned variable where the width of the device will be returned&lt;br /&gt;
| h – pointer to unsigned variable where the height of the device will be returned&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = unsigned w, h;&lt;br /&gt;
int rc = pxcGetDeviceDimmensions(deviceIndex, &amp;amp;w, &amp;amp;h);&lt;br /&gt;
if (rc==0) printf(&amp;quot;Width: %d, Height %d [px]\n&amp;quot;, w, h);&lt;br /&gt;
else printf(&amp;quot;pxcGetDeviceDimmensions failed, code %d\n&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetBias&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function gets the bias voltage (high voltage) of the sensor chip.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double* bias&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| bias – pointer to double variable where current bias will be returned&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = double bias;&lt;br /&gt;
int rc = pxcGetBias(deviceIndex, &amp;amp;bias);&lt;br /&gt;
if (rc==0) printf(&amp;quot;Bias: %f V\n&amp;quot;, bias);&lt;br /&gt;
else printf(&amp;quot;pxcGetBias failed, code %d\n&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetBiasRange&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function gets the range of the allowed minimal and maximal bias values.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double* minBias, double* maxBias&lt;br /&gt;
| deviceIndex - index of the device, starting from zero&lt;br /&gt;
| minBias – pointer to double variable where minimum allowed bias will be returned&lt;br /&gt;
| maxBias – pointer to double variable where maximum allowed bias will be returned&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = double min, max;&lt;br /&gt;
int rc = pxcGetBiasRange(deviceIndex, &amp;amp;min, &amp;amp;max);&lt;br /&gt;
if (rc==0) printf(&amp;quot;Bias min: %f, max: %f V\n&amp;quot;, min, max);&lt;br /&gt;
else printf(&amp;quot;pxcGetBiasRange failed, code %d\n&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetBias&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function sets the high voltage (bias) of the detector.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double bias&lt;br /&gt;
| deviceIndex - index of the device, starting from zero&lt;br /&gt;
| bias – high voltage in volts (limits and polarity depending on the device configuration, see: pxcGetBiasRange)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = int rc = pxcSetBias(0, -350); // set bias -350 V to device with idx 0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetThreshold&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function gets the threshold of the detector. Output value is normally in keV, but if the device not properly configurated, output is didital DAC value.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned thresholdIndex, double* threshold&lt;br /&gt;
| deviceIndex - index of the device, starting from zero&lt;br /&gt;
| thresholdIndex – for all except Medipix3 always 0, for Medipix3 index of corresponding threshold starting from zero&lt;br /&gt;
| threshold – pointer to double variable where threshold will be saved. The value is several keVs with decimals or from 0 to a some power of two (depending of device DAC bits depth).&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = double thl;&lt;br /&gt;
int rc = pxcGetThreshold(deviceIndex, &amp;amp;thl);&lt;br /&gt;
if (rc==0) printf(&amp;quot;Threshold: %f\n&amp;quot;, thl);&lt;br /&gt;
else printf(&amp;quot;pxcGetThreshold failed, code %d\n&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetThresholdRange&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function gets the allowed range of values for threshold. Output values are normally in keV, but if the device not properly configurated, output is didital DAC value.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, int thresholdIndex, double* minThreshold, double* maxThreshold&lt;br /&gt;
| deviceIndex - index of the device, starting from zero&lt;br /&gt;
| thresholdIndex – for Timepix and Timepix3 always 0, for Medipix3 index of corresponding threshold starting from zero&lt;br /&gt;
| minThreshold – pointer to double variable where the minimal allowed threshold will be returned&lt;br /&gt;
| maxThreshold – pointer to double variable where the maximal allowed threshold will be returned&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =  double min, max;&lt;br /&gt;
int rc = pxcGetThresholdRange(deviceIndex, &amp;amp;min, &amp;amp;max);&lt;br /&gt;
if (rc==0) printf(&amp;quot;Threshold range - min: %f, max: %f\n&amp;quot;, min, max);&lt;br /&gt;
else printf(&amp;quot;pxcGetThresholdRange failed, code %d\n&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetThreshold&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function sets the threshold of the detector in KeV.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned thresholdIndex, double threshold&lt;br /&gt;
| deviceIndex - index of the device, starting from zero&lt;br /&gt;
| thresholdIndex - for Timepix and Timepix3 always 0, for Medipix3 index of corresponding threshold starting from zero&lt;br /&gt;
| threshold – detector threshold in keV.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War = Too low thl value cause many noising pixels with all related problems.&lt;br /&gt;
| Exa = int rc = pxcSetThreshold(1, 0, 4.5); // set threshold with idx 0 on device with idx 1 to the 4.5 keV.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDAC&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function gets a single DAC value of the detector.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned chipIndex, unsigned dacIndex, unsigned short* value&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| chipIndex – index of the chip, starting from zero&lt;br /&gt;
| dacIndex – index of the DAC, starting from zero&lt;br /&gt;
| value – pointer to output value be stored&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =  unsigned short val;&lt;br /&gt;
int rc = pxcGetDAC(deviceIndex, chipIndex, dacIndex, &amp;amp;val);&lt;br /&gt;
if (rc==0) printf(&amp;quot;Input value of DAC with idx %d, on chip with idx %d, of device with idx %d is: %d\n&amp;quot;, deviceIndex, chipIndex, dacIndex, val);&lt;br /&gt;
else printf(&amp;quot;pxcGetDAC failed, code %d\n&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetDAC&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function sets a single DAC value of the detector.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned chipIndex, unsigned dacIndex, unsigned short value&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| chipIndex – index of the chip, starting from zero&lt;br /&gt;
| dacIndex – index of the DAC, starting from zero&lt;br /&gt;
| value – new DAC value&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = int rc = pxcSetDAC(0, 1, 2, 123); // set DAC with idx 3 on chip with idx 2 on device with idx 1 to the 123.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetTimepixClock&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function gets the current value of measurement clock for Timepix detector (in MHz).&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double* clock&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| clock – pointer to double variable where the clock will be saved&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix devices, not usable on Timepix3 and other TimepixN. Timepix3 has a fixed clock of 40 MHz. Timepix2 has other clocks managenment.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = double val;&lt;br /&gt;
int rc = pxcGetTimepixClock(deviceIndex, &amp;amp;val);&lt;br /&gt;
if (rc==0) printf(&amp;quot;Timepix clock: %f MHz\n&amp;quot;, val);&lt;br /&gt;
else printf(&amp;quot;pxcGetTimepixClock failed, code %d\n&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetTimepixClock&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function sets the value of measurement clock for Timepix detector (in MHz). Not all values are possible, the result will be the closest possible frequency.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double clock&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| clock – desired value of the measurement clock for Timepix detector&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| War =&lt;br /&gt;
| Not = Only for the Timepix devices, not usable on Timepix3 and other TimepixN. Timepix3 has a fixed clock of 40 MHz. Timepix2 has other clocks managenment.&lt;br /&gt;
| Exa = int rc = pxcSetTimepixClock(deviceIndex, 25.0);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetTimepixMode&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function gets the current value of the Timepix mode (Counting, Energy,…)&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = Timepix mode if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
: Timepix mode can be:&lt;br /&gt;
: PXC_TPX_MODE_MEDIPIX – counting mode&lt;br /&gt;
: PXC_TPX_MODE_TOT – energy mode&lt;br /&gt;
: PXC_TPX_MODE_TIMEPIX – timepix mode if successful.&amp;lt;br&amp;gt;&lt;br /&gt;
: Otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix devices, not usable on Timepix3 and other TimepixN.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = int rc = pxcGetTimepixMode(deviceIndex);&lt;br /&gt;
if (rc&amp;gt;=0) printf(&amp;quot;Mode of dev. idx %d is: %d\n&amp;quot;, deviceIndex, rc);&lt;br /&gt;
else printf(&amp;quot;pxcGetTimepixMode failed, code %d\n&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetTimepixMode&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function sets the value of Timepix mode.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, int mode&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| mode – new value of the Timepix mode. One of the values:&amp;lt;br&amp;gt;&lt;br /&gt;
: PXC_TPX_MODE_MEDIPIX – counting mode&amp;lt;br&amp;gt;&lt;br /&gt;
: PXC_TPX_MODE_TOT – energy mode&amp;lt;br&amp;gt;&lt;br /&gt;
: PXC_TPX_MODE_TIMEPIX – timepix mode&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| War =&lt;br /&gt;
| Not = Only for the Timepix devices, not usable on Timepix3 and other TimepixN.&lt;br /&gt;
| Exa = int rc = pxcSetTimepixMode(0, PXC_TPX_MODE_MEDIPIX); // set dev 0 to mode counting alias MEDIPIX&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetTimepixCalibrationEnabled&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function enables or disables the calibration of Timepix ToT counts to energy in keV&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, bool enabled&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| enabled – if the calibration is enabled or disable&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix devices, not usable on Timepix3 and other TimepixN.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = int rc = pxcSetTimepixCalibrationEnabled(0, true); // enable ToT calibration to keVs on device with idx 0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcIsTimepixCalibrationEnabled&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function returns if the calibration of Timepix ToT counts to energy in keV is enabled.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if disabled, greater than 0 enabled, negative value a PXCERR_XXX code&lt;br /&gt;
| Not = Only for the Timepix devices, not usable on Timepix3 and other TimepixN.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = int rc = pxcIsTimepixCalibrationEnabled(0);&lt;br /&gt;
if (rc&amp;gt;=0) printf(&amp;quot;Calibration of dev0 is %s\n&amp;quot;, (rc==0) ? &amp;quot;disabled&amp;quot; : &amp;quot;enabled&amp;quot;);&lt;br /&gt;
else printf(&amp;quot;pxcIsTimepixCalibrationEnabled failed, code %d\n&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetTimepix2Clock&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function gets the current clocks settings in the Timepix2 detector.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double* totClock, double* toaClock, unsigned* divider&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| totClock – pointer to double variable where the ToT clock (in MHz) will be saved&lt;br /&gt;
| toaClock – pointer to double variable where the ToA clock (in MHz) will be saved&lt;br /&gt;
| divider – pointer to unsigned int variable where the divider value will be saved&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix2 devices, not usable on Timepix3 and other Timepix. Timepix3 have a fixed &lt;br /&gt;
clock of 40 MHz.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetTimepix2Clock&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function sets Timepix2 detector clocks settings.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double clock, unsigned divider&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| clock – desired new value of the ToT clock (in MHz) for the Timepix2 detector. The real frequency will be nearest possible division by 2’s power from the 50 MHz. Min is 1.5625 MHz.&lt;br /&gt;
| divider – value of the ToA divider index.&lt;br /&gt;
:Values means 0: disable, 1: no division, 2-30: div. by 2&amp;lt;sup&amp;gt;n-1&amp;lt;/sup&amp;gt;.&lt;br /&gt;
:The ToA clock will be divided from the ToT clock.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix2 devices, not usable on Timepix3 and other Timepix. Timepix3 have a fixed clock of 40 MHz.&lt;br /&gt;
| War = The factory energy calibration is only for the 50 MHz ToA clock.&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetTimepix2Mode&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function sets the value of Timepix2 mode&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, int mode&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| mode – new value of the Timepix2 mode. One of the values:&lt;br /&gt;
:PXC_TPX2_OPM_TOT10_TOA18&lt;br /&gt;
:PXC_TPX2_OPM_TOT14_TOA14&lt;br /&gt;
:PXC_TPX2_OPM_CONT_TOT10_CNT4&lt;br /&gt;
:PXC_TPX2_OPM_CONT_TOT14&lt;br /&gt;
:PXC_TPX2_OPM_CONT_TOA10&lt;br /&gt;
:PXC_TPX2_OPM_CONT_TOA14&lt;br /&gt;
:PXC_TPX2_OPM_CONT_CNT10&lt;br /&gt;
:PXC_TPX2_OPM_CONT_CNT14&lt;br /&gt;
:PXC_TPX2_OPM_ITOT10_TOA18&lt;br /&gt;
:PXC_TPX2_OPM_ITOT14_TOA14&lt;br /&gt;
:PXC_TPX2_OPM_CONT_ITOT10_CNT4&lt;br /&gt;
:PXC_TPX2_OPM_CONT_ITOT14&lt;br /&gt;
:;Modes desctiption&lt;br /&gt;
::TOT – time of threshold in ToT ticks, or energy if calibrated&lt;br /&gt;
::TOA – time of arrival in ToA ticks&lt;br /&gt;
::CNT – count of hits&lt;br /&gt;
::ITOT – integrated time of threshold in the pixel, or estimate energy if calibrated&lt;br /&gt;
::CONT – continual mode: One counter set counting while reading data from other counter set&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix2 devices, not usable on Timepix3 and other Timepix.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetTimepix2AdaptiveGainMode&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function sets the value of Timepix2 mode.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, bool adaptiveGainOn&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| adaptiveGainOn – enable the adaptive gain feature&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix2 devices, not usable on Timepix3 and other Timepix.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetTimepix2AnalogueMaskingMode&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function sets the value of Timepix2 mode&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, bool analogMaskOn&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| analogMaskOn – enable the analogue masking feature&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix2 devices, not usable on Timepix3 and other Timepix.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetTimepix2CalibrationEnabled&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function enables or disables the calibration of Timepix ToT counts to energy in keV&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, bool enabled&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| enabled – if the calibration is enabled or disable&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Different acquisition or frame reading functions needed if calibration is on or off.&lt;br /&gt;
:Only for the Timepix2 devices, not usable on Timepix3 and other Timepix.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcIsTimepix2CalibrationEnabled&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function returns if the calibration of Timepix ToT counts to energy in keV is enabled&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Different acquisition or frame reading functions needed if calibration is on or off.&lt;br /&gt;
:Only for the Timepix2 devices, not usable on Timepix3 and other Timepix.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetTimepix3Mode&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sets the operation mode of Timepix3 detector&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, int mode&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| mode – mode of the detector PXC_TPX3_OPM_XXX values&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix3 devices, not usable on other Timepixes or Medipixes.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetTimepix3CalibrationEnabled&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Enables/disables the calibration of Timepix3 ToT counts to energy in keV. If enabled, output of a frame maesurements on the device will be calibrated.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, bool enabled&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| enabled – if calibraiton is enabled&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Calibration working properly only if the device has loaded proper config.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcIsTimepix3CalibrationEnabled&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Gets if the calibration of Timepix3 ToT counts to energy in keV is enabled. See [[#pxcSetTimepix3CalibrationEnabled|pxcSetTimepix3CalibrationEnabled]] for details.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = enabled &amp;gt; 0, disabled = 0, error &amp;lt; 0 – the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetMedipix3OperationMode&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sets the operation mode of Medipix3 detector&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, int opMode&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| opMode – mode of the detector PXC_MPX3_OPM_XXX values&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Medipix3 devices, not usable on Timepixes or other Medipixes.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetMedipix3GainMode&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sets the gain mode of Medipix3 detector&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, int gain&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| gain – mode of the detector PXC_MPX3_GAIN_MOD_XXX values&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Medipix3 devices, not usable on Timepixes or other Medipixes.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetMedipix3AcqParams&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sets acquisition parameters for Medipix3&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, bool colorMode, bool csm, int gain, bool equalize&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| colorMode – if color mode is enabled&lt;br /&gt;
| csm – if charge sharing mode is enabled&lt;br /&gt;
| gain – gain settings (PXC_MPX3_GAIN_XXX values)&lt;br /&gt;
| equalize – if equalization bit in Medipix3 is enabled&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Medipix3 devices, not usable on Timepixes or other Medipixes.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetMedipix3MatrixParams&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sets parameters of the Meidpix3 pixel matrix&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, int depth, int counter, int colBlock, int rowBlock&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| depth – depth of the counters PXC_MPX3_CNTD_XXX values&lt;br /&gt;
| counter – selected counter (PXC_MPX3_CNT_XXX values)&lt;br /&gt;
| colBlock – region of interest readout (PXC_MPX3_COLB_XXX values)&lt;br /&gt;
| rowBlock – region of interest readout (PXC_MPX3_ROWB_XXX values)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Medipix3 devices, not usable on Timepix or other Medipixes.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetPixelMatrix&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sets the pixel matrix configuration. This is low level function for advanced users.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned char* maskMatrix, unsigned size&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| maskMatrix – pixel mask matrix. 0 masked, 1 unmasked&lt;br /&gt;
| size – size of the mask matrix&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetPixelMatrix&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Gets the pixel matrix configuration. This is low level function for advanced users.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned char* maskMatrix, unsigned byteSize&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| maskMatrix – buffer where the mask matrix will be stored. 0 masked, 1 unmasked&lt;br /&gt;
| size – size of the mask matrix&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Metadata ==&lt;br /&gt;
Various devices, readout chips, detector chips and measurement methods have various metadata. To obtain informations about all relevant metadata for your purphose, set-up and run the testmeasurement with file-saving (using test code or Pixet program). Now you can read the accompanying DSC/INFO files, that contains all metadata for this combination of device/detector/measurement.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Frames and description files screenshot.png|frame|right|alt=Frames and description files screenshot|Frames and description files screenshot]]&lt;br /&gt;
;Example DSC records&lt;br /&gt;
:&amp;quot;Chips layout&amp;quot; (&amp;quot;Order of chips in matrix&amp;quot;):&lt;br /&gt;
:i32[5]&lt;br /&gt;
:4 3 0 1 2&lt;br /&gt;
:&lt;br /&gt;
:&amp;quot;Start time&amp;quot; (&amp;quot;Acquisition start time&amp;quot;):&lt;br /&gt;
:double[1]&lt;br /&gt;
:1659611081.595321&lt;br /&gt;
:&lt;br /&gt;
:&amp;quot;Start time (string)&amp;quot; (&amp;quot;Acquisition start time (string)&amp;quot;):&lt;br /&gt;
:char[64]&lt;br /&gt;
:Thu Aug 4 13:04:41.595321 2022&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetMetaDataValue&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function gets measured data meta data value. Output value is converted to char*.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned dataIndex, const char* metaDataName, char* valueBuffer, unsigned* size&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| dataIndex - index of the measured data (frame), starting from zero&lt;br /&gt;
| metaDataName – name of the metadata to get, &amp;quot;Start time&amp;quot; for example&lt;br /&gt;
| valueBuffer – buffer where the value of the meta data as string will be stored&lt;br /&gt;
| size – pointer to size of the supplied buffer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = char mdb[200]; // metadata buffer&lt;br /&gt;
unsigned mdbs = 200; // metadata buffer size&lt;br /&gt;
char mdn[] = &amp;quot;Start time&amp;quot;; // metadata name&lt;br /&gt;
&lt;br /&gt;
int rc = pxcGetMetaDataValue(deviceIndex, frameLastIndex, mdn, mdb, &amp;amp;mdbs);&lt;br /&gt;
if (rc != 0) errorToList(&amp;quot;pxcGetMetaDataValue&amp;quot;, rc);&lt;br /&gt;
else msgToList(&amp;quot;Acquisition start time: &amp;quot; + gcnew String(mdb));&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Parameter Get/Set functions (using text paramName) ==&lt;br /&gt;
In this chapter are a functions that working with named parameters. Alias &#039;&#039;&#039;readout parameters&#039;&#039;&#039;: Because originally it was only about the parameters of the readout chips. Later, the setting of other device and software parameters was also added.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;For dirrect setting functions see:&#039;&#039;&#039; [[#Parameter_Get/Set_functions_(direct)|Parameter Get/Set functions (direct)]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
// Data Driven Block Size [B], default 66000&lt;br /&gt;
rc = pxcSetDeviceParameter(deviceIndex, &amp;quot;DDBlockSize&amp;quot;, 6000);&lt;br /&gt;
printf(&amp;quot;pxcSetDeviceParameter %d&amp;quot;, rc);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Warning: Most parameters are for testing purposes only and you will not need them in normal use.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDeviceParameter&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Returns the value of integer device parameter (e.g. settings of trigger)&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, const char* parameterName&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| parameterName – name of the device parameter&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetDeviceParameter&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sets a value of the integer device parameter (e.g. settings of trigger)&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, const char* parameterName, int parameterValue&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| parameterName – name of the device parameter&lt;br /&gt;
| parameterValue – new value of the parameter&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDeviceParameterDouble&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Returns the value of device double parameter&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, const char* parameterName, double* parameterValue&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| parameterName – name of the device parameter&lt;br /&gt;
| parameterValue – pointer to double variable where the parameter value will be saved&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetDeviceParameterDouble&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sets a value of the device double parameter&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, const char* parameterName, double parameterValue&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| parameterName – name of the device parameter&lt;br /&gt;
| parameterValue – new value of the parameter&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDeviceParameterString&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Returns the value of device string parameter&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, const char* parameterName, const char* parameterValue, unsigned size&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| parameterName – name of the device parameter&lt;br /&gt;
| parameterValue – pointer to string buffer where the parameter value will be saved&lt;br /&gt;
| size – size of the passed buffer&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetDeviceParameterString&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sets a value of the device string parameter&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, const char* parameterName, const char* parameterValue&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| parameterName – name of the device parameter&lt;br /&gt;
| parameterValue – new value of the parameter&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Tpx3 parameter names list ===&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Warning: Most parameters are for testing purposes only and you will not need them in normal use.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#define PAR_LIBVER        &amp;quot;HwLibVer&amp;quot;&lt;br /&gt;
#define PAR_DEBUGLOG      &amp;quot;DebugLog&amp;quot;&lt;br /&gt;
#define PAR_DUMMYACQ      &amp;quot;DummyAcqNegativePolarity&amp;quot;&lt;br /&gt;
#define PAR_TEMP          &amp;quot;Temperature&amp;quot;&lt;br /&gt;
#define PAR_TEMP_CHIP     &amp;quot;TemperatureChip&amp;quot;&lt;br /&gt;
#define PAR_TEMP_CPU      &amp;quot;TemperatureCpu&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_TEMP_CHIP_CPU &amp;quot;TemperatureChipCpu&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_TEMP_READ_ACQSERIE &amp;quot;TemperatureReadBeforeAcqSerie&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_TEMP_READ_EVERYACQ &amp;quot;TemperatureReadBeforeEachAcq&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_TEMP_CHECK_IN_SW &amp;quot;CheckMaxTempInSW&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_TEMP_CHECK_IN_CPU &amp;quot;CheckMaxChipTempInCPU&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_TEMP_MAX_ALLOWED_TEMP &amp;quot;MaxAllowedChipTemp&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_DAC_BANGAP      &amp;quot;DacBandGap&amp;quot;&lt;br /&gt;
#define PAR_DAC_TEMP        &amp;quot;DacTemp&amp;quot;&lt;br /&gt;
#define PAR_BIAS_SENSE_VOLT &amp;quot;BiasSenseVoltage&amp;quot;&lt;br /&gt;
#define PAR_BIAS_SENSE_CURR &amp;quot;BiasSenseCurrent&amp;quot;&lt;br /&gt;
#define PAR_DD_BUFF_SIZE    &amp;quot;DDBuffSize&amp;quot;&lt;br /&gt;
#define PAR_DD_BLOCK_SIZE   &amp;quot;DDBlockSize&amp;quot;&lt;br /&gt;
#define META_SHUTTER_TIME   &amp;quot;Shutter open time&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_CHAN_MASK       &amp;quot;ChanMask&amp;quot; // no net/tpx3&lt;br /&gt;
#define PAR_READOUT_CLOCK   &amp;quot;ReadoutClock&amp;quot; // no net/tpx3&lt;br /&gt;
#define PAR_TRG_STG         &amp;quot;TrgStg&amp;quot;&lt;br /&gt;
#define PAR_TRG_TIMESTAMP   &amp;quot;TrgTimestamp&amp;quot;&lt;br /&gt;
#define PAR_TRG_T0SYNC_RESET &amp;quot;TrgT0SyncReset&amp;quot;&lt;br /&gt;
#define PAR_TRG_READY        &amp;quot;TrgReady&amp;quot; // no net/tpx3&lt;br /&gt;
#define PAR_TRG_OUTLEVEL     &amp;quot;TrgOutLevel&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_TRG_OUT_ENABLE   &amp;quot;TrgOutEnable&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_TRG_IS_MASTER    &amp;quot;IsMaster&amp;quot;&lt;br /&gt;
#define PAR_MOTOHOURS        &amp;quot;Motohours&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_MTX              &amp;quot;MTX&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_SEND_TOA_PIXELS  &amp;quot;SendDummyToaPixels&amp;quot; // mimipix/tpx3 only&lt;br /&gt;
#define PAR_DUMMYSPEED       &amp;quot;DDDummyDataSpeed&amp;quot; // no mimipix/tpx3&lt;br /&gt;
#define PAR_BLOCKCOUNT       &amp;quot;BlockCount&amp;quot; // no mimipix/tpx3&lt;br /&gt;
#define PAR_PROCESSDATA      &amp;quot;ProcessData&amp;quot; // no mimipix/tpx3&lt;br /&gt;
#define PAR_TRG_MULTI        &amp;quot;TrgMulti&amp;quot; // no mimipix/tpx3&lt;br /&gt;
#define PAR_ADVAPIX_ADC      &amp;quot;AdvaPixADC&amp;quot; // no mimipix/tpx3&lt;br /&gt;
#define PAR_TRG_READY        &amp;quot;TrgReady&amp;quot; // zem only&lt;br /&gt;
#define PAR_TRG_CMOS         &amp;quot;TrgCmos&amp;quot; // zem only&lt;br /&gt;
#define PAR_READOUT_CLOCK    &amp;quot;ReadoutClock&amp;quot; // zem only&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tpx2 parameter names list ===&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Warning: Most parameters are for testing purposes only and you will not need them in normal use.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
const static char* PAR_LIBVER = &amp;quot;HwLibVer&amp;quot;;&lt;br /&gt;
const static char* PAR_DEBUGLOG = &amp;quot;DebugLog&amp;quot;;&lt;br /&gt;
const static char* PAR_BIAS_SENSE_VOLT = &amp;quot;BiasSenseVoltage&amp;quot;;&lt;br /&gt;
const static char* PAR_BIAS_SENSE_CURR = &amp;quot;BiasSenseCurrent&amp;quot;;&lt;br /&gt;
const static char* PAR_READOUT_CLOCK = &amp;quot;ReadoutClock&amp;quot;;&lt;br /&gt;
const static char* PAR_TRG_STG = &amp;quot;TrgStg&amp;quot;;&lt;br /&gt;
const static char* PAR_TRG_IS_MASTER = &amp;quot;IsMaster&amp;quot;;&lt;br /&gt;
const static char* PAR_MOTOHOURS = &amp;quot;Motohours&amp;quot;;&lt;br /&gt;
const static char* PAR_TEMP_CPU = &amp;quot;TemperatureCpu&amp;quot;;&lt;br /&gt;
const static char* PAR_TEMP_MAX_ALLOWED_TEMP = &amp;quot;MaxAllowedChipTemp&amp;quot;;&lt;br /&gt;
const static char* PAR_POWER_VOLT = &amp;quot;PowerSupplyVoltage&amp;quot;;&lt;br /&gt;
const static char* PAR_CPU_SUPPLY_VOLT = &amp;quot;CPUSupplyVoltage&amp;quot;;&lt;br /&gt;
const static char* PAR_CHIP_LDO_VOLT = &amp;quot;ChipLDOVoltage&amp;quot;;&lt;br /&gt;
const static char* PAR_INPUT_CURRENT = &amp;quot;DeviceInputCurrent&amp;quot;;&lt;br /&gt;
const static char* PAR_CHIP_CURRENT = &amp;quot;ChipCurrent&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mpx2 (Timepix) parameter names list ===&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Warning: Most parameters are for testing purposes only and you will not need them in normal use.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#define PAR_LIBVER        &amp;quot;HwLibVer&amp;quot; // all, include minipixes&lt;br /&gt;
#define PAR_DEBUGLOG      &amp;quot;DebugLog&amp;quot; // all, include minipixes&lt;br /&gt;
#define CFG_BINPIXCFG     &amp;quot;BinaryPixelCfg&amp;quot; // fei-minipix only&lt;br /&gt;
#define PAR_FIRMWARE      &amp;quot;Firmware&amp;quot; //widepix only&lt;br /&gt;
#define PAR_PS_COUNT      &amp;quot;PreShutterClockCount&amp;quot;&lt;br /&gt;
#define PAR_PS_DIVIDER    &amp;quot;PreShutterClockDivider&amp;quot;&lt;br /&gt;
#define PAR_PS_DELAY      &amp;quot;PreShutterDelayClockCount&amp;quot;&lt;br /&gt;
#define PAR_TEMP          &amp;quot;Temperature&amp;quot; // no zem&lt;br /&gt;
#define PAR_BIASINCPU     &amp;quot;BiasInCpu&amp;quot; // widepix only&lt;br /&gt;
#define PAR_TRG_STG       &amp;quot;TriggerStg&amp;quot;&lt;br /&gt;
#define PAR_TRG_WAITREADY &amp;quot;TriggerWaitForReady&amp;quot;&lt;br /&gt;
#define PAR_TRG_MASTER    &amp;quot;TriggerMaster&amp;quot;&lt;br /&gt;
#define PAR_TRG_OUTLEVEL  &amp;quot;TriggerOutLevel&amp;quot;&lt;br /&gt;
#define PAR_TRG_ALTERNATIVE &amp;quot;TriggerAlternative&amp;quot; // fitpix only&lt;br /&gt;
#define PAR_TRG_TWODEVS   &amp;quot;TriggerTwoDevs&amp;quot; // fitpix only&lt;br /&gt;
#define PAR_BURST_DISABLE &amp;quot;BurstDisable&amp;quot; // fitpix only&lt;br /&gt;
#define PAR_CPU_BIAS_SET  &amp;quot;*BiasSet&amp;quot; // widepix only&lt;br /&gt;
#define PAR_CPU_BIAS_VOLTSENSE &amp;quot;BiasVolt&amp;quot; // widepix only&lt;br /&gt;
#define PAR_CPU_BIAS_CURRSENSE &amp;quot;BiasCurr&amp;quot; // widepix only&lt;br /&gt;
#define PAR_CPU_TEMP_DET  &amp;quot;TempDet&amp;quot; // widepix only&lt;br /&gt;
#define PAR_FASTACQ       &amp;quot;FastAcq&amp;quot; // zem only&lt;br /&gt;
#define PAR_BURST_FRAME_COUNT &amp;quot;BurstFrameCount&amp;quot; // zem only&lt;br /&gt;
#define PAR_PIXEL_BUFFSIZE &amp;quot;PixelBuffSize&amp;quot; // zem only&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mpx3 parameter names list ===&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Warning: Most parameters are for testing purposes only and you will not need them in normal use.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#define PAR_LIBVER            &amp;quot;HwLibVer&amp;quot;&lt;br /&gt;
#define PAR_DEBUGLOG          &amp;quot;DebugLog&amp;quot;&lt;br /&gt;
#define PAR_TEMP              &amp;quot;Temperature&amp;quot;&lt;br /&gt;
#define PAR_TRG_STG           &amp;quot;TriggerStg&amp;quot;&lt;br /&gt;
#define PAR_TRG_WAITREADY     &amp;quot;TriggerWaitForReady&amp;quot;&lt;br /&gt;
#define PAR_TRG_MASTER        &amp;quot;TriggerMaster&amp;quot;&lt;br /&gt;
#define PAR_TRG_OUTLEVEL      &amp;quot;TriggerOutLevel&amp;quot;&lt;br /&gt;
#define PAR_TRG_SERIES        &amp;quot;TriggerTdiSeries&amp;quot;&lt;br /&gt;
#define PAR_TDI_ROWCOUNT      &amp;quot;TdiRowCount&amp;quot;&lt;br /&gt;
#define PAR_BIASINCPU         &amp;quot;BiasInCpu&amp;quot;&lt;br /&gt;
#define PAR_BIAS_DISCHARGE    &amp;quot;BiasDischarge&amp;quot;&lt;br /&gt;
#define PAR_CPU_BIAS_SET      &amp;quot;*BiasSet&amp;quot;&lt;br /&gt;
#define PAR_CPU_BIAS_VOLTSENSE &amp;quot;BiasVolt&amp;quot;&lt;br /&gt;
#define PAR_CPU_BIAS_CURRSENSE &amp;quot;BiasCurr&amp;quot;&lt;br /&gt;
#define PAR_CPU_TEMP_DET       &amp;quot;TempDet&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zest-wpxdev parameter names list ===&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Warning: Most parameters are for testing purposes only and you will not need them in normal use.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
const static char* PAR_LIBVER = &amp;quot;HwLibVer&amp;quot;;&lt;br /&gt;
const static char* PAR_FIRMWARE = &amp;quot;Firmware&amp;quot;;&lt;br /&gt;
const static char* PAR_FIRMWARE_CPU = &amp;quot;FirmwareCpu&amp;quot;;&lt;br /&gt;
const static char* PAR_DEBUGLOG = &amp;quot;DebugLog&amp;quot;;&lt;br /&gt;
const static char* PAR_TEMP = &amp;quot;Temperature&amp;quot;;&lt;br /&gt;
const static char* PAR_TRG_STG = &amp;quot;TriggerStg&amp;quot;;&lt;br /&gt;
const static char* PAR_TRG_WAITREADY= &amp;quot;TriggerWaitForReady&amp;quot;;&lt;br /&gt;
const static char* PAR_TRG_MASTER = &amp;quot;TriggerMaster&amp;quot;;&lt;br /&gt;
const static char* PAR_TRG_OUTLEVEL = &amp;quot;TriggerOutLevel&amp;quot;;&lt;br /&gt;
const static char* PAR_BIAS_DISCHARGE = &amp;quot;BiasDischarge&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zem-wpx7dev parameter names list ===&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Warning: Most parameters are for testing purposes only and you will not need them in normal use.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#define PAR_LIBVER            &amp;quot;HwLibVer&amp;quot;&lt;br /&gt;
#define PAR_DEBUGLOG          &amp;quot;DebugLog&amp;quot;&lt;br /&gt;
#define PAR_PS_COUNT          &amp;quot;PreShutterClockCount&amp;quot;&lt;br /&gt;
#define PAR_PS_DIVIDER        &amp;quot;PreShutterClockDivider&amp;quot;&lt;br /&gt;
#define PAR_PS_DELAY          &amp;quot;PreShutterDelayClockCount&amp;quot;&lt;br /&gt;
#define PAR_ENC_PULSE_CNT     &amp;quot;EncoderPulseCount&amp;quot;&lt;br /&gt;
#define PAR_ENC_PULSE_DIR     &amp;quot;EncoderDirection&amp;quot;&lt;br /&gt;
#define PAR_ENC_PULSE_COUNTER &amp;quot;EncoderPulseCounter&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other auxilliary functions ==&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcLoadDeviceConfiguration&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function loads device configuration from xml file&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, const char* filePath&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| filePath – path to xml configuration file&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSaveDeviceConfiguration&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = This function saves device configuration to xml file&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, const char* filePath&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| filePath – path to xml configuration file&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetupTestPulseMeasurement&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Enables / Disables and setups parameters of the test pulse measurements&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, bool tpEnabled, double height, double period, unsigned count, unsigned spacing&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| tpEnabled – enables/disables test pulse measurement (in functions Measure..Frame(s))&lt;br /&gt;
| height – test pulse height (0 – 1.5 V)&lt;br /&gt;
| period – single test pulse period (1 – 256 us)&lt;br /&gt;
| count – number of test pulses (1 – 10000)&lt;br /&gt;
| spacing – spacing that is used during measurement (sub acquisition), good value is 4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcRegisterAcqEvent&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Registers an acquisition event callback that is called when corresponding event occurs&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, const char* event, AcqEventFunc func, intptr_t userData&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| event – event name (PXC_ACQEVENT_XXX values)&lt;br /&gt;
| func – callback function of type AcqEventFunc&lt;br /&gt;
| userData – user data that are passed to callback function. Use this as pointer or as 32/64bit integer, depending on system pointer size. The callback function will receive the userData value.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The AcqEventFunc definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
typedef void (*AcqEventFunc)(intptr_t eventData, intptr_t userData);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcUnregisterAcqEvent&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Unregisters the acquisition event callback&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, const char* event, AcqFunc func, intptr_t userData&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| event – event name (PXC_ACQEVENT_XXX values)&lt;br /&gt;
| func – callback function of type AcqFunc&lt;br /&gt;
| userData – user data pointer that was used in pxcRegisterAcqEvent, for proper indetify the event&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSetSensorRefresh&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sets the sensor refresh sequence text. The sensor refresh is used to clean the sensor of free charges. Process containing sequence of bias changes. Suitable values depend on chip manufacturing technology details.&lt;br /&gt;
: For more details see: pxcDoSensorRefresh&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| refreshString – sensor refresh string&lt;br /&gt;
: refresh string defines steps with pairs of times &amp;lt;nowiki&amp;gt;[sec] and bias coefficients [1=100%]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: (physical bias values limited to min/max chip properties, see pxcGetBiasRange)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War = Special function for scientific or device developing using. Normally it not usesfull, normally use the default refresh parameters loaded from factory config.&lt;br /&gt;
| Exa = // (devIdx, &amp;quot;time1, coef1; time2, coef2; time3, coef3; ...&amp;quot;)&lt;br /&gt;
int rc = pxcSetSensorRefresh(0, &amp;quot;5, 2; 3, 1.5; 1, 1.2; 1, 1&amp;quot;);&lt;br /&gt;
printErrors(&amp;quot;pxcSetSensorRefresh&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcDoSensorRefresh&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Performs the sensor refresh. The sensor refresh is used to clean the sensor of free charges. Process containing sequence of bias changes and may take several seconds.&lt;br /&gt;
:Useful for devices with &#039;&#039;&#039;CdTe or CZT chip&#039;&#039;&#039;:&lt;br /&gt;
# Before the measurement, which should start right after the initialization.&lt;br /&gt;
# To improve the repeatability of measurements &lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = This is an &#039;&#039;&#039;analog part refresh&#039;&#039;&#039;, not a recovery from a digital failure.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcEnableSensorRefresh&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Enables automatic sensor refresh before each acquisition series and at periodic intervals.&lt;br /&gt;
: For more details see: pxcDoSensorRefresh&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, bool enabled, double refreshTime&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| enabled – if automatic sensor refresh is enabled&lt;br /&gt;
| refreshTime – sensor refresh is performed repeatedly after this time in seconds.&lt;br /&gt;
:If thime is 0, then the refresh is done only once before the measurement&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = This is an &#039;&#039;&#039;analog part refresh&#039;&#039;&#039;, not a recovery from a digital failure.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcEnableTDI&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Enables TDI (Time Delayed Integration) measurement (if device supports it, single line Mpx3 for example). Usesful for scanning of linearly moving objects.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, bool enabled&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| enabled – if TDI is enabled&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcIsReadyForSoftwareTrigger&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Checks if the device is ready to accept software trigger.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 1 if ready, 0 if not ready, and negative if error, PXCERR_XXX code.&lt;br /&gt;
| Not = If you want to use this immediately after a function for starting acquisition, wait until it&#039;s ready by using pxcIsReadyForSoftwareTrigger.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = int rc = pxcIsReadyForSoftwareTrigger(deviceIndex);&lt;br /&gt;
if (rc==1) msgToList(&amp;quot;Dev is ready to SW trigger&amp;quot;);&lt;br /&gt;
else if (rc==0) msgToList(&amp;quot;Dev is not ready to SW trigger&amp;quot;);&lt;br /&gt;
else errorToList(&amp;quot;pxcIsReadyForSoftwareTrigger&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcDoSoftwareTrigger&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Sends the software trigger: Start of acquisition with trgStg=PXC_TRG_SWSTART used.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = &lt;br /&gt;
| War =&lt;br /&gt;
| Exa = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= API frame-based measuring functions =&lt;br /&gt;
[[File:Basic-measuring-example.png|frame|none|alt=Basic frame measuring example|Basic frame measuring example]]&lt;br /&gt;
The functions described in this chapter are used for frame-based measurements. Suitable for imaging, for example. After acquisition ends, you can read all the frame data (65536 pixels from every chip) to your buffer or save to the file. Acquisition can start by software (afther call a function, for example), or by HW trigger. Data types depends on chip technology and the operation mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Chip can generate one or two data blocks (event count and integrated times over threshold, for example) in one acquisition. Do not forget to set the operation mode. If mode not set, some devices measure something, but some other devices measure something else in this case.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Example projects&lt;br /&gt;
:MiniPixTpx3-Frames – mode set, single frame, multiple frames with/without callback, continuous measuring&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcMeasureSingleFrame&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Performs a measurement of single frame and returns its data&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double frameTime, unsigned short* frameData, unsigned* size, unsigned trgstg&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameTime – time of the measurment in seconds&lt;br /&gt;
| frameData – pointer to buffer where data will be saved. For single detector size is 65536&lt;br /&gt;
| size – pointer to varible with the size of the buffer. The actual size will be output to this variable&lt;br /&gt;
| trgStg – settings of external trigger - one of the PXC_TRG_XXX values. Default PXC_TRG_NO.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = This function have only one framebuffer. This is fully sufficient for single-output devices and modes. In combined modes (ToA+ToT, Event+IToT, dual threshold) only first data are available (ToA, Event, Threshold0). To take both outputs from the combined modes, it is necessary to use specialized functions for the given type of detector.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcMeasureSingleFrameMpx3&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Performs a measurement of single frame and returns its data. This is only for Medipix3 chips&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double frameTime, unsigned* frameData1, unsigned* frameData2, unsigned* size, unsigned trgstg&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameTime – time of the measurment in seconds&lt;br /&gt;
| frameData1 – pointer to buffer where data from first counter will be saved. For single detector chip, size is 65536&lt;br /&gt;
| frameData2 – pointer to buffer where data from second counter will be saved. For single detector chip, size is 65536&lt;br /&gt;
| size – pointer to varible with the size of the buffer. The actual size will be output to this variable&lt;br /&gt;
| trgStg – settings of external trigger - one of the PXC_TRG_XXX values. Default PXC_TRG_NO.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Medipix3 devices, not usable on Timepix or other Medipixes.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcMeasureSingleFrameTpx3&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Performs a measurement of single frame and returns its data. This is only for Timepix3 detector.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double frameTime, double* frameToaITot, unsigned short* frameTotEvent, unsigned* size, unsigned trgstg&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameTime – time of the measurment in seconds&lt;br /&gt;
| frameToaITot – pointer to buffer where data from ToA or iToT counter (based on set operation mode) will be saved. For single detector chip, size is 65536&lt;br /&gt;
| frameTotEvent – pointer to buffer where data from ToT or Event counter (based on set operation mode) will be saved. For single detector chip, size is 65536&lt;br /&gt;
| size – pointer to varible with the size of the buffer. The actual size will be output to this variable&lt;br /&gt;
| trgStg – settings of external trigger - one of the PXC_TRG_XXX values. Default PXC_TRG_NO.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix3 devices, not usable on other Timepixes or Medipixes.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =void pxcMeasureSingleFrameTpx3Test(unsigned di) { // di – device index ========&lt;br /&gt;
   int rc;                               // return codes&lt;br /&gt;
   const unsigned cSize = 65536;         // chip pixels count&lt;br /&gt;
   unsigned short frameTotEvent[cSize];  // frame data - event count&lt;br /&gt;
   double frameToaITot[cSize];           // frame data - integrated time over threshold&lt;br /&gt;
   double time = 1.0;                    // frame acquisition time&lt;br /&gt;
   unsigned size = cSize;                // buffer size and measured data size&lt;br /&gt;
   int mode = PXC_TPX3_OPM_EVENT_ITOT;&lt;br /&gt;
   rc = pxcSetTimepix3Mode(di, mode);&lt;br /&gt;
   printErrors(&amp;quot;pxcSetTimepix3Mode&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
   rc = pxcMeasureSingleFrameTpx3(di, time, frameToaITot, frameTotEvent, &amp;amp;size, PXC_TRG_NO);&lt;br /&gt;
   printErrors(&amp;quot;pxcMeasureSingleFrameTpx3&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
   showFrameDual(frameTotEvent, frameToaITot, mode);&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcMeasureSingleFrameTpx2&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Performs a measurement of single frame and returns its data. This is only for Timepix2 detector and &#039;&#039;&#039;only if calibration is disabled&#039;&#039;&#039;&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double frameTime, unsigned* frameData1, unsigned* frameData2, unsigned* size, unsigned trgStg&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameTime – time of the measurment in seconds&lt;br /&gt;
| frameData1 – pointer to buffer where data from the first counter (based on set operation mode) will be saved. For single detector chip, size is 65536&lt;br /&gt;
| frameData2 – pointer to buffer where data from the second counter (based on set operation mode) will be saved. For single detector chip, size is 65536&lt;br /&gt;
| size – pointer to varible with the size of the buffer. The actual size will be output to this variable&lt;br /&gt;
| trgStg – settings of external trigger - one of the PXC_TRG_XXX values. Default PXC_TRG_NO.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix2 devices, not usable on other Timepixes or Medipixes.&lt;br /&gt;
: Only if Timepix2 calibration is disabled.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =void pxcMeasureSingleFrameTpx2Test(unsigned di) { // di – device index ========&lt;br /&gt;
   int rc;                        // return codes&lt;br /&gt;
   const unsigned cSize = 65536;  // chip pixels count&lt;br /&gt;
   unsigned frameData1[cSize];    // frame data - ToT data&lt;br /&gt;
   unsigned frameData2[cSize];    // frame data - ToA data&lt;br /&gt;
   double time = 1.0;             // frame acquisition time&lt;br /&gt;
   unsigned size = cSize;         // buffer size and measured data size&lt;br /&gt;
   int mode = PXC_TPX2_OPM_TOT10_TOA18;&lt;br /&gt;
   rc = pxcSetTimepix2Mode(di, mode);&lt;br /&gt;
   printErrors(&amp;quot;pxcSetTimepix2Mode&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
   rc = pxcMeasureSingleFrameTpx2(di, time, frameData1, frameData2, &amp;amp;size, PXC_TRG_NO);&lt;br /&gt;
   printErrors(&amp;quot;pxcMeasureSingleFrameTpx2&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
   showFrameDual(frameData1, frameData2, mode);&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcMeasureSingleCalibratedFrameTpx2&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Performs a measurement of single frame, calibrate ToT to energy and returns data. This is only for Timepix2 detector and &#039;&#039;&#039;only if calibration is enabled&#039;&#039;&#039;&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double frameTime, double* frameData1, unsigned* frameData2, unsigned* size, unsigned trgStg&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameTime – time of the measurment in seconds&lt;br /&gt;
| frameData1 – pointer to buffer where data from the first counter (based on set operation mode) will be saved. For single detector chip, size is 65536&lt;br /&gt;
| frameData2 – pointer to buffer where data from the second counter (based on set operation mode) will be saved. For single detector chip, size is 65536&lt;br /&gt;
| size – pointer to varible with the size of the buffer. The actual size will be output to this variable&lt;br /&gt;
| trgStg – settings of external trigger - one of the PXC_TRG_XXX values. Default PXC_TRG_NO.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix2 devices, not usable on other Timepixes or Medipixes.&lt;br /&gt;
: Only if Timepix2 calibration is enabled.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =void pxcMeasureSingleCalibratedFrameTpx2Test(unsigned di) { // di – device index =====&lt;br /&gt;
   int rc;                        // return codes&lt;br /&gt;
   const unsigned cSize = 65536;  // chip pixels count&lt;br /&gt;
   double frameData1[cSize];      // frame data - ToT data = calibrated to energy&lt;br /&gt;
   unsigned frameData2[cSize];    // frame data - ToA data&lt;br /&gt;
   double time = 1.0;             // frame acquisition time&lt;br /&gt;
   unsigned size = cSize;         // buffer size and measured data size&lt;br /&gt;
   int mode = PXC_TPX2_OPM_TOT10_TOA18;&lt;br /&gt;
   rc = pxcSetTimepix2Mode(di, mode);&lt;br /&gt;
   printErrors(&amp;quot;pxcSetTimepix2Mode&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
   rc = pxcMeasureSingleCalibratedFrameTpx2(di, time, frameData1, frameData2, &amp;amp;size, PXC_TRG_NO);&lt;br /&gt;
   printErrors(&amp;quot;pxcMeasureSingleCalibratedFrameTpx2&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
   showFrameDual(frameData1, frameData2, mode);&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcMeasureMultipleFrames&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Performs a measurement of several frames to memory&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned fameCount,  double frameTime, unsigned trgStg&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameCount – numeber of frames to measure&lt;br /&gt;
| frameTime – time of the measurment in seconds&lt;br /&gt;
| trgStg – settings of external trigger - one of the PXC_TRG_XXX values. Default PXC_TRG_NO&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =void pxcMeasureMultipleFramesTpx3Test() { // =========================&lt;br /&gt;
   int rc;                              // return codes&lt;br /&gt;
   const unsigned cSize = 65536;        // chip pixels count&lt;br /&gt;
   unsigned short frameTotEvent[cSize]; // frame data - event count&lt;br /&gt;
   double frameToaITot[cSize];          // frame data - integrated time over threshold&lt;br /&gt;
   double frameTime = 1.0;              // frame acquisition time&lt;br /&gt;
   unsigned frameCount = 5;             // frame count&lt;br /&gt;
   unsigned size = cSize;               // buffer size and measured data size&lt;br /&gt;
&lt;br /&gt;
   int mode = PXC_TPX3_OPM_EVENT_ITOT;&lt;br /&gt;
   rc = pxcSetTimepix3Mode(0, mode);&lt;br /&gt;
   printErrors(&amp;quot;pxcSetTimepix3Mode&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;measuring %d frames...\n&amp;quot;, frameCount);&lt;br /&gt;
&lt;br /&gt;
   pxcMeasureMultipleFrames(0, frameCount, frameTime, PXC_TRG_NO);&lt;br /&gt;
   printErrors(&amp;quot;pxcMeasureMultipleFrames&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
   for (unsigned n=0; n&amp;lt;frameCount; n++) {&lt;br /&gt;
      rc = pxcGetMeasuredFrameTpx3(0, n, frameToaITot, frameTotEvent, &amp;amp;size);&lt;br /&gt;
      printErrors(&amp;quot;pxcGetMeasuredFrameTpx3&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
      size = cSize;&lt;br /&gt;
      showFrameDual(frameTotEvent, frameToaITot, mode);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcMeasureMultipleFramesWithCallback&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Performs a measurement of several frames to memory. When each frame is measured, the supplied callback function is called and the userData parameter is passed as argument.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned fameCount, double frameTime, unsigned trgStg, FrameMeasuredCallback callback, intptr_t userData&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameCount – numeber of frames to measure&lt;br /&gt;
| frameTime – time of the measurment in seconds&lt;br /&gt;
| trgStg – settings of external trigger - one of the PXC_TRG_XXX values. Default PXC_TRG_NO.&lt;br /&gt;
| callback – pointer to function of FrameMeasuredCallback type&lt;br /&gt;
| userData – pointer to some user object/memory that is passed in callback function&lt;br /&gt;
: See [[Binary_core_API#pxcRegisterAcqEvent|pxcRegisterAcqEvent]] for userData details&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =void pxcMeasureMultipleFramesWithCallbackTestTpx3(unsigned deviceIndex) { // ==============&lt;br /&gt;
	int rc; // return codes&lt;br /&gt;
	double frameTime = 1;&lt;br /&gt;
	unsigned frameCount = 5;&lt;br /&gt;
	tMmfClbData usrData;&lt;br /&gt;
	usrData.di = deviceIndex;&lt;br /&gt;
	usrData.opm = PXC_TPX3_OPM_EVENT_ITOT;&lt;br /&gt;
	rc = pxcSetTimepix3Mode(deviceIndex, usrData.opm);&lt;br /&gt;
	printErrors(&amp;quot;pxcSetTimepix3Mode&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
	rc = pxcMeasureMultipleFramesWithCallback&lt;br /&gt;
	(deviceIndex, frameCount, frameTime, PXC_TRG_NO, mmfCallback, (intptr_t)&amp;amp;usrData);&lt;br /&gt;
	printErrors(&amp;quot;pxcMeasureMultipleFramesWithCallback&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
	// Measure function ends, after all callbacks are serviced&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void mmfCallback(intptr_t acqCount, intptr_t userData) { // =================================&lt;br /&gt;
	int rc; // return codes&lt;br /&gt;
	const unsigned cSize = 65536; // chip pixels count&lt;br /&gt;
	unsigned short frameTotEvent[cSize]; // frame data - event count&lt;br /&gt;
	double frameToaITot[cSize]; // frame data - integrated time over threshold&lt;br /&gt;
	unsigned size = cSize; // buffer size and measured data size&lt;br /&gt;
	tMmfClbData usrData = *((tMmfClbData*)userData); // data transferred from start function&lt;br /&gt;
	printf(&amp;quot;mmfCallback acqCount=%d, di=%d\n&amp;quot;, (unsigned)acqCount, usrData.di);&lt;br /&gt;
	rc = pxcGetMeasuredFrameTpx3&lt;br /&gt;
	(usrData.di, (unsigned)acqCount - 1, frameToaITot, frameTotEvent, &amp;amp;size);&lt;br /&gt;
	printErrors(&amp;quot;pxcGetMeasuredFrameTpx3&amp;quot;, rc, ENTER_OFF); printf(&amp;quot;, size=%d\n&amp;quot;, size);&lt;br /&gt;
	if (rc == 0) {&lt;br /&gt;
		printf(&amp;quot;Measured frame index %lu, &amp;quot;, (unsigned)acqCount - 1);&lt;br /&gt;
		printf(&amp;quot;count %d\n&amp;quot;, pxcGetMeasuredFrameCount(usrData.di));&lt;br /&gt;
		showFrameDual(frameTotEvent, frameToaITot, usrData.opm);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
//The acqCount contains count of measured frames that are currently waiting in memory.&lt;br /&gt;
// You can use acqCount-1 as frame index to read.&lt;br /&gt;
// The userData is 64b number used to transfer some data from starting function to callback function.&lt;br /&gt;
// You can use it as data pointer like in this example, or simply as number with some overtyping.&lt;br /&gt;
typedef struct { // structure for userData, that is using in mmfCallback&lt;br /&gt;
	unsigned di; // device index&lt;br /&gt;
	int opm; // operation mode&lt;br /&gt;
} tMmfClbData;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcMeasureContinuous&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Performs an “endless” measurement of several frames to memory. The measurement is run until it’s aborted by pxcAbortMeasurement function. When each frame is measured, the supplied callback function is called and the userData parameter is passed as argument.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned fameBufferSize, double frameTime, unsigned trgStg, FrameMeasuredCallback callback, intptr_t userData&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameBufferSize – number of frames in circular buffer&lt;br /&gt;
| frameTime – time of the measurment in seconds&lt;br /&gt;
| trgStg – settings of external trigger - one of the PXC_TRG_XXX values. Default PXC_TRG_NO.&lt;br /&gt;
| callback – pointer to function of FrameMeasuredCallback type&lt;br /&gt;
| userData – pointer to some user object/memory that is passed in callback function&lt;br /&gt;
: See [[Binary_core_API#pxcRegisterAcqEvent|pxcRegisterAcqEvent]] for userData details&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&#039;&#039;&#039; &#039;&#039;&#039;&lt;br /&gt;
* This function, differently to other multi-frame measurements, not waiting for process end. It simply start measurement and program continue next.&lt;br /&gt;
* You can set-up the callback by 2 ways:&lt;br /&gt;
# Simply use pointer to callback function in the &#039;&#039;&#039;pxcMeasureContinuous&#039;&#039;&#039; function. After do it, the commandline program must not leave the function in which pxcMeasureContinuous was used until the measurement is canceled.&lt;br /&gt;
# First use the &#039;&#039;&#039;pxcRegisterAcqEvent&#039;&#039;&#039; to set-up the callback, second use pxcMeasureContinuous without callback pointer or with NULL. Now it is possible to leave the superior function and measuring continue working independent. Afther cancel of the measurement, may be needed use the &#039;&#039;&#039;pxcUnregisterAcqEvent&#039;&#039;&#039; before other use of the Acq event.&lt;br /&gt;
| War = Aborting measuremet from its callback (like as in commandline example bellow) can cause lags for tens of seconds. If the pxcAbortMeasurement called by other way (Button event in GUI for example), abort is fast.&lt;br /&gt;
| Exa =void pxcMeasureContinuousTestTpx3(unsigned deviceIndex) { // ==============================&lt;br /&gt;
	int rc; // return codes&lt;br /&gt;
	double frameTime = 2;&lt;br /&gt;
	unsigned buffrerFrames = 3;&lt;br /&gt;
	tMmfClbData usrData;&lt;br /&gt;
	usrData.di = deviceIndex;&lt;br /&gt;
&lt;br /&gt;
	usrData.cnt = 0; // num of frames to stop in callback (0 endless)&lt;br /&gt;
	usrData.opm = PXC_TPX3_OPM_EVENT_ITOT;&lt;br /&gt;
	rc = pxcSetTimepix3Mode(deviceIndex, usrData.opm);&lt;br /&gt;
	printErrors(&amp;quot;pxcSetTimepix3Mode&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
&lt;br /&gt;
	// method 1 (single step):&lt;br /&gt;
	//rc = pxcMeasureContinuous	(deviceIndex, buffrerFrames, frameTime, PXC_TRG_NO, mcCallback, (intptr_t)&amp;amp;usrData);&lt;br /&gt;
	//printErrors(&amp;quot;pxcMeasureContinuous&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
	// method 2 (2 steps):&lt;br /&gt;
	// register event&lt;br /&gt;
	pxcRegisterAcqEvent(0, PXC_ACQEVENT_ACQ_FINISHED, mcCallback, (intptr_t)&amp;amp;usrData);&lt;br /&gt;
	printErrors(&amp;quot;pxcRegisterAcqEvent&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
&lt;br /&gt;
	// start continuous measuring (method 2, step 2)&lt;br /&gt;
	rc = pxcMeasureContinuous(deviceIndex, buffrerFrames, frameTime);&lt;br /&gt;
	printErrors(&amp;quot;pxcMeasureContinuous&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
&lt;br /&gt;
	printf(&amp;quot;waiting for callbacks...\n&amp;quot;);&lt;br /&gt;
	getchar(); // waiting so that callbacks can come&lt;br /&gt;
	printf(&amp;quot;pxcMeasureContinuousTest: user end\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
/*The callback function is some as used in pxcMeasureMultipleFramesWithCallback example, but usrData structure contains&lt;br /&gt;
extra member, the cnt.This can be used to stop, whitch is additional in the callback: */&lt;br /&gt;
&lt;br /&gt;
static unsigned cnt = 0;&lt;br /&gt;
cnt++;&lt;br /&gt;
if (usrData.cnt &amp;gt; 0 &amp;amp;&amp;amp; cnt &amp;gt;= usrData.cnt) {&lt;br /&gt;
	// stop continuous measuring on user defined number of frames&lt;br /&gt;
	printf(&amp;quot;pxcAbortMeasurement...&amp;quot;);&lt;br /&gt;
	rc = pxcAbortMeasurement(usrData.di);&lt;br /&gt;
	printErrors(&amp;quot;pxcAbortMeasurement&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
	printf(&amp;quot;Press enter to exit the program.\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcAbortMeasurement&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Stopts the currently running measurement on the indexed device.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War = Aborting measuremet from its callback (like as in commandline example in pxcMeasureContinuous) can cause lags for tens of seconds. If the pxcAbortMeasurement called by other way (Button event in GUI for example), abort is fast.&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetMeasuredFrameCount&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Returns number of measured frames in memory. Usesful with pxcMeasureMultipleFrames.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcSaveMeasuredFrame&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Saves the measured frame to a file on the harddrive. This can be used instead of the pxcGetMeasuredFrame.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned frameIndex, const char* filePath&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameIndex – index of the frame, starting from zero&lt;br /&gt;
| filePath – path to the file where frame will be saved&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =void someCallback(intptr_t acqCount, intptr_t userData) { // ======================&lt;br /&gt;
	int rc; // return codes&lt;br /&gt;
	tMmfClbData usrData = *((tMmfClbData*)userData);&lt;br /&gt;
	rc = pxcSaveMeasuredFrame(usrData.di, (unsigned)acqCount - 1, &amp;quot;testFile.txt&amp;quot;);&lt;br /&gt;
	printErrors(&amp;quot;pxcSaveMeasuredFrame-txt&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
	rc = pxcSaveMeasuredFrame(usrData.di, (unsigned)acqCount - 1, &amp;quot;testFile.png&amp;quot;);&lt;br /&gt;
	printErrors(&amp;quot;pxcSaveMeasuredFrame-txt&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
	/* List of file extensions (format automatically detected by extension in filename):&lt;br /&gt;
	#define PX_EXT_ASCII_FRAME &amp;quot;txt&amp;quot;&lt;br /&gt;
	#define PX_EXT_BINARY_FRAME &amp;quot;pbf&amp;quot;&lt;br /&gt;
	#define PX_EXT_MULTI_FRAME &amp;quot;pmf&amp;quot;&lt;br /&gt;
	#define PX_EXT_BINARY_MULTI_FRAME &amp;quot;bmf&amp;quot;&lt;br /&gt;
	#define PX_EXT_COMP_TPXSTREAM &amp;quot;pcts&amp;quot;&lt;br /&gt;
	#define PX_EXT_TPX3_PIXELS &amp;quot;t3p&amp;quot;&lt;br /&gt;
	#define PX_EXT_TPX3_PIXELS_ASCII &amp;quot;t3pa&amp;quot;&lt;br /&gt;
	#define PX_EXT_TPX3_RAW_DATA &amp;quot;t3r&amp;quot;&lt;br /&gt;
	#define PX_EXT_FRAME_DESC &amp;quot;dsc&amp;quot;&lt;br /&gt;
	#define PX_EXT_INDEX &amp;quot;idx&amp;quot;&lt;br /&gt;
	#define PX_EXT_CLUSTER_LOG &amp;quot;clog&amp;quot;&lt;br /&gt;
	#define PX_EXT_PIXEL_LOG &amp;quot;plog&amp;quot;&lt;br /&gt;
	#define PX_EXT_PNG &amp;quot;png&amp;quot;&lt;br /&gt;
	#define PX_EXT_PIXET_RAW_DATA &amp;quot;prd&amp;quot;&lt;br /&gt;
    (t3.. formats not frames - cannot be used with pxcSaveMeasuredFrame) */&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetMeasuredFrame&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Gets data of specified measured frame from memory&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned fameIndex, unsigned short* frameData, unsigned* size&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameIndex – index of the frame, starting from zero&lt;br /&gt;
| frameData – pointer to buffer where data will be saved. For single chip detector size is 65536.&lt;br /&gt;
| size – pointer to varible with the size of the buffer. The actual size will be output to this variable.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =This function have only one framebuffer. This is fully sufficient for single-output devices and modes. In combined modes (ToA+ToT, Event+IToT, dual threshold) only first data are available (ToA, Event, Threshold0). To take both outputs from the combined modes, it is necessary to use specialized functions for the given type of detector.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetMeasuredFrameTpx2&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Gets data of specified measured frame from memory.&lt;br /&gt;
:For Timepix2 chip only and only if &#039;&#039;&#039;calibration disabled&#039;&#039;&#039;.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned frameIndex, unsigned* frameData1, unsigned* frameData2, unsigned* size&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameIndex – index of the frame, starting from zero&lt;br /&gt;
| frameData1 – pointer to buffer where data from the first counter (based on set operationmode) will be saved. For single detector chip size is 65536&lt;br /&gt;
| frameData2 – pointer to buffer where data from the second counter (based on set operation mode) will be saved. For single chip detector size is 65536&lt;br /&gt;
| size - pointer to varible with the size of the buffer. The actual size will be output to this variable&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix2 devices, not usable on other Timepixes or Medipixes.&lt;br /&gt;
:For Timepix2 chip only and only if &#039;&#039;&#039;calibration disabled&#039;&#039;&#039;.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetMeasuredCalibratedFrameTpx2&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Gets data of specified measured frame with calibration from memory.&lt;br /&gt;
:For Timepix2 chip only and only if &#039;&#039;&#039;calibration enabled&#039;&#039;&#039;.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned frameIndex, double* frameData1, unsigned* frameData2, unsigned* size&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameIndex – index of the frame, starting from zero&lt;br /&gt;
| frameData1 – pointer to buffer where calibrated ToT-&amp;gt;Energy data from the first counter (based on set operationmode) will be saved. For single detector chip size is 65536&lt;br /&gt;
| frameData2 – pointer to buffer where data from the second counter (based on set operation mode) will be saved. For single chip detector size is 65536&lt;br /&gt;
| size - pointer to varible with the size of the buffer. The actual size will be output to this variable&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix2 devices, not usable on other Timepixes or Medipixes.&lt;br /&gt;
:For Timepix2 chip only and only if &#039;&#039;&#039;calibration enabled&#039;&#039;&#039;.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetMeasuredFrameTpx3&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Gets data of specified measured frame from memory. For Timepix3 chip only.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned fameIndex, double* frameToaITot, unsigned short* frameToTEvent, unsigned* size&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| frameIndex – index of the frame, starting from zero&lt;br /&gt;
| frameToaITot – pointer to buffer where data from ToA or iToT counter (based on set operation mode) will be saved. For single chip detector, size is 65536&lt;br /&gt;
| frameTotEvent – pointer to buffer where data from ToT or Event counter (based on set operation mode) will be saved. For single chip detector, size is 65536&lt;br /&gt;
| size – pointer to varible with the size of the buffer. The actual size will be output to this variable&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Only for the Timepix3 devices, not usable on other Timepixes or Medipixes.&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= API data-driven measuring functions =&lt;br /&gt;
[[File:Cluster-example.png|right|300px|alt=Data-driven: Cluster example|Data-driven: Cluster example]]&lt;br /&gt;
The functions described in this chapter can be used if frame-based measurement is not good choice, in particle collision research, for example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data-driven &amp;quot;frameless&amp;quot; in comparsion with frames:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
:;Advantages&lt;br /&gt;
::It is possible to continual measure for any length of time and repeated pixel hits are not lost.&lt;br /&gt;
:;Disadvantages&lt;br /&gt;
::Each pixel is transmitted as a separate packet, including its position. Therefore, this mode is significantly more demanding on the transmission speed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Afther measurement start, data from every event is stored in the buffer. Pixels has structures (defined in the pxcapi.h):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
typedef struct _Tpx3Pixel {&lt;br /&gt;
	double       toa;   // time of arrival [1 ns]&lt;br /&gt;
	float        tot;   // time over threshold [25 ns] or energy [keV] if calibrated&lt;br /&gt;
	unsigned int index; // index of pixel position&lt;br /&gt;
} Tpx3Pixel;&lt;br /&gt;
&lt;br /&gt;
#pragma pack(push, 1)&lt;br /&gt;
typedef struct _RawTpx3Pixel {&lt;br /&gt;
    u32  index:      24;&lt;br /&gt;
    u64  toa:        64;&lt;br /&gt;
    byte overflow:   1;&lt;br /&gt;
    byte ftoa:       5;&lt;br /&gt;
    u16  tot:        10;&lt;br /&gt;
} RawTpx3Pixel;&lt;br /&gt;
#pragma pack(pop)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See: [[The_RawTpx3Pixel_structure_in_memory|&#039;&#039;&#039;The RawTpx3Pixel structure in memory&#039;&#039;&#039;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The Pixet core has a circular buffer in memory. The default size is 100 MB. There are blocks in the buffer. The default block size is 66000 bytes. Incoming data is stored in a block. The “new data” event (that can start the callback or save the blockt to file) occurs if:&lt;br /&gt;
* The data size reaches the block size&lt;br /&gt;
* Some data is in block over the timeout (500 ms)&lt;br /&gt;
* The measurement ends&lt;br /&gt;
If you need to process data more often, you can set smaller block size. But if blocks are too small, data transfer speed can fall and some data can be lost. This can occurs if block size is less than approximately 5000 bytes (depends on computer speed and other circumstances).&lt;br /&gt;
&lt;br /&gt;
;Example projects&lt;br /&gt;
:&#039;&#039;&#039;MiniPixTpx3-DataDriven&#039;&#039;&#039;, commandline example – Set the parameters, use the callback and display the data, some auxiliary things and data convert. Save data to files. Without threads.&lt;br /&gt;
:&#039;&#039;&#039;AdvacamAPIexamples/Tpx3&#039;&#039;&#039;, Windows GUI CLR app – All common functions including data-driven measurements. Using threads.&lt;br /&gt;
&lt;br /&gt;
;Note&lt;br /&gt;
:Functions in this chapter is &#039;&#039;&#039;only for the Timepix3 devices&#039;&#039;&#039;, not usable on other Timepixes or Medipixes.&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcMeasureTpx3DataDrivenMode&lt;br /&gt;
| HeSym = ==&lt;br /&gt;
| Sum = Performs a measurement with Timepix3 detector in Data Driven Mode (event by event mode, when stream of pixels is sent). &#039;&#039;&#039;Timepix3 only.&#039;&#039;&#039;&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, double measTime, const char* filename, unsigned trgStg, AcqEventFunc callback, intptr_t userData&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| measTime – the total time of the measurement in seconds. Use 0 for infinite.&lt;br /&gt;
| filename – output file name and path (extensions must end *.t3pa, *.trp, *.t3r)&lt;br /&gt;
| trgStg – settings of external trigger - one of the PXC_TRG_XXX values. Default PXC_TRG_NO&lt;br /&gt;
| callback – pointer to function of acqEventFunc type&lt;br /&gt;
| userData – pointer to some user object/memory that is passed in callback function&lt;br /&gt;
: See [[Binary_core_API#pxcRegisterAcqEvent|pxcRegisterAcqEvent]] for userData details&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = int rc = pxcMeasureTpx3DataDrivenMode(0, 15, &amp;quot;testfile.t3pa&amp;quot;);&lt;br /&gt;
// Measure for 15 seconds on device 0 with saving to the &amp;quot;testfile.t3pa&amp;quot; file&lt;br /&gt;
}}&lt;br /&gt;
;Example for online processing&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
void timepix3DataDrivenGetPixelsTest(unsigned deviceIndex) { // ============================&lt;br /&gt;
	int rc; // return codes&lt;br /&gt;
	double measTime = 30;&lt;br /&gt;
	int devIdx = deviceIndex; // transmitted over pointer for use in the callback function&lt;br /&gt;
&lt;br /&gt;
	// working with TOA, TOATOT, TOT_NOTOA, not working with EVENT_ITOT&lt;br /&gt;
	rc = pxcSetTimepix3Mode(deviceIndex, PXC_TPX3_OPM_TOA);&lt;br /&gt;
	printErrors(&amp;quot;pxcSetTimepix3Mode&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
&lt;br /&gt;
	rc = pxcSetDeviceParameter(deviceIndex, PAR_DD_BLOCK_SIZE, 6000); // block [B]&lt;br /&gt;
	printErrors(&amp;quot;pxcSetDeviceParameter&amp;quot;, rc, ENTER_OFF);&lt;br /&gt;
	rc = pxcSetDeviceParameter(deviceIndex, PAR_DD_BUFF_SIZE, 100); // buffer [MB]&lt;br /&gt;
	printf(&amp;quot;, %d&amp;quot;, rc);&lt;br /&gt;
	rc = pxcSetDeviceParameter(deviceIndex, PAR_DCC_LEVEL, 80);&lt;br /&gt;
	printErrors(&amp;quot;,&amp;quot;, rc, ENTER_ON); // data consistency check level (50-150) (*)&lt;br /&gt;
&lt;br /&gt;
	rc = pxcMeasureTpx3DataDrivenMode(deviceIndex, measTime, &amp;quot;&amp;quot;, PXC_TRG_NO, onTpx3Data, (intptr_t)&amp;amp;devIdx);&lt;br /&gt;
	printErrors(&amp;quot;pxcMeasureTpx3DataDrivenMode&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// * Data consistency check level : Detection level of ToA data inconsistency.&lt;br /&gt;
// If the chip is overloaded due too many partickes in time, clock can freezeand a ToA inconsistency occurrs.&lt;br /&gt;
// If it is detedted, measuring immediately stopand error “Acquisition failed(Data flow corrupted !!)“ occurrs.&lt;br /&gt;
// Level 50 is some like OFF, level 150 is highest sensitivity.&lt;br /&gt;
&lt;br /&gt;
void onTpx3Data(intptr_t eventData, intptr_t userData) { // ================================&lt;br /&gt;
	int deviceIndex = *((unsigned*)userData);&lt;br /&gt;
	unsigned pixelCount = 0;&lt;br /&gt;
	int rc; // return codes&lt;br /&gt;
&lt;br /&gt;
	rc = pxcGetMeasuredTpx3PixelsCount(deviceIndex, &amp;amp;pixelCount);&lt;br /&gt;
	printErrors(&amp;quot;getMeasuredTpx3PixelsCount&amp;quot;, rc, ENTER_OFF);&lt;br /&gt;
	printf(&amp;quot; PixelCount: %u\n&amp;quot;, pixelCount);&lt;br /&gt;
&lt;br /&gt;
	auto result = new Tpx3Pixel[pixelCount];&lt;br /&gt;
	rc = pxcGetMeasuredTpx3Pixels(deviceIndex, result, pixelCount);&lt;br /&gt;
	printErrors(&amp;quot;pxcGetMeasuredTpx3Pixels&amp;quot;, rc, ENTER_ON);&lt;br /&gt;
&lt;br /&gt;
	dataUsingFunction(&amp;amp;result, pixelCount);&lt;br /&gt;
	delete[] result;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetMeasuredTpx3PixelsCount&lt;br /&gt;
| HeSym = ==&lt;br /&gt;
| Sum = Gets the number of measured Timepix3 pixels in data driven mode. &#039;&#039;&#039;Timepix3 only.&#039;&#039;&#039;&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned*  pixelCount&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| pixelCount – pointer to output variable for number of pixels&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa = unsigned int cnt;&lt;br /&gt;
int rc = pxcGetMeasuredTpx3PixelsCount(0, &amp;amp;cnt);&lt;br /&gt;
if (rc==0) printf(&amp;quot;%d pixels from device idx 0 are waiting in memory\n&amp;quot;, cnt);&lt;br /&gt;
else printf(&amp;quot;pxcGetMeasuredTpx3PixelsCount failed, code %d\n&amp;quot;, rc);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetMeasuredTpx3Pixels&lt;br /&gt;
| HeSym = ==&lt;br /&gt;
| Sum = Gets the measured Timepix3 pixels data. &#039;&#039;&#039;Timepix3 only.&#039;&#039;&#039;&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, Tpx3Pixel* pixels, unsigned pixelCount&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| pixels – pointer to array of Tpx3Pixels that will be filled with measured pixels&lt;br /&gt;
: ToT in output data are ToT in 25ns ticks or energy in keVs, depending on Timepix3CalibrationEnabled&lt;br /&gt;
: See pxcSetTimepix3CalibrationEnabled, pxcIsTimepix3CalibrationEnabled&lt;br /&gt;
| pixelCount – size of the supplied array as number of pixels&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetMeasuredRawTpx3Pixels&lt;br /&gt;
| HeSym = ==&lt;br /&gt;
| Sum = Gets the measured Timepix3 pixels data in raw format. &#039;&#039;&#039;Timepix3 only.&#039;&#039;&#039;&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, RawTpx3Pixel* pixels, unsigned pixelCount&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| pixels – buffer where pixels will be saved&lt;br /&gt;
| pixelCount – size of pixels buffer (number of pixels to save)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not = Use the pxcGetMeasuredRawTpx3Pixels only in special, exceptional cases.&lt;br /&gt;
| War = See: [[The_RawTpx3Pixel_structure_in_memory|The RawTpx3Pixel structure in memory]]&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcCalibrateTpx3PixelsAndFilter&lt;br /&gt;
| HeSym = ==&lt;br /&gt;
| Sum =  Calibrate the pixel data and filter them by energy range&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, Tpx3Pixel* pixels, unsigned* pixelCount, double minEnergy, double maxEnergy&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| pixels – pointer to array of Tpx3Pixels that will be filled with measured pixels&lt;br /&gt;
| pixelCount – size of pixels buffer (number of pixels). It will be filled with the number of pixel remaining after filtration&lt;br /&gt;
| minEnergy – minimal allowed energy of each pixel&lt;br /&gt;
| maxEnergy – maximal allowed energy of each pixel&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= API frame-data processing functions =&lt;br /&gt;
{|&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| [[File:Beam-hardening-bh2c.png|left|frame|alt=Left: raw image, mid: After beam hardening correction, right: after BHC and bad pixels interpolation|Left: raw image, mid: After beam hardening correction, right: after BHC and bad pixels interpolation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Interpolating of bad pixels ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcInterpolateBadPixels&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Interpolates bad pixels in the image. Uses badPixelsMatrix as bad pixels (badPixel = 1, good = 0)&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned char* badPixelsMatrix, double* data, unsigned width, unsigned height&lt;br /&gt;
| badPixelMatrix – matrix of the bad pixels&lt;br /&gt;
| data – data to be interpolated&lt;br /&gt;
| width – width of the image&lt;br /&gt;
| height – height of the image&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDeviceBadPixelMatrix&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Gets the devices&#039;s matrix of bad pixels (bad = 1, good = 0). Bad pixels are pixels that are masked.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned deviceIndex, unsigned* badPixelMatrix, unsigned size&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| badPixelMatrix – output data buffer where bad pixel matrix will be saved&lt;br /&gt;
| size – size of the data - number of pixels (width * height)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Beam hardening correction ==&lt;br /&gt;
The functions described in this chapter can be used to compensate the beam hardening effect, bad pixels and chip sensitivity uneven to get the data with true thickness of measured material.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
First step is adding set of the reference images (masks). Dirrect beam (or beam with filter that will be used in all the process) and flat plates with different thicknesses, optimally in whole range that you want measuring. Use the &#039;&#039;&#039;pxcAddBHMask&#039;&#039;&#039;. Reference images contains unsigned 32bit pixels. To create the reference pictures, recommended fold more acquired images to achieve pixel values aproximatelly tens of thousands or more (50,000 is good start). Don’t forget corectly set their thickness.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If 2 or more reference images have been added, it is possible to determine which pixels are not usable. Check this using the &#039;&#039;&#039;pxcGetBHBadPixelMatrix&#039;&#039;&#039; function. If there are too many of these pixels, the &#039;&#039;&#039;pxcApplyBHCorrection&#039;&#039;&#039; function may lose accuracy and the &#039;&#039;&#039;pxcInterpolateBadPixels&#039;&#039;&#039; function will not work. In this case you can check:&lt;br /&gt;
* If the set-up is correct (condition of the reference plates; Is the whole area of the chip good irradiated and covered by the reference plates? Is there an obstacle in the beam?)&lt;br /&gt;
* If there is too much contrast between the references - a common problem, especially between the free beam and the first reference plate - you can use a filter throughout the process&lt;br /&gt;
* If some areas have too low values with high noise - increase the number of integrated frames, beam intensity, or acquisition time&lt;br /&gt;
* If exist areas with overexposition – decrease the time or beam intensity&lt;br /&gt;
* If the instability of the CdTe chip has manifested itself - increase the time by integrating the reference images&lt;br /&gt;
* If using CdTe and measuring start too soon afther chip init&lt;br /&gt;
* Try use other beam energy&lt;br /&gt;
After add sufficient number of reference images, you can measure image of the sample and use the &#039;&#039;&#039;pxcApplyBHCorrection&#039;&#039;&#039; function. Output is array of double, in units from reference thicknesses.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now you can use the &#039;&#039;&#039;pxcGetDeviceAndBHBadPixelMatrix&#039;&#039;&#039; to get array of bad and other unusable pixels. Use this data with the &#039;&#039;&#039;pxcInterpolateBadPixels&#039;&#039;&#039;. If it doesn&#039;t work, you can use only device bad pixels from the &#039;&#039;&#039;pxcGetDeviceBadPixelMatrix&#039;&#039;&#039; function.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Example projects&lt;br /&gt;
: &#039;&#039;&#039;MiniPixTpx3-Thickness-auto&#039;&#039;&#039; – Acquision time auto tuning for easy first experiments.&lt;br /&gt;
:: Interactive control in console, text histograms and preview of images. But the code is relatively complex.&lt;br /&gt;
: &#039;&#039;&#039;MiniPixTpx3-Thickness-bath&#039;&#039;&#039; – Bath process, using text config file.&lt;br /&gt;
:: Simple code, but you need to set usable acquisition times.&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcAddBHMask&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Adds a new mask (frame) for Beam-Hardening calibration. &lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned* data, unsigned size, double frameTime, double thickness&lt;br /&gt;
| data – data of the frame tat will be used as BH mask&lt;br /&gt;
| size – size of the data - number of pixels (width * height)&lt;br /&gt;
| frameTime – acquisition time of the frame in seconds&lt;br /&gt;
| thickness – thickness of the measured data&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcBHMaskCount&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Returns number of inserted Beam-Hardening masks (frames)&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP =&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = Number of masks if successful, otherwise the return value is a PXCERR_XXX code&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcRemoveBHMask&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Removes Beam-Hardening mask (frame)&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = int index&lt;br /&gt;
| index – index of the mask to remove&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcApplyBHCorrection&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Applies the Beam-Hardening correction to supplied frame&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned* inData, unsigned size, double frameTime, double* outData&lt;br /&gt;
| inData – data of the frame that will be corrected&lt;br /&gt;
| size – size of the data - number of pixels (width * height)&lt;br /&gt;
| frameTime – acquisition time of the measured frame in seconds&lt;br /&gt;
| outData – output data buffer where corrected data will be saved&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetBHBadPixelMatrix&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Gets the bad pixel matrix from Beam Hardening correction - pixels that cannot be corrected. (bad pixel = 1, good = 0). Must be called after all BH masks are added.&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned* badPixelMatrix, unsigned size&lt;br /&gt;
| badPixelMatrix – output data buffer where bad pixel matrix will be saved&lt;br /&gt;
| size – size of the data - number of pixels (width * height)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ApiBinaryItem&lt;br /&gt;
| Nam = pxcGetDeviceAndBHBadPixelMatrix&lt;br /&gt;
| HeSym = ===&lt;br /&gt;
| Sum = Gets the combined bad pixel matrix from the device and BeamHardening (badpixel = 1, good = 0).&lt;br /&gt;
| DefH = PXCAPI int&lt;br /&gt;
| DefP = unsigned devIndex, unsigned* badPixelMatrix, unsigned size&lt;br /&gt;
| deviceIndex – index of the device, starting from zero&lt;br /&gt;
| badPixelMatrix – output data buffer where bad pixel matrix will be saved&lt;br /&gt;
| size – size of the data - number of pixels (width * height)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Ret = 0 if successful, otherwise the return value is a PXCERR_XXX code.&lt;br /&gt;
| Not =&lt;br /&gt;
| War =&lt;br /&gt;
| Exa =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See: [[Binary_core_API#pxcGetDeviceBadPixelMatrix|pxcGetDeviceBadPixelMatrix]], [[Binary_core_API#pxcInterpolateBadPixels|pxcInterpolateBadPixels]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Example ===&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;See:&#039;&#039;&#039;&lt;br /&gt;
* [[Beam_hardening_correction:_Bath_example|Beam hardening correction: Bath example]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Some images ===&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
[[File:CdTe vs Si.png|none|alt=CdTe vs Si|CdTe vs Si]]&lt;br /&gt;
|| &#039;&#039;&#039;1. CdTe 2 mm (left) vs Si 0,3 mm (right)&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CdTe advantages:&#039;&#039;&#039; More sensitive, orders of magnitude shorter acquisition times or lower beam intensities. Have lower energy consumption and and it less warming.&amp;lt;br&amp;gt;&lt;br /&gt;
imgs:&amp;lt;br&amp;gt;&lt;br /&gt;
CdTe: integrated 3.43 sec (25,6 ms subframes)&amp;lt;br&amp;gt;&lt;br /&gt;
Si: integrated 27.7 sec (625 ms subframes)&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
[[File:CdTe artefacts.png|none|alt=CdTe artefacts|CdTe artefacts]]&lt;br /&gt;
|| &#039;&#039;&#039;CdTe disadvantages:&#039;&#039;&#039; Uneven distribution of chip sensitivity. Slow instability can cause the need for a long total measurement time.&amp;lt;br&amp;gt;&lt;br /&gt;
Specialy thick chips have a easily visible image distortion. Afther start-up, CdTe contains lot of free charges, they can cause problems duringearly measurements (use &#039;&#039;&#039;pxcDoSensorRefresh&#039;&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Si and CdTe have opposite bilas polarity. This can be used for type detection.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
[[File:Beam hardening setup Bh1a.jpg|thumb|none|alt=beam hardening experimental setup|beam hardening experimental setup]]&lt;br /&gt;
|| &#039;&#039;&#039;2. The beam hardening experimental setup&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
1 – The sensor&amp;lt;br&amp;gt;&lt;br /&gt;
2 – Pb shielding of electronics (for sure, large intensities were tested in this experiment)&amp;lt;br&amp;gt;&lt;br /&gt;
3 – several thin sheets, a total of 0.3 mm to reduce free beam / first ref. plate contrast&amp;lt;br&amp;gt;&lt;br /&gt;
4 – 0.6 mm reference plates&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
[[File:Beam hardening Bh1c.png|none]]&lt;br /&gt;
|| [[File:Beam hardening Bh2c.png|none]] &lt;br /&gt;
|| &#039;&#039;&#039;3. Test images&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Left is Fe bearing, used reference plates and the setup from img. 2&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Right is Al plates, 3 and 8 mm, reference plates was several 3mm sheets&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Up – original images&amp;lt;br&amp;gt;&lt;br /&gt;
Mid – afther pxcApplyBHCorrection&amp;lt;br&amp;gt; &lt;br /&gt;
Down – mid afther pxcInterpolateBadPixels &amp;lt;br&amp;gt;&lt;br /&gt;
(range in all images auto-resized to grayscale 0-255)&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
[[File:Beam_hardening_Bh2a.jpg|thumb|none]]&lt;br /&gt;
|| &#039;&#039;&#039;4. The Al plates experimental setup&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1 – Cooler - Si chip used&amp;lt;br&amp;gt;&lt;br /&gt;
2 – The Minipix&amp;lt;br&amp;gt;&lt;br /&gt;
3 – Imaged aluminium plates&amp;lt;br&amp;gt;&lt;br /&gt;
4 – Thin Al sheet to reduce free beam / first ref. plate contrast&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= The synchronizing =&lt;br /&gt;
{|&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
[[File:The synchronizing-Widepix.jpg|200px|none]]&lt;br /&gt;
|| Sometimes it is necessary to synchronized with an external event. Or some instruments, Widepix-L for example, can be organized as set of more than 1 device in 1 box and more than 1 data cable go out. If you want start acquisition on whole instrument at exactly the same time, must use synchronization by the hardware trigger.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Synchronizing basics ==&lt;br /&gt;
The acquisition functions have the TrgStg parameter. The 4th argument &amp;quot;trigger settings&amp;quot; of the pxcMeasureTpx3DataDrivenMode(), for example. This have options:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PXC_TRG_NO&#039;&#039;&#039; || No sync. Normally start immediatelly and stop after acqTime.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PXC_TRG_HWSTART&#039;&#039;&#039; || Slave wait and start the acq. on HW signal, master can wait for slave ready.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PXC_TRG_HWSTOP&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;amp;nbsp; || Start the acq. immediatelly and stop on HW signal or after acqTime.&amp;lt;br&amp;gt;(Available only in specific devices, see sync. manual.)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PXC_TRG_HWSTARTSTOP&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;amp;nbsp; || Wait and start the acq. on HW signal and stop at next HW signal.&amp;lt;br&amp;gt;(Available only in specific devices, see sync. manual.)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PXC_TRG_SWSTART&#039;&#039;&#039; || Wait and start the acq. on SW signal = [[Binary_core_API#pxcDoSoftwareTrigger|pxcDoSoftwareTrigger()]].&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additionally, you must use the named parameters. You can read if the device is ready, is it master, etc and write some parameters. Details depends on the device type. Some devices allow reset the ToA counter without restart acquisition or start acquisition without reset the ToA counter.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;See:&#039;&#039;&#039; [[#Parameter_Get/Set_functions_(using_text_paramName)|Parameter Get/Set functions (using text paramName)]]&lt;br /&gt;
&lt;br /&gt;
== Synchronizing with an external source ==&lt;br /&gt;
Sync with the external source can depends on the device type. See the synchronization manual of your device type for hardware details.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; Way to use the external HW sync with the Advapix-Tpx3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Set some synchronization parameters: &amp;quot;TrgTimestamp&amp;quot;, &amp;quot;TrgT0SyncReset&amp;quot;, &amp;quot;TrgOutLevel&amp;quot;, &amp;quot;TrgOutEnable&amp;quot; using function to write the named parameters: pxcSetDeviceParameter.&amp;lt;br&amp;gt;&lt;br /&gt;
2. Read some synchronization parameters: &amp;quot;TrgReady&amp;quot;, &amp;quot;IsMaster&amp;quot; using the pxcGetDeviceParameter.&amp;lt;br&amp;gt;&lt;br /&gt;
3. Start the pxcMeasure... with some PXC_TRG_HW...&amp;lt;br&amp;gt;&lt;br /&gt;
4. Apply the sync signal to the input.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Synchronizing in multi-device instruments ==&lt;br /&gt;
(This text is primary about the WIdepix-L with 2 ethernet cables, if using other device, see the Synchronization manual of your device)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Decision which device is master&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
    isMaster = pxcGetDeviceParameter(devIdx, &amp;quot;TriggerMaster&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output is 0 for slave, 1 for master or single, &amp;lt;0 if the device not supports param name/type.&amp;lt;br&amp;gt;&lt;br /&gt;
; Note&lt;br /&gt;
: Some devices has &#039;&#039;&#039;IsMaster&#039;&#039;&#039; and some other has &#039;&#039;&#039;TriggerMaster&#039;&#039;&#039;.&lt;br /&gt;
: Some devices has output &#039;&#039;&#039;bool&#039;&#039;&#039; (read as int 0/1) and some other has &#039;&#039;&#039;string&#039;&#039;&#039; (read as char[] &amp;quot;Yes&amp;quot;/&amp;quot;No&amp;quot;)&lt;br /&gt;
: In universal software, expect all 4 combinations to exist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Master Setup&#039;&#039;&#039;&lt;br /&gt;
# Set the parameter TriggerStg = 0&lt;br /&gt;
# Set the parameter TriggerWaitForReady = 1&lt;br /&gt;
# Set the parameter TriggerOutLevel = 1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Slave setup&#039;&#039;&#039;&lt;br /&gt;
# Set the parameter TriggerStg = 2&lt;br /&gt;
# Set the parameter TriggerWaitForReady = 1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The measurement&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This can be simple if the continuous acquisition is used: This API function starts in separate thread:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
rcs = pxcMeasureContinuous(slvIdx, bufCnt, acqTime, PXC_TRG_HWSTART, callback, (intptr_t)slvIdx);&lt;br /&gt;
rcm = pxcMeasureContinuous(masIdx, bufCnt, acqTime, PXC_TRG_HWSTART, callback, (intptr_t)masIdx);&lt;br /&gt;
errorToList(&amp;quot;pxcMeasureContinuous s,m&amp;quot;, rcs, rcm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But if using other acq. functions, you must start slave acq. in separate thread manually.&amp;lt;br&amp;gt;&lt;br /&gt;
(see the Visual Studio example “Mpx3-2-sync”)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note Widepix-L&#039;&#039;&#039;&lt;br /&gt;
: If the acquisition time is long, approximately from 100 ms, the run is irregular and there may be long pauses (1 to 5 * acqTime) between acquisitions. This can be suppressed if master acqTime is approximately over 10 % longer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Widepix-L: The TriggerStg and TriggerOutLevel are linked in the following way:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Function !! Master TriggerStg !! Master TriggerOutLevel !! Slave TriggerStg !! Slave TriggerOutLevel&lt;br /&gt;
|-&lt;br /&gt;
| Sync 1:1 || 0 || 0 || 3 || X&lt;br /&gt;
|-&lt;br /&gt;
| Alternating sync || 0 || 0 || 2 || X&lt;br /&gt;
|-&lt;br /&gt;
| Alternating sync || 0 || 1 || 3 || X&lt;br /&gt;
|-&lt;br /&gt;
| Sync 1:1 || 0 || 1 || 2 || X&lt;br /&gt;
|}&lt;br /&gt;
X - the value doesn&#039;t matter&lt;br /&gt;
&lt;br /&gt;
== Synchronizing a multi-device with an external source ==&lt;br /&gt;
&lt;br /&gt;
Set the device normally for synchronizing in multi-device (See chapter above for details), but in the master settings set the TriggerStg alias TrgStg to 2 or 3 by the used edge of trigger signal. Be carefull if using 0 or 1.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Example setting for double-device external sync on rising edge&lt;br /&gt;
|-&lt;br /&gt;
! Function !! Master TriggerStg !! Master TriggerOutLevel !! Slave TriggerStg !! Slave TriggerOutLevel&lt;br /&gt;
|-&lt;br /&gt;
| Ext and 1:1 || 2 || 1 || 2 || X&lt;br /&gt;
|}&lt;br /&gt;
X - the value doesn&#039;t matter&lt;br /&gt;
&lt;br /&gt;
== Multi-device synchronizing examples ==&lt;br /&gt;
These samples are derived from the Mpx3 project from the AdvacamAPIexamples collection.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Global variables of the example:&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=C&amp;gt;&lt;br /&gt;
unsigned	*collectDevFrameD1 = NULL, *collectDevFrameD2 = NULL; // collected devs all frame data&lt;br /&gt;
unsigned	collectDevFramePxCnt = 0;	// collectDevFrameDx size = devWid * devHei * devCnt * collectImgCnt&lt;br /&gt;
unsigned	devcollectDevsIdx[256];		// list of devs to collect imgs&lt;br /&gt;
int			collectDevsCnt = -1;		// count of devs to be collected (&amp;gt;0 to enable)&lt;br /&gt;
int			collectDevsMasterIdx = -1;	// index of master position in devcollectDevsIdx[]&lt;br /&gt;
unsigned	collectDevWidth = -1, collectDevHeight = -1; // size of collected image&lt;br /&gt;
unsigned	collectImgsMax = 0; // =textColImgsMax-&amp;gt;Text; vertical count of images to be collected&lt;br /&gt;
int			collectDevCntCallbacks, collectDevCntOK, collectDevCntFail; // callbacks img collect status&lt;br /&gt;
&lt;br /&gt;
double		acqTime = 1.0;		// time for acq. functions&lt;br /&gt;
int			frameCount = 0;		// frames count for pxcMeasureMultipleFrames&lt;br /&gt;
								// or cilcular buffer frames count for pxcMeasureContinuous&lt;br /&gt;
int deviceMaxIdx = -1;			// maximal connected dev idx (count-1)&lt;br /&gt;
int deviceIndex = -1;			// index of the single device to be used&lt;br /&gt;
int frameLastIndex = -1;		// index of the frame that was viewed and for saving&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Preparing setup for synchronized Mpx3 multi-device example ===&lt;br /&gt;
Decision if the dev is master (all dev types with internal synchronization):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
int isDevMaster(unsigned di) {&lt;br /&gt;
	int rc = pxcGetDeviceParameter(di, &amp;quot;TriggerMaster&amp;quot;);&lt;br /&gt;
	if (rc == 0 || rc == 1) return rc;&lt;br /&gt;
&lt;br /&gt;
	rc = pxcGetDeviceParameter(di, &amp;quot;IsMaster&amp;quot;);&lt;br /&gt;
	if (rc == 0 || rc == 1) return rc;&lt;br /&gt;
&lt;br /&gt;
	char val[] = &amp;quot;   &amp;quot;;&lt;br /&gt;
	rc = pxcGetDeviceParameterString(di, &amp;quot;TriggerMaster&amp;quot;, val, 4);&lt;br /&gt;
	if (rc!=0) pxcGetDeviceParameterString(di, &amp;quot;IsMaster&amp;quot;, val, 4);&lt;br /&gt;
	if (rc == 0) {&lt;br /&gt;
		if (strcmp(val, &amp;quot;Yes&amp;quot;) == 0) return 1;&lt;br /&gt;
		else if (strcmp(val, &amp;quot;No&amp;quot;) == 0) return 0;&lt;br /&gt;
		else return MY_ERR_CODE;&lt;br /&gt;
	}&lt;br /&gt;
	return rc;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Setup devices, the textCollectDevsOrd contains device indexes order string, like as &amp;quot;102&amp;quot;, primary used to joining images side by side in the desired order (Tested with Widepix, ethernet or USB):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
collectDevsCnt = textCollectDevsOrd-&amp;gt;Text-&amp;gt;Length;&lt;br /&gt;
int trgMastCnt = 0;&lt;br /&gt;
for (int n = 0; n &amp;lt; collectDevsCnt; n++) {&lt;br /&gt;
	devcollectDevsIdx[n] = Convert::ToInt32(textCollectDevsOrd-&amp;gt;Text[n] - &#039;0&#039;);&lt;br /&gt;
	if (devcollectDevsIdx[n] &amp;gt; deviceMaxIdx) { // deviceMaxIdx = global, set after init pxcore&lt;br /&gt;
		collectDevsCnt = -1;&lt;br /&gt;
		msgToList(String::Format(&amp;quot;Collect devs: devIdx out of range {0}&amp;quot;, devcollectDevsIdx[n]));&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	int isMast = isDevMaster(devcollectDevsIdx[n]);&lt;br /&gt;
	if (isMast &amp;lt; 0) {&lt;br /&gt;
		errorToList(&amp;quot;pxcGetDeviceParameter TriggerMaster&amp;quot;, isMast);&lt;br /&gt;
		isMast = 0;&lt;br /&gt;
	}&lt;br /&gt;
	if (isMast == 1) {&lt;br /&gt;
		trgMastCnt++;&lt;br /&gt;
		collectDevsMasterIdx = n;&lt;br /&gt;
		rc = pxcSetDeviceParameter(devcollectDevsIdx[n], &amp;quot;TriggerStg&amp;quot;, 0);&lt;br /&gt;
		errorToList(&amp;quot;pxcSetDeviceParameter TriggerStg&amp;quot;, rc);&lt;br /&gt;
		rc = pxcSetDeviceParameter(devcollectDevsIdx[n], &amp;quot;TriggerWaitForReady&amp;quot;, 1);&lt;br /&gt;
		errorToList(&amp;quot;pxcSetDeviceParameter TriggerWaitForReady&amp;quot;, rc);&lt;br /&gt;
		rc = pxcSetDeviceParameter(devcollectDevsIdx[n], &amp;quot;TriggerOutLevel&amp;quot;, 1);&lt;br /&gt;
		errorToList(&amp;quot;pxcSetDeviceParameter TriggerOutLevel&amp;quot;, rc);&lt;br /&gt;
	} else {&lt;br /&gt;
		rc = pxcSetDeviceParameter(devcollectDevsIdx[n], &amp;quot;TriggerStg&amp;quot;, 2);&lt;br /&gt;
		errorToList(&amp;quot;pxcSetDeviceParameter TriggerStg&amp;quot;, rc);&lt;br /&gt;
		rc = pxcSetDeviceParameter(devcollectDevsIdx[n], &amp;quot;TriggerWaitForReady&amp;quot;, 1);&lt;br /&gt;
		errorToList(&amp;quot;pxcSetDeviceParameter TriggerWaitForReady&amp;quot;, rc);&lt;br /&gt;
		rc = pxcSetDeviceParameter(devcollectDevsIdx[n], &amp;quot;TriggerOutLevel&amp;quot;, 0);&lt;br /&gt;
		errorToList(&amp;quot;pxcSetDeviceParameter TriggerOutLevel&amp;quot;, rc);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
if (trgMastCnt != 1 || collectDevsCnt &amp;lt; 2) {&lt;br /&gt;
	msgToList(&amp;quot;Err: 2 or more devs incl. 1 TriggerMaster needed for collect&amp;quot;);&lt;br /&gt;
	collectDevsCnt = -1;&lt;br /&gt;
	collectDevsMasterIdx = -1;&lt;br /&gt;
} else {&lt;br /&gt;
	msgToList(String::Format(&amp;quot;Collect devs setup complete. Master idx/devIdx:{0}/{1}&amp;quot;,&lt;br /&gt;
		collectDevsMasterIdx, devcollectDevsIdx[collectDevsMasterIdx]));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starting acquisitions for synchronized Mpx3 multi-device example ===&lt;br /&gt;
This section using the callbacks to get actual data. The userData parameter is used to inform the callback function about source device index in the devcollectDevsIdx[]. Based on the index into devcollectDevsIdx[] and the frame index, a place in the buffer is selected and read from the device is called.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Setup and start the synchronized measurement with using continuous acquisition.&amp;lt;br&amp;gt;&lt;br /&gt;
Note: Continuous mode is not usable with TDI.&amp;lt;br&amp;gt;&lt;br /&gt;
(Tested with Widepix, ethernet or USB):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
rc = initMeasParams(&amp;quot;Continuous acq. with callback test&amp;quot;, true, true); // set-up buffers, operation mode and other measurement settings&lt;br /&gt;
if (rc!=0) return;&lt;br /&gt;
&lt;br /&gt;
if (collectDevsCnt &amp;gt; 0) {&lt;br /&gt;
	for (int n = 0; n &amp;lt;= collectDevsCnt; n++) {&lt;br /&gt;
		if (n == collectDevsMasterIdx) continue; // skip the master and start it at end&lt;br /&gt;
		int di = devcollectDevsIdx[n];&lt;br /&gt;
		if (n == collectDevsCnt) di = devcollectDevsIdx[collectDevsMasterIdx];&lt;br /&gt;
&lt;br /&gt;
		rc = pxcMeasureContinuous(di, frameCount, acqTime, PXC_TRG_HWSTART, clbContinuousAcq,&lt;br /&gt;
			(n &amp;lt; collectDevsCnt) ? n : collectDevsMasterIdx);&lt;br /&gt;
		msgToList(String::Format(&amp;quot;n:{0} di:{1} pxcMeasureContinuous {2} {3}&amp;quot;,&lt;br /&gt;
			n, di, rc, (rc==0)? &amp;quot;OK&amp;quot;: &amp;quot;failed&amp;quot;));&lt;br /&gt;
		if (rc != 0) return;&lt;br /&gt;
	}&lt;br /&gt;
} else {&lt;br /&gt;
	// pxcMeasureContinuous(unsigned deviceIndex, unsigned frameBufferSize, double frameTime, unsigned trgStg = PXC_TRG_NO, FrameMeasuredCallback callback = 0, intptr_t userData = 0);&lt;br /&gt;
	rc = pxcMeasureContinuous(deviceIndex, frameCount, acqTime, PXC_TRG_NO, clbContinuousAcq, NULL);&lt;br /&gt;
	errorToList(&amp;quot;pxcMeasureContinuous&amp;quot;, rc);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setup and start the synchronized measurement with using multi-acquisition.&amp;lt;br&amp;gt;&lt;br /&gt;
A bit more complicated, but works with TDI as well.&amp;lt;br&amp;gt;&lt;br /&gt;
(Tested with Widepix, ethernet or USB):&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=C&amp;gt;&lt;br /&gt;
int rc;&lt;br /&gt;
DWORD dwThrID;&lt;br /&gt;
HANDLE h;&lt;br /&gt;
&lt;br /&gt;
int rc = initMeasParams(&amp;quot;More frames with callback test&amp;quot;, true, true); // set-up buffers, operation mode and other measurement settings&lt;br /&gt;
if (rc!=0) return;&lt;br /&gt;
if (collectDevsCnt&amp;gt;0) {&lt;br /&gt;
	for (int n = 0; n &amp;lt;= collectDevsCnt; n++) {&lt;br /&gt;
		if (n == collectDevsMasterIdx) continue; // skip master and start it at end&lt;br /&gt;
		int di = devcollectDevsIdx[n];&lt;br /&gt;
		if (n == collectDevsCnt) di = devcollectDevsIdx[collectDevsMasterIdx];&lt;br /&gt;
		sMeasureMultFrsCallbackPars* thrData = new sMeasureMultFrsCallbackPars(di, frameCount, acqTime, PXC_TRG_HWSTART, clbFramesWC,&lt;br /&gt;
			(n &amp;lt; collectDevsCnt) ? n : collectDevsMasterIdx);&lt;br /&gt;
		h = CreateThread(NULL, 0, MeasureMultFrsCallbackThrFn, (void*)thrData, 0, &amp;amp;dwThrID);&lt;br /&gt;
		msgToList(String::Format(&amp;quot;n:{0} di:{1} CreateThread {2} OK&amp;quot;, n, di, (int)dwThrID));&lt;br /&gt;
		if (h == NULL) {&lt;br /&gt;
			msgToList(String::Format(&amp;quot;n:{0} di:{1} CreateThread {2} failed&amp;quot;, n, di, (int)dwThrID));&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
} else {&lt;br /&gt;
	sMeasureMultFrsCallbackPars* thrData = new sMeasureMultFrsCallbackPars(deviceIndex, frameCount, acqTime, PXC_TRG_NO, clbFramesWC, NULL);&lt;br /&gt;
	h = CreateThread(NULL, 0, MeasureMultFrsCallbackThrFn, (void*)thrData, 0, &amp;amp;dwThrID);&lt;br /&gt;
	msgToList(&amp;quot;pxcMeasureMultipleFramesWithCallback - thread &amp;quot; + System::Convert::ToString((int)dwThrID));&lt;br /&gt;
	if (h == NULL) return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Callbacks for synchronized Mpx3 multi-device example ===&lt;br /&gt;
Collecting the image data, called from callbacks (Tested with Widepix, ethernet or USB):&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=C&amp;gt;&lt;br /&gt;
// idx of devcollectDevsIdx, frame idx&lt;br /&gt;
void collectDevImgs(unsigned ndi, unsigned fIdx) {&lt;br /&gt;
	int rc;&lt;br /&gt;
	&lt;br /&gt;
	size_t		adrAdd = static_cast&amp;lt;size_t&amp;gt;(devPixels * (ndi + (fIdx % collectImgsMax) * collectDevsCnt));&lt;br /&gt;
	unsigned	*cd1 = collectDevFrameD1 + adrAdd;&lt;br /&gt;
	unsigned	*cd2 = collectDevFrameD2 + adrAdd;&lt;br /&gt;
	unsigned	bs = collectDevFramePxCnt - adrAdd;&lt;br /&gt;
&lt;br /&gt;
	if (bs &amp;lt; 0x80000000) {&lt;br /&gt;
		rc = pxcGetMeasuredFrameMpx3(devcollectDevsIdx[ndi], fIdx, cd1, cd2, &amp;amp;bs);&lt;br /&gt;
	} else rc = MY_ERROR_CODE;&lt;br /&gt;
&lt;br /&gt;
	collectDevCntCallbacks++;&lt;br /&gt;
	if (rc == 0) {&lt;br /&gt;
		collectDevCntOK++;&lt;br /&gt;
	} else {&lt;br /&gt;
		collectDevCntFail++;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The callbacks:&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=C&amp;gt;&lt;br /&gt;
// callback function for &amp;quot;frames with callback&amp;quot;&lt;br /&gt;
void clbFramesWC(intptr_t acqCount, intptr_t userData) {&lt;br /&gt;
	frameLastIndex = acqCount-1;&lt;br /&gt;
	clbCnt++;&lt;br /&gt;
	if (collectDevsCnt &amp;gt; 0) {&lt;br /&gt;
		collectDevImgs((unsigned)userData, frameLastIndex);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// callback function for continuous acquisition&lt;br /&gt;
void clbContinuousAcq(intptr_t acqCount, intptr_t userData) {&lt;br /&gt;
	if (acqCount&amp;lt;0) {&lt;br /&gt;
		clbError = acqCount;&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	frameLastDevIdx = (int)userData;&lt;br /&gt;
	clbCnt++;&lt;br /&gt;
&lt;br /&gt;
	if (acqCount&amp;lt;frameCount) {&lt;br /&gt;
		frameLastIndex = acqCount - 1;&lt;br /&gt;
	} else {&lt;br /&gt;
		if (++frameLastIndex&amp;gt;=acqCount) frameLastIndex = 0;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (collectDevsCnt &amp;gt; 0) {&lt;br /&gt;
		collectDevImgs((unsigned)userData, frameLastIndex);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight line lang=C&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rearranging measured data to complete image ===&lt;br /&gt;
When all measurements are complete, the data is arranged in memory so that each frame from each device occupies a contiguous area. In order for images to be connected when displaying, each line of the resulting image must contain lines from individual neighboring devices.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Rearranging data from two adjacent sub-devices and three images &lt;br /&gt;
|-&lt;br /&gt;
! Measured data in memory !! style=&amp;quot;width:50px;&amp;quot; rowspan=7 |  !! colspan=2| Rearranged data in memory&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:30px; width:400px; text-align:center;&amp;quot; |device 0 / frame 0&lt;br /&gt;
| style=&amp;quot;height:60px; width:200px; text-align:center;&amp;quot; rowspan=2 |device 0 / frame 0&lt;br /&gt;
| style=&amp;quot;height:60px; width:200px; text-align:center;&amp;quot; rowspan=2 |device 1 / frame 0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:30px; width:400px; text-align:center;&amp;quot; |device 1 / frame 0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:30px; width:400px; text-align:center;&amp;quot; |device 0 / frame 1&lt;br /&gt;
| style=&amp;quot;height:60px; width:200px; text-align:center;&amp;quot; rowspan=2 |device 0 / frame 1&lt;br /&gt;
| style=&amp;quot;height:60px; width:200px; text-align:center;&amp;quot; rowspan=2 |device 1 / frame 1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:30px; width:400px; text-align:center;&amp;quot; |device 1 / frame 1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:30px; width:400px; text-align:center;&amp;quot; |device 0 / frame 2&lt;br /&gt;
| style=&amp;quot;height:60px; width:200px; text-align:center;&amp;quot; rowspan=2 |device 0 / frame 2&lt;br /&gt;
| style=&amp;quot;height:60px; width:200px; text-align:center;&amp;quot; rowspan=2 |device 1 / frame 2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;height:30px; width:400px; text-align:center;&amp;quot; |device 1 / frame 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight line=&amp;quot;&amp;quot; lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
compiledFr1 = (unsigned*)malloc(collectDevFramePxCnt * sizeof(unsigned));&lt;br /&gt;
//compiledFr2 = (unsigned*)malloc(collectDevFramePxCnt * sizeof(unsigned));&lt;br /&gt;
&lt;br /&gt;
compiledImgData1 = (int*)malloc(collectDevFramePxCnt * sizeof(int));&lt;br /&gt;
//compiledImgData2 = (int*)malloc(collectDevFramePxCnt * sizeof(int));&lt;br /&gt;
&lt;br /&gt;
if (!compiledFr1 || !compiledImgData1) {&lt;br /&gt;
	msgToList(&amp;quot;viewCollectedDevsFrs: Memory allocation failed&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	if (compiledFr1) free(compiledFr1);&lt;br /&gt;
	if (compiledFr2) free(compiledFr2);&lt;br /&gt;
	if (compiledImgData1) free(compiledImgData1);&lt;br /&gt;
	if (compiledImgData2) free(compiledImgData2);&lt;br /&gt;
	return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
size_t adrAddIn = 0, adrAddOut = 0;&lt;br /&gt;
// adrAdd = devPixels * ndi   +   collectDevsCnt * devPixels * (fIdx % collectImgsMax);&lt;br /&gt;
for (size_t fi = 0; fi &amp;lt; collectImgsMax; fi++) {			// frames&lt;br /&gt;
	for (size_t lin = 0; lin &amp;lt; collectDevHeight; lin++) {	// lines of single frame&lt;br /&gt;
		for (size_t ndi = 0; ndi &amp;lt; collectDevsCnt; ndi++) {	// subdevices idxs in collectDevsCnt&lt;br /&gt;
			adrAddIn = collectDevsCnt * devPixels * fi + devPixels * ndi + devWidth * lin;&lt;br /&gt;
&lt;br /&gt;
			if (checkCollectReverseLines-&amp;gt;Checked) {&lt;br /&gt;
				for (size_t x = 0; x &amp;lt; devWidth; x++) {&lt;br /&gt;
					(compiledFr1 + adrAddOut)[x] = (collectDevFrameD1 + adrAddIn)[devWidth - x];&lt;br /&gt;
					//(compiledFr2 + adrAddOut)[x] = (collectDevFrameD2 + adrAddIn)[devWidth - x];&lt;br /&gt;
				}&lt;br /&gt;
			} else {&lt;br /&gt;
				memcpy(compiledFr1 + adrAddOut, collectDevFrameD1 + adrAddIn, devWidth * sizeof(unsigned));&lt;br /&gt;
				//memcpy(compiledFr2 + adrAddOut, collectDevFrameD2 + adrAddIn, devWidth * sizeof(unsigned));&lt;br /&gt;
			}&lt;br /&gt;
			adrAddOut += (size_t)devWidth;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
colorizeData(compiledFr1, compiledImgData1, collectDevFramePxCnt);&lt;br /&gt;
Bitmap^ bmp1c = gcnew Bitmap(collectDevWidth, collectDevHeight * collectImgsMax, collectDevWidth * 4, System::Drawing::Imaging::PixelFormat::Format32bppRgb, (IntPtr)compiledImgData1);&lt;br /&gt;
pictureBox3-&amp;gt;SizeMode = PictureBoxSizeMode::StretchImage;&lt;br /&gt;
pictureBox3-&amp;gt;Image = bmp1c;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Related=&lt;br /&gt;
*[[Pixet SDK]]&lt;br /&gt;
*[[Files and directories of the Pixet and SDK#Main directory of the API-using programs, independent on the Pixet|Files and directories: Main directory of the API-using programs]]&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_API&amp;diff=1156</id>
		<title>TraX Engine API</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_API&amp;diff=1156"/>
		<updated>2024-07-30T12:28:05Z</updated>

		<summary type="html">&lt;p&gt;MarekL: Created page with &amp;quot;wiki page with API manual etc&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;wiki page with API manual etc&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1152</id>
		<title>TraX Engine GUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=TraX_Engine_GUI&amp;diff=1152"/>
		<updated>2024-07-12T15:10:36Z</updated>

		<summary type="html">&lt;p&gt;MarekL: Created page with &amp;quot;TraX Engine GUI manual and documentation&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TraX Engine GUI manual and documentation&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1151</id>
		<title>Noisy pixels masking</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1151"/>
		<updated>2024-07-10T13:01:47Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* Implementation in Pixet C API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The detector response can be changed due to the environment conditions. One of the results might be appearing of so-called noisy pixels. These pixels produces artificial signal which is not generated by radiation interacting in the sensor volume. Generally for most of the measurements, these pixels should be removed before the measurement. Fro these purposes, the method below and its implementation into Pixet C++ API was done.&lt;br /&gt;
&lt;br /&gt;
== Method description ==&lt;br /&gt;
&lt;br /&gt;
Two types of noisy pixels are defined: &#039;&#039;&#039;saturated&#039;&#039;&#039; and &#039;&#039;&#039;oscillating&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The saturated pixels produces signals constantly and is always above the threshold. These pixels can be easily observed in the ToT frame measurement when they have usually value equal to the amount of counts in that given acquisition time (for example if t_acq = 0.1 ms with 40 MHz clock, then their ToT value is close to 40 000 000 * 0.1/1000 = 4000 ToT counts). &lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are very close to threshold and produces their signals randomly but steadily based on very small changes in the conditions. These pixels can be observed in the count measurements when they produces large values of counts.&lt;br /&gt;
&lt;br /&gt;
In the proposed methodology, the saturation pixels are detected in ToT measurement. An additional scaling factor is introduced to defined the minimal limit for a pixel to be considered as saturated one. This limits defines portion of the expected ToT values for the given acquisition time of the measurement. The default value of this parameter is 50 which means that every pixels in 0.1 ms measurement whose &#039;&#039;&#039;ToT value is more that (50/100) * (40 000 000 * 0.1/1000) = 2000 are considered to be saturated.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are detected in count measurement and minimal value to &#039;&#039;&#039;marked pixels as oscillating is 50 counts&#039;&#039;&#039;. In other words, all pixels with count values more or equal to 50 are oscillating pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All oscillating and  saturated pixels are considered as noisy pixels and this methods would mask them.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This method itself is very &#039;&#039;&#039;suitable for silicon sensors&#039;&#039;&#039;. The CdTe sensors introduces new difficulties and are discussed in the section below.&lt;br /&gt;
&lt;br /&gt;
=== CdTe Sensors ===&lt;br /&gt;
In the case of CdTe sensors, the technique proposed above could be accompanied  with lowering of threshold or with complete verification of equalization. This part is to be tested and it is NOT implemented in the software solution below.&lt;br /&gt;
&lt;br /&gt;
== Implementation in Pixet C API ==&lt;br /&gt;
&lt;br /&gt;
The function definition can be found below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// Finds noisy pixels and it can optionally masked them. Designed for TPX3 devices in environment WITHOUT radiation background.&lt;br /&gt;
// [in] deviceIndex - index of the device (indexing starting from 0)&lt;br /&gt;
// [in] limitNoisy - limit to mask noisy pixels. It goes from 1 to 1022, where 1 is the most strongest masking and 1022 is the weakest.&lt;br /&gt;
// [in] limitSatur - limit to mask saturated pixels. It goes from 0 to 100, where 0 is the most strongest masking and 100 is the weakest.&lt;br /&gt;
// [in] doMaskNoisyPixels - control to mask noisy pixels within the process. Default is false alias do not mask the found pixels.&lt;br /&gt;
// [in] matrixSize - size of the matrix.&lt;br /&gt;
// [in/out] noisyPixelsMatrix - mask/positions of noisy pixels.&lt;br /&gt;
PXCAPI int pxcFindNoisyPixels(unsigned deviceIndex, double limitNoisy = 50, double limitSatur = 50, bool doMaskNoisyPixels = false, &lt;br /&gt;
                                unsigned* noisyPixelsMatrix = nullptr, unsigned matrixSize = 65536);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed explanation of the individual parameters influencing the masking performance can be found in the section above.&lt;br /&gt;
&lt;br /&gt;
Example of usage:&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;pxcapi.h&amp;quot;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() &lt;br /&gt;
{&lt;br /&gt;
    int rc=  0;&lt;br /&gt;
&lt;br /&gt;
    rc = pxcInitialize();&lt;br /&gt;
&lt;br /&gt;
    double limitNoisy = 10;&lt;br /&gt;
    double limitSatur = 50;&lt;br /&gt;
    unsigned matrixSize = 65536;&lt;br /&gt;
    unsigned int noisyPixelsMatrix[65536];&lt;br /&gt;
        &lt;br /&gt;
    rc = pxcFindNoisyPixels(0, limitNoisy, limitSatur, true, noisyPixelsMatrix, matrixSize);&lt;br /&gt;
    &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);    &lt;br /&gt;
    printf(&amp;quot;Found noisy pixels\n&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(noisyPixelsMatrix[i] == 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%d\n&amp;quot;, i, noisyPixelsMatrix[i] );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional frame measurement to check hit pixels\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    double dataIToT[65536];&lt;br /&gt;
    unsigned short dataCount[65536];&lt;br /&gt;
&lt;br /&gt;
    rc = pxcMeasureSingleFrameTpx3(0, 0.1, dataIToT, dataCount, &amp;amp;matrixSize, PXC_TRG_NO);&lt;br /&gt;
    &lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(dataIToT[i] &amp;gt;= 1 or dataCount[i] &amp;gt;= 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%.0f\t%d\n&amp;quot;,i, dataIToT[i], dataCount[i]);&lt;br /&gt;
    }  &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional measurement in data driven\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcSetTimepix3Mode(0, PXC_TPX3_OPM_TOATOT);    &lt;br /&gt;
    rc = pxcMeasureTpx3DataDrivenMode(0, 1, &amp;quot;data.t3pa&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcExit();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1150</id>
		<title>Noisy pixels masking</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1150"/>
		<updated>2024-07-10T13:01:14Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* Implementation in Pixet C API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The detector response can be changed due to the environment conditions. One of the results might be appearing of so-called noisy pixels. These pixels produces artificial signal which is not generated by radiation interacting in the sensor volume. Generally for most of the measurements, these pixels should be removed before the measurement. Fro these purposes, the method below and its implementation into Pixet C++ API was done.&lt;br /&gt;
&lt;br /&gt;
== Method description ==&lt;br /&gt;
&lt;br /&gt;
Two types of noisy pixels are defined: &#039;&#039;&#039;saturated&#039;&#039;&#039; and &#039;&#039;&#039;oscillating&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The saturated pixels produces signals constantly and is always above the threshold. These pixels can be easily observed in the ToT frame measurement when they have usually value equal to the amount of counts in that given acquisition time (for example if t_acq = 0.1 ms with 40 MHz clock, then their ToT value is close to 40 000 000 * 0.1/1000 = 4000 ToT counts). &lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are very close to threshold and produces their signals randomly but steadily based on very small changes in the conditions. These pixels can be observed in the count measurements when they produces large values of counts.&lt;br /&gt;
&lt;br /&gt;
In the proposed methodology, the saturation pixels are detected in ToT measurement. An additional scaling factor is introduced to defined the minimal limit for a pixel to be considered as saturated one. This limits defines portion of the expected ToT values for the given acquisition time of the measurement. The default value of this parameter is 50 which means that every pixels in 0.1 ms measurement whose &#039;&#039;&#039;ToT value is more that (50/100) * (40 000 000 * 0.1/1000) = 2000 are considered to be saturated.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are detected in count measurement and minimal value to &#039;&#039;&#039;marked pixels as oscillating is 50 counts&#039;&#039;&#039;. In other words, all pixels with count values more or equal to 50 are oscillating pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All oscillating and  saturated pixels are considered as noisy pixels and this methods would mask them.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This method itself is very &#039;&#039;&#039;suitable for silicon sensors&#039;&#039;&#039;. The CdTe sensors introduces new difficulties and are discussed in the section below.&lt;br /&gt;
&lt;br /&gt;
=== CdTe Sensors ===&lt;br /&gt;
In the case of CdTe sensors, the technique proposed above could be accompanied  with lowering of threshold or with complete verification of equalization. This part is to be tested and it is NOT implemented in the software solution below.&lt;br /&gt;
&lt;br /&gt;
== Implementation in Pixet C API ==&lt;br /&gt;
&lt;br /&gt;
The function definition can be found below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// Finds noisy pixels and it can optionally masked them. Designed for TPX3 devices in environment WITHOUT radiation background.&lt;br /&gt;
// [in] deviceIndex - index of the device (indexing starting from 0)&lt;br /&gt;
// [in] limitNoisy - limit to mask noisy pixels. It goes from 1 to 1022, where 1 is the most strongest masking and 1022 is the weakest.&lt;br /&gt;
// [in] limitSatur - limit to mask saturated pixels. It goes from 0 to 100, where 0 is the most strongest masking and 100 is the weakest.&lt;br /&gt;
// [in] doMaskNoisyPixels - control to mask noisy pixels within the process. Default is false alias do not mask the found pixels.&lt;br /&gt;
// [in] matrixSize - size of the matrix.&lt;br /&gt;
// [in/out] noisyPixelsMatrix - mask/positions of noisy pixels.&lt;br /&gt;
PXCAPI int pxcFindNoisyPixels(unsigned deviceIndex, double limitNoisy = 50, double limitSatur = 50, bool doMaskNoisyPixels = false, &lt;br /&gt;
                                unsigned* noisyPixelsMatrix = nullptr, unsigned matrixSize = 65536);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed explanation of the individual parameters influencing the masking performance can be fount in the section above.Example of usage:&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;pxcapi.h&amp;quot;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() &lt;br /&gt;
{&lt;br /&gt;
    int rc=  0;&lt;br /&gt;
&lt;br /&gt;
    rc = pxcInitialize();&lt;br /&gt;
&lt;br /&gt;
    double limitNoisy = 10;&lt;br /&gt;
    double limitSatur = 50;&lt;br /&gt;
    unsigned matrixSize = 65536;&lt;br /&gt;
    unsigned int noisyPixelsMatrix[65536];&lt;br /&gt;
        &lt;br /&gt;
    rc = pxcFindNoisyPixels(0, limitNoisy, limitSatur, true, noisyPixelsMatrix, matrixSize);&lt;br /&gt;
    &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);    &lt;br /&gt;
    printf(&amp;quot;Found noisy pixels\n&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(noisyPixelsMatrix[i] == 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%d\n&amp;quot;, i, noisyPixelsMatrix[i] );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional frame measurement to check hit pixels\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    double dataIToT[65536];&lt;br /&gt;
    unsigned short dataCount[65536];&lt;br /&gt;
&lt;br /&gt;
    rc = pxcMeasureSingleFrameTpx3(0, 0.1, dataIToT, dataCount, &amp;amp;matrixSize, PXC_TRG_NO);&lt;br /&gt;
    &lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(dataIToT[i] &amp;gt;= 1 or dataCount[i] &amp;gt;= 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%.0f\t%d\n&amp;quot;,i, dataIToT[i], dataCount[i]);&lt;br /&gt;
    }  &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional measurement in data driven\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcSetTimepix3Mode(0, PXC_TPX3_OPM_TOATOT);    &lt;br /&gt;
    rc = pxcMeasureTpx3DataDrivenMode(0, 1, &amp;quot;data.t3pa&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcExit();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1149</id>
		<title>Noisy pixels masking</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1149"/>
		<updated>2024-07-10T13:00:39Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* Implementation in Pixet C API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The detector response can be changed due to the environment conditions. One of the results might be appearing of so-called noisy pixels. These pixels produces artificial signal which is not generated by radiation interacting in the sensor volume. Generally for most of the measurements, these pixels should be removed before the measurement. Fro these purposes, the method below and its implementation into Pixet C++ API was done.&lt;br /&gt;
&lt;br /&gt;
== Method description ==&lt;br /&gt;
&lt;br /&gt;
Two types of noisy pixels are defined: &#039;&#039;&#039;saturated&#039;&#039;&#039; and &#039;&#039;&#039;oscillating&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The saturated pixels produces signals constantly and is always above the threshold. These pixels can be easily observed in the ToT frame measurement when they have usually value equal to the amount of counts in that given acquisition time (for example if t_acq = 0.1 ms with 40 MHz clock, then their ToT value is close to 40 000 000 * 0.1/1000 = 4000 ToT counts). &lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are very close to threshold and produces their signals randomly but steadily based on very small changes in the conditions. These pixels can be observed in the count measurements when they produces large values of counts.&lt;br /&gt;
&lt;br /&gt;
In the proposed methodology, the saturation pixels are detected in ToT measurement. An additional scaling factor is introduced to defined the minimal limit for a pixel to be considered as saturated one. This limits defines portion of the expected ToT values for the given acquisition time of the measurement. The default value of this parameter is 50 which means that every pixels in 0.1 ms measurement whose &#039;&#039;&#039;ToT value is more that (50/100) * (40 000 000 * 0.1/1000) = 2000 are considered to be saturated.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are detected in count measurement and minimal value to &#039;&#039;&#039;marked pixels as oscillating is 50 counts&#039;&#039;&#039;. In other words, all pixels with count values more or equal to 50 are oscillating pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All oscillating and  saturated pixels are considered as noisy pixels and this methods would mask them.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This method itself is very &#039;&#039;&#039;suitable for silicon sensors&#039;&#039;&#039;. The CdTe sensors introduces new difficulties and are discussed in the section below.&lt;br /&gt;
&lt;br /&gt;
=== CdTe Sensors ===&lt;br /&gt;
In the case of CdTe sensors, the technique proposed above could be accompanied  with lowering of threshold or with complete verification of equalization. This part is to be tested and it is NOT implemented in the software solution below.&lt;br /&gt;
&lt;br /&gt;
== Implementation in Pixet C API ==&lt;br /&gt;
&lt;br /&gt;
The function definition can be found below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// Finds noisy pixels and it can optionally masked them. Designed for devices in environment WITHOUT radiation background.&lt;br /&gt;
// [in] deviceIndex - index of the device (indexing starting from 0)&lt;br /&gt;
// [in] limitNoisy - limit to mask noisy pixels. It goes from 1 to 1022, where 1 is the most strongest masking and 1022 is the weakest.&lt;br /&gt;
// [in] limitSatur - limit to mask saturated pixels. It goes from 0 to 100, where 0 is the most strongest masking and 100 is the weakest.&lt;br /&gt;
// [in] doMaskNoisyPixels - control to mask noisy pixels within the process. Default is false alias do not mask the found pixels.&lt;br /&gt;
// [in] matrixSize - size of the matrix.&lt;br /&gt;
// [in/out] noisyPixelsMatrix - mask/positions of noisy pixels.&lt;br /&gt;
PXCAPI int pxcFindNoisyPixels(unsigned deviceIndex, double limitNoisy = 50, double limitSatur = 50, bool doMaskNoisyPixels = false, &lt;br /&gt;
                                unsigned* noisyPixelsMatrix = nullptr, unsigned matrixSize = 65536);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed explanation of the individual parameters influencing the masking performance can be fount in the section above.Example of usage:&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;pxcapi.h&amp;quot;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() &lt;br /&gt;
{&lt;br /&gt;
    int rc=  0;&lt;br /&gt;
&lt;br /&gt;
    rc = pxcInitialize();&lt;br /&gt;
&lt;br /&gt;
    double limitNoisy = 10;&lt;br /&gt;
    double limitSatur = 50;&lt;br /&gt;
    unsigned matrixSize = 65536;&lt;br /&gt;
    unsigned int noisyPixelsMatrix[65536];&lt;br /&gt;
        &lt;br /&gt;
    rc = pxcFindNoisyPixels(0, limitNoisy, limitSatur, true, noisyPixelsMatrix, matrixSize);&lt;br /&gt;
    &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);    &lt;br /&gt;
    printf(&amp;quot;Found noisy pixels\n&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(noisyPixelsMatrix[i] == 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%d\n&amp;quot;, i, noisyPixelsMatrix[i] );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional frame measurement to check hit pixels\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    double dataIToT[65536];&lt;br /&gt;
    unsigned short dataCount[65536];&lt;br /&gt;
&lt;br /&gt;
    rc = pxcMeasureSingleFrameTpx3(0, 0.1, dataIToT, dataCount, &amp;amp;matrixSize, PXC_TRG_NO);&lt;br /&gt;
    &lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(dataIToT[i] &amp;gt;= 1 or dataCount[i] &amp;gt;= 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%.0f\t%d\n&amp;quot;,i, dataIToT[i], dataCount[i]);&lt;br /&gt;
    }  &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional measurement in data driven\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcSetTimepix3Mode(0, PXC_TPX3_OPM_TOATOT);    &lt;br /&gt;
    rc = pxcMeasureTpx3DataDrivenMode(0, 1, &amp;quot;data.t3pa&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcExit();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1137</id>
		<title>DPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=DPE&amp;diff=1137"/>
		<updated>2024-05-27T08:06:44Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* Detector Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery widths=&amp;quot;100&amp;quot; heights=&amp;quot;50&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Advacam log.png|link=http://advacam.com&lt;br /&gt;
File:Esa logo 2.png|link=https://www.esa.int/&lt;br /&gt;
&amp;lt;/gallery&amp;gt;The DPE (Data Processing Engine) is a software tool which serves for a processing of data acquired with the Timepix detectors (TPX, TPX2, TPX3). The following list includes the main processing parts of the DPE:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Pre-processing&#039;&#039;&#039;: clustering of data with application of calibration and corrections, calculation of cluster variables/parameters, creation of histograms&lt;br /&gt;
* &#039;&#039;&#039;Processing&#039;&#039;&#039;: particle recognition and radiation field recognition&lt;br /&gt;
* &#039;&#039;&#039;Post-processing&#039;&#039;&#039;: directional analysis, coincidence analysis, Compton camera, generation of physical products and their time evolution with respect to the radiation field classification (fluxes, dose rates etc.)&lt;br /&gt;
The following information describes its &#039;&#039;&#039;command line platform&#039;&#039;&#039; and it is &#039;&#039;&#039;valid for version&#039;&#039;&#039; &#039;&#039;&#039;1.1.0&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot; showthumbnails=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
File:Pid.png|Example of particle classification for data acquired onn board of ISS with TPX3 500um.&lt;br /&gt;
File:ISS IntegratedPlot.png&lt;br /&gt;
File:Hist1D H Total.png&lt;br /&gt;
File:Hist2D E S HighE Total.png&lt;br /&gt;
File:Cocam projection.png&lt;br /&gt;
File:ClusterVariables LogY.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;Apology for Temporary Download Unavailability Due to Maintenance&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;&#039;&#039;&#039;In the case of interest, please contact: lukas.marek@advacam.cz&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The data processing engine can be downloaded from the following sources based on the needed computer configuration:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux &lt;br /&gt;
|[[Media:DPE_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows x64&lt;br /&gt;
|[[Media:DPE_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The linux version was built on Ubuntu 20.04 with g++ version 9.4.0.&lt;br /&gt;
&lt;br /&gt;
Following links can be used to download API in C++:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Operataion system&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Linux API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0_Linux.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|Windows API c++&lt;br /&gt;
|[[Media:DPEApiCpp_1_1_0.zip]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples of DPE usage for sevetal cases can be downloaded from the following link:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!File&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Examples&lt;br /&gt;
|[[Media:DPE_Example.zip]]&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequisites, Install and Run==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
To create graphics, &#039;&#039;&#039;python3&#039;&#039;&#039; and several python packages are needed:&lt;br /&gt;
&lt;br /&gt;
* matplotlib (version &amp;amp;gt;= 3.4)&lt;br /&gt;
* numpy&lt;br /&gt;
* multiprocessing - only if creation of graphics should be done on several threads/cores of CPU&lt;br /&gt;
&lt;br /&gt;
The program, especially in the case of graphic export, needs several &#039;&#039;&#039;hundreds of MB on RAM&#039;&#039;&#039; (app 500 MB but it is based on the size of exported histograms). If the multiprocessing is used then the &#039;&#039;&#039;RAM usage can be up several GB&#039;&#039;&#039; and all threads of the CPU might be used.&lt;br /&gt;
&lt;br /&gt;
=== Install ===&lt;br /&gt;
In the directory where the program should be installed, extract all the files from downloaded archive/zip.&lt;br /&gt;
=== Run the program on linux ===&lt;br /&gt;
The DPE is started with the following program in the command line from the installation directory: &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;     ./dpe.sh  PARAMETERS_FILE_PATH/PARATERS_FILE_NAME&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PARAMETERS_FILE_PATH&amp;lt;/code&amp;gt; is path to the parameters file and PARATERS_FILE_NAME is its name. It is possible that  dpe.sh and clusterer have to be allowed as an executable: &amp;lt;code&amp;gt;chmod +x clusterer&amp;lt;/code&amp;gt;. &lt;br /&gt;
=== Run the program on windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe PARAMETERS_FILE_PATH\PARATERS_FILE_NAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your path or name of the parameters includes white spaces enclose it in quotes: “PARAMETERS_F ILE_ PATH_F ILE_NAME”. The input parameter into the DPE containing the path and name of the parameter file can be omitted if the file is in the same directory as the DPE and its name is &#039;&#039;ParametersFile.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== First Example of Run==&lt;br /&gt;
&lt;br /&gt;
This sections includes information about the first run of the DPE based on the ParamteresFile given with the program example. Example directory can be found and downloaded for the same download link. It includes needed inputs for the example to run on linux and windows systems. In the case of running example on linux system then it is needed to download following directories: &#039;&#039;Linux, Clusterer, Example&#039;&#039;. The example can be run with following command from the &#039;&#039;Linux&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;    chmod +x dpe.sh&lt;br /&gt;
    ./dpe.sh ./ParametersFile.txt&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The output should be exported into the &#039;&#039;Example/Output&#039;&#039; directory. The given data is a mixed sample of proton, electron and alpha ion data measured with TPX3 500 um. Run of the DPE should read the main parameters file &#039;&#039;ParametersFile.txt&#039;&#039; and create several export directories with files and graphics:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;EventVisual&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;File&#039;&#039; - main data files: elist, cluster log and sampling list.&lt;br /&gt;
* &#039;&#039;Graph&#039;&#039; - graphical representation of the sampling list.&lt;br /&gt;
* &#039;&#039;Hist&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;SpatialMap&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;SigVec&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;Direction&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;CoincEvent&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
The main configuration is done in the &#039;&#039;ParametersFile.txt&#039;&#039; and meaning of individual parameters can be found directly there or in this document. Other files in the &#039;&#039;Example&#039;&#039; directory determine the creation of histograms (&#039;&#039;Hist.ini&#039;&#039;), masking of the raw data (&#039;&#039;Mask.txt&#039;&#039;), filtering of cluster (&#039;&#039;Filter.ini&#039;&#039;) and creation of the SigVec (&#039;&#039;SigVec.ini&#039;&#039;). Pre-generated referential results can be found in the directory &#039;&#039;Ref&#039;&#039;. More information about their format can be found in the next sections in this document.&lt;br /&gt;
&lt;br /&gt;
The similar example can be also made on Windows with alternative command from the directory &#039;&#039;Windows&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;ps&amp;quot;&amp;gt;    DPE.exe .\ParametersFile.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
The output and its description is the same as the for the linux system above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Examples ===&lt;br /&gt;
&lt;br /&gt;
Additional examples can be found in the directory &#039;&#039;Example/Test&#039;&#039; which includes several examples from testing. The input data are in directory &#039;&#039;data&#039;&#039; and its output can be found in the directory &#039;&#039;ref&#039;&#039; (referential output). The examples comprehend following cases:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;T3PA input&#039;&#039;&#039; - t3pa input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input&#039;&#039;&#039; - 20x t3pa files as input with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa TPX3 input&#039;&#039;&#039; - clog tot+toa from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot TPX input&#039;&#039;&#039; - clog tot from TPX with default settings (protons HE).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG itot+count TPX3 input&#039;&#039;&#039; - clog itot+count from TPX3 with default settings (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Hist with T3PA&#039;&#039;&#039; - Hist settings with T3PA file as input.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Filter with T3PA&#039;&#039;&#039; - Filter settings with T3PA file as input (Am241 source).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec with T3PA&#039;&#039;&#039; - SigVec settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Mask with T3PA&#039;&#039;&#039; - Mask settings (general file) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with T3PA and CdTe&#039;&#039;&#039; - Comparator with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist old input&#039;&#039;&#039; - elist as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa input&#039;&#039;&#039; - pregenerated t3pa for physical variables etc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;SigVec and Hist with T3PA&#039;&#039;&#039; - SigVec and Hist settings with T3PA file as input to produce SigVec from 2D hist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG event input&#039;&#039;&#039; - clog event with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG toa input&#039;&#039;&#039; - clog toa with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+time proc input&#039;&#039;&#039; - clog tot+time after processing with default settings.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3P input&#039;&#039;&#039; - t3p input with default setting (ba133)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;T3R input&#039;&#039;&#039; - t3r input with default settings (upper part of detector was masked)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix event input&#039;&#039;&#039; - matrix event input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Matrix tot input&#039;&#039;&#039; - matrix tot input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Elist extended input&#039;&#039;&#039; - elist extended input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Graphics output CLOG tot+toa TPX3 input&#039;&#039;&#039; - graphics output for CLOG tot+toa TPX3 input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Several T3PAs input, just dir name&#039;&#039;&#039; - several t3pa files, just specifying dir name as input with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Comparator with own DB&#039;&#039;&#039; - input is own DB for camparator and settings of SigVec and Hist for t3pa input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program version&#039;&#039;&#039; - print program version with -v&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Print program help&#039;&#039;&#039; - print program help with -h&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Ignore clusters at sensor edge&#039;&#039;&#039; - remove clusters at sensor edge with default settings with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Pixet mask with T3PA&#039;&#039;&#039; - Mask settings (pixet mask) with T3PA file as input&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Acceptance of all param&#039;&#039;&#039; - param file with all params and their acceptanc.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;CLOG tot+toa meas input&#039;&#039;&#039; - clog tot+toa from measurement with default settings&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Generated t3pa 2x&#039;&#039;&#039; - pregenerated t3pa two times to check connection of two separate measurement files&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Coincidence analysis&#039;&#039;&#039; - coincidence and matching analysis (time coincidence window and products)&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Directional analysis&#039;&#039;&#039; - directional analysis with proton 200 MeV 75 deg data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Compton analysis single forward&#039;&#039;&#039; - Compton analysis for single layer forward (other analysis are off due to pregenerated data).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Ba133 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;RadFiledRecog analysis&#039;&#039;&#039; - radiation field recognition for 2mm CdTe TPX3 with Cs137 data.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Frame analysis&#039;&#039;&#039; - frame analysis.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Detector geometry&#039;&#039;&#039; - setting of geometry via geo det config file.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist&#039;&#039;&#039; - advanced elist.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Adv elist extended&#039;&#039;&#039; - advanced elist extended in dpe.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;All analysis and their switches&#039;&#039;&#039; - using all analysis and turning them off compatibility.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Length correction option&#039;&#039;&#039; - setting different length correction.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;High energy correction TPX&#039;&#039;&#039; - using high energy correction for TPX alpha Am241 (200V, peak around 3 MeV).&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - missing param file&#039;&#039;&#039; - error behavior without parameters file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty file&#039;&#039;&#039; - error behavior with empty file file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - simple elist&#039;&#039;&#039; - error behavior with simple elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - nonsense file&#039;&#039;&#039; - error behavior with nonsense file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - empty clog&#039;&#039;&#039; - error behavior with empty clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - incorrect clog&#039;&#039;&#039; - error behavior with incorrect clog&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - partial elist&#039;&#039;&#039; - error behavior with partial elist&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - dsc file&#039;&#039;&#039; - error behavior with dsc file&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - matrix toa&#039;&#039;&#039; - error behavior with matrix toa&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Err - module configs without path&#039;&#039;&#039; - error behavior of module configs wrong path&lt;br /&gt;
&lt;br /&gt;
All examples were produced on linux system but they should be also valid for windows system.&amp;lt;br /&amp;gt;&lt;br /&gt;
Note that some of the examples were written with older syntax from previous versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
This syntax is still valid, but not stated in the list below and it should be easy to follow which names were replaced with the new ones (e.g. CalMatrix_Path to CalMat).&lt;br /&gt;
&lt;br /&gt;
== Issues and Help==&lt;br /&gt;
&lt;br /&gt;
Any ideas or issues can be reported on github forum for issues: &lt;br /&gt;
&lt;br /&gt;
https://github.com/lmareksla/DPE_Issues/ &lt;br /&gt;
&lt;br /&gt;
or send directly on the first mail below. &lt;br /&gt;
&lt;br /&gt;
For more information or help: &#039;&#039;&#039;lukas.marek@advacam.cz&#039;&#039;&#039;, &#039;&#039;&#039;carlos.granja@advacam.cz&#039;&#039;&#039;.&amp;lt;gallery mode=&amp;quot;packed-overlay&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:Dpe git issue 1.png&lt;br /&gt;
File:Dpe git issue 2.png&lt;br /&gt;
File:Dpe git issue 3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Configuration of DPE==&lt;br /&gt;
&lt;br /&gt;
The main settings of the DPE is done through the so-called parameters file which is a text file with all paths, names and switches to configure the DPE. It has similar notation as the c++ code and example can be found in the directory with the program.&amp;lt;br /&amp;gt;&lt;br /&gt;
There are several other features of DPE which are handled with different configuration files e.g. filtering, histograms etc. Their settings is mentioned in the next sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-the-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of the Parameters File ===&lt;br /&gt;
&lt;br /&gt;
* Everything which is after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; is taken as a comment and the program ignores it (gives opportunity to create comments or easily test different settings).&lt;br /&gt;
* Every string should be enclosed in quotes &amp;lt;code&amp;gt;&amp;amp;quot;&amp;lt;/code&amp;gt; to correctly account for white spaces in the string. Example: &amp;lt;code&amp;gt;FileName = &amp;amp;quot;file name.txt&amp;amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Number can be written in the common notations, e.g. 2e5, 50, -666.12, .1 (same as 0.1) . Example: &amp;lt;code&amp;gt;Number = 1e7&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If an array of values is needed then it is separated with comma symbol: &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (white spaces are unimportant). Example: &amp;lt;code&amp;gt;ArrayNumbers = 12,13, 14, 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ArrayString = &amp;amp;quot;hop&amp;amp;quot;, &amp;amp;quot;skok&amp;amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* The syntax is partially based on the c++ so it can be used in some highlighting text editors for better clarity.&lt;br /&gt;
* All used paths are checked for proper slashes of paths which means that same configuration files can be used on windows and linux. This is not valid for the input argument into DPE = path and name of the configuration file.&lt;br /&gt;
* It is also possible to convert all parameters to snake case: &amp;lt;code&amp;gt;CalMat&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;cal_mat&amp;lt;/code&amp;gt; (only those which are listed below, it is not compatible with older versions of DPE).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;list-of-parameters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== List of Parameters ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
!Default	&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CalMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to a directory with calibration matrices if data should be calibrated during pre-processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;CalMat=&amp;quot;/Path/To/Cal/Matrices/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClogOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the cluster log file for export without suffix/ending. If it is stated in the parameters file then the clog is created (alias DoCreateClog = true). &lt;br /&gt;
|&amp;lt;code&amp;gt;ClogOutName=&amp;quot;ClusterLog&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ClusterLog&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which should be processed and evaluated.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=10000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCount=5&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterCountInSensImage&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported in the integrated sensor plots (also per class). It can be less, if there is no such a count of needed clusters set by this value.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterCountInSensImage=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterCountInSensImage=1000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name o the clusterer binary. Default, it is decided based on the operation system.&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClustererName=&amp;quot;clusterer.exe&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|clusterer (linux) or clusterer.exe (windows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClustererPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the clusterer program (part of the download package).&lt;br /&gt;
|&amp;lt;code&amp;gt;ClustererPath=&amp;quot;/Path/To/Clusterer/ Program/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Clusterer/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ClusterImageCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of clusters which will be exported as individual cluster plots. &lt;br /&gt;
|&amp;lt;code&amp;gt;ClusterImageCount=20&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ClusterImageCount=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the coinc_event list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;CoincEventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;CoincEventListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output coinc_event list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;CoincEventListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output coinc_event list. &lt;br /&gt;
|&amp;lt;code&amp;gt;CoincEventListName=&amp;quot;CoincEventList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|CoincEventList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the compton list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;ComptonList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ComptonListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output compton list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output compton list. &lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonListName=&amp;quot;ComptonList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|ComptonList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonName=&amp;quot;Compton.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ComptonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with Compton direction reconstruction configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;ComptonPath=&amp;quot;/Path/To/Compton/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoName=&amp;quot;DetGeo.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DetGeoPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with detector geometry configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DetGeoPath=&amp;quot;/Path/To/DetGeo/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the direction list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;DirectionList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DirectionListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output direction list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|DirectionList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output direction list. &lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionListName=&amp;quot;DirectionList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|NClusters&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionName=&amp;quot;Direction.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DirectionPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with directional analysis configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;DirectionPath=&amp;quot;/Path/To/Direction/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoClustererLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Export clusterer log. Only valid if clusterer is used during processing (raw data).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoClustererLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoClustererLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCompton&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCompton=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCompton=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateClog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for a generation of the clog. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateClog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCreateClog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCreateElistExt&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to produce elist with additional columns from processing output: filter pass or not passed (1,0), PID class (e.g. from -1 to 8). It is placed as the last columns of the elist with name `FilterPass, PIDClass`. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoCreateElistExt=FileIn_Count&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirection&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirection=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirection=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDirectionTrackCond&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to use tracking condition during directional analysis (additional constrain on features of clusters).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoDirectionTrackCond=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDirectionTrackCond=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoDoseUnitRadiology&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to change from the dose rate in uGy/h to Gy/s. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoDoseUnitRadiology=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoDoseUnitRadiology=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were filtered out should not be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportElistExtSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether clusters which were at sensor edge should not be exported into extended elist.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportElistExtSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportElistExtSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (exported)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportGraphics&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for an export of graphical output.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportGraphics=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoExportText&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control of an export of the output into files. If turned off, then no export into files is done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoExportText=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoExportText=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFilter&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether filtering should be done during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFilter=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFilter=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoFrame&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do frame analysis during processing.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoFrame=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoFrame=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoGraphicsMultiThread&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use multiprocessing/multitreading during graphics export. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoGraphicsMultiThread=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoGraphicsMultiThread=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoCheckPrereq&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to do or not do check of prerequisites as clusterer or python modules.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoCheckPrereq=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoCheckPrereq=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoIgnoreClusterSensEdge&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to ignore cluster at sensor edge. They are not used into histograms, physical products etc. (evaluation) but they remain in `Files` from clusterer.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoIgnoreClusterSensEdge=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for creating log into file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoLogDateTime&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether date and time should be in the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoLogDateTime=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoLogDateTime=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMaskFullPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to fully print the mask content into terminal and log file. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoMaskFullPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMaskFullPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMultiFile&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Check whether the multi file processing should be used (can be turned off/false and on/true).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMultiFile=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMultiFile=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPID&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to turn off the particle identification&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPID=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPID=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoPrint&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control for print progress into terminal.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoPrint=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoPrint=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRadFieldRecog&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether radiation filed recognition should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below).&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRadFieldRecog=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRadFieldRecog=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (if configuration allows)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to delete elist created by the clusterer but the extended elist is not effected by this switch. If set to true, the elist is removed. It set to true because the information is doubles and extended in the elist extended.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRemoveOldElist&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to explicitly delete or not an already existing elist from a previous processing. If set to true, the elist is removed and a new one is created. If false, the DPE checks elist existence and if there is a elist, the pre-processing with clusterer is skipped. The default value is true because this could cause an error in processing if mask is used with false option -&amp;gt; it wont be processed again and the mask will be ignored for elist data.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoRemoveOldElist=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRemoveOldElist=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoRunClusterer&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to skip processing of raw data with clusterer. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoRunClusterer=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoRunClusterer=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true (used)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSensMatrixCount&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use counts in sensor plots instead of energy. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoSensMatrixCount=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSensMatrixCount=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoSigVec&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control whether significant vector creation should be done.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoSigVec=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoSigVec=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoTpxHighEnergyCorr&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Switch to use TPX high energy correction. &lt;br /&gt;
|&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoTpxHighEnergyCorr=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistExtOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Output name of the elist extended which also includes information as PID class etc. Ending/suffix can be stated and is used in this case (in contrast to ElistOutName).&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;ElistExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ElistExtOutName=&amp;quot;EExt.advelist&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventListExt.advelist&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ElistOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the elist file for export without the suffix.&lt;br /&gt;
|&amp;lt;code&amp;gt;ElistOutName=&amp;quot;EventList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|EventList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInCount&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Count of input files which should be processed if multi file processing is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInCount=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInName&#039;&#039;&#039;&lt;br /&gt;
|VSTRING&lt;br /&gt;
|Name of the input file. Spaces can be part of the name. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInName=tot toa.t3pa&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInNameEnd&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name end/extension of the input file. If the file name is `FileIn.txt` then name end is `.txt`. It is used for a several file processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInNameEnd=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileInPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path of the input file(s). Directory can be also given, then processing of files in this dir is done based on valid type of files. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileInPath=&amp;quot;/Path/ To/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FileOutPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for the results. All results will be exported into this directory and if the path/dir exists and it can be created.&lt;br /&gt;
|&amp;lt;code&amp;gt;FileOutPath=&amp;quot;/Path/File /Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterName=&amp;quot;Filter.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FilterPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with filter configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPath=&amp;quot;/Path/To/Filter/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the frame list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;FrameList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;FrameListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output frame list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;FrameListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output frame list. &lt;br /&gt;
|&amp;lt;code&amp;gt;FrameListName=&amp;quot;FrameList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|FrameList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;GraphicsMultiThreadFileSize&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|File size limit in B on single multi processing batch. It should be decreased if the RAM is overwhelmed during processing. &lt;br /&gt;
|&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=2e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;GraphicsMultiThreadFileSize=1e6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|3e6 (30 MB)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Hist1DGraphicsRebin&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Rebin value for 1D histograms before plotting. It will rebin all 1D histograms to make them more clear and exporting graphics faster if value around 1e2 is used. If value 0 is set then this option is skipped. This option overwrite a possible user settings in the configuration files for histograms, but it is valid only for exported graphics, not for text files.&lt;br /&gt;
|&amp;lt;code&amp;gt;Hist1DGraphicsRebin=100&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Hist1DGraphicsRebin=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistName=&amp;quot;Hist.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;HistPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;HistPath=&amp;quot;/Path/To/Hist/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ChipType&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Type of the chip (TPX, TPX2, TPX3). Example: `ChipType = &amp;quot;TPX3&amp;quot;` to specify that TPX3 was used chip.&lt;br /&gt;
|&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX2&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX3&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;ChipType=&amp;quot;TPX4&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|TPX&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;IsEnergyCalibrated&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to inform DPE that data are already energy calibrated.&lt;br /&gt;
|&amp;lt;code&amp;gt;IsEnergyCalibrated=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;IsEnergyCalibrated=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false (uncalibrated)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LengthCorr&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Num switch to choose formula for calculation of cluster length in sensor plane. Possible values: &lt;br /&gt;
    * 1 - based on weighted standard deviation subtraction from projected length.&lt;br /&gt;
    * 2 - based on projected width subtraction from projected length.&lt;br /&gt;
    * 3 - based on model of Nabha.&lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorr=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LengthCorr=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogName=&amp;quot;Log.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;LogName=&amp;quot;file.hop&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Log.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;LogPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the log file.&lt;br /&gt;
|&amp;lt;code&amp;gt;LogPath=&amp;quot;/Path/To/Log/ File/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with a mask configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;MaskName=&amp;quot;Mask.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MaskPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with a mask configuration. &lt;br /&gt;
|&amp;lt;code&amp;gt;MaskPath=&amp;quot;/Path/To/Mask/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;MeasMode&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Measurement mode of detector = itot+count (itot+count). In the current version, it is used for itot+count mode recognition. &lt;br /&gt;
|&amp;lt;code&amp;gt;MeasMode=&amp;quot;itot+count&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;ModelPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to models.&lt;br /&gt;
|&amp;lt;code&amp;gt;ModelPath=&amp;quot;/Path/To/Models/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|./Models/&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;PIDAlg&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Switch to change between different PID algorithms. All possibilities (101,102,103,201,202): &lt;br /&gt;
    * 101 - 4 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 102 - 9 class heuristic decision tree, TPX 300 um Si&lt;br /&gt;
    * 103 - 16 class heuristic decision tree, TPX3 500 um Si   &lt;br /&gt;
    * ...171-173 new filters for neutrons&lt;br /&gt;
    * 201 - 3 class DNN, TPX 300 um Si 30 V&lt;br /&gt;
    * 202 - 6 class DNN, TPX 300 um Si 30 V   &lt;br /&gt;
    * 251 - 3 class DNN, TPX3 500 um Si 80 V&lt;br /&gt;
    * 252 - 6 class DNN, TPX3 500 um Si 80 V      &lt;br /&gt;
&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDAlg=252&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (choosen based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogDatabasePath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to database for radiation filed recognition via comparator. This database should include significant vectors which are used for comparison. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogDatabasePath=&amp;quot;/Path/To/Comp/DB/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string (default database)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the rfr list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;RadFieldRecogList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFieldRecogListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output rfr list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFieldRecogListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output rfr list. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFieldRecogListName=&amp;quot;RadFieldRecogList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|RadFieldRecogList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name (beginning) of the significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecBaseName=&amp;quot;sig_vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SigVec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndData&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the data files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.vec&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.data&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndData=&amp;quot;.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;RadFiledRecogSigVecEndInfo&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|End/extension/suffix of the info files of significant vectors in the user database for RFR via comparator. DPE only searches such a files which includes this string and loads them into database. Only valid if  RadFieldRecogDatabasePath is used. &lt;br /&gt;
|&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;RadFiledRecogSigVecEndInfo=&amp;quot;.vec_info&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|.vec_info&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListBaseName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Base name of the sampling list which is used for txt and also for the json format. It is combined as this name and adding .txt and .json.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;SamplingList&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;List&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SamplingListBaseName=&amp;quot;Name&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of output sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonName=&amp;quot;SampligList.json&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.json&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListJsonPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path for output of sampling list in json format.&lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListJsonPath=&amp;quot;/Path/File JSON/Out/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|current working directory&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SamplingListName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the output sampling list. &lt;br /&gt;
|&amp;lt;code&amp;gt;SamplingListName=&amp;quot;SamplingList.txt&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|SamplingList.txt&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensBias&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor Bias in volts. &lt;br /&gt;
|&amp;lt;code&amp;gt;SensBias=-50&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=200&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensBias=45.234&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensDens&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Density of the sensor in g/cm3 for temperature at 20 deg. If not set then its values is deduced based on the type of material (only for those mentioned in SensMat).&lt;br /&gt;
|&amp;lt;code&amp;gt;SensDens=2.93&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (deduced based on detector settings)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensHeight&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Height of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensHeight=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensHeight=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensMat&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Sensor material (Si, CdTe, GaAs). Example:&lt;br /&gt;
|&amp;lt;code&amp;gt;SensMat=&amp;quot;Si&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|Si&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensThick&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Sensor thickness in micrometers.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensThick=300&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensThick=500&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SensWidth&#039;&#039;&#039;&lt;br /&gt;
|INT&lt;br /&gt;
|Width of the sensor in count of pixels.&lt;br /&gt;
|&amp;lt;code&amp;gt;SensWidth=256&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=512&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;SensWidth=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|256&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecName&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Name of the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecName=&amp;quot;SigVec.ini&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;SigVecPath&#039;&#039;&#039;&lt;br /&gt;
|STRING&lt;br /&gt;
|Path to the file with significant vector configuration.&lt;br /&gt;
|&amp;lt;code&amp;gt;SigVecPath=&amp;quot;/Path/To/SigVec/Config/&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|empty string &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Measurement/data acquisition time which can be set to use it instead of elapsed time evaluated in engine run. It is given in seconds.&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeAcq=3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeAcq=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|-1 (unused)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeCoinc&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in nanoseconds for evaluations coincidence events -&amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeCoinc=1e2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeCoinc=1.2554&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameAcq&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Acquisition time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameAcq=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameAcq=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeFrameDead&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Dead time of frame (if frame are processed). DPE also tries to make an estimation if the information is included in the input data (clog etc.).&lt;br /&gt;
|&amp;lt;code&amp;gt;TimeFrameDead=1e-3&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeFrameDead=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|0 (deduce from data)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;TimeSampling&#039;&#039;&#039;&lt;br /&gt;
|FLOAT&lt;br /&gt;
|Time in seconds for individual evaluations of the data sample -&amp;gt; the whole data sample and its time of collection is divided into sampling intervals with duration of the TimeSampling. &lt;br /&gt;
|&amp;lt;code&amp;gt;TimeSampling=1e-6&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=0.00001&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;TimeSampling=233.2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;DoMask&#039;&#039;&#039;&lt;br /&gt;
|BOOL&lt;br /&gt;
|Control to turn off masking if mask file is given.&lt;br /&gt;
|&amp;lt;code&amp;gt;DoMask=true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;DoMask=false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Detector Settings==&lt;br /&gt;
&lt;br /&gt;
It is possible to set the detector configuration with following list of parameters in the main parameters file:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SensMat&#039;&#039;&#039; - sensor material (Si, CdTe, GaAs etc). Example: &amp;lt;code&amp;gt;SensMat = &amp;amp;quot;Si&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that the sensor material is silicon. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;Si&amp;lt;/code&amp;gt; - for silicon sensor. Used density: 2.329 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;CdTe&amp;lt;/code&amp;gt; - for cadmium teluride sensor. Used density: 5.85 g/cm-3.&lt;br /&gt;
** &amp;lt;code&amp;gt;GaAs&amp;lt;/code&amp;gt; - for galium arsenide. Used density: 5.318 g/cm-3.&lt;br /&gt;
* &#039;&#039;&#039;SensThick&#039;&#039;&#039; - Sensor thickness in micrometers. Example: &amp;lt;code&amp;gt;SensThick = 500&amp;lt;/code&amp;gt; to specify the thickness of the detector as 500 micrometers. This is continues variable.&lt;br /&gt;
* &#039;&#039;&#039;SensBias&#039;&#039;&#039; - sensor bias in volts. Example: &amp;lt;code&amp;gt;SensBias = 100&amp;lt;/code&amp;gt; to specify that applied was 100 V. This is a continues variable.&lt;br /&gt;
* &#039;&#039;&#039;ChipType&#039;&#039;&#039; - type of the chip (TPX or TPX3). Example: &amp;lt;code&amp;gt;ChipType = &amp;amp;quot;TPX3&amp;amp;quot;&amp;lt;/code&amp;gt; to specify that TPX3 was used chip. Possible values:&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX&amp;lt;/code&amp;gt; - for timepix chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX3&amp;lt;/code&amp;gt; - for timepix 3 chip&lt;br /&gt;
** &amp;lt;code&amp;gt;TPX2&amp;lt;/code&amp;gt; - for timepix 2 chip&lt;br /&gt;
* &#039;&#039;&#039;SensDens&#039;&#039;&#039; - set density of used material in g/cm-3. DPE has default values for material specified in &amp;lt;code&amp;gt;SensMat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These values are used, for example, in the calculation of dose rate because there is a dependence on the sensor material and thickness. It also determines which PID algorithm should be used.&lt;br /&gt;
&lt;br /&gt;
== Input==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;single-file-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Single File Processing ===&lt;br /&gt;
&lt;br /&gt;
To process specific file with DPE, its name &amp;lt;code&amp;gt;FILE_IN_NAME&amp;lt;/code&amp;gt; and path &amp;lt;code&amp;gt;/PATH/TO /FILE/&amp;lt;/code&amp;gt; must be specified via following parameters in parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;FILE_IN_NAME&amp;amp;quot;&lt;br /&gt;
    FIleInPath = &amp;amp;quot;/PATH/TO /FILE/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that DPE will try to find this file and process it. Error is produced if the file can not be found and the processing is aborted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-file-formats&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
The current version of the DPE engine is capable to process following files:&lt;br /&gt;
&lt;br /&gt;
* Data driven files - t3pa, t3p, t3r&lt;br /&gt;
* Cluster log files- calibrated/uncalibrated&lt;br /&gt;
* Elist - only so-called full elist which includes also the header with cluster variables name.&lt;br /&gt;
* Frame formats&lt;br /&gt;
&lt;br /&gt;
If a clog from itot+count measurement is used then it is needed to specify this in the main config file with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MeasMode = &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Supported suffixes are following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;amp;quot;.t3pa&amp;amp;quot;, &amp;amp;quot;.t3p&amp;amp;quot;, &amp;amp;quot;.t3r&amp;amp;quot;, &amp;amp;quot;.txt&amp;amp;quot;, &amp;amp;quot;.pmf&amp;amp;quot;, &amp;amp;quot;.plog&amp;amp;quot;, &amp;amp;quot;.bmf&amp;amp;quot;, &amp;amp;quot;.clog&amp;amp;quot;, &amp;amp;quot;.elist&amp;amp;quot;, &amp;amp;quot;.advelist&amp;amp;quot;, &amp;amp;quot;.extelist&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Currently, the only toa formats are unsupported with undefined results deom DPE (time is handled as energy information).&amp;lt;br /&amp;gt;&lt;br /&gt;
Examples of most of the suported files can be found in the &amp;lt;code&amp;gt;Examples/Test&amp;lt;/code&amp;gt; directory (list of examples is in the section &amp;lt;code&amp;gt;First Example of Run&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;multi-filebatch-processing&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Multi File/Batch Processing ===&lt;br /&gt;
&lt;br /&gt;
It is possible to process several files in one run of DPE. There are several ways how to specify which files should be processed: * Process whole directory specifying path to the directory. * Process given files specifying their names in &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt; as an array. * Process only those files in directory which includes given strings in their names. Examples of such a processings can be found below.&lt;br /&gt;
&lt;br /&gt;
Lets assume that our directory at path: &amp;lt;code&amp;gt;/PATH/TO/DIR/&amp;lt;/code&amp;gt; includes the following files: * File_001.t3pa * File_002.t3pa * File_003.t3pa * File.t3pa * File_2.clog&lt;br /&gt;
&lt;br /&gt;
In the first case, when a whole directory should be processed, only the path to the directory is specified in the parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInPath = &amp;amp;quot;`/PATH/TO/DIR/&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE checks the existence of the directory and finds all files. It processes only those which have the same suffix/ending, and DPE found them first.&amp;lt;br /&amp;gt;&lt;br /&gt;
For this specific directory, let’s assume that &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt; was the first found by DPE, then all files ending with &amp;lt;code&amp;gt;.t3pa&amp;lt;/code&amp;gt; are processed.&amp;lt;br /&amp;gt;&lt;br /&gt;
The file &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt; is not processed, because of the different suffix.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the second case, when names of files are specified, it is needed to specify the names into parameter &amp;lt;code&amp;gt;FileInName&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_001.t3pa&amp;amp;quot;, &amp;amp;quot;File_003.t3pa&amp;amp;quot;, &amp;amp;quot;File.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will process files: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;. &#039;&#039;&#039;Files with different suffixes should not be mixed!&#039;&#039;&#039; (e.g. clog and t3pa, DPE handles these files differently, which might cause unexpected behavior of the engine.)&amp;lt;br /&amp;gt;&lt;br /&gt;
In the last case, when user wants to specify only parts of the names, it is possible to specify beginning and ending of the name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_&amp;amp;quot;&lt;br /&gt;
    FileInNameEnd = &amp;amp;quot;t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will cause that only the following files are processed: &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt;. If only the first part of the name should be specified, there is need for one additional parameter &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInName = &amp;amp;quot;File_0&amp;amp;quot;&lt;br /&gt;
    DoMultiFile = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
DPE will again process the same list of files (additional 0 is needed due to the &amp;lt;code&amp;gt;File_2.clog&amp;lt;/code&amp;gt;). In the opposite case when only ending of the name is specified, there is &#039;&#039;&#039;no&#039;&#039;&#039; need to add these parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FileInNameEnd = &amp;amp;quot;.t3pa&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Files &amp;lt;code&amp;gt;File.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_001.t3pa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;File_002.t3pa&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;File_003.t3pa&amp;lt;/code&amp;gt; will be processed.&lt;br /&gt;
&lt;br /&gt;
The switch &amp;lt;code&amp;gt;DoMultiFile&amp;lt;/code&amp;gt; can also be used to suppress multi file processing, setting it to false.&lt;br /&gt;
&lt;br /&gt;
== Output==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-print&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Print ===&lt;br /&gt;
&lt;br /&gt;
During a run of the program, there is an output into the terminal. This include some basic information about the DPE settings and its run.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be turned off with &amp;lt;code&amp;gt;DoPrint = false&amp;lt;/code&amp;gt; (default is true). Copy of this output is also given into log file, usually (default) called &amp;lt;code&amp;gt;LogFile.txt&amp;lt;/code&amp;gt;. It can be turned off with &amp;lt;code&amp;gt;DoLog = false&amp;lt;/code&amp;gt; (default is true). The preprocessing run of clusterer also created its own log file called &amp;lt;code&amp;gt;log.txt&amp;lt;/code&amp;gt; where minimal log of clusterer run is stored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;directory-tree&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Directory Tree ===&lt;br /&gt;
&lt;br /&gt;
Results of DPE are exported into several directories separated in most cases based on the type of the analysis. There are some general directories for overall results. The creation of directories depends on used analysis and some of them might not be created if given processing is disabled or unsupported for given settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;File&#039;&#039;&#039; - main data files: elist, cluster log and sampling list. It is always created.&lt;br /&gt;
* &#039;&#039;&#039;Graph&#039;&#039;&#039; - graphical representation of the sampling list. Only if &amp;lt;code&amp;gt;DoExportGraphics = true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Hist&#039;&#039;&#039; - histograms of cluster variables.&lt;br /&gt;
* &#039;&#039;&#039;SpatialMap&#039;&#039;&#039; - spatial maps of cluster variables also with respect to the PID classes.&lt;br /&gt;
* &#039;&#039;&#039;SigVec&#039;&#039;&#039; - significant vector which uniquely specifies the given radiation field.&lt;br /&gt;
* &#039;&#039;&#039;EventVisual&#039;&#039;&#039; - individual cluster plots, integrated sensor plots and plots of clusters for individual PID classes.&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; - results of directional analysis: estimation of radiation direction.&lt;br /&gt;
* &#039;&#039;&#039;CoincEvent&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;Compton&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
* &#039;&#039;&#039;RadFieldRecog&#039;&#039;&#039; - results of coincidence analysis: evaluates time correlation between clusters.&lt;br /&gt;
&lt;br /&gt;
These directories can have inner structure based on the specific exports of given analysis (export of graphs in directional analysis is done into directory &amp;lt;code&amp;gt;Direction/Graph&amp;lt;/code&amp;gt;). More details can be found in the sections dedicated to these specifics analysis: directional, Compton, coincidence and radiation field recognition.&amp;lt;br /&amp;gt;&lt;br /&gt;
The whole export/output can be turned off if &amp;lt;code&amp;gt;DoExportGraphics = false&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DoExportText = false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-basic-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Text basic output ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Elist&#039;&#039;&#039; - file with cluster variables/parameters (this file is in default suppressed with &amp;lt;code&amp;gt;DoRemoveElist = true&amp;lt;/code&amp;gt; and replaced with extended elist below).&lt;br /&gt;
* &#039;&#039;&#039;Extended Elist&#039;&#039;&#039; - elist extended with additional columns of PID class (-1 to N-1 of classes where -1 is for others, &amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;) and filter pass (1 = passed, 0 = not passed, &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;) if the filter is used.&lt;br /&gt;
* &#039;&#039;&#039;Cluster log/clog&#039;&#039;&#039; - detailed list of clusters containing pixelated information. Each line which is starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; includes pixels of a cluster ([X,Y,E,T] = [X position,Y position,energy,time if tpx3 is sued] of a pixel). This file includes &#039;&#039;&#039;all clusters&#039;&#039;&#039; and the mask or filters are not accounted for.&lt;br /&gt;
* &#039;&#039;&#039;Sampling list&#039;&#039;&#039; - it includes basic information about the radiation field with respect to the observables and their time dependencies.&lt;br /&gt;
* &#039;&#039;&#039;Histograms&#039;&#039;&#039; - histograms of given variables - total and also for each PID class.&lt;br /&gt;
* &#039;&#039;&#039;Spatial maps&#039;&#039;&#039; - matrices of the sensor filled with integrated cluster variables (energy, size, LET, E/S).&lt;br /&gt;
* &#039;&#039;&#039;Significant vector&#039;&#039;&#039; - unique vectors characterizing processed radiation field computed based on histograms.&lt;br /&gt;
* &#039;&#039;&#039;Event and sensor visualizations&#039;&#039;&#039; - data files with matrices of exported clusters and sensor.&lt;br /&gt;
&lt;br /&gt;
Each individual analysis also produces some parts of these results and more detailed descriptions are offered in dedicated sections below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-output&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical output ===&lt;br /&gt;
&lt;br /&gt;
The current version uses a python scripts to convert the text output into graphics:&lt;br /&gt;
&lt;br /&gt;
* Histograms&lt;br /&gt;
* Spatial maps&lt;br /&gt;
* Individual cluster plots (with values of the cluster variables) and integrated sensor plots&lt;br /&gt;
* Graphs of time evolution of physical products&lt;br /&gt;
* Directional maps&lt;br /&gt;
* Compton directional reconstruction&lt;br /&gt;
* …&lt;br /&gt;
&lt;br /&gt;
For this purposes, the matplolib library is used. It can be slow for some configuration (for example high number of bins). To speed up the export of graphics, it is possible to set shown number of bins with following option:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will cause that each histogram will be rebinned to show maximally 100 bins but the exported text files are still with the original number of bins. This option is only functional for 1D histograms.&lt;br /&gt;
&lt;br /&gt;
Another possibility to speed up the plotting is the option &amp;lt;code&amp;gt;DoGraphicsMultiThread&amp;lt;/code&amp;gt; which exploits several CPU threads for graphics creation. This option is by default on/true. The program then uses all threads on the given PC. To disable this feature use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    DoGraphicsMultiThread = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The multi processing can use up to several GB of ram memory which can be tuned with parameter &amp;lt;code&amp;gt;GraphicsMultiThreadFileSize&amp;lt;/code&amp;gt;. Its default value is 3e6 and lower this number if the ram usage should be decreased (minimal ram usage is defined with needed ram for the biggest plot/histogram which can be of order of GBs).&lt;br /&gt;
&lt;br /&gt;
To produce given plots, a directory &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; is created in the working directory. All python scripts are saved there before processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the program is terminated just before or in the middle of graphics creation (python run) then a next run will firstly evaluate unfinished plotting and then proceeds with new plots therefore the whole plotting is delayed. In the case of sudden program abortion, it is recommended to check for existence of the &amp;lt;code&amp;gt;.temp&amp;lt;/code&amp;gt; directory and delete it before the next run of DPE.&lt;br /&gt;
&lt;br /&gt;
== Clusterer and Preprocessing==&lt;br /&gt;
&lt;br /&gt;
The main purpose of this stage is to provide conversion of &#039;&#039;&#039;pixelated data&#039;&#039;&#039; into groups of correlated pixels, &#039;&#039;&#039;clusters&#039;&#039;&#039;. The level of correlation depends on the detector used for data collection. In the case of TPX detector, only spatial correlation is given and it is afterwards used for &#039;&#039;&#039;clusterization process&#039;&#039;&#039;. On contrary for the TPX3, time information is provided along the spatial one which gives opportunity to proceed with more precise clusterization process and eventually avoid additional unwanted effects as pile-up. At this stage main &#039;&#039;&#039;energy per pixel&#039;&#039;&#039; &#039;&#039;&#039;calibration&#039;&#039;&#039; is applied to convert digital ToT information to energy in keV. This process is accompanied with additional calibrations and corrections which aim to maximally supress detector unwanted or anomalous behaviour. The clusterization stage is followed with &#039;&#039;&#039;cluster analysis&#039;&#039;&#039; which evaluates clusters &#039;&#039;&#039;morphological and spectral features&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
To summerize the pre-processeing stage:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Clustering&#039;&#039;&#039; - grouping pixels based on coordinate and also on time information if given&lt;br /&gt;
* &#039;&#039;&#039;Calibration and corrections&#039;&#039;&#039; - energy calibration, cluster size correction, XRF peak suppression, TPX high energy correction etc.&lt;br /&gt;
* &#039;&#039;&#039;Cluster parameters&#039;&#039;&#039; - calculation of overall cluster parameters (total energy, roundness etc.)&lt;br /&gt;
[[File:DPE PreProc.png|frameless|1157x1157px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;clustering&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Clustering ===&lt;br /&gt;
&lt;br /&gt;
The clusterisation converts a frame or a continual stream of received pixels to sets of pixels which belonging to individual particles, clusters. A distinction is needed between two read out modes. In the case of the Timepix, the detector is only capable to measure in the frame mode and obtained data format is in a form of frames. The information is encoded into a sensor matrix of only hit pixels where each of them contain energy deposited during the acquisition time (if a measurement in ToT is performed[[DPE#sdfootnote1sym|&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;]]). The same mode can be also used with the Timepix3 detector. The advantage with respect to the Timepix is the possibility to measure in the data driven mode. The final data output in this mode resembles the continual stream of pixels where time of arrival is stored together with deposited energy[[DPE#sdfootnote2sym|&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;]]. This significantly improves the ability for the restoration of the individual particle information.&lt;br /&gt;
&lt;br /&gt;
The algorithm used in the case of the &#039;&#039;&#039;frame mode&#039;&#039;&#039; relies only on the coordinate information. Pixels in a frame which are coordinate neighbours (lies within 8-pixel surroundings) are grouped together and called clusters:&lt;br /&gt;
&lt;br /&gt;
It is also possible to measure in ToA mode, time of arrival or in a counting event mode.&lt;br /&gt;
&lt;br /&gt;
In the case of combined ToT and ToA measurement which is another advantage of the Timepix3 with respect to the Timepix detector.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq with clustering condition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this clusterization process, an additional information about the readout can be used. It is known that the chip matrix of pixels is read out column by column which means that the stream of pixels can be efficiently parsed based on the column order. There are several disadvantages and crucial points concerning frame read-out:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Pile-up:&#039;&#039;&#039; All particles within one frame whose pixels are connecting cannot be separated within the clusterization process and they create the pile-up effect.&lt;br /&gt;
# &#039;&#039;&#039;Loss of uncollected charge after the end of frame:&#039;&#039;&#039; It is possible that not all charge has been collected till the end of a frame (mostly some pixels with large deposited energy).&lt;br /&gt;
# &#039;&#039;&#039;Dead time for matrix read out:&#039;&#039;&#039; This approximately several of millisecond (more than 10 ms).&lt;br /&gt;
&lt;br /&gt;
These issues and disadvantages motivated development of the &#039;&#039;&#039;data-driven&#039;&#039;&#039; &#039;&#039;&#039;read-out mode&#039;&#039;&#039;. The coordinate information is accompanied by time of arrival which allows to reconstruct events also based on the time information. In this case, the stream of pixels is no longer separated into frames but it is continuously read by the read-out hardware and software. &lt;br /&gt;
&lt;br /&gt;
In the first step, the stream has to time ordered because from the nature of the read-out, it is possible that the pixel stream violates time order. In the next stage, a block of pixels is taken from the full stream/list of pixels based on a time condition:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The parameter  should reflect expected time windows in the pixel stream and therefore is disproportional to particle fluence. The value is of order of . In those cases when the condition cannot be fulfilled, a fixed block of  of pixels is taken. This number is approximately 100 000 pixels which should statistically minimized the error originating from possible separation of pixels belonging to one particle.&lt;br /&gt;
&lt;br /&gt;
The clusterization process itself separates pixels into clusters based on two main conditions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These conditions can be translated as a need for pixels to be coordinate neighbours and to have maximal difference in time equal or less than time . The value of this time parameter is of order of tens of nanoseconds and it is dependent on the charge sharing effect and its magnitude. &lt;br /&gt;
&lt;br /&gt;
=== Calibration and corrections ===&lt;br /&gt;
&lt;br /&gt;
==== Energy calibration ====&lt;br /&gt;
[[File:Energy calib.png|Energy calibration of Time-Over-Threshold. Reprinted from Jakubek 2011.|376x376px|alt=Energy calibration of Time-Over-Threshold. Reprinted from jakubek 2011.|thumb]]After receiving the information from the detector, the possible energy and time of the detector are in corresponding ToT and ToA counts. These variables have to be calibrated and converted to obtain results in energy and time. Time conversion is done with following formula:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of toa conversion&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first part of the calibration is the same for the Timepix and Timepix3 ASICs. This work was published by Jakubek&amp;lt;ref&amp;gt;J. Jakubek, ‘Precise energy calibration of pixel detector working in time-over-threshold mode’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 633, pp. S262–S266, May 2011, doi: 10.1016/j.nima.2010.06.183.&amp;lt;/ref&amp;gt; and it is based on a combination of a linear and rational calibration function:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;eq of calibration&#039;&#039;where &#039;&#039;a,b,c&#039;&#039; and &#039;&#039;t&#039;&#039; are parameters obtained from the calibration procedure.&lt;br /&gt;
==== High Energy TPX Calibration ====&lt;br /&gt;
[[File:EnergyHist1d OFF ON HECorr.png|Histogram of measured energy before (light) and after (dark) application of the high energy calibration. Different biases were applied during the measurement to observe increase in the mean per pixel energy which has to be mainly corrected for (higher bias -&amp;gt; higher per pixel energy).|360x360px|alt=High energy calibration for TPX applied on measured data from Am241 aplha particles. Shaded lines are without HE calibration, solid lines are with HE calibration.|thumb]]&lt;br /&gt;
&lt;br /&gt;
The calibration function  has maximum of its validity up to approximately 700 keV for TPX. An additional per pixel calibration process has to be utilized for measurements in which higher per pixels energies are obtained. The additional calibration was intruced as a &#039;&#039;&#039;global model&#039;&#039;&#039; based on the results from the article of Sommer et al &amp;lt;ref&amp;gt;M. Sommer, C. Granja, S. Kodaira, and O. Ploc, ‘High-energy per-pixel calibration of timepix pixel detector with laboratory alpha source’, &#039;&#039;Nucl. Instrum. Methods Phys. Res. Sect. Accel. Spectrometers Detect. Assoc. Equip.&#039;&#039;, vol. 1022, p. 165957, Jan. 2022, doi: 10.1016/j.nima.2021.165957.&amp;lt;/ref&amp;gt;. Having the coefficients of the standard calibration and correlation matrix between these standards and the extended ones, it is possible to introduce an estimation of their values.&lt;br /&gt;
&lt;br /&gt;
To use this additional calibration:&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
DoTpxHighEnergyCorr = true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;The resulted histogram of the measured energy can be found in the fugere on the left. Two cases are shown in this image, before (light) and after (dark) an application of the high energy correction. Change in the sensor bias was also introduce during the measurement to demonstrate a different/increasing value of mean per pixel energy. Higher bias in the sensor decreases the effect of charge sharing and increases the per pixel energy and mainly the maximal per pixel energy of cluster. Therefore, it can be seen that in the most disturbed case of 200V the applied correction restores the original information to be in accordance with low bias measurement and their corrected versions.&lt;br /&gt;
&lt;br /&gt;
In the case of TPX3, the energy range is limited with size of the ToT counter which has nominal value 1022. This means that the pixels cannot count more than 1022 counts in contrast to the TPX with counter range of 11810. From the practical point of view, the maximal value which can be measured in one pixel is between 450-500 keV (based on the settings of DACs). The standard energy calibration covers this region and a distortion appears for energy above 2 MeV as the volcano effect.&lt;br /&gt;
&lt;br /&gt;
==== Cluster Energy Size Based Correction ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Halo Effect ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Correction for XRF peak suppression ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pile-up Recognition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Volcano Effect ====&lt;br /&gt;
[[File:Volcano effect.png|thumb|&#039;&#039;Heavy ion cluster in energy plot with a direction almost perpendicular to the sensor plane. Two additional sensor effects can be observed: the volcano and the halo effect.&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;B. Hartmann &#039;&#039;et al.&#039;&#039;, ‘Distortion of the per-pixel signal in the Timepix detector observed in high energy carbon ion beams’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 9, no. 09, pp. P09006–P09006, Sep. 2014, doi: 10.1088/1748-0221/9/09/P09006.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Overshoot ====&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==== Time-walk Correction ====&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Source&amp;lt;ref&amp;gt;D. Turecek, J. Jakubek, and P. Soukup, ‘USB 3.0 readout and time-walk correction method for Timepix3 detector’, &#039;&#039;J. Instrum.&#039;&#039;, vol. 11, no. 12, pp. C12065–C12065, Dec. 2016, doi: 10.1088/1748-0221/11/12/C12065.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster Variables and Elist ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;SecClusterVarElist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The file includes clusters/events represented as a set of cluster variables.&lt;br /&gt;
* The significant feature of the Elist is a presence of coincidence group expressed as coincidence number and it is adjustable based on the coincidence time interval.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!LengthCorrStd&lt;br /&gt;
!Unit&lt;br /&gt;
!Column&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;DetectorID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|1&lt;br /&gt;
|It serves to as a unique ID in the cases when multi detector setup is processed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EventID&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|2&lt;br /&gt;
|ID of events. In the case that several clusters are in the coincidence, then they have the same EventID. It starts from 0 and clusters which are not in coincidences are also accounted in this ID.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|3&lt;br /&gt;
|X coordinate of cluster based on the weighted mean value of X coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of X of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|4&lt;br /&gt;
|Y coordinate of cluster based on the weighted mean value of Y coordinate of pixels, weighted with the energy of pixels. Value ha range from 0.5 to 255.5 (minimal and maximal value of Y of pixels).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|5&lt;br /&gt;
|Energy of cluster, also called volume. It is sum of energies of all cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
|ns&lt;br /&gt;
|6&lt;br /&gt;
|Time. It is the minimal time of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Flags&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|7&lt;br /&gt;
|Free column for user needs. In the case of frame data, it includes frame number.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Size&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|8&lt;br /&gt;
|Count of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|9&lt;br /&gt;
|Maximal value of energy of cluster pixels.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;BorderPixCount&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|10&lt;br /&gt;
|Count of border pixels  in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Roundness&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|11&lt;br /&gt;
|Morphological feature expressing similarity of cluster to round shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleAzim&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|12&lt;br /&gt;
|Estimation of &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Linearity&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|13&lt;br /&gt;
|Morphological feature expressing similarity of cluster to linear shape.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|14&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;WidthProj&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|15&lt;br /&gt;
|Length of cluster based on maximal distance between pixels after projection to the axis perpendicular to the cluster axis.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;IsSensEdge&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|16&lt;br /&gt;
|Information whether cluster is at sensor edge. 0 for flase, 1 for true (is at sensor edge).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdAlong&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|17&lt;br /&gt;
|Weighted standard deviation of pixels with respect to cluster axis weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;StdPerp&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|18&lt;br /&gt;
|Weighted standard deviation of pixels with respect to axis perpendicular to the cluster axis and weighted with pixels energy. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|19&lt;br /&gt;
|Morphological feature expressing thinness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Thick&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|20&lt;br /&gt;
|Morphological feature expressing thickness of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;CurlyThin&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|21&lt;br /&gt;
|Morphological feature expressing combination of cluster thinness and inverse of linearity.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixMean&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|22&lt;br /&gt;
|Mean value of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EpixStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV&lt;br /&gt;
|23&lt;br /&gt;
|Standard deviation of pixels energy in cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on weighted standard deviation. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrStd&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on weighted standard deviation.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrWidth&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on cluster width.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LengthCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|24&lt;br /&gt;
|Cluster length in sensor plane corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Length3DCorrNabha&amp;lt;/code&amp;gt;&lt;br /&gt;
|um&lt;br /&gt;
|25&lt;br /&gt;
|Cluster length in sensor volume corrected for charge sharing based on Nabha model.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;AngleElev&amp;lt;/code&amp;gt;&lt;br /&gt;
|deg&lt;br /&gt;
|26&lt;br /&gt;
|Elevation angle of cluster.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt;&lt;br /&gt;
|keV/um&lt;br /&gt;
|27&lt;br /&gt;
|Linear energy transfer based on the corrected length and energy (E).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt;&lt;br /&gt;
|px&lt;br /&gt;
|28&lt;br /&gt;
|...&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;PIDClass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|29&lt;br /&gt;
|If PID is used, this number expressed class into which the cluster was classified. It goes from 0 to count_class - 1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
|30&lt;br /&gt;
|If filter is used, then it includes information whether cluster passed given filters or did not. 1 for passed, 0 for did NOT pass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example of created elist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elist text.png|1213x1213px]]&lt;br /&gt;
&lt;br /&gt;
=== Cluster log ===&lt;br /&gt;
&lt;br /&gt;
Clusters can be exported as individuals pixels. This format is called cluster log or clog and it is highly dependent on the input data (detector, measured mode, etc.). In the case of &#039;&#039;&#039;TPX&#039;&#039;&#039; detector the format is following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1/] [X_2, Y_2, iToT_2/E_2/]...&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1, Y_1, iToT_1/E_1] [X_2, Y_2, iToT_2/E_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;ACQ_TIME&amp;lt;/code&amp;gt; is acquisition time of frames and &amp;lt;code&amp;gt;UNIX_TIME&amp;lt;/code&amp;gt; is current UNIX time stamp in seconds (both). Every line starting with &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; is one cluster and in each square brackets is one pixel and its information &amp;lt;code&amp;gt;[x coordinate,y coordinate, iToT/Count/Energy]&amp;lt;/code&amp;gt;. &#039;&#039;&#039;The ToA and Count modes are not correctly implemented and they are treated as the ToT mode (especially of importance for the cluster parameters in the elist).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format is different for the &#039;&#039;&#039;TPX3&#039;&#039;&#039; detector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (FIRST_TIME_COINC_GROUP, COINC_TIME_WINDOW ns)&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
[X_1 ,Y_1, ToT_1/E_1, T_Diff_1] [X_2, Y_2, ToT_2/E_2, T_Diff_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
where each frame in this case coincidence group = clusters whose min times are within the &amp;lt;code&amp;gt;COINC_TIME_WINDOW&amp;lt;/code&amp;gt; starting with the first one at &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;. The pixels time is written as difference with the &amp;lt;code&amp;gt;FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;T_Diff = T_Pix - FIRST_TIME_COINC_GROUP&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;T_Pix&amp;lt;/code&amp;gt; is original time of pixels in ns. An exception from this rule is measurement in the frame mode &#039;&#039;&#039;iToT+Count&#039;&#039;&#039; when data are already saved in cluster log within the Pixet. To properly evaluate this data with the clusterer, it is needed to add additional option into the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--measmode &amp;amp;quot;itot+count&amp;amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This data does not include additional ToA information therefore the format has the same meaning as in the first case with TPX:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Frame 1 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
.... &lt;br /&gt;
&lt;br /&gt;
Frame 2 (UNIX_TIME, ACQ_TIME s)&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
[X_1 ,Y_1, iToT_1/E_1, Count_1] [X_2, Y_2, iToT_2/E_2, Count_2]...&lt;br /&gt;
....&amp;lt;/pre&amp;gt;&lt;br /&gt;
Summary of supported input data formats: * TPX3, data driven mode, tot+toa * TPX3, frame mode, itot+count * TPX, frame mode, tot Every other format will be processed but the results might be uncorrected evaluated, for example in the cluster parameters.&lt;br /&gt;
&lt;br /&gt;
Reprocessing of cluster logs can create cluster logs which could have incorrect coincidence group (in the case of TPX3 with ToA). If the coincidence window &amp;lt;code&amp;gt;el-coinctoadiff&amp;lt;/code&amp;gt; is &#039;&#039;&#039;increased&#039;&#039;&#039; with respect to the original one then the resulted group will not integrate several groups together which would fulfill this new time condition.&lt;br /&gt;
&lt;br /&gt;
== Masking==&lt;br /&gt;
&lt;br /&gt;
There is a possibility to mask a part of the sensor or individual pixels in the case of t3pa and clog files.&amp;lt;br /&amp;gt;&lt;br /&gt;
These pixels are omitted in the pre-processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
This can be used to avoid a signal from noisy pixels or to focus on some more interesting part of the sensor.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration is done through a configuration file. An example can be found in the program directory.&amp;lt;br /&amp;gt;&lt;br /&gt;
If the masking is used the during the pre-processing an additional t3pa/clog file is created with masked pixels according to the user configuration in the export directory (starts with &amp;lt;code&amp;gt;MASK_+ FileInName&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-mask.ini-into-parametrs-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Mask.ini into Parametrs File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the mask can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    MaskName = &amp;amp;quot;Mask.txt&amp;amp;quot;       // Name of the INI configuration file of the mask.  &lt;br /&gt;
    MaskPath = &amp;amp;quot;PATP/TO/MASK/&amp;amp;quot;  // Path of the INI configuration file of the mask.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
* The pixel which should be masked is written in format [X,Y]. These are X and Y coordinates of the pixel where both of them are integers from 0 to 255. The sensor orientation is usual and X coordinate is for rows and Y is for lines. They can be written in lines or rows in the mask file but always the [X,Y] in one line (can not be separated over several lines)&lt;br /&gt;
* If a larger part is of interest, following notation is used: [X_min - X_max, Y_min - Y_max] where X_min is the minimum coordinates of a pixel, X_max is the maximum coordinate of a pixel etc. For example, [0-255,0-120] masks almost half of the sensor - on the X axis from 0 to 255 and on the Y axis from 0 to 120. A simpler demonstration can be masking of one line of pixels (11th) : [0-255, 10].&lt;br /&gt;
&lt;br /&gt;
Example of all possibilities for masking:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [0,1] [2,5]&lt;br /&gt;
    [2,3]&lt;br /&gt;
&lt;br /&gt;
    [2-43,5]&lt;br /&gt;
    [76,8-90]&lt;br /&gt;
    [0-50,50-60]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;masking-with-pixet-mask&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Masking with Pixet Mask ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to exploit the masking created in Pixet, which takes the form of a text file where the lines and rows correspond to those of the detector. The orientation in this case is the same for x axis, but it is reversed for y axis where bottom of the detector is first line and top part of the detector is last line. The delimiter in this case is simple white space &amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;. The masked pixels are marked as &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and unmasked are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;. See following example (&amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt; used as abbreviations):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    1 1 1 1 0 1 ... 1&lt;br /&gt;
    1 1 1 1 1 1 ... 1&lt;br /&gt;
    ...&lt;br /&gt;
    0 1 1 1 1 1 ... 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPixHit_Sum_MaskOk_cnt&amp;quot;:242461,    // Count of pixels which passed the mask and used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOk_perc&amp;quot;:99.23,    // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_cnt&amp;quot;:1872,    // Count of pixels which did NOT pass the mask and they are used for processing.  &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_MaskOmit_perc&amp;quot;:0.766,  // The same as above but as part/percentage to total amount of pixels.&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_All_cnt&amp;quot;:41935,        // Total count of loaded pixels for raw data.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for log file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Mask conf file - name:      Mask.txt&lt;br /&gt;
    Mask conf file - path:      ./Test/data/test_029/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SENSOR MASK&lt;br /&gt;
        ...has been loaded.&lt;br /&gt;
&lt;br /&gt;
    Count of masked pixels:     901 (1.37%)&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Processing RawData T3PA:    &lt;br /&gt;
    Creating masked raw file:   MASK_tot_toa.t3pa&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    MASK&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountPixHit_Sum_MaskOk [-]:   242461&lt;br /&gt;
    CountPixHit_Sum_MaskOk [%]:   99.23&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [-]: 1872&lt;br /&gt;
    CountPixHit_Sum_MaskOmit [%]: 0.766&lt;br /&gt;
    CountPixHit_Sum_All [-]:      41935&amp;lt;/pre&amp;gt;&lt;br /&gt;
First part shows from which destination is the mask taken and what is the name of the file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part informs about successful loading of the file and how many pixels are masked.&amp;lt;br /&amp;gt;&lt;br /&gt;
The third part appears in the preprocessing sections and informs about actual masking of the raw data.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part is in the sections with results and includes the same information as it is in the sampling file.&lt;br /&gt;
&lt;br /&gt;
== Filtering==&lt;br /&gt;
&lt;br /&gt;
During the processing, filters can be used to obtain only information about particles of interest.&amp;lt;br /&amp;gt;&lt;br /&gt;
The filters are applied on cluster variables/parameters level (e.g. energy, height etc.). It is specified trough a configuration file in the INI format.&amp;lt;br /&amp;gt;&lt;br /&gt;
The cluster variables which should be used for filtering are specified with their unique name which is included&amp;lt;br /&amp;gt;&lt;br /&gt;
in the header of the created elist (if elist is input then it has to be already part of the file).&amp;lt;br /&amp;gt;&lt;br /&gt;
All results produced by DPE are only for filtered particles/for those which passed filter (histograms, graphs, spatial maps etc.).&amp;lt;br /&amp;gt;&lt;br /&gt;
An example can be found in the program directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-filter.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Filter.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file of the filter can be included with following options in the ParametersFile:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    FilterName = &amp;amp;quot;Filter.ini&amp;amp;quot;           // Name of the INI configuration file of the filter.  &lt;br /&gt;
    FilterPath = &amp;amp;quot;/PATH/TO/FILTER/&amp;amp;quot;     // Path of the INI configuration file of the filter.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;syntax-of-configuration-file-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Syntax of Configuration File ===&lt;br /&gt;
&lt;br /&gt;
The configuration file in INI format is a set of sections where each section is dedicated to one cluster parameter for which filtering should be done.&amp;lt;br /&amp;gt;&lt;br /&gt;
Individual parts of these sections are specific values of the filters for the given cluster parameter. Example with filter conditions for energy of clusters alias row &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in elist:&lt;br /&gt;
&lt;br /&gt;
* One section of the configuration file is named based on the key &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; in the elist: &amp;lt;code&amp;gt;[E]&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Condition is then written as &amp;lt;code&amp;gt;Range=100,200&amp;lt;/code&amp;gt;. The name &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; has to be first part of the condition name. This settings will produce a filter on cluster energy which should be only from 100 to 200 keV (edges are included).&lt;br /&gt;
* More ranges can be specified for one parameter. Individual conditions/ranges have to always include string &amp;lt;code&amp;gt;Range&amp;lt;/code&amp;gt; in names, but they have to differ, therefore suffixes/endings have to be introduced: &amp;lt;code&amp;gt;Range_1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Range_2&amp;lt;/code&amp;gt; etc. (, see example below).&lt;br /&gt;
&lt;br /&gt;
Filter with single condition in energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; from 100 to 200 keV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [E]&lt;br /&gt;
    Range = 100, 200   &amp;lt;/pre&amp;gt;&lt;br /&gt;
Filter with multiple conditions on energy &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [E]&lt;br /&gt;
    Range_1=100,200  &lt;br /&gt;
    Range_2=500,1000  &lt;br /&gt;
    Range_asdasd=300,2000  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;names-of-cluster-parametersvariables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Names of Cluster Parameters/Variables ===&lt;br /&gt;
&lt;br /&gt;
The names can be found in the table about cluster variables in the section [[#SecClusterVarElist|Cluster Variables and Elist]].&lt;br /&gt;
&lt;br /&gt;
=== Output into Extended Elist ===&lt;br /&gt;
&lt;br /&gt;
The output of the filtering can be found in the extended elist (in directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;). New column is created with name &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The values of this new clomun/parameter are &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for passing the filter and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for NOT passing the filter.&amp;lt;br /&amp;gt;&lt;br /&gt;
All particles are stored in the extended elist, but it is possible to suppress the export of those particles which did not pass the filter conditions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoExportElistExtFilter = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
with this switch in the parameters file, only those particles which passed the filter are exported into extended elist (column &amp;lt;code&amp;gt;FilterPass&amp;lt;/code&amp;gt; is still present).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;statistical-and-log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Statistical and Log Information ===&lt;br /&gt;
&lt;br /&gt;
Statistical information can be found in the general sampling list and it is also printed into log.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example for the sampling list in json format (explanations are given in the comments after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_FilterOk_cnt&amp;quot;:4386,      // Count of particles which passed the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOk_perc&amp;quot;:58.93,    // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_cnt&amp;quot;:3057,    // Count of particles which did NOT pass the filter.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_FilterOmit_perc&amp;quot;:41.07,  // Percentage of the above to the total count of particles.&lt;br /&gt;
    &amp;quot;CountParticle_Sum_All_cnt&amp;quot;:7443,           // Count of all particles which were evaluated.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Filter conf file - name:    Filter.ini&lt;br /&gt;
    Filter conf file - path:    ./Test/data/test_007/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
&lt;br /&gt;
    Conditions are logically connected as AND for different variables (within always as AND)&lt;br /&gt;
&lt;br /&gt;
        INDEX|NAME        CONDITIONS [min|max]&lt;br /&gt;
&lt;br /&gt;
        10|Roundness&lt;br /&gt;
         |-----------[0|2]&lt;br /&gt;
         &#039;-----------[0.4|0.45]&lt;br /&gt;
        9|BorderPixCount&lt;br /&gt;
         |-----------[1|10]&lt;br /&gt;
         &#039;-----------[20|1e+200]&lt;br /&gt;
        4|E&lt;br /&gt;
         &#039;-----------[100|1e+300]&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    FILTER&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    CountParticle_Sum_FilterOk [-]:         4386&lt;br /&gt;
    CountParticle_Sum_FilterOk [%]:         58.93&lt;br /&gt;
    CountParticle_Sum_FilterOmit [-]:       3057&lt;br /&gt;
    CountParticle_Sum_FilterOmit [%]:       41.07&lt;br /&gt;
    CountParticle_Sum_All [-]:              7443&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of filter can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which filter were recognized and what ranges are about to be used.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last part informs about statistical information and it includes the same information which are also given in the json sampling list.&lt;br /&gt;
&lt;br /&gt;
== Histograms==&lt;br /&gt;
&lt;br /&gt;
One of the DPE outputs are histograms of cluster variables/parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE in default exports 1D histograms of all cluster variables in extended elist and also several their combinations as 2D histograms.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to export user defined 1D and 2D histograms which can be configured with a configuration file in the INI format (an example can be found in the program directory).&amp;lt;br /&amp;gt;&lt;br /&gt;
The DPE allows to also create histograms of algebraic combinations of the cluster variables (multiplication, division, subtraction, addition).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is important that the general label (key name of a section in a INI file) of the histogram used in the INI file is unique to each histogram.&amp;lt;br /&amp;gt;&lt;br /&gt;
If there are more histograms with one common name then the program only updates information about the first one in the INI file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The label itself in not used in the program itself and title and name of the histogram are set separately.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histograms are used in other analysis, therefore their changes/using user configuration might disturb e.g. creation significant vectors. This might produce following error for significant vectors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[ERROR] -1041 : Error occurred during significant vector module initialization. Module will not be used in processing.&amp;lt;/pre&amp;gt;&lt;br /&gt;
It just informs that the settings of histograms is not compatible with settings of significant vectors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-hist.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of Hist.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
To use user configuration file for histograms, it is needed to add two parameters into paramters file, name (e.g. &amp;lt;code&amp;gt;Hist.ini&amp;lt;/code&amp;gt;) and path (e.g. &amp;lt;code&amp;gt;PATH/TO/HIST/CONFIG/&amp;lt;/code&amp;gt;) to the configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HistName - &amp;amp;quot;Hist.ini&amp;amp;quot;               // Name of the configuration file for histograms.&lt;br /&gt;
HistPath = &amp;amp;quot;PATH/TO/HIST/CONFIG/&amp;amp;quot;   // Path of the configuration file for histograms.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of histograms otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D ===&lt;br /&gt;
&lt;br /&gt;
The 1D histograms can be created as fixed bin width histograms or with variable binning (different width of bins).&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets assume that histograms of size should be created &amp;lt;code&amp;gt;Hist1D_Size&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The fixed bin width has following settings/needed parameters (example from configuration file with explanations = everything after #):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # Name of column with given variable (see the first line in Elist.txt - it has to be the same)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBin=9          # Number of bins &lt;br /&gt;
    Xmin=100        # Minimum value (if X = Xmin -&amp;amp;gt; it is NOT included to the first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000       # Maximum value (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same as above but with different choice of variable, it is based on the column position in the elist instead of the cluster variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=7      # Position of the column - starts from 0 (it is Size in the example)&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    NBin=9          # -||-&lt;br /&gt;
    Xmin=100        # -||-&lt;br /&gt;
    Xmax=1000       # -||-&amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create histogram from cluster size with 9 bins from 100 to 1000 where one bin has width 100. Variable size bin width and its needed parameters (same histogram as the one above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist1D_Size]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;S&amp;amp;quot;       # -||-&lt;br /&gt;
    BinLowEdge=100,200,300,400,500,600,700,800,900,1000     # Low edges of bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBin+1)        &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-2d&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D ===&lt;br /&gt;
&lt;br /&gt;
The 2D histograms are constructed in similar manner as 1D histograms. The fixed bin width histograms and their needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Name of columns with given variable - 1st is X, 2nd is Y (see the first line in Elist.txt - it has to be the same or see special variables)&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # Title of histogram (can be arbitrary - X if not given)&lt;br /&gt;
    NBinX=9             # Number of X bins where X is in this case energy,E&lt;br /&gt;
    Xmin=100            # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Xmax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&lt;br /&gt;
    NBinY=1000          # Number of Y bins &lt;br /&gt;
    Ymin=0              # Minimum value of X (if X = Xmin -&amp;amp;gt; it is NOT included to first bin - it has to be &amp;amp;gt; Xmin)&lt;br /&gt;
    Ymax=1000           # Maximum value of X (if X = Xmax -&amp;amp;gt; it is included to last bin NBin)&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example for cluster variables based on column positions in the elist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
&lt;br /&gt;
    ColIndex=4,7        # Position of the columns which should be processed - 1st is X, 2nd is Y &lt;br /&gt;
    #...(the same as above) &amp;lt;/pre&amp;gt;&lt;br /&gt;
These cases create 2D histogram of cluster energy and size where energy is from 100 to 1000 with bin width of 100 and size is from 0 to 1000 with bin width of 1. Variable size bin width and its needed parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # -||-&lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;         # -||-&lt;br /&gt;
    BinLowEdgeX=100,200,300,400,500,600,700,800,900,1000    # Low edges of X bins with Xmax (Xmin,...,Xmax -&amp;amp;gt; size NBinX+1)     &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000    # Low edges of Y bins with Ymax (Ymin,...,Ymax -&amp;amp;gt; size NBinY+1)     &amp;lt;/pre&amp;gt;&lt;br /&gt;
It is also possible do just variable binning in one variable the second one can be with fixed bin size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    [Hist2D_SE]&lt;br /&gt;
   &lt;br /&gt;
    VarName=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;      &lt;br /&gt;
    Title=&amp;amp;quot;E,S&amp;amp;quot;             &lt;br /&gt;
    NBinX=9             &lt;br /&gt;
    Xmin=100                &lt;br /&gt;
    Xmax=1000               &lt;br /&gt;
    BinLowEdgeY=100,200,300,400,500,600,700,800,900,1000         &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-algebraic-operations&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Additional Algebraic Operations ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms allow additional operations of addition, subtraction, multiplication and division on extracted variables from EList.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Histogram 1D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=4,7    # Division as 5th/7th column (in this case E/S = Epix) - 1st argument is divided by 2nd argument&lt;br /&gt;
    ColIndex_Mult=4,7   # Multiplication as 5th*7th column - 1st argument is multiplied with 2nd argument &lt;br /&gt;
    ColIndex_Add=4,7    # Additions 5th+7th column- 1st argument is added to 2nd argument&lt;br /&gt;
    ColIndex_Subtr=4,7  # Subtraction as 5th-7th column - 2nd argument is subtracted from 1st argument&amp;lt;/pre&amp;gt;&lt;br /&gt;
An example based on cluster variable names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Mult=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot; # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Add=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # Same thing as above but with names of columns&lt;br /&gt;
    VarName_Subtr=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;# Same thing as above but with names of columns     &amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Histogram 2D&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Very similar to 1D histograms but always the first given is X and the second given is Y.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex=4              # X is set to 4th column - energy&lt;br /&gt;
    ColIndex_Div=4,7        # Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
Operations used for both variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    ColIndex_Div=8,7,4,7    # X is set to division of 8th/7th and Y is set to division of 4th/7th&amp;lt;/pre&amp;gt;&lt;br /&gt;
The same thing can be done with names of columns/variables VarName:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    VarName_Div=&amp;amp;quot;E&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;,&amp;amp;quot;Height&amp;amp;quot;,&amp;amp;quot;Size&amp;amp;quot;  # X is E/Size and Y is Height/Size&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;text-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Text export ===&lt;br /&gt;
&lt;br /&gt;
There are two kinds of exported files: histogram data and histogram information/info file.&amp;lt;br /&amp;gt;&lt;br /&gt;
The histogram data file includes content of bins and bins low edges. The histogram info file comprehends features of the histogram: title, name, count of bins etc. (see more details below).&amp;lt;br /&amp;gt;&lt;br /&gt;
The data file has a suffix &amp;lt;code&amp;gt;.hist&amp;lt;/code&amp;gt; and the info file &amp;lt;code&amp;gt;.hist_info&amp;lt;/code&amp;gt;. The data file has following formatting for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1&lt;br /&gt;
    BinLowEdge_2      BinCont_2     &lt;br /&gt;
    ...               ....&lt;br /&gt;
    BinLowEdge_NBin   BinCont_NBin&lt;br /&gt;
    Xmax              Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The Xmax is included to allow an user easier read of this file without direct need to also read the info file (all needed information is in the data file in the base case).&amp;lt;br /&amp;gt;&lt;br /&gt;
It is also possible to export only those bins which have non zero content with fixed binning. This can be done with following option in the Hist.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSparseExport=1    # Check whether only nonzero bins should be exported (1 for true and 0 for false).&amp;lt;/pre&amp;gt;&lt;br /&gt;
It has to be used for each histogram separately and it is used as default settings. The exported data file has following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin              BinCont_1   &lt;br /&gt;
    BinLowEdge_2      BinCont_2   &lt;br /&gt;
    ...               ...&lt;br /&gt;
    BinLowEdge_i      BinCont_i != 0&lt;br /&gt;
    ...               ...&lt;br /&gt;
    Xmax              Overflow &amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;Xmin,BinLowEdge_2,Xmax&amp;lt;/code&amp;gt; are always exported even if their bin content is 0 for further reading and reconstruction of histograms. This option is not functional for variable binning to avoid a lack of information in the data file for histogram complete reconstruction in post-processing. To reconstruct the histogram, it can be done just based on the data file even in the case of sparse export because the missing bins&amp;lt;br /&amp;gt;&lt;br /&gt;
and bin width can be calculated based on the first two bins in the data file (BinWidth = BinLowEdge_2 - Xmin).&amp;lt;br /&amp;gt;&lt;br /&gt;
Anyway, it is recommended to read the info file for example in the case of constant bin width combined with the sparse export to ensure that given&amp;lt;br /&amp;gt;&lt;br /&gt;
histogram is truly with constant binning and not variable binning (written in the parameter: &amp;lt;code&amp;gt;BinEquiDist=1&amp;lt;/code&amp;gt; = it is const binning and 0 for variable binning).&lt;br /&gt;
&lt;br /&gt;
Similar approach is utilized for the 2D histograms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1                   # First bin&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   Ymin                BinCont_NBinX     &lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_2       BinCont_NBinX+NBinY   &lt;br /&gt;
    XBinLowEdge_2       YBinLowEdge_3       BinCont_NBinX+NBinY+1           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_NBinX   YBinLowEdge_NBinY   BinCont_NBinX*NBinY         # Last bin               &lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
The sparse export has following form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Xmin                Ymin                BinCont_1&lt;br /&gt;
    XBinLowEdge_2       Ymin                BinCont_2     &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_i       Ymin                BinCont_i != 0   &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmin                YBinLowEdge_2       BinCont_NBinX+1&lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    XBinLowEdge_m       YBinLowEdge_n       BinCont_m+n*NBinX != 0           &lt;br /&gt;
    ...                 ....                ....&lt;br /&gt;
    Xmax                Ymax                Overflow&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is similar to 1D histogram with the exception that there is also the next Y low bin edge to also estimate the width of binning for Y axis.&lt;br /&gt;
&lt;br /&gt;
The info file is formatted as an INI file and it includes the same information as the Hist.ini file for each histogram individually. There two additional features compared with the Hist.ini:&lt;br /&gt;
&lt;br /&gt;
* Statistical information (mean, err of mean, std, err of std)&lt;br /&gt;
* Overflow and underflow information&lt;br /&gt;
&lt;br /&gt;
Explanation of individual parameters are written as comment in example below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [HistPar]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Hist1D_Epix_1&amp;quot;                       # Title of the histograms used for unique recognition &lt;br /&gt;
    Name=&amp;quot;Mean energy per pixel of cluster&amp;quot;     # General name &lt;br /&gt;
    AxisTitles=&amp;quot;Epix [keV/px]&amp;quot;,&amp;quot;N [-]&amp;quot;          # Names of axis titles/lables.&lt;br /&gt;
    NBin=300                                    # Count of bins&lt;br /&gt;
    Xmin=0                                      # HIstogram minimum&lt;br /&gt;
    Xmax=300                                    # Histogram maximum&lt;br /&gt;
    BinEquidist=1                               # Check whether histogram has same width bins&lt;br /&gt;
&lt;br /&gt;
    [HistCont]&lt;br /&gt;
&lt;br /&gt;
    Underflow=0                                 # Count all events which are below Xmin &lt;br /&gt;
    Overflow=1                                  # Count all events which are above Xmax&lt;br /&gt;
&lt;br /&gt;
    [Statistics]&lt;br /&gt;
&lt;br /&gt;
    Mean=29.6869                                # Estimation of weighted mean value of histogram (weighted with bin contents) &lt;br /&gt;
    Mean_Err=0.20951                            # Error of the mean estimation&lt;br /&gt;
    Std=13.9273                                 # Estimation of weighted standard deviation of histogram (weighted with bin contents) &lt;br /&gt;
    Std_Err=1.40088                             # Error of the std estimation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Equivalent information is also given for histogram 2D with appropriate extension of additional dimension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;graphical-export&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Graphical export ===&lt;br /&gt;
[[File:Hist1d energy.png|thumb|414x414px|Derived deposited energy histograms with equidistant binning. Data displayed in lin scale (top plot) and log scale (bottom plot).]]&lt;br /&gt;
There is possibility to create plot of Hist1D and Hist2D via python matplotlib, it has to be preinstalled.&amp;lt;br /&amp;gt;&lt;br /&gt;
The current version will automatically create these plots if &amp;lt;code&amp;gt;DoExportGraphics=true&amp;lt;/code&amp;gt; but it can be turned off - see below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE                  # This is some code to call histogram 2D&lt;br /&gt;
    Name=&amp;amp;quot;Histogram2D title in plot&amp;amp;quot;    # Name o histogram in plot&lt;br /&gt;
    AxisTitle=&amp;amp;quot;X&amp;amp;quot;,&amp;amp;quot;Y&amp;amp;quot;,&amp;amp;quot;N&amp;amp;quot;               # Name of axis in the plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
The plots can be with logarithmic scales on all axis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE      # This is some code to call histogram 2D&lt;br /&gt;
    DoLogX=1                # 1 for true=do logarithmic X axis and 0 for false&lt;br /&gt;
    DoLogY=1                # 1 for true=do logarithmic Y axis and 0 for false&amp;lt;/pre&amp;gt;&lt;br /&gt;
To turn off plotting:&lt;br /&gt;
[[File:2dhist es.png|thumb|418x418px|2D histogram of cluster size and energy. The figure is accompanied with statistical information about mean values, standard deviations, sum/integral, maximum and minimum value.]]&lt;br /&gt;
&amp;lt;pre&amp;gt;    SOME_PREVIOUS_CODE  # This is some code to call histogram 2D&lt;br /&gt;
    DoPlot=0            # Default is 1 - do plot and 0 means not do plot&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is possible to adjust the number binning of the histogram only for the graphics. This can be done with &amp;lt;code&amp;gt;Hist1DGraphicsRebin&amp;lt;/code&amp;gt; in the &#039;&#039;&#039;main configuration file&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist1DGraphicsRebin = 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
This option with value 100 will change the shown number of bins in the graphics to 100 but the exported files includes original binning.&amp;lt;br /&amp;gt;&lt;br /&gt;
This is allowed for faster exports of histograms with more than 10000 bins which can time challenging for a PC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Hist conf file - name:      Hist.ini&lt;br /&gt;
    Hist conf file - path:      ./Test/data/test_006/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    HISTOGRAMS&lt;br /&gt;
&lt;br /&gt;
    1D:&lt;br /&gt;
        Hist1D_E_Total from column 4&lt;br /&gt;
        Hist1D_S_Total from column 7&lt;br /&gt;
        Hist1D_LET_Total from column 26&lt;br /&gt;
        Hist1D_EpixMean_Total from column 21&lt;br /&gt;
        Hist1D_Epix_Total from column-division: 4/7&lt;br /&gt;
        Hist1D_H_Total from column 8&lt;br /&gt;
        Hist1D_LET_VarBinWidth_Total from column 26&lt;br /&gt;
    2D:&lt;br /&gt;
        Hist2D_ES_Total from column 4 7&lt;br /&gt;
        Hist2D_ES_VarBinWidth_Total from column 4 7&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Hist are be shown with max N bins:  100 bins&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    Exporting histograms to: ./Test/out/test_006/./Hist/&lt;br /&gt;
&lt;br /&gt;
        Exporting histogram 1D: Hist1D_E_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_S_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_EpixMean_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_Epix_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_H_1&lt;br /&gt;
        Exporting histogram 1D: Hist1D_LET_VarBinWidth_1&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of histograms can be seen in the first stage of DPE processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms will be produced.&amp;lt;br /&amp;gt;&lt;br /&gt;
The last tow parts informs exporting of histograms (first one only if change of hist binning is used in graphical plots).&lt;br /&gt;
&lt;br /&gt;
== Significant Vectors==&lt;br /&gt;
&lt;br /&gt;
The significant vectors is a unique set/vector of numbers which describes given data sample/radiation field.&amp;lt;br /&amp;gt;&lt;br /&gt;
It can be used for radiation field recognition as it is done in the DPE.&amp;lt;br /&amp;gt;&lt;br /&gt;
There is a possibility to create own configuration file for the generation of the significant vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
The significant vectors are exported into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;FileOutPath&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
The analysis/generation of SigVec can be suppressed with the following option in Parameters file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DoSigVec = false&amp;lt;/pre&amp;gt;&lt;br /&gt;
The results are saved into directory &amp;lt;code&amp;gt;SigVec&amp;lt;/code&amp;gt; into files &amp;lt;code&amp;gt;SigVec.vec&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SigVec.vec_info&amp;lt;/code&amp;gt;. First file includes the vector itself and second file includes information about the vector (used histograms, intervals etc.).&lt;br /&gt;
&lt;br /&gt;
==== Theoretical Introduction ====&lt;br /&gt;
The significant vectors are sets of numbers which should describe &#039;&#039;&#039;uniquely&#039;&#039;&#039; a radiation field. They are created form 1D and 2D histograms based on the following rules (see the illustrations in the ):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;1D histograms&#039;&#039;&#039;: Each number of the significant vector is produced as a sum of bin contents within some specified ranges. Assuming that some elements of the vector should be done based on the energy distribution/histogram. Ranges of interests have to be specified where an integration is executed. This specification of the ranges is a task for an optimization method and differentiates based on the set of radiotin fields which should be recognized. One number is created for each range. These are normalized with a total integral over whole histogram to achieve comparability with different fields where more or less particles could be measured. A weighting can be also introduced as a last stage of the process to highlight some elements of the vector. This procedure can be done for several other cluster variables resulting in the vector of significant variables.&lt;br /&gt;
# &#039;&#039;&#039;2D histograms&#039;&#039;&#039;: Their conversion into significant variables obey similar rules as the 1D histograms. Except for the ranges, masks can be also specified which determines the area of interest. The integration is based on this mask where the mask has the same features as the histogram itself with values which can be used as weights. The mask values are used as a multiplicative factor in the integration therefore bins with 0 are ignored and bins with value higher than 1 are highlighted. &lt;br /&gt;
&lt;br /&gt;
[[File:DPE RFR SigVec 1 b.png|748x748px]][[File:DPE RFR SigVec 2 b.png|814x814px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;inclusion-of-sigvec.ini-into-parameters-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Inclusion of SigVec.ini into Parameters File ===&lt;br /&gt;
&lt;br /&gt;
The the DPE will include a user configuration file only if it is written in the PararamtersFile.&amp;lt;br /&amp;gt;&lt;br /&gt;
Two parameters are used for this purpose (assume that name of config file is &amp;lt;code&amp;gt;SigVec.ini&amp;lt;/code&amp;gt; in path &amp;lt;code&amp;gt;/PATH/TO/SIGVEC/CONFIG/&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVecName = &amp;amp;quot;SigVec.ini&amp;amp;quot;                  // Name of the configuration file for significant vectors.&lt;br /&gt;
    SigVecPath = &amp;amp;quot;/PATH/TO/SIGVEC/CONFIG/&amp;amp;quot;     // Path to the configuration file for significant vectors.&amp;lt;/pre&amp;gt;&lt;br /&gt;
If at least the name is set and the file is found on the given location then the DPE uses this settings of SigVec otherwise default configuration is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;histogram-1d---intervals-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 1D - Intervals of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is examined and all bins (bin contents) with bin center between up and down edge/limit of given interval is summed, number R_1.&amp;lt;br /&amp;gt;&lt;br /&gt;
This number is used as one element of SigVec = {R_1, R_2, … , R_N} for N of intervals.&amp;lt;br /&amp;gt;&lt;br /&gt;
At least two numbers has to be given - down and up edge of the interval where interval condition for bins are following: DOWN_EDGE &amp;amp;lt; BinCenter &amp;amp;lt;= UP_EDGE.&amp;lt;br /&amp;gt;&lt;br /&gt;
An example of configuration file for 1D histogram:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_Epix]                          # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Epix&amp;quot;                        # Title of the variable.&lt;br /&gt;
    HistName=&amp;quot;Hist_Epix&amp;quot;                # Name of histogram which should be processed - same as name of histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Intervals=0,200,100,500,500,5000    # Limits of intervals - 1st interval = from 0 to 200, 2nd interval = from 100 to 500 etc. (N in this case is 3)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The intervals can be overlapping. &#039;&#039;&#039;The section name has to include string &amp;lt;code&amp;gt;Var&amp;lt;/code&amp;gt; in its name and they have to differ for different elements of the SigVec: &amp;lt;code&amp;gt;Var_E, Var_S, ...&amp;lt;/code&amp;gt;&#039;&#039;&#039;.&amp;lt;span id=&amp;quot;histogram-2d---regions-of-interest&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Histogram 2D - Regions of Interest ===&lt;br /&gt;
&lt;br /&gt;
A histogram is multiplied with mask (from 0 val to inf - can serve as weights) with the same number of bins.&amp;lt;br /&amp;gt;&lt;br /&gt;
Then the histogram is summed and this number is as an input to the SigVec.&amp;lt;br /&amp;gt;&lt;br /&gt;
For each given mask one number is produced. An example of configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_E_S]                               # Section name as unique key of the given SigVec element. It has to include the string &amp;quot;Var_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;E_S&amp;quot;                             # Title of the variables&lt;br /&gt;
    HistName=&amp;quot;Hist_E_S_2&amp;quot;                   # Name of histogram which should be processed - same as name if histogram file without suffix/ending in directory Hist (data suffix)&lt;br /&gt;
    Mask_1=&amp;quot;\PATH\TO\MASK\MASK1_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&lt;br /&gt;
    Mask_2=&amp;quot;\PATH\TO\MASK\MASK2_FILE_NAME&amp;quot;  # Path to masks which should be applied - same dimensions as histogram (see examples)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lets assume that the &amp;lt;code&amp;gt;Hist_E_S_2&amp;lt;/code&amp;gt; is following histogram: NBinX = 5, Xmin = 0, Xmax = 10 &amp;amp;amp; NBinY = 4, Xmin = 0, Xmax = 4 then the mask should have following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0 1 0 0 0&lt;br /&gt;
0 0 0 0 0&lt;br /&gt;
0 2 0 0 3&lt;br /&gt;
0 0 0 4 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
A single gap is used as number separator.This will use bins [X,Y,Weight] = [2,1,1], [2,3,2], [5,2,3], [4,4,4], [4,5,10] and the matrix is read from first line to the last one (1st line is Y = 1).&amp;lt;span id=&amp;quot;normalization&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Normalization ===&lt;br /&gt;
&lt;br /&gt;
Both 1D and 2D histograms can be normalized before they are used calculation of the SigVec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    Normalize=1         # 1 to DO normalization - 0 to NOT do norm. - default is 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-configuration&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Default Configuration ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;    [Var_S]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_S&amp;quot;&lt;br /&gt;
    Intervals=-1,5,5,20,20,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_BorderPixN]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_BorderPixN&amp;quot;&lt;br /&gt;
    Intervals=-1,2,2,5,5,15,15,1e+200&lt;br /&gt;
    Normalize=1&lt;br /&gt;
&lt;br /&gt;
    [Var_Lin]&lt;br /&gt;
&lt;br /&gt;
    Title=&amp;quot;Var_Lin&amp;quot;&lt;br /&gt;
    Intervals=-1,0.5,0.5,0.95,0.95,1e+200&lt;br /&gt;
    Normalize=1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Minimum values -1 and maximum 1e+200 are safety precautions to be sure that all relevant bins are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    SigVec conf file - name:    SigVec.ini&lt;br /&gt;
    SigVec conf file - path:    ./Test/data/test_008/&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    SIGNIFICANT VECTOR&lt;br /&gt;
&lt;br /&gt;
    Features:&lt;br /&gt;
&lt;br /&gt;
        Title = Epix &lt;br /&gt;
        HistName = Hist1D_EpixMean_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = H &lt;br /&gt;
        HistName = Hist1D_H_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = LET &lt;br /&gt;
        HistName = Hist1D_LET_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = E &lt;br /&gt;
        HistName = Hist1D_E_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
        Title = S &lt;br /&gt;
        HistName = Hist1D_S_Total &lt;br /&gt;
        Intervals&lt;br /&gt;
        Normalize= True&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first part informing about name and path to the config file of significant vector can be seen in the first stage of DPE processing (if it is not shown then default option is used).&amp;lt;br /&amp;gt;&lt;br /&gt;
The second part is in the same processing/nationalization stage of DPE and it shows which histograms and intervals/masks will be used to creation of the vector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    =======================================================================&lt;br /&gt;
                         SIGNIFICANT VECTOR PROCESSING                     &lt;br /&gt;
    =======================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_EpixMean_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,1e+200]&lt;br /&gt;
        Intervaling results:    0.967578    0.032422&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_H_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,50][50,200][200,1e+200]&lt;br /&gt;
        Intervaling results:    0.596236    0.402650    0.001114&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_LET_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,1][1,3][3,1e+200]&lt;br /&gt;
        Intervaling results:    0.915691    0.084309    0.000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_E_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,200][200,1000][1000,1e+200]&lt;br /&gt;
        Intervaling results:    0.686559    0.313417    0.000024&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Processing histogram: Hist1D_S_Total&lt;br /&gt;
        &lt;br /&gt;
        Histogram intervaling:  [0,5][5,20][20,1e+200]&lt;br /&gt;
        Intervaling results:    0.595407    0.387884    0.016709&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last parts includes information about created elements of the vector, from which histograms were created and what are the results.&lt;br /&gt;
&lt;br /&gt;
== Particle Identification==&lt;br /&gt;
&lt;br /&gt;
The DPE engine is also capable of basic particle identification/classification.&amp;lt;br /&amp;gt;&lt;br /&gt;
This output can be exported into extended elist where new column/PIDClass will be created with information about recognized class.&lt;br /&gt;
&lt;br /&gt;
The choice of the PID algorithm is based on the switch &amp;lt;code&amp;gt;PIDAlg&amp;lt;/code&amp;gt; whose numerical value are listed below. The settings can be done in the main configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    PIDAlg = 201&amp;lt;/pre&amp;gt;&lt;br /&gt;
the current possible values are following:&lt;br /&gt;
&lt;br /&gt;
* 101 - Heuristic simplified DT for TPX 300 um Si&lt;br /&gt;
* 102 - Heuristic decision tree with 8 classes for TPX 300 um Si&lt;br /&gt;
* 103 - Heuristic decision tree with 16 classes for TPX3 500 um Si&lt;br /&gt;
* 201 - Dense neural network with 3 classes for TPX 300 um Si&lt;br /&gt;
* 202 - Dense neural network with 6 classes for TPX 300 um Si&lt;br /&gt;
* 251 - Dense neural network with 3 classes for TPX3 500 um Si&lt;br /&gt;
* 252 - Dense neural network with 6 classes for TPX3 500 um Si&lt;br /&gt;
&lt;br /&gt;
If not value is given to the program then DT is chosen based on the detector configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-neural-networks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Neural Networks ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;201&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;202&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dense neural networks for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;251&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 3 classes&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;252&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Dense neural network TPX3 with 6 classes&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Protons LE (&amp;amp;lt;30 MeV)&lt;br /&gt;
# Protons ME (&amp;amp;gt;30 &amp;amp;amp; &amp;amp;lt;100 MeV)&lt;br /&gt;
# Protons HE (&amp;amp;gt;100 MeV)&lt;br /&gt;
# Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
# Helium ions&lt;br /&gt;
# Ions (except He)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;algorithms-based-on-decision-trees&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Algorithms based on Decision Trees ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX 300 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;101&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic simplified DT with 3 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Low LET: electrons, X-rays, gamma&lt;br /&gt;
# Mid LET: protons&lt;br /&gt;
# High LET: ions&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;102&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 8 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; LE electrons OD; HE electrons OD; muons PP&lt;br /&gt;
# LE protons OD; HE protons PP&lt;br /&gt;
# LE alphas OD; HE alphas PP&lt;br /&gt;
# LE ions OD; HE ions PP&lt;br /&gt;
# HE electrons OD; muons nPP&lt;br /&gt;
# HE protons nPP; UHE protons nPP; UHE alphas nPP&lt;br /&gt;
# He alphas nPP; UHE light ions nPP&lt;br /&gt;
# He ions nPP&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Decision tree for TPX3 500 um Si&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;103&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Heuristic decision tree with 16 classes:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# X-rays; HE electrons PP; HE protons PP&lt;br /&gt;
# Gamma rays LE (e.g. 137 Cs)&lt;br /&gt;
# Gamma rays HE (e.g. 60 Co)&lt;br /&gt;
# LE electrons OD (&amp;amp;lt; 10 MeV)&lt;br /&gt;
# HE electrons nPP (&amp;amp;gt; 10 MeV)&lt;br /&gt;
# LE and HE electrons PP&lt;br /&gt;
# LE protons (&amp;amp;lt; 3MeV)&lt;br /&gt;
# ME protons (3-10 MeV)&lt;br /&gt;
# HE protons (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE alphas (&amp;amp;lt;10 MeV)&lt;br /&gt;
# HE alphas (&amp;amp;gt;10 MeV)&lt;br /&gt;
# LE ions (&amp;amp;lt;10 MeV/u)&lt;br /&gt;
# HE ions (&amp;amp;gt;10 MeV/u)&lt;br /&gt;
# LE, thermal and slow neutrons ( &amp;amp;lt; 0.5 eV)&lt;br /&gt;
# HE fast neutrons ( &amp;amp;gt; 1 MeV)&lt;br /&gt;
# Others&lt;br /&gt;
&lt;br /&gt;
Explanation of used abbreviations: LE - Low Energy, HE - High Energy, UHE - Ultra High Energy ,OD - Omni Directional, PP - Perpendicular to the sensor, nPP - non Perpendicular. Their values differentiate for individual decision tree.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;log-and-statistical-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Log and Statistical Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
&lt;br /&gt;
    Algorithm was chosen based on detector settings.&lt;br /&gt;
&lt;br /&gt;
    Alg description:                Dense neural network&lt;br /&gt;
    Alg switch:                     251&lt;br /&gt;
    Optimized for detector&lt;br /&gt;
         Chip type:                 TPX3&lt;br /&gt;
         Sensor material:           Si&lt;br /&gt;
         Sensor thickness:          500 um&lt;br /&gt;
         Sensor bias:               80 V&lt;br /&gt;
    Classes:&lt;br /&gt;
         1) Protons&lt;br /&gt;
         2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
         3) Ions&lt;br /&gt;
         4) Others&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
    PARTICLE CLASSIFICATION&lt;br /&gt;
    --------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ClassNames:&lt;br /&gt;
        1) Protons&lt;br /&gt;
        2) Photons &amp;amp;amp;&amp;amp;amp; Electrons&lt;br /&gt;
        3) Ions&lt;br /&gt;
        4) Others&lt;br /&gt;
&lt;br /&gt;
    AlgorithmSwitch [-]:          251&lt;br /&gt;
    CountParticle_Sum_Class [-]:  701, 41492, 0, 0&lt;br /&gt;
    CountParticle_Sum_Class [%]:  1.66, 98.34, 0, 0&lt;br /&gt;
    CountRate_Mean_Class [s-1]:   70, 4150, 0, 0&lt;br /&gt;
    Fluence_Sum_Class [cm-2]:     353.6004, 20929.5099, 0, 0&lt;br /&gt;
    Flux_Sum_Class [cm-2 s-1]:    35.3660, 2093.3022, 0, 0&lt;br /&gt;
    EnergyDep_Sum_Class [keV+1]:  434964.7790, 6105693.4420, 0, 0&lt;br /&gt;
    Dose_Sum_Class [uGy+1]:       0.30187, 4.2374, 0, 0&lt;br /&gt;
    DoseRate_Mean_Class [uGy+1 h-1]:108.6909, 1525.7176, 0, 0&lt;br /&gt;
&lt;br /&gt;
    TotalValues_Class:&lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
         |              | N_Class      | Fluence_Class| Flux_Class   | Edep_Class   | Dose_Class   | DR_Class     | &lt;br /&gt;
         |   ClassNum   |-------------- -------------- -------------- -------------- -------------- --------------|&lt;br /&gt;
         | 1            | 701          | 70.1118      | 35.3660      | 434964.7790  | 0.30187      | 108.6909     | &lt;br /&gt;
         | 2            | 41492        | 4149.8963    | 2093.3022    | 6105693.4420 | 4.2374       | 1525.7176    | &lt;br /&gt;
         | 3            | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         | Others       | 0            | 0            | 0            | 0            | 0            | 0            | &lt;br /&gt;
         ==========================================================================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information about used algorithm, for which detector the given algorithm was optimized and into which classes the cluster will be separated. The second part includes the same information as those included in the sampling list, see more information in the text below and the example in json format.&lt;br /&gt;
&lt;br /&gt;
Statistical information is given in the general sampling list in the directory &amp;lt;code&amp;gt;File&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],    // Name of particle classes.&lt;br /&gt;
&amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,                                              // Switch of algorithm used for classification&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],                     // Particle sum for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],                   // Particle sum in percentages for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],                          // Sum of mean values of count rates for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],                // Sum of fluences for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],                  // Sum of mean values of particle flux for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],        // Sum of deposited energies for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],                       // Sum of doses for given classes (numbers follows the list of classes).&lt;br /&gt;
&amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],           // Sum of mean values oi dose rates for given classes (numbers follows the list of classes).&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4, 8, 3, 1, 3, 2, 1, 4, 2, 3, 3, 3, 3, 3, 1, 2, 1, 5, 3, 1, 3, 3, 5, 2, 3, 5, 4, 2, 3, 2, 8, 3, 0, 6, 2, 3, 2, 1, 3, 1, 2, 7, 5, 3, 1, 5, 5, 2, 4, 2, 4, 5, 1, 3, 7, 3, 4, 1, 4, 7, 2, 4, 2, 5, 3, 3, 3, 2, 6, 6, 1, 5, 4, 2, 4, 1, 6, 5, 0, 4, 4, 7, 2, 3, 3, 6, 1, 2, 5, 5, 4, 4, 3, 5, 0, 1, 5, 4, 5, 4, 3, 4, 5, 3, 4, 2, 4, 5, 3, 1, 4, 3, 2, 9, 2, 4, 6, 6, 6, 4, 3, 1, 5, 4, 3, 4, 2, 5, 3, 6, 2, 3, 5, 3, 5, 2, 2, 5, 3, 4, 0, 1, 3, 4, 2, 6, 1, 5, 5, 6, 4, 3, 2, 4, 2, 6, 7, 3, 2, 4, 6, 2, 3, 4, 0, 2, 3, 4, 3, 4, 4, 5, 4, 2, 1, 8, 7, 2, 5, 6, 3, 7, 3, 5, 1, 2, 4, 4, 5, 4, 4, 8, 3, 4, 4, 2, 1 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205, 222, 223, 211, 225, 205, 201, 184, 231, 209, 189, 195, 225, 192, 216, 206, 184, 212, 211, 209, 188, 212, 212, 247, 203, 185, 208, 215, 224, 207, 206, 202, 195, 196, 185, 186, 181, 228, 209, 203, 193, 189, 164, 196, 224, 208, 205, 196, 188, 210, 207, 223, 219, 207, 232, 195, 207, 184, 198, 214, 232, 194, 215, 210, 214, 221, 212, 227, 221, 220, 222, 203, 202, 238, 208, 209, 222, 211, 228, 203, 206, 229, 195, 217, 202, 189, 206, 214, 227, 202, 215, 249, 223, 218, 240, 214, 220, 218, 225, 197, 178, 194, 212, 184, 204, 214, 196, 177, 210, 210, 193, 188, 193, 201, 149, 208, 183, 193, 212, 203, 180, 205, 227, 209, 170, 215, 193, 210, 196, 191, 220, 185, 199, 192, 175, 235, 228, 214, 205, 231, 191, 198, 192, 214, 220, 219, 257, 218, 191, 236, 213, 234, 207, 214, 240, 240, 223, 209, 232, 211, 217, 235, 209, 192, 191, 199, 225, 214, 169, 226, 234, 202, 197, 205, 205, 184, 208, 218, 198, 217, 190, 207, 221, 217, 172, 248, 207, 176, 213, 201, 212, 189, 202, 207, 227, 173, 215 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The second part of the output into sampling list contains information about individual physical products and its dependence on sampling time and used particles class. Based on the example above, one array includes values of count rate for given class in given time (sampled based on sampling time).&lt;br /&gt;
&lt;br /&gt;
== Radiation Field Recognition==&lt;br /&gt;
&lt;br /&gt;
The DPE is capable of basic radiation filed recognition (RFR). The current version supports following algorithm:&lt;br /&gt;
&lt;br /&gt;
* Distance Comparator&lt;br /&gt;
&lt;br /&gt;
To use the RFR, it is needed to use standard/default settings of the DPE with respect to the histograms and significant vectors.&lt;br /&gt;
&lt;br /&gt;
[[File:Rfr sigvec distance.png|1084x1084px]]&lt;br /&gt;
=== Distance Comparator ===&lt;br /&gt;
&lt;br /&gt;
The distance comparator uses the significant vectors of premesured known radiation fields (database of vectors) and compare them with the given data for processing.&amp;lt;br /&amp;gt;&lt;br /&gt;
There has to be match between the database detector configuration and the data configuration.&amp;lt;br /&amp;gt;&lt;br /&gt;
The comparison is based on distance evaluation between the known and unknown vector. The final probability that given data is one of the source is based on in-proportional relation between probability and the distance.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can find below currently included databases for the detector configuration.&lt;br /&gt;
&lt;br /&gt;
CdTe 2mm TPX3 and efficiency results:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    IN/OUT  Ba133   Cs137   Eu152   Co60    Am241   Na22        &lt;br /&gt;
    Ba133   97.40   0.40    1.31    0.26    0.33    0.30    &lt;br /&gt;
    Cs137   3.22    77.73   4.51    4.56    2.40    7.57    &lt;br /&gt;
    Eu152   2.70    1.08    94.16   0.62    0.69    0.74    &lt;br /&gt;
    Co60    1.06    2.53    1.29    89.48   1.22    4.41    &lt;br /&gt;
    Am241   1.47    1.37    1.56    1.31    93.04   1.24    &lt;br /&gt;
    Na22    0.87    3.13    1.10    3.28    0.81    90.81   &amp;lt;/pre&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing and Physical Products==&lt;br /&gt;
&lt;br /&gt;
The main physical products which can be found in the exported files are following:&lt;br /&gt;
&lt;br /&gt;
* Flux&lt;br /&gt;
* Count of particles and pixels&lt;br /&gt;
* Dose rate&lt;br /&gt;
* Deposited energy&lt;br /&gt;
* Distributions of cluster variables&lt;br /&gt;
* Spatial event maps of cluster variables&lt;br /&gt;
* Spatial map of clusters and individual clusters&lt;br /&gt;
&lt;br /&gt;
The flux and dose rate account for possible masking. In the output sampling list, all time coupled variables are in the cases of classes calculated with respect to the sampling time. The total variables are calculated with respect to the elapsed time which is usually shorter. The elapsed time is defined as time of the last processed event/particle. Therefore these values are bigger than the sum/mean of variables of classes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-sampling-of-data&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Sampling of Data ===&lt;br /&gt;
&lt;br /&gt;
Most of the physical products are calculated based on a sampling time. This means that all events/particles which are within a time interval of sampling time from some starting point contribute to the physical products.&amp;lt;br /&amp;gt;&lt;br /&gt;
Example, lets assume that measurement of 10 s were done and 20000 particles were registered in first 5 seconds and 30000 particles in another 5 seconds. If the sampling time is chosen as 5 s than 2 samples are created in the output file with two values for each sampled physical product. The values of flux, if no mask is used, are then: 2000 and 3000 particles/s cm-2. The total flux is calculated based on the elapsed time and if the last event was detected at time of 9 s then the total flux is: (20000 + 30000 particles)/(2 cm2 * 9 s) = 2777,8 particles/s cm-2 which is more than the mean value of the class fluxes 2500 particles/s cm-2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the case of the frame, all the physical products are calculated and visualized with respect tot he detector&#039;s live time. In other words, the dead time is not accounted for (it is estimation is nevertheless done and can be found in the frame list).&#039;&#039;&#039;&amp;lt;span id=&amp;quot;sampling-list&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Sampling List ===&lt;br /&gt;
&lt;br /&gt;
The sampling list includes general information about all physical products and their dependence on sampling time and particle class. It also includes general information about PID.&amp;lt;br /&amp;gt;&lt;br /&gt;
There two formats for export: plain text (copy of terminal print) and json. In the json file, the key is created from part with name and Explanation of individual parameters is given in the example below after &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeLive_Sum_s+1&amp;quot;:9.998322064,         // Total measured time in s&lt;br /&gt;
    &amp;quot;TimeSampling_s+1&amp;quot;:0.05000000000,       // Sampling time in s&lt;br /&gt;
    &amp;quot;CountSample_cnt&amp;quot;:200,                  // Count of samples&lt;br /&gt;
    &amp;quot;Time_First_ns+1&amp;quot;:0,                    // Time used as start reference in ns&lt;br /&gt;
    &amp;quot;Time_Last_ns+1&amp;quot;:9998322064.06,         // Time of last event in ns&lt;br /&gt;
    &amp;quot;Time_Last_s+1&amp;quot;:9.998322064,            // Time of last event in s&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;CountPixHit_Sum_cnt&amp;quot;:244333,           // Total sum of all hit pixels&lt;br /&gt;
    &amp;quot;CountParticle_Sum_cnt&amp;quot;:42193,          // Total sum of all particles/clusters&lt;br /&gt;
    &amp;quot;CountRate_Mean_s-1&amp;quot;:4220.0081,         // Total particle rate in s-1&lt;br /&gt;
    &amp;quot;CountRatePixHit_Mean_s-1&amp;quot;:24437.4004,  // Total pixel rate in s-1 (can be used to estimate readout overwhelming)&lt;br /&gt;
    &amp;quot;Fluence_Sum_cm-2&amp;quot;:21283.1103,          // Total fluence of particle in cm-2&lt;br /&gt;
    &amp;quot;Flux_Sum_cm-2s-1&amp;quot;:2128.6682,           // Total flux of particles in cm-2 s-1&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_keV&amp;quot;:6540658.2210,       // Total deposited energy in keV&lt;br /&gt;
    &amp;quot;Dose_Sum_uGy+1&amp;quot;:4.5393,                // Total dose of particles in uGy or Gy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_Mean_uGy+1h-1&amp;quot;:1634.4086,     // Total dose rate of particles in uGy h-1 or Gy s-1 (DoDoseUnitRadiology)&lt;br /&gt;
&lt;br /&gt;
    // Described in the section about PID&lt;br /&gt;
    &amp;quot;ClassNames&amp;quot;:[ &amp;quot;Protons&amp;quot;, &amp;quot;Photons &amp;amp;&amp;amp; Electrons&amp;quot;, &amp;quot;Ions&amp;quot;, &amp;quot;Others&amp;quot;],&lt;br /&gt;
    &amp;quot;AlgorithmSwitch_cnt&amp;quot;:251,&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_cnt&amp;quot;:[ 701, 41492, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Class_perc&amp;quot;:[ 1.66, 98.34, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Class_s-1&amp;quot;:[ 70, 4150, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Class_cm-2&amp;quot;:[ 353.6004, 20929.5099, 0, 0 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Class_cm-2s-1&amp;quot;:[ 35.3660, 2093.3022, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Class_keV+1&amp;quot;:[ 434964.7790, 6105693.4420, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Class_uGy+1&amp;quot;:[ 0.30187, 4.2374, 0, 0 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Class_uGy+1h-1&amp;quot;:[ 108.6909, 1525.7176, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.10000, 0.15000, 0.20000],&lt;br /&gt;
    // Sampling time in each sample  &lt;br /&gt;
    &amp;quot;TimeSampling_Int_Sample_s+1&amp;quot;:[ 0.050000, 0.050000, 0.050000, 0.050000],&lt;br /&gt;
    // All physical products as in the tables above but for individual time samples &lt;br /&gt;
    &amp;quot;CountPixHit_Sum_Sample_cnt&amp;quot;:[ 1239, 1225, 1204, 11406 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sum_Sample_cnt&amp;quot;:[ 209, 208, 197, 209],&lt;br /&gt;
    &amp;quot;CountRate_Mean_Sample_s-1&amp;quot;:[ 4180, 4160, 3940, 4180],&lt;br /&gt;
    &amp;quot;Fluence_Sum_Sample_cm-2&amp;quot;:[ 105.4244, 104.9199, 99.3713, 105.4244 ],&lt;br /&gt;
    &amp;quot;Flux_Sum_Sample_cm-2s-1&amp;quot;:[ 2108.4872, 2098.3988, 1987.4257, 2108.4872],&lt;br /&gt;
    &amp;quot;EnergyDep_Sum_Sample_keV+1&amp;quot;:[ 34408.3804, 31737.0849, 32648.1435, 30391.8794 ],&lt;br /&gt;
    &amp;quot;Dose_Sum_Sample_uGy+1&amp;quot;:[ 85.9668, 79.2927, 81.5689, 75.9318 ],&lt;br /&gt;
    &amp;quot;DoseRate_Mean_Sample_uGy+1h-1&amp;quot;:[ 1719.3351, 1585.8544, 1631.3787, 1518.6365 ],&lt;br /&gt;
&lt;br /&gt;
    // described in the section about PID&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class1_cnt&amp;quot;:[ 2, 2, 5, 4],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class2_cnt&amp;quot;:[ 207, 206, 192, 205],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_Class3_cnt&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountParticle_Sample_ClassOthers_cnt&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class1_s-1&amp;quot;:[ 40, 40, 100, 80],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class2_s-1&amp;quot;:[ 4140, 4120, 3840, 4100 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_Class3_s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;CountRate_Sample_ClassOthers_s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class1_cm-2&amp;quot;:[ 1.0088, 1.0088, 2.5221, 2.0177],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class2_cm-2&amp;quot;:[ 104.4155, 103.9111, 96.8492, 103.4067 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_Class3_cm-2&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Fluence_Sample_ClassOthers_cm-2&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Flux_Sample_Class1_cm-2s-1&amp;quot;:[ 20.1769, 20.1769, 50.4423, 40.3538 ],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class2_cm-2s-1&amp;quot;:[ 2088.3103, 2078.2218, 1936.9835, 2068.1334],&lt;br /&gt;
    &amp;quot;Flux_Sample_Class3_cm-2s-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;Flux_Sample_ClassOthers_cm-2s-1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class1_keV+1&amp;quot;:[ 1377.3510, 1318.7130, 3022.6320, 2560.5120 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class2_keV+1&amp;quot;:[ 33031.0294, 30418.3719, 29625.5115, 27831.3674],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_Class3_keV+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;EnergyDep_Sample_ClassOthers_keV+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;Dose_Sample_Class1_uGy+1&amp;quot;:[ 0.00095589, 0.00091520, 0.0020977, 0.0017770 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class2_uGy+1&amp;quot;:[ 0.022924, 0.021111, 0.020560, 0.019315],&lt;br /&gt;
    &amp;quot;Dose_Sample_Class3_uGy+1&amp;quot;:[ 0, 0, 0, 0 ],&lt;br /&gt;
    &amp;quot;Dose_Sample_ClassOthers_uGy+1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
&lt;br /&gt;
    // same as above but for count rate&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class1_uGy+1h-1&amp;quot;:[ 68.8242, 65.8941, 151.0364, 127.9449 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class2_uGy+1h-1&amp;quot;:[ 1650.5109, 1519.9603, 1480.3423, 1390.6916 ],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_Class3_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0],&lt;br /&gt;
    &amp;quot;DoseRate_Sample_ClassOthers_uGy+1h-1&amp;quot;:[ 0, 0, 0, 0, 0 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frame Analysis==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* acq time can be estimated only for clog input files (for matrix files it is unknown)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountFrame_cnt&amp;quot;:7,                 // Count of frames&lt;br /&gt;
    &amp;quot;CountFrame_NonEmpty_cnt&amp;quot;:4,        // Count of non empty frames&lt;br /&gt;
    &amp;quot;CountFrame_Empty_cnt&amp;quot;:3,           // Count of empty frames&lt;br /&gt;
    &amp;quot;TimeAcq_s+1&amp;quot;:0.005000000000,       // Estimation of acquisition time of frames in s (only for clog data)&lt;br /&gt;
    &amp;quot;TimeDead_Mean_s+1&amp;quot;:1.495000000,    // Mean value of dead time estimation in s -&amp;gt; time needed for readout of frame&lt;br /&gt;
    &amp;quot;TimeDead_Std_s+1&amp;quot;:0.5477221222,    // Std of above in s&lt;br /&gt;
    &amp;quot;FramesPerSecond_Mean_s-1&amp;quot;:0.6667,  // Frame rate in s-1 -&amp;gt; 1/(TimeAcq_s+1 + TimeDead_Mean_s+1)&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;EnergyDep_MeanStdMinMax_keV+1&amp;quot;:[ 25.5569, 32.7182, 75.3443, 0 ],                           // Mean, std, minimum and maximum of deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;Dose_MeanStdMinMax_Gy+1&amp;quot;:[ 0.000000000017737, 0.000000000022707, 0.000000000052289, 0 ],   // Mean, std, minimum and maximum of dose in one frame Gy or uGy (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;DoseRate_MeanStdMinMax_Gy+1s-1&amp;quot;:[ 0.0000000035473, 0.0000000045413, 0.000000010458, 0 ],   // Mean, std, minimum and maximum of dose rate in one frame in Gy s-1 or uGy h-1 (DoDoseUnitRadiology)&lt;br /&gt;
    &amp;quot;EnergyDepPix_MeanStdMinMax_keV+1&amp;quot;:[ 6.2823, 6.2487, 15.0689, 0 ],                          // Mean, std, minimum and maximum of per pixel deposited energy in one frame in keV&lt;br /&gt;
    &amp;quot;CountParticles_MeanStdMinMax_cnt&amp;quot;:[ 1.4286, 1.3973, 3, 0 ],                    // Mean, std, minimum and maximum of particle count in one frame&lt;br /&gt;
    &amp;quot;CountRate_MeanStdMinMax_s-1&amp;quot;:[ 285.7143, 279.4553, 600, 0 ],                   // Mean, std, minimum and maximum of particle count rate in one frame &lt;br /&gt;
    &amp;quot;Fluence_MeanStdMinMax_cm-2&amp;quot;:[ 0.72060, 0.70482, 1.5133, 0 ],                   // Mean, std, minimum and maximum of flunce in one frame in cm-2&lt;br /&gt;
    &amp;quot;Flux_MeanStdMinMax_cm-2s-1&amp;quot;:[ 144.1208, 140.9636, 302.6537, 0 ],               // Mean, std, minimum and maximum of flux in one frame in cm-2 s-1&lt;br /&gt;
    &amp;quot;CountPixHit_MeanStdMinMax_cnt&amp;quot;:[ 2.1429, 2.4785, 6, 0 ],                       // Mean, std, minimum and maximum of count of hit pixels in one frame&lt;br /&gt;
    &amp;quot;OccupancyPix_MeanStdMinMax_perc&amp;quot;:[ 0.0032697, 0.0037819, 0.0091553, 0 ],       // Mean, std, minimum and maximum of occupancy in one frame in percents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Time_Frame_s+1&amp;quot;:[ 0.0050000, 1.5050, 3.0050, 4.5050, 6.0050, 7.5050, 9.0050 ],     // Time of individual frames&lt;br /&gt;
    &amp;quot;CountHitPix_Frame_cnt&amp;quot;:[ 6, 5, 0, 2, 2, 0, 0 ],                                    // Count of hit pixels in individual frames &lt;br /&gt;
    &amp;quot;CountParticle_Frame_cnt&amp;quot;:[ 3, 3, 0, 2, 2, 0, 0 ],                                  // Count of particles in individual frames &lt;br /&gt;
    &amp;quot;CountRate_Frame_s-1&amp;quot;:[ 600, 600, 0, 400, 400, 0, 0 ],                              // Count rate of particles in individual frames &lt;br /&gt;
    &amp;quot;Fluence_Frame_cm-2&amp;quot;:[ 1.5133, 1.5133, 0, 1.0088, 1.0088, 0, 0 ],                   // Fluence in individual frames &lt;br /&gt;
    &amp;quot;Flux_Frame_cm-2s-1&amp;quot;:[ 302.6537, 302.6537, 0, 201.7691, 201.7691, 0, 0 ],           // Flux in individual frames &lt;br /&gt;
    &amp;quot;OccupancyPix_Frame_perc&amp;quot;:[ 0.0091553, 0.0076294, 0, 0.0030518, 0.0030518, 0, 0 ],  // Occupancy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDep_Frame_keV+1&amp;quot;:[ 68.6103, 75.3443, 0, 17.0665, 17.8773, 0, 0 ],            // Deposited energy in individual frames &lt;br /&gt;
    &amp;quot;EnergyDepPix_Frame_keV+1&amp;quot;:[ 11.4350, 15.0689, 0, 8.5333, 8.9387, 0, 0 ],           // Per pixel energy in individual frames &lt;br /&gt;
    &amp;quot;Dose_Frame_Gy+1&amp;quot;:[ 0.000000000047616, 0.000000000052289, 0, 0.000000000011844, 0.000000000012407, 0, 0 ],  // Dose in individual frames &lt;br /&gt;
    &amp;quot;DoseRate_Frame_Gy+1s-1&amp;quot;:[ 0.0000000095232, 0.000000010458, 0, 0.0000000023689, 0.0000000024814, 0, 0 ]     // Dose rate in individual frames &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:Frame analysis occupancy.png|Graph of frame occupancy in dependence on frame start time.&lt;br /&gt;
File:Frame analysis visual.png|Visualisation of tracks for one frame (frame with highest occupancy). The plot also includes additional information about the features of the seen tracks (energy sum, occupancy etc.).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compton Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam intro.png|818x818px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;notes-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoCompton&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* can be used only with configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;configuration-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Configuration File ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;[Settings]&lt;br /&gt;
&lt;br /&gt;
EnergyComptonSumMin=350         # minimum sum of energy for compton event&lt;br /&gt;
EnergyComptonSumMax=380         # maximum sum of energy for compton event&lt;br /&gt;
DoSkipSelfDetectorCoinc=0       # 1 = true, 0 = false: if true, the program will skip events where more clusters are from one detector&lt;br /&gt;
DoOnlyPairCoinc=0               # 1 = true, 0 = false: if true, the program only process events of two clusters (more than 2 are ignored)&lt;br /&gt;
TimeChargeCollCdTe=86           # time for collection of charge from CdTe of given thickness and bias in the assambly settings (86 ns for 2 mm -500 V)&lt;br /&gt;
&lt;br /&gt;
ProjDistance=   35              # &lt;br /&gt;
ProjNBinX=      100             # &lt;br /&gt;
ProjNBinY=      100             #    &lt;br /&gt;
ProjBinWidthX = 1               # &lt;br /&gt;
ProjBinWidthY = 1               #&lt;br /&gt;
&lt;br /&gt;
ForceBackward = 1               #&lt;br /&gt;
ForceForward = 0                #&lt;br /&gt;
&lt;br /&gt;
[Assembly0]&lt;br /&gt;
&lt;br /&gt;
NumID=0                         #&lt;br /&gt;
Chip_Type=&amp;quot;TPX3&amp;quot;                #&lt;br /&gt;
Sensor_Material=&amp;quot;CdTe&amp;quot;          #&lt;br /&gt;
Sensor_Thickness=2000           #&lt;br /&gt;
PositionA=-7.0125, -7.0125, 0   #&lt;br /&gt;
PositionB=7.0675, 7.0675, 2.0   #&lt;br /&gt;
Vector=1, 0, 0                  #&lt;br /&gt;
&lt;br /&gt;
[DetectorA]&lt;br /&gt;
&lt;br /&gt;
Key=&amp;quot;J08&amp;quot;                       #&lt;br /&gt;
Readout=&amp;quot;Minipix&amp;quot;               # &lt;br /&gt;
Assemblies=0                    #&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountPossCompEvents_cnt&amp;quot;:12,       // Count of possible Compton events of clusters passing basic energy condition (several combination in one coincidence group is taken into account creating one Compton group of combinations)&lt;br /&gt;
    &amp;quot;CountAmbigCompGroup_cnt&amp;quot;:0,        // Count of possible Compton groups which can NOT be simplified to one unique Compton group&lt;br /&gt;
    &amp;quot;CountUniqCompGroup_cnt&amp;quot;:12,        // Count of unique Compton groups which could be created from several combinations of clusters from one coincidence event, but only this one satisfied all criteria.&lt;br /&gt;
    &amp;quot;CountCompGroup_cnt&amp;quot;:12,            // Total count of all Compton groups.&lt;br /&gt;
    &amp;quot;CountDirForwCompGroup_cnt&amp;quot;:12,     // Count of Compton groups which are only forward&lt;br /&gt;
    &amp;quot;CountDirBackCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are only backward&lt;br /&gt;
    &amp;quot;CountDirUniqueCompGroup_cnt&amp;quot;:10,   // Count of Compton groups which are unique from directional point of view (only forward or backward)&lt;br /&gt;
    &amp;quot;CountDirAmbigCompGroup_cnt&amp;quot;:0,     // Count of Compton groups which can be both, forward or backward&lt;br /&gt;
    &amp;quot;CountSingleDetCompGroup_cnt&amp;quot;:12,   // Count of Compton groups from one detector&lt;br /&gt;
    &amp;quot;CountMultiDetCompGroup_cnt&amp;quot;:0,     // Count of Compton groups from several detectors&lt;br /&gt;
    &amp;quot;CountPassInProcCompGroup_cnt&amp;quot;:12,  // Count of Compton groups passing into projection &lt;br /&gt;
    &amp;quot;CountFailInProcCompGroup_cnt&amp;quot;:0,   // Count of Compton groups failing before projection &lt;br /&gt;
    &amp;quot;CountInProjCompGroup_cnt&amp;quot;:12,      // Count of Compton groups which are IN projection plane&lt;br /&gt;
    &amp;quot;CountOutProjCompGroup_cnt&amp;quot;:0,      // Count of Compton groups which are OUT projection plane&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;ConeHalfAngle_MeanStdMinMax_rad+1&amp;quot;:[ 0.92899, 0.64062, 0.14930, 1.8912 ],  // Compton cone half angle mean, std, maximum and minimum value in radians&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 0.5, 0.98812 ],         // Integrated sampling time for individual samples (last reflects the last time so it does not have to be whole multiple of sampling time)&lt;br /&gt;
    &amp;quot;ConeHalfAngle_Mean_Sample_rad&amp;quot;:[ 0.875, 0.92899 ], // Mean value of Compton cone half angle in each time sample&lt;br /&gt;
    &amp;quot;CountCompGroup_Sum_Sample_cnt&amp;quot;:[ 4, 8 ]            // Count of all Compton groups in individual time samples&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
[[File:Cocam projection.png|thumb|469x469px|Visualisation of the reconstruction and its projection. The source was placed in the position 10 of X and 20 on Y.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To simplify the created projection alias estimation of the radiation source position, an additional image post-processing was introduced:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrast&#039;&#039;&#039;  – removes all pixels whose values is  less than fraction of the maximal value in pixels. Default is set to  70 percent alias 0.7 in the fraction terms.&lt;br /&gt;
* &#039;&#039;&#039;Blurring&#039;&#039;&#039;  –  exploits Gaussian filter to blur the  image and highlight the estimation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Cocam_proj_image_adjust.png|865x865px]]&lt;br /&gt;
&lt;br /&gt;
== Directional Analysis==&lt;br /&gt;
&lt;br /&gt;
DPE is capable to estimate several directional features of detected particles.&lt;br /&gt;
&lt;br /&gt;
It is possible to use several different algorithms for correcting the 2D length of clusters for charge sharing effect. The control &amp;lt;code&amp;gt;LengthCorr&amp;lt;/code&amp;gt; in main configuration file can be set to following values: 1) weighted standard deviation subtraction from projected length. 2) projected width subtraction from projected length. 3) model of Nabha.&lt;br /&gt;
&lt;br /&gt;
The 3D length is always calculated based on the 2D corrected length and sensor thickness assuming that the particle fully crossed the sensor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DoDirection&amp;lt;/code&amp;gt; - Control whether Compton directional reconstruction should be done. There is limited list of cases when this analysis is usable based on the detector settings (see section below). Example: &amp;lt;code&amp;gt;DoDirection = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirection = false&amp;lt;/code&amp;gt;. Default: true. &amp;lt;code&amp;gt;DoDirectionTrackCond&amp;lt;/code&amp;gt; - Control to use tracking condition during directional analysis (additional constrain on features of clusters). Example: &amp;lt;code&amp;gt;DoDirectionTrackCond = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DoDirectionTrackCond = false&amp;lt;/code&amp;gt;. Default: false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;CountParticle_Sum_cnt&amp;quot;:208,        // Total count of analyzed particles&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Length2DGeoProj_MeanStdMinMax_px+1&amp;quot;:[ 30.3412, 0.81544, 26.2376, 33.9519 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;Length2DCorrected_MeanStdMinMax_px+1&amp;quot;:[ 29.2538, 0.81617, 25.3078, 32.6405 ],      // Mean, std, maximum and minimum value of corrected 2D length in px&lt;br /&gt;
    &amp;quot;Length3D_MeanStdMinMax_um+1&amp;quot;:[ 1684.9090, 42.8482, 1479.0100, 1863.5600 ],         // Mean, std, maximum and minimum value of 3D length (based on corrected 2D and sensor thickness) in px&lt;br /&gt;
    &amp;quot;AzimuthAngle_MeanStdMinMax_deg+1&amp;quot;:[ 15.8250, 0.57266, 12.7564, 17.7723 ],          // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
    &amp;quot;ElevationAngle_MeanStdMinMax_deg+1&amp;quot;:[ 72.7252, 0.45788, 70.2410, 74.4366 ],        // Mean, std, maximum and minimum value of 2D length geometrical projection of clusters in px&lt;br /&gt;
&lt;br /&gt;
    // The same as above but for individual time samples (first line is integrated time alive)&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 295.2798 ],&lt;br /&gt;
    &amp;quot;Length2DGeoProj_Mean_Sample_px+1&amp;quot;:[ 30.6116, 0, 30.2988, 0, 0, 30.1250, 0, 0, 30.1191, 0, 30.2373, 0, 0, 30.6139, 0, 0, 30.4191, 0, 30.0041, 0, 0, 30.2577, 0, 0, 30.3248, 0, 30.5943, 0, 0, 30.5333 ],&lt;br /&gt;
    &amp;quot;Length2DCorrected_Mean_Sample_px+1&amp;quot;:[ 29.4190, 0, 29.3034, 0, 0, 29.0758, 0, 0, 29.0180, 0, 29.1283, 0, 0, 29.6295, 0, 0, 29.4238, 0, 28.7745, 0, 0, 29.2299, 0, 0, 29.2946, 0, 29.5171, 0, 0, 29.3397 ],&lt;br /&gt;
    &amp;quot;Length3D_Mean_Sample_um+1&amp;quot;:[ 1693.6027, 0, 1687.6217, 0, 0, 1675.5644, 0, 0, 1672.5227, 0, 1678.3014, 0, 0, 1704.6150, 0, 0, 1693.8128, 0, 1659.7406, 0, 0, 1683.6386, 0, 0, 1687.0558, 0, 1698.7600, 0, 0, 1689.4247 ],&lt;br /&gt;
    &amp;quot;AzimuthAngle_Mean_Sample_deg+1&amp;quot;:[ 15.9028, 0, 15.8854, 0, 0, 15.9136, 0, 0, 15.7613, 0, 15.6879, 0, 0, 15.9037, 0, 0, 15.8522, 0, 15.8963, 0, 0, 15.8301, 0, 0, 16.0281, 0, 15.8330, 0, 0, 15.6919 ],&lt;br /&gt;
    &amp;quot;ElevationAngle_Mean_Sample_deg+1&amp;quot;:[ 72.8143, 0, 72.7298, 0, 0, 72.6255, 0, 0, 72.5953, 0, 72.6597, 0, 0, 72.9396, 0, 0, 72.8254, 0, 72.4583, 0, 0, 72.7155, 0, 0, 72.7478, 0, 72.8675, 0, 0, 72.7720 ] &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Direction 2dhist.png|&#039;&#039;2D histogram of cluster elevation angle and polar angle. Given information form this plot reveals a directional orientation of the source which was in this case beam of high energetic protons impacting under elevation angle of approximately 60 degrees.&#039;&#039;&lt;br /&gt;
File:Dir analysis 2dhist sphere.png|&#039;&#039;2D histogram shown on a sphere to more emphasize the original direction of detected particles. Data used in this plot are of same origin as in the previous image.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Coincidence and Event Analysis==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TimeCoinc&#039;&#039;&#039; - [FLOAT] Time in nanoseconds for evaluations coincidence events -&amp;amp;gt; clusters whose times are in between this this interval are grouped as coincidence group (first cluster time is down edge and plus coince group time is upper edge). Example: &amp;lt;code&amp;gt;TimeCoinc = 1e2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TimeCoinc = 1.2554&amp;lt;/code&amp;gt;. Default: 100.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;information-3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Information ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;    &amp;quot;TimeCoincWindow_ns+1&amp;quot;:32.8120,                     // Used coincidence window&lt;br /&gt;
    &amp;quot;CountEvent_Sum_cnt&amp;quot;:9,                             // Total count of all events (not particles -&amp;gt; event is one particle or group of coincidence particles)&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_cnt&amp;quot;:2,                        // &lt;br /&gt;
    &amp;quot;CountCoincGroup_Sum_perc&amp;quot;:22.2222,                 //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Event_cnt&amp;quot;:1.4444,              //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_cnt&amp;quot;:7,                  //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_NoCoinc_perc&amp;quot;:53.8462,           //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_cnt&amp;quot;:6,               //&lt;br /&gt;
    &amp;quot;CountParticle_Sum_CoincGroup_perc&amp;quot;:46.1538,        //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_CoincGroup_cnt&amp;quot;:3,              //&lt;br /&gt;
    &amp;quot;CountParticle_Max_CoincGroup_cnt&amp;quot;:4,               //&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;TimeLive_Int_Sample_s+1&amp;quot;:[ 1, 2, 3, 3.0000 ],      //&lt;br /&gt;
    &amp;quot;CountParticle_Mean_Sample_Event_cnt&amp;quot;:[ 1, 0, 1, 2 ],//&lt;br /&gt;
    &amp;quot;CountCoincGroup_Sample_cnt&amp;quot;:[ 0, 0, 0, 2 ]         //&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphical Output ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Coinc visual e.png&lt;br /&gt;
File:Coinc visual t.png&lt;br /&gt;
File:Coinc 1dhist t diff.png&lt;br /&gt;
File:Coinc graph count events.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spatial Maps==&lt;br /&gt;
&lt;br /&gt;
….&lt;br /&gt;
&lt;br /&gt;
== Event Visualization==&lt;br /&gt;
Another graphical output produced in the engine are visualisations of particle tracks in sensor plane. These plots can be only obtained for raw data containing pixelated information. Example of this output can be seen in the  where deposited energy in each pixel is used for this purpose.&lt;br /&gt;
&lt;br /&gt;
The individual events visualisations are completed with so called integrated visualisations. In these plots several particles are shown together to obtain more statistical based information about detected tracks. Two versions of these plots are available: integration of N particles (N is usually around 100) and integration of all detected particles.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250&amp;quot;&amp;gt;&lt;br /&gt;
File:Event visual cluster.png|&#039;&#039;Visualisation of energy of particle track in sensor plane for alpha particle created in decay of Am241. It is accompanied with information about track/cluster parameters/variables.&#039;&#039;&lt;br /&gt;
File:Event visual sum.png|&#039;&#039;Integrated event visualisation of all detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
File:Event viasual partial.png|&#039;&#039;Integrated event visualisation of 100 detected particles in one plot. Figure is accompanied with statistical information.&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Event visualisation in graphical form is completed with text alternative in matrix form.&lt;br /&gt;
&lt;br /&gt;
[[File:Event visual text.png|668x668px]]&lt;br /&gt;
&lt;br /&gt;
== Error Codes==&lt;br /&gt;
&lt;br /&gt;
The engine run can produce an error code into standard error stream (&amp;lt;code&amp;gt;stderr&amp;lt;/code&amp;gt;) and into the standard output stream (&amp;lt;code&amp;gt;stdout&amp;lt;/code&amp;gt;). Successful engine run produces/returns &amp;lt;code&amp;gt;0.&amp;lt;/code&amp;gt; Any other value signals error in the run. Possible values are listed below (negative numbers with explanation after &amp;lt;code&amp;gt;///&amp;amp;lt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define DPE_ERR_NO_ERROR			0 		///&amp;lt; No error occurred.&lt;br /&gt;
#define DPE_ERR_NO_PAR_FILE			-1000	///&amp;lt; Missing file with parameters.&lt;br /&gt;
#define DPE_ERR_INIT_GEN			-1001	///&amp;lt; Initialization has not been done.&lt;br /&gt;
#define DPE_ERR_READ_PAR_GEN		-1002	///&amp;lt; UNUSED&lt;br /&gt;
#define DPE_ERR_OPEN_LOG			-1003	///&amp;lt; Can not open log file.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE			-1004	///&amp;lt; Can not find any files for processing.&lt;br /&gt;
#define DPE_ERR_NO_IN_FILE_SEL_IGN	-1005	///&amp;lt; No files have passed the selection and ignore criteria.&lt;br /&gt;
#define DPE_ERR_NO_INIT_PID			-1008 	///&amp;lt; PID init has not been done.	&lt;br /&gt;
#define DPE_ERR_FIND_CLUSTERER		-1009 	///&amp;lt; Can not find clusterer binary.&lt;br /&gt;
#define DPE_ERR_FIND_MODELS			-1010 	///&amp;lt; Can not find models directory.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON		-1011 	///&amp;lt; Missing python for graphics creation.&lt;br /&gt;
#define DPE_ERR_CHECK_PYTHON_MOD	-1012 	///&amp;lt; Missing python modules for graphics creation (names are in stderr and stdout).&lt;br /&gt;
#define DPE_ERR_IN_FILE_OPEN		-1013	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_SIMPLE_ELIST		-1014	///&amp;lt; Input data recognized as ElistSimple. Can not be processed because the names of variables are missing.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CANOP		-1015	///&amp;lt; Can not open input file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_ELIST_BAD	-1016	///&amp;lt; Corrupted elist file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_UNKNOWN		-1017	///&amp;lt; Unknown in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_BAD	-1018	///&amp;lt; Corrupted clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_CLOG_EMPTY	-1019	///&amp;lt; Empty clog file.&lt;br /&gt;
#define DPE_ERR_IN_FILE_EMPTY		-1020	///&amp;lt; Empty in file format.&lt;br /&gt;
#define DPE_ERR_IN_FILE_MATRIX_TOA	-1021	///&amp;lt; Unsupported frame format of ToA.&lt;br /&gt;
#define DPE_ERR_FILTER_NO_CONF		-1022	///&amp;lt; Can not open file with filter config.&lt;br /&gt;
#define DPE_ERR_INIT_MODULES		-1023	///&amp;lt; Error occurred during module initialization.&lt;br /&gt;
#define DPE_ERR_HIST_NO_CONF		-1024	///&amp;lt; Can not open file with histograms config.&lt;br /&gt;
#define DPE_ERR_HIST_INIT			-1025	///&amp;lt; Error occurred during histogram module initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_NO_CONF		-1026	///&amp;lt; Can not open file with sig vec config.&lt;br /&gt;
#define DPE_ERR_COMPAR_INIT			-1027	///&amp;lt; Error occurred during comparator module initialization.&lt;br /&gt;
#define DPE_ERR_MASK_NO_CONF		-1028	///&amp;lt; Can not open file with mask config.&lt;br /&gt;
#define DPE_ERR_MASK_INIT			-1029	///&amp;lt; Error occurred during mask initialization.&lt;br /&gt;
#define DPE_ERR_PARAM_VAL			-1030	///&amp;lt; Parameter is missing value in correct format. Check e.g. quotations.  &lt;br /&gt;
#define DPE_ERR_PARAM_NON_EXIST		-1031	///&amp;lt; Non existing parameter name.&lt;br /&gt;
#define DPE_ERR_COMPTON_INIT		-1032	///&amp;lt; Error occurred during Compton camera module initialization.&lt;br /&gt;
#define DPE_ERR_DIRECTION_INIT		-1033	///&amp;lt; Error occurred during direction analysis module initialization.&lt;br /&gt;
#define DPE_ERR_COMPTON_INDEX		-1034	///&amp;lt; Error occurred during Compton camera indexes mapping.&lt;br /&gt;
#define DPE_ERR_FILTER_INIT			-1035	///&amp;lt; Error occurred during filter module initialization.&lt;br /&gt;
#define DPE_ERR_INIT				-1036	///&amp;lt; Error occurred during initialization.&lt;br /&gt;
#define DPE_ERR_INIT_OUT_DIR		-1037	///&amp;lt; Output directory does not exits.&lt;br /&gt;
#define DPE_ERR_INIT_NO_IN_FILES	-1038	///&amp;lt; No in files were found for processing.&lt;br /&gt;
#define DPE_ERR_PID_INIT			-1039	///&amp;lt; Error occurred during PID module initialization.&lt;br /&gt;
#define DPE_ERR_HISTF_INIT			-1040	///&amp;lt; Error occurred during hist process file initialization.&lt;br /&gt;
#define DPE_ERR_SIGVEC_INIT			-1041	///&amp;lt; Error occurred during significant vector initialization.&lt;br /&gt;
#define DPE_ERR_COMPAR_NO_DEFAULT	-1042	///&amp;lt; Can not used default .&lt;br /&gt;
#define DPE_ERR_DIR_EXPORT			-1043	///&amp;lt; Error occurred during creation of export directories.&lt;br /&gt;
#define DPE_ERR_DET_GEO_INIT		-1044	///&amp;lt; Error occurred during detector geometry initialization.&lt;br /&gt;
#define DPE_ERR_DIS_GRAPHICS		-1045	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_DIS_MULTIPROC		-1046	///&amp;lt; Creating of graphics disabled, some/all python modules are missing.&lt;br /&gt;
#define DPE_ERR_PREREQ				-1047	///&amp;lt; Error occurred during checking of prerequisite.&lt;br /&gt;
#define DPE_ERR_CAL_MAT				-1048	///&amp;lt; Directory with calibration matrices can not be found. Data will not be calibrated.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_MASK_FILE		-2000	///&amp;lt; File with mask can not be opened.&lt;br /&gt;
#define DPE_ERR_MASK_LOAD			-2001	///&amp;lt; Mask load failed.&lt;br /&gt;
#define DPE_ERR_LOAD_CLOG_TACQ		-2100	///&amp;lt; Can not load acq time of frames from input clog.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_NO_ELIST			-3000	///&amp;lt; Elist file can not be found/opened.&lt;br /&gt;
#define DPE_ERR_NO_EELIST			-3001	///&amp;lt; ExtElist can not be opened.&lt;br /&gt;
#define DPE_ERR_RFR					-3003	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_SIGVEC_HIST			-3004	///&amp;lt; Creating significant vector failed because not all needed histograms were given.&lt;br /&gt;
#define DPE_ERR_SIGVEC				-3005	///&amp;lt; Error occurred during significant vector creation.&lt;br /&gt;
#define DPE_ERR_PROC				-3006	///&amp;lt; Error occurred during data processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_NOCLS		-3007	///&amp;lt; No clusters given for processing.&lt;br /&gt;
#define DPE_ERR_CLPROC				-3008	///&amp;lt; Error occurred during clusters processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_PID			-3009	///&amp;lt; Error occurred during PID processing.&lt;br /&gt;
#define DPE_ERR_CLPROC_FILTER		-3010	///&amp;lt; Error occurred during filtering.&lt;br /&gt;
#define DPE_ERR_CLPROC_DIR			-3011	///&amp;lt; Error occurred during dir analysis.&lt;br /&gt;
#define DPE_ERR_CLPROC_FRAME		-3012	///&amp;lt; Error occurred during frame analysis.&lt;br /&gt;
#define DPE_ERR_ELIST_INIT			-3013	///&amp;lt; Elist init failed.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST_init		-3014	///&amp;lt; Error occurred during elist processing init.&lt;br /&gt;
#define DPE_ERR_PROC_ELIST			-3015	///&amp;lt; Error occurred during elist processing.&lt;br /&gt;
&lt;br /&gt;
#define DPE_ERR_EXP_NO_DATA			-4000	///&amp;lt; No data was processed. Can not continue with export.	&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG			-4011	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_EMPTY_CL			-4012 	///&amp;lt; Cluster list is empty for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_CDIR	-4013	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (open curr dir).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_0FUNC	-4014	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (no sub function for processing).&lt;br /&gt;
#define DPE_ERR_GRAPH_MULTIP_RFUNC	-4015	///&amp;lt; Exporting graphics was not successful in the multiprocessing part (can not read sub function file).&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_OPENF	-4016	///&amp;lt; Can not open file with clog for clusters and sensor plots.&lt;br /&gt;
#define DPE_ERR_RELOAD_CLOG_NUPIX	-4017	///&amp;lt; Incorrect number of pixel data in line with cluster.&lt;br /&gt;
#define DPE_ERR_CLUSTMATRIX_EXPCL	-4018	///&amp;lt; Can not export coincidence group because the storage is empty.&lt;br /&gt;
#define DPE_ERR_EXPORT				-4022	///&amp;lt; Error occurred during export.&lt;br /&gt;
#define DPE_ERR_DEL_ELIST			-4023	///&amp;lt; Can not delete elist file.&lt;br /&gt;
#define DPE_ERR_FRAME_ANALYSIS_EXP	-4024	///&amp;lt; Error occurred during frame analysis export.&lt;br /&gt;
#define DPE_ERR_COINC_ANALYSIS_EXP	-4025	///&amp;lt; Error occurred during coinc event analysis export.&lt;br /&gt;
#define DPE_ERR_RFR_EXP				-4026	///&amp;lt; Error occurred during radiation field recognition.&lt;br /&gt;
#define DPE_ERR_DIR_ANALYSIS_EXP	-4027	///&amp;lt; Error occurred during directional analysis export.&lt;br /&gt;
#define DPE_ERR_COMCAM_ANALYSIS_EXP	-4028	///&amp;lt; Error occurred during Compton analysis export.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - C++==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Application Programing Interface - python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Post-processing Library in Python==&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
== Creators, Contributors and References==&lt;br /&gt;
&lt;br /&gt;
List of creators and contributors:&lt;br /&gt;
&lt;br /&gt;
* Lukas Marek&lt;br /&gt;
* Carlos Granja&lt;br /&gt;
* Jan Jakubek&lt;br /&gt;
* Daniel Turecek&lt;br /&gt;
* Jan Ingerle&lt;br /&gt;
* Cristina Oancea&lt;br /&gt;
* Daniela Doubravova&lt;br /&gt;
* Jakub Kolarik&lt;br /&gt;
* Jacob Miller&lt;br /&gt;
&lt;br /&gt;
Citation of DPE:&lt;br /&gt;
&lt;br /&gt;
…&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1110</id>
		<title>Noisy pixels masking</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1110"/>
		<updated>2024-04-26T08:06:20Z</updated>

		<summary type="html">&lt;p&gt;MarekL: /* Implementation in Pixet C API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The detector response can be changed due to the environment conditions. One of the results might be appearing of so-called noisy pixels. These pixels produces artificial signal which is not generated by radiation interacting in the sensor volume. Generally for most of the measurements, these pixels should be removed before the measurement. Fro these purposes, the method below and its implementation into Pixet C++ API was done.&lt;br /&gt;
&lt;br /&gt;
== Method description ==&lt;br /&gt;
&lt;br /&gt;
Two types of noisy pixels are defined: &#039;&#039;&#039;saturated&#039;&#039;&#039; and &#039;&#039;&#039;oscillating&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The saturated pixels produces signals constantly and is always above the threshold. These pixels can be easily observed in the ToT frame measurement when they have usually value equal to the amount of counts in that given acquisition time (for example if t_acq = 0.1 ms with 40 MHz clock, then their ToT value is close to 40 000 000 * 0.1/1000 = 4000 ToT counts). &lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are very close to threshold and produces their signals randomly but steadily based on very small changes in the conditions. These pixels can be observed in the count measurements when they produces large values of counts.&lt;br /&gt;
&lt;br /&gt;
In the proposed methodology, the saturation pixels are detected in ToT measurement. An additional scaling factor is introduced to defined the minimal limit for a pixel to be considered as saturated one. This limits defines portion of the expected ToT values for the given acquisition time of the measurement. The default value of this parameter is 50 which means that every pixels in 0.1 ms measurement whose &#039;&#039;&#039;ToT value is more that (50/100) * (40 000 000 * 0.1/1000) = 2000 are considered to be saturated.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are detected in count measurement and minimal value to &#039;&#039;&#039;marked pixels as oscillating is 50 counts&#039;&#039;&#039;. In other words, all pixels with count values more or equal to 50 are oscillating pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All oscillating and  saturated pixels are considered as noisy pixels and this methods would mask them.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This method itself is very &#039;&#039;&#039;suitable for silicon sensors&#039;&#039;&#039;. The CdTe sensors introduces new difficulties and are discussed in the section below.&lt;br /&gt;
&lt;br /&gt;
=== CdTe Sensors ===&lt;br /&gt;
In the case of CdTe sensors, the technique proposed above could be accompanied  with lowering of threshold or with complete verification of equalization. This part is to be tested and it is NOT implemented in the software solution below.&lt;br /&gt;
&lt;br /&gt;
== Implementation in Pixet C API ==&lt;br /&gt;
&lt;br /&gt;
The function definition can be found below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// Finds noisy pixels and it can optionally masked them. Designed for devices in environment WITHOUT radiation background.&lt;br /&gt;
// [in] deviceIndex - index of the device (indexing starting from 0)&lt;br /&gt;
// [in] limitNoisy - limit to mask noisy pixels. It goes from 1 to 1022, where 1 is the most strongest masking and 1022 is the weakest.&lt;br /&gt;
// [in] limitSatur - limit to mask saturated pixels. It goes from 0 to 100, where 0 is the most strongest masking and 100 is the weakest.&lt;br /&gt;
// [in] doMaskNoisyPixels - check to mask noisy pixels within the process. Default is false alias do not mask.&lt;br /&gt;
// [in] matrixSize - size of the matrix.&lt;br /&gt;
// [in/out] noisyPixelsMatrix - mask/positions of noisy pixels.&lt;br /&gt;
PXCAPI int pxcFindNoisyPixelsTpx3(unsigned deviceIndex, double limitNoisy = 50, double limitSatur = 50, bool doMaskNoisyPixels = false, &lt;br /&gt;
                                unsigned* noisyPixelsMatrix = nullptr, unsigned matrixSize = 65536);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed explanation of the individual parameters influencing the masking performance can be fount in the section above.Example of usage:&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;pxcapi.h&amp;quot;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() &lt;br /&gt;
{&lt;br /&gt;
    int rc=  0;&lt;br /&gt;
&lt;br /&gt;
    rc = pxcInitialize();&lt;br /&gt;
&lt;br /&gt;
    double limitNoisy = 10;&lt;br /&gt;
    double limitSatur = 50;&lt;br /&gt;
    unsigned matrixSize = 65536;&lt;br /&gt;
    unsigned int noisyPixelsMatrix[65536];&lt;br /&gt;
        &lt;br /&gt;
    rc = pxcFindNoisyPixelsTpx3(0, limitNoisy, limitSatur, true, noisyPixelsMatrix, matrixSize);&lt;br /&gt;
    &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);    &lt;br /&gt;
    printf(&amp;quot;Found noisy pixels\n&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(noisyPixelsMatrix[i] == 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%d\n&amp;quot;, i, noisyPixelsMatrix[i] );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional frame measurement to check hit pixels\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    double dataIToT[65536];&lt;br /&gt;
    unsigned short dataCount[65536];&lt;br /&gt;
&lt;br /&gt;
    rc = pxcMeasureSingleFrameTpx3(0, 0.1, dataIToT, dataCount, &amp;amp;matrixSize, PXC_TRG_NO);&lt;br /&gt;
    &lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(dataIToT[i] &amp;gt;= 1 or dataCount[i] &amp;gt;= 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%.0f\t%d\n&amp;quot;,i, dataIToT[i], dataCount[i]);&lt;br /&gt;
    }  &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional measurement in data driven\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcSetTimepix3Mode(0, PXC_TPX3_OPM_TOATOT);    &lt;br /&gt;
    rc = pxcMeasureTpx3DataDrivenMode(0, 1, &amp;quot;data.t3pa&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcExit();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1109</id>
		<title>Noisy pixels masking</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1109"/>
		<updated>2024-04-24T13:43:41Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The detector response can be changed due to the environment conditions. One of the results might be appearing of so-called noisy pixels. These pixels produces artificial signal which is not generated by radiation interacting in the sensor volume. Generally for most of the measurements, these pixels should be removed before the measurement. Fro these purposes, the method below and its implementation into Pixet C++ API was done.&lt;br /&gt;
&lt;br /&gt;
== Method description ==&lt;br /&gt;
&lt;br /&gt;
Two types of noisy pixels are defined: &#039;&#039;&#039;saturated&#039;&#039;&#039; and &#039;&#039;&#039;oscillating&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The saturated pixels produces signals constantly and is always above the threshold. These pixels can be easily observed in the ToT frame measurement when they have usually value equal to the amount of counts in that given acquisition time (for example if t_acq = 0.1 ms with 40 MHz clock, then their ToT value is close to 40 000 000 * 0.1/1000 = 4000 ToT counts). &lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are very close to threshold and produces their signals randomly but steadily based on very small changes in the conditions. These pixels can be observed in the count measurements when they produces large values of counts.&lt;br /&gt;
&lt;br /&gt;
In the proposed methodology, the saturation pixels are detected in ToT measurement. An additional scaling factor is introduced to defined the minimal limit for a pixel to be considered as saturated one. This limits defines portion of the expected ToT values for the given acquisition time of the measurement. The default value of this parameter is 50 which means that every pixels in 0.1 ms measurement whose &#039;&#039;&#039;ToT value is more that (50/100) * (40 000 000 * 0.1/1000) = 2000 are considered to be saturated.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are detected in count measurement and minimal value to &#039;&#039;&#039;marked pixels as oscillating is 50 counts&#039;&#039;&#039;. In other words, all pixels with count values more or equal to 50 are oscillating pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All oscillating and  saturated pixels are considered as noisy pixels and this methods would mask them.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This method itself is very &#039;&#039;&#039;suitable for silicon sensors&#039;&#039;&#039;. The CdTe sensors introduces new difficulties and are discussed in the section below.&lt;br /&gt;
&lt;br /&gt;
=== CdTe Sensors ===&lt;br /&gt;
In the case of CdTe sensors, the technique proposed above could be accompanied  with lowering of threshold or with complete verification of equalization. This part is to be tested and it is NOT implemented in the software solution below.&lt;br /&gt;
&lt;br /&gt;
== Implementation in Pixet C API ==&lt;br /&gt;
&lt;br /&gt;
The function definition can be found below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// Finds noisy pixels and it can optionally masked them. Designed for devices in environment WITHOUT radiation background.&lt;br /&gt;
// [in] deviceIndex - index of the device (indexing starting from 0)&lt;br /&gt;
// [in] limitNoisy - limit to mask noisy pixels. It goes from 1 to 1022, where 1 is the most strongest masking and 1022 is the weakest.&lt;br /&gt;
// [in] limitSatur - limit to mask saturated pixels. It goes from 0 to 100, where 0 is the most strongest masking and 100 is the weakest.&lt;br /&gt;
// [in] doMaskNoisyPixels - check to mask noisy pixels within the process. Default is false alias do not mask.&lt;br /&gt;
// [in] matrixSize - size of the matrix.&lt;br /&gt;
// [in/out] noisyPixelsMatrix - mask/positions of noisy pixels.&lt;br /&gt;
PXCAPI int pxcFindNoisyPixelsTpx3(unsigned deviceIndex, double limitNoisy = 50, double limitSatur = 50, bool doMaskNoisyPixels = false, &lt;br /&gt;
                                unsigned* noisyPixelsMatrix = nullptr, unsigned matrixSize = 65536);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed explanation of the individual parameters influencing the masking performance can be fount in the section above.Example of usage:&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;pxcapi.h&amp;quot;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() &lt;br /&gt;
{&lt;br /&gt;
    int rc=  0;&lt;br /&gt;
&lt;br /&gt;
    rc = pxcInitialize();&lt;br /&gt;
&lt;br /&gt;
    double limitNoisy = 10;&lt;br /&gt;
    double limitSatur = 50;&lt;br /&gt;
    unsigned matrixSize = 65536;&lt;br /&gt;
    unsigned int noisyPixelsMatrix[matrixSize];&lt;br /&gt;
        &lt;br /&gt;
    rc = pxcFindNoisyPixelsTpx3(0, limitNoisy, limitSatur, true, noisyPixelsMatrix, matrixSize);&lt;br /&gt;
    &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);    &lt;br /&gt;
    printf(&amp;quot;Found noisy pixels\n&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(noisyPixelsMatrix[i] == 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%d\n&amp;quot;, i, noisyPixelsMatrix[i] );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional frame measurement to check hit pixels\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    double dataIToT[matrixSize];&lt;br /&gt;
    unsigned short dataCount[matrixSize];&lt;br /&gt;
&lt;br /&gt;
    rc = pxcMeasureSingleFrameTpx3(0, 0.1, dataIToT, dataCount, &amp;amp;matrixSize, PXC_TRG_NO);&lt;br /&gt;
    &lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(dataIToT[i] &amp;gt;= 1 or dataCount[i] &amp;gt;= 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%.0f\t%d\n&amp;quot;,i, dataIToT[i], dataCount[i]);&lt;br /&gt;
    }  &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional measurement in data driven\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcSetTimepix3Mode(0, PXC_TPX3_OPM_TOATOT);    &lt;br /&gt;
    rc = pxcMeasureTpx3DataDrivenMode(0, 1, &amp;quot;data.t3pa&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcExit();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1108</id>
		<title>Noisy pixels masking</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1108"/>
		<updated>2024-04-24T13:42:57Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The detector response can be changed due to the environment conditions. One of the results might be appearing of so-called noisy pixels. These pixels produces artificial signal which is not generated by radiation interacting in the sensor volume. Generally for most of the measurements, these pixels should be removed before the measurement. Fro these purposes, the method below and its implementation into Pixet C++ API was done.&lt;br /&gt;
&lt;br /&gt;
== Method description ==&lt;br /&gt;
&lt;br /&gt;
Two types of noisy pixels are defined: &#039;&#039;&#039;saturated&#039;&#039;&#039; and &#039;&#039;&#039;oscillating&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The saturated pixels produces signals constantly and is always above the threshold. These pixels can be easily observed in the ToT frame measurement when they have usually value equal to the amount of counts in that given acquisition time (for example if t_acq = 0.1 ms with 40 MHz clock, then their ToT value is close to 40 000 000 * 0.1/1000 = 4000 ToT counts). &lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are very close to threshold and produces their signals randomly but steadily based on very small changes in the conditions. These pixels can be observed in the count measurements when they produces large values of counts.&lt;br /&gt;
&lt;br /&gt;
In the proposed methodology, the saturation pixels are detected in ToT measurement. An additional scaling factor is introduced to defined the minimal limit for a pixel to be considered as saturated one. This limits defines portion of the expected ToT values for the given acquisition time of the measurement. The default value of this parameter is 50 which means that every pixels in 0.1 ms measurement whose &#039;&#039;&#039;ToT value is more that (50/100) * (40 000 000 * 0.1/1000) = 2000 are considered to be saturated.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The oscillating pixels are detected in count measurement and minimal value to &#039;&#039;&#039;marked pixels as oscillating is 50 counts&#039;&#039;&#039;. In other words, all pixels with count values more or equal to 50 are oscillating pixels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All oscillating and  saturated pixels are considered as noisy pixels and this methods would mask them.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This method itself is very &#039;&#039;&#039;suitable for silicon sensors&#039;&#039;&#039;. The CdTe sensors introduces new difficulties and are discussed in the section below.&lt;br /&gt;
&lt;br /&gt;
=== CdTe Sensors ===&lt;br /&gt;
In the case of CdTe sensors, the technique proposed above could be accompanied  with lowering of threshold or with complete verification of equalization. This part is to be tested and it is NOT implemented in the software solution below.&lt;br /&gt;
&lt;br /&gt;
== Implementation in Pixet C++ API ==&lt;br /&gt;
&lt;br /&gt;
The function definition can be found below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// Finds noisy pixels and it can optionally masked them. Designed for devices in environment WITHOUT radiation background.&lt;br /&gt;
// [in] deviceIndex - index of the device (indexing starting from 0)&lt;br /&gt;
// [in] limitNoisy - limit to mask noisy pixels. It goes from 1 to 1022, where 1 is the most strongest masking and 1022 is the weakest.&lt;br /&gt;
// [in] limitSatur - limit to mask saturated pixels. It goes from 0 to 100, where 0 is the most strongest masking and 100 is the weakest.&lt;br /&gt;
// [in] doMaskNoisyPixels - check to mask noisy pixels within the process. Default is false alias do not mask.&lt;br /&gt;
// [in] matrixSize - size of the matrix.&lt;br /&gt;
// [in/out] noisyPixelsMatrix - mask/positions of noisy pixels.&lt;br /&gt;
PXCAPI int pxcFindNoisyPixelsTpx3(unsigned deviceIndex, double limitNoisy = 50, double limitSatur = 50, bool doMaskNoisyPixels = false, &lt;br /&gt;
                                unsigned* noisyPixelsMatrix = nullptr, unsigned matrixSize = 65536);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed explanation of the individual parameters influencing the masking performance can be fount in the section above.Example of usage:&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;pxcapi.h&amp;quot;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() &lt;br /&gt;
{&lt;br /&gt;
    int rc=  0;&lt;br /&gt;
&lt;br /&gt;
    rc = pxcInitialize();&lt;br /&gt;
&lt;br /&gt;
    double limitNoisy = 10;&lt;br /&gt;
    double limitSatur = 50;&lt;br /&gt;
    unsigned matrixSize = 65536;&lt;br /&gt;
    unsigned int noisyPixelsMatrix[matrixSize];&lt;br /&gt;
        &lt;br /&gt;
    rc = pxcFindNoisyPixelsTpx3(0, limitNoisy, limitSatur, true, noisyPixelsMatrix, matrixSize);&lt;br /&gt;
    &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);    &lt;br /&gt;
    printf(&amp;quot;Found noisy pixels\n&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(noisyPixelsMatrix[i] == 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%d\n&amp;quot;, i, noisyPixelsMatrix[i] );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional frame measurement to check hit pixels\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    double dataIToT[matrixSize];&lt;br /&gt;
    unsigned short dataCount[matrixSize];&lt;br /&gt;
&lt;br /&gt;
    rc = pxcMeasureSingleFrameTpx3(0, 0.1, dataIToT, dataCount, &amp;amp;matrixSize, PXC_TRG_NO);&lt;br /&gt;
    &lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(dataIToT[i] &amp;gt;= 1 or dataCount[i] &amp;gt;= 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%.0f\t%d\n&amp;quot;,i, dataIToT[i], dataCount[i]);&lt;br /&gt;
    }  &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional measurement in data driven\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcSetTimepix3Mode(0, PXC_TPX3_OPM_TOATOT);    &lt;br /&gt;
    rc = pxcMeasureTpx3DataDrivenMode(0, 1, &amp;quot;data.t3pa&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcExit();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
	<entry>
		<id>https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1107</id>
		<title>Noisy pixels masking</title>
		<link rel="alternate" type="text/html" href="https://wiki.advacam.cz/index.php?title=Noisy_pixels_masking&amp;diff=1107"/>
		<updated>2024-04-24T13:24:50Z</updated>

		<summary type="html">&lt;p&gt;MarekL: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The detector can be changed due to the environment conditions.&lt;br /&gt;
&lt;br /&gt;
== Method description ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Two types of noisy pixels are defined: saturated and oscillating.&lt;br /&gt;
&lt;br /&gt;
The saturated pixels&lt;br /&gt;
&lt;br /&gt;
== Implementation in Pixet C++ API ==&lt;br /&gt;
&lt;br /&gt;
The function definition can be found below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// Finds noisy pixels and it can optionally masked them. Designed for devices in environment WITHOUT radiation background.&lt;br /&gt;
// [in] deviceIndex - index of the device (indexing starting from 0)&lt;br /&gt;
// [in] limitNoisy - limit to mask noisy pixels. It goes from 1 to 1022, where 1 is the most strongest masking and 1022 is the weakest.&lt;br /&gt;
// [in] limitSatur - limit to mask saturated pixels. It goes from 0 to 100, where 0 is the most strongest masking and 100 is the weakest.&lt;br /&gt;
// [in] doMaskNoisyPixels - check to mask noisy pixels within the process. Default is false alias do not mask.&lt;br /&gt;
// [in] matrixSize - size of the matrix.&lt;br /&gt;
// [in/out] noisyPixelsMatrix - mask/positions of noisy pixels.&lt;br /&gt;
PXCAPI int pxcFindNoisyPixelsTpx3(unsigned deviceIndex, double limitNoisy = 50, double limitSatur = 50, bool doMaskNoisyPixels = false, &lt;br /&gt;
                                unsigned* noisyPixelsMatrix = nullptr, unsigned matrixSize = 65536);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed explanation of the individual parameters influencing the masking performance can be fount in the list below:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;limitNoisy&#039;&#039;  - asdasd&lt;br /&gt;
* &#039;&#039;limitSatur -&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of usage:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;pxcapi.h&amp;quot;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() &lt;br /&gt;
{&lt;br /&gt;
    int rc=  0;&lt;br /&gt;
&lt;br /&gt;
    rc = pxcInitialize();&lt;br /&gt;
&lt;br /&gt;
    double limitNoisy = 10;&lt;br /&gt;
    double limitSatur = 50;&lt;br /&gt;
    unsigned matrixSize = 65536;&lt;br /&gt;
    unsigned int noisyPixelsMatrix[matrixSize];&lt;br /&gt;
        &lt;br /&gt;
    rc = pxcFindNoisyPixelsTpx3(0, limitNoisy, limitSatur, true, noisyPixelsMatrix, matrixSize);&lt;br /&gt;
    &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);    &lt;br /&gt;
    printf(&amp;quot;Found noisy pixels\n&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(noisyPixelsMatrix[i] == 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%d\n&amp;quot;, i, noisyPixelsMatrix[i] );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional frame measurement to check hit pixels\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    double dataIToT[matrixSize];&lt;br /&gt;
    unsigned short dataCount[matrixSize];&lt;br /&gt;
&lt;br /&gt;
    rc = pxcMeasureSingleFrameTpx3(0, 0.1, dataIToT, dataCount, &amp;amp;matrixSize, PXC_TRG_NO);&lt;br /&gt;
    &lt;br /&gt;
    for (int i = 0; i &amp;lt; matrixSize; ++i)&lt;br /&gt;
    {&lt;br /&gt;
        if(dataIToT[i] &amp;gt;= 1 or dataCount[i] &amp;gt;= 1)&lt;br /&gt;
            printf(&amp;quot;%d\t%.0f\t%d\n&amp;quot;,i, dataIToT[i], dataCount[i]);&lt;br /&gt;
    }  &lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
    printf(&amp;quot;Additional measurement in data driven\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcSetTimepix3Mode(0, PXC_TPX3_OPM_TOATOT);    &lt;br /&gt;
    rc = pxcMeasureTpx3DataDrivenMode(0, 1, &amp;quot;data.t3pa&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;------------------------------\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    rc = pxcExit();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MarekL</name></author>
	</entry>
</feed>