diff --git a/demo/01_calibration/01_intrinsic.pet b/demo/01_calibration/01_intrinsic.pet
index 467c9e6994532cd72d30bae8b4932663df6a4c7c..9bac2f9a5917d1dfa5118393f5be1f1b60ab9a7b 100644
--- a/demo/01_calibration/01_intrinsic.pet
+++ b/demo/01_calibration/01_intrinsic.pet
@@ -10,7 +10,7 @@
             <SWAP ENABLED="0" HORIZONTALLY="0" VERTICALLY="0"/>
             <BG_SUB DELETE="1" DELETE_NUMBER="3" ENABLED="0" FILE="" SHOW="0" UPDATE="0"/>
             <PATTERN BOARD_SIZE_X="6" BOARD_SIZE_Y="8" SQUARE_SIZE="4.5999999"/>
-            <INTRINSIC_PARAMETERS CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7399009999999999" K5="0.39905000000000002" K6="-0.013337" QUAD_ASPECT_RATIO="0" R2="1.3589500000000001" R4="0.123464" R6="-0.0091120000000000003" ReprError="nan" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.1e-05" TX="0.000184" TY="-0.000388"/>
+            <INTRINSIC_PARAMETERS CALIB_FILES="" CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7398640000000001" K5="0.399007" K6="-0.013342" QUAD_ASPECT_RATIO="0" R2="1.358914" R4="0.123435" R6="-0.0091129999999999996" ReprError="0.52066329210560447" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.0000000000000002e-05" TX="0.000184" TY="-0.000388"/>
             <EXTRINSIC_PARAMETERS ALTITUDE="535" COORD3D_AXIS_LEN="200" COORD3D_SWAP_X="0" COORD3D_SWAP_Y="0" COORD3D_SWAP_Z="0" COORD3D_TRANS_X="0" COORD3D_TRANS_Y="0" COORD3D_TRANS_Z="0" COORD_DIMENSION="0" EXTERNAL_CALIB_FILE="" EXTR_ROT_1="0" EXTR_ROT_2="0" EXTR_ROT_3="0" EXTR_TRANS_1="0" EXTR_TRANS_2="0" EXTR_TRANS_3="-500" FIX="0" ROTATE="0" SCALE="100" SHOW="0" SHOW_CALIB_POINTS="0" TRANS_X="0" TRANS_Y="0" UNIT="100" USE_INTRINSIC_CENTER="0"/>
             <ALIGNMENT_GRID FIX="0" GRID3D_RESOLUTION="100" GRID3D_TRANS_X="0" GRID3D_TRANS_Y="0" GRID3D_TRANS_Z="0" GRID_DIMENSION="0" ROTATE="0" SCALE="100" SHOW="0" TRANS_X="0" TRANS_Y="0"/>
         </CALIBRATION>
@@ -48,7 +48,7 @@
             <TEST_LENGTH ENABLED="1"/>
             <TRACK_FILE FILENAME=""/>
             <SEARCH_REGION ADAPTIVE="0" LEVELS="3" MAX_ERROR="0" SCALE="16" SHOW="0"/>
-            <PATH AFTER="15" BEFORE="15" COLLECTIVE_COLOR_SIZE="11" COLOR_MARKER_LINE_WIDTH="1" COLOR_MARKER_SIZE="14" CURRENT_POINT_LINE_WIDTH="1" CURRENT_POINT_SIZE="60" FIX="0" GROUND_PATH_SIZE="1" GROUND_POSITION_SIZE="1" HEAD_SIZE="1" NUMBER_BOLD="1" NUMBER_SIZE="14" ONLY_PEOPLE="0" ONLY_PEOPLE_LIST="0" ONLY_PEOPLE_NR="1" ONLY_PEOPLE_NR_LIST="1" ONLY_VISIBLE="0" PATH_SIZE="2" POINTS_COLORED="1" POINTS_SIZE="7" SHOW="1" SHOW_COLLECTIVE_COLOR="1" SHOW_COLOR_MARKER="1" SHOW_CURRENT_POINT="1" SHOW_GROUND_PATH="0" SHOW_GROUND_POSITION="0" SHOW_NUMBER="1" SHOW_PATH="1" SHOW_POINTS="0" SHOW_POINTS_LINE_WIDTH="1" TRACK_GROUND_PATH_COLOR="#00ff00" TRACK_PATH_COLOR="#ff0000"/>
+            <PATH AFTER="15" BEFORE="15" COLLECTIVE_COLOR_SIZE="11" COLOR_MARKER_LINE_WIDTH="1" COLOR_MARKER_SIZE="14" CURRENT_POINT_LINE_WIDTH="1" CURRENT_POINT_SIZE="60" FIX="0" GROUND_PATH_SIZE="1" GROUND_POSITION_SIZE="1" HEAD_SIZE="1" NUMBER_BOLD="1" NUMBER_SIZE="14" ONLY_PEOPLE="0" ONLY_PEOPLE_LIST="0" ONLY_PEOPLE_NR="1" ONLY_PEOPLE_NR_LIST="" ONLY_VISIBLE="0" PATH_SIZE="2" POINTS_COLORED="1" POINTS_SIZE="7" SHOW="1" SHOW_COLLECTIVE_COLOR="1" SHOW_COLOR_MARKER="1" SHOW_CURRENT_POINT="1" SHOW_GROUND_PATH="0" SHOW_GROUND_POSITION="0" SHOW_NUMBER="1" SHOW_PATH="1" SHOW_POINTS="0" SHOW_POINTS_LINE_WIDTH="1" TRACK_GROUND_PATH_COLOR="#00ff00" TRACK_PATH_COLOR="#ff0000"/>
         </TRACKING>
         <ANALYSIS>
             <SEARCH_MISSING_FRAMES ENABLED="1"/>
@@ -57,7 +57,7 @@
         </ANALYSIS>
     </CONTROL>
     <EXTR_CALIBRATION>
-        <REPROJECTION_ERROR AVG_DH="6.9527549644427356e-310" AVG_PH="4.6518251487457738e-310" AVG_PX="4.9406564584124654e-324" MAX_DH="0" MAX_PH="3.9525251667299724e-322" MAX_PX="1.9734560861411755e-312" SD_DH="7.9050503334599447e-323" SD_PH="5.1382827167489641e-321" SD_PX="0" USED_HEIGHT="6.9531141511214018e-310"/>
+        <REPROJECTION_ERROR AVG_DH="3.5572726500569751e-322" AVG_PH="7.3338630165654629e-316" AVG_PX="2.4703282292062327e-323" MAX_DH="4.6632130749188108e-310" MAX_PH="4.6632130749149077e-310" MAX_PX="4.6632132612882775e-310" SD_DH="4.6632137672154514e-310" SD_PH="6.9526421601088563e-310" SD_PX="6.952642160144429e-310" USED_HEIGHT="4.6632137672154514e-310"/>
     </EXTR_CALIBRATION>
     <STEREO>
         <DISPARITY ALGO="0" COLOR="0" HIDE_INVALID="1" OPACITY="100" SHOW="0">
@@ -73,8 +73,8 @@
         <PARAM CLOSE_RADIUS="5" CLOSE_USED="1" INVERS_HUE="0" MAX_AREA="5000" MAX_RATIO="2" MIN_AREA="1000" OPEN_RADIUS="5" OPEN_USED="1"/>
     </COLOR_MARKER>
     <CODE_MARKER>
-        <DICTIONARY ID="16"/>
-        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="23" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
+        <DICTIONARY ID="0"/>
+        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="27" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
     </CODE_MARKER>
     <MULTI_COLOR_MARKER>
         <BLACK_DOT IGNORE_WITHOUT="1" RESTRICT_POSITION="0" SIZE="5" USE="1" USE_COLOR="0"/>
diff --git a/demo/01_calibration/02_extrinsic.pet b/demo/01_calibration/02_extrinsic.pet
index 02b9fbbc444988c0c1f3c3de547b66a5570a7b29..0ed7387c160938015d1c99fc60a0699704a68d9a 100644
--- a/demo/01_calibration/02_extrinsic.pet
+++ b/demo/01_calibration/02_extrinsic.pet
@@ -10,7 +10,7 @@
             <SWAP ENABLED="0" HORIZONTALLY="0" VERTICALLY="0"/>
             <BG_SUB DELETE="1" DELETE_NUMBER="3" ENABLED="0" FILE="" SHOW="0" UPDATE="0"/>
             <PATTERN BOARD_SIZE_X="6" BOARD_SIZE_Y="8" SQUARE_SIZE="4.5999999"/>
-            <INTRINSIC_PARAMETERS CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7399009999999999" K5="0.39905000000000002" K6="-0.013337" QUAD_ASPECT_RATIO="0" R2="1.3589500000000001" R4="0.123464" R6="-0.0091120000000000003" ReprError="nan" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.1e-05" TX="0.000184" TY="-0.000388"/>
+            <INTRINSIC_PARAMETERS CALIB_FILES="" CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7398640000000001" K5="0.399007" K6="-0.013342" QUAD_ASPECT_RATIO="0" R2="1.358914" R4="0.123435" R6="-0.0091129999999999996" ReprError="0.52066329210560447" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.0000000000000002e-05" TX="0.000184" TY="-0.000388"/>
             <EXTRINSIC_PARAMETERS ALTITUDE="535" COORD3D_AXIS_LEN="200" COORD3D_SWAP_X="0" COORD3D_SWAP_Y="0" COORD3D_SWAP_Z="0" COORD3D_TRANS_X="0" COORD3D_TRANS_Y="0" COORD3D_TRANS_Z="0" COORD_DIMENSION="0" EXTERNAL_CALIB_FILE="before.3dc" EXTR_ROT_1="-2.1949999999999998" EXTR_ROT_2="-2.1869999999999998" EXTR_ROT_3="0.029999999999999999" EXTR_TRANS_1="-1047.981" EXTR_TRANS_2="15.172000000000001" EXTR_TRANS_3="-634.48599999999999" FIX="0" ROTATE="0" SCALE="100" SHOW="1" SHOW_CALIB_POINTS="1" TRANS_X="0" TRANS_Y="0" UNIT="100" USE_INTRINSIC_CENTER="0"/>
             <ALIGNMENT_GRID FIX="0" GRID3D_RESOLUTION="100" GRID3D_TRANS_X="0" GRID3D_TRANS_Y="0" GRID3D_TRANS_Z="0" GRID_DIMENSION="0" ROTATE="0" SCALE="100" SHOW="0" TRANS_X="0" TRANS_Y="0"/>
         </CALIBRATION>
@@ -73,8 +73,8 @@
         <PARAM CLOSE_RADIUS="5" CLOSE_USED="1" INVERS_HUE="0" MAX_AREA="5000" MAX_RATIO="2" MIN_AREA="1000" OPEN_RADIUS="5" OPEN_USED="1"/>
     </COLOR_MARKER>
     <CODE_MARKER>
-        <DICTIONARY ID="16"/>
-        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="23" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
+        <DICTIONARY ID="0"/>
+        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="27" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
     </CODE_MARKER>
     <MULTI_COLOR_MARKER>
         <BLACK_DOT IGNORE_WITHOUT="1" RESTRICT_POSITION="0" SIZE="5" USE="1" USE_COLOR="0"/>
diff --git a/demo/01_calibration/03_calibrated_with_video.pet b/demo/01_calibration/03_calibrated_with_video.pet
index 818ec0db6ca228d92f0a9223d1eb6f02f0aa0403..51c282dde03eea90d0867d7dd8069d4a824821d5 100644
--- a/demo/01_calibration/03_calibrated_with_video.pet
+++ b/demo/01_calibration/03_calibrated_with_video.pet
@@ -10,7 +10,7 @@
             <SWAP ENABLED="0" HORIZONTALLY="0" VERTICALLY="0"/>
             <BG_SUB DELETE="1" DELETE_NUMBER="3" ENABLED="0" FILE="" SHOW="0" UPDATE="0"/>
             <PATTERN BOARD_SIZE_X="6" BOARD_SIZE_Y="8" SQUARE_SIZE="4.5999999"/>
-            <INTRINSIC_PARAMETERS CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7399009999999999" K5="0.39905000000000002" K6="-0.013337" QUAD_ASPECT_RATIO="0" R2="1.3589500000000001" R4="0.123464" R6="-0.0091120000000000003" ReprError="nan" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.1e-05" TX="0.000184" TY="-0.000388"/>
+            <INTRINSIC_PARAMETERS CALIB_FILES="" CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7398640000000001" K5="0.399007" K6="-0.013342" QUAD_ASPECT_RATIO="0" R2="1.358914" R4="0.123435" R6="-0.0091129999999999996" ReprError="0.52066329210560447" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.0000000000000002e-05" TX="0.000184" TY="-0.000388"/>
             <EXTRINSIC_PARAMETERS ALTITUDE="535" COORD3D_AXIS_LEN="200" COORD3D_SWAP_X="0" COORD3D_SWAP_Y="0" COORD3D_SWAP_Z="0" COORD3D_TRANS_X="0" COORD3D_TRANS_Y="0" COORD3D_TRANS_Z="0" COORD_DIMENSION="0" EXTERNAL_CALIB_FILE="before.3dc" EXTR_ROT_1="-2.1949999999999998" EXTR_ROT_2="-2.1869999999999998" EXTR_ROT_3="0.029999999999999999" EXTR_TRANS_1="-1047.981" EXTR_TRANS_2="15.172000000000001" EXTR_TRANS_3="-634.48599999999999" FIX="0" ROTATE="0" SCALE="100" SHOW="0" SHOW_CALIB_POINTS="0" TRANS_X="0" TRANS_Y="0" UNIT="100" USE_INTRINSIC_CENTER="0"/>
             <ALIGNMENT_GRID FIX="0" GRID3D_RESOLUTION="100" GRID3D_TRANS_X="0" GRID3D_TRANS_Y="0" GRID3D_TRANS_Z="0" GRID_DIMENSION="0" ROTATE="0" SCALE="100" SHOW="0" TRANS_X="0" TRANS_Y="0"/>
         </CALIBRATION>
@@ -73,8 +73,8 @@
         <PARAM CLOSE_RADIUS="5" CLOSE_USED="1" INVERS_HUE="0" MAX_AREA="5000" MAX_RATIO="2" MIN_AREA="1000" OPEN_RADIUS="5" OPEN_USED="1"/>
     </COLOR_MARKER>
     <CODE_MARKER>
-        <DICTIONARY ID="16"/>
-        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="23" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
+        <DICTIONARY ID="0"/>
+        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="27" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
     </CODE_MARKER>
     <MULTI_COLOR_MARKER>
         <BLACK_DOT IGNORE_WITHOUT="1" RESTRICT_POSITION="0" SIZE="5" USE="1" USE_COLOR="0"/>
diff --git a/demo/02_recognition/04_recognition.pet b/demo/02_recognition/04_recognition.pet
index 2b36db162bc6a5fbe86d8ade414e9a023bdbc256..e31305678668dfc4b198c567528b40f8a533c93a 100644
--- a/demo/02_recognition/04_recognition.pet
+++ b/demo/02_recognition/04_recognition.pet
@@ -10,7 +10,7 @@
             <SWAP ENABLED="0" HORIZONTALLY="0" VERTICALLY="0"/>
             <BG_SUB DELETE="1" DELETE_NUMBER="3" ENABLED="0" FILE="" SHOW="0" UPDATE="0"/>
             <PATTERN BOARD_SIZE_X="6" BOARD_SIZE_Y="8" SQUARE_SIZE="4.5999999"/>
-            <INTRINSIC_PARAMETERS CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7399009999999999" K5="0.39905000000000002" K6="-0.013337" QUAD_ASPECT_RATIO="0" R2="1.3589500000000001" R4="0.123464" R6="-0.0091120000000000003" ReprError="nan" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.1e-05" TX="0.000184" TY="-0.000388"/>
+            <INTRINSIC_PARAMETERS CALIB_FILES="" CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7398640000000001" K5="0.399007" K6="-0.013342" QUAD_ASPECT_RATIO="0" R2="1.358914" R4="0.123435" R6="-0.0091129999999999996" ReprError="0.52066329210560447" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.0000000000000002e-05" TX="0.000184" TY="-0.000388"/>
             <EXTRINSIC_PARAMETERS ALTITUDE="535" COORD3D_AXIS_LEN="200" COORD3D_SWAP_X="0" COORD3D_SWAP_Y="0" COORD3D_SWAP_Z="0" COORD3D_TRANS_X="0" COORD3D_TRANS_Y="0" COORD3D_TRANS_Z="0" COORD_DIMENSION="0" EXTERNAL_CALIB_FILE="" EXTR_ROT_1="-2.1949999999999998" EXTR_ROT_2="-2.1869999999999998" EXTR_ROT_3="0.029999999999999999" EXTR_TRANS_1="-1047.981" EXTR_TRANS_2="15.172000000000001" EXTR_TRANS_3="-634.48599999999999" FIX="0" ROTATE="0" SCALE="100" SHOW="0" SHOW_CALIB_POINTS="0" TRANS_X="0" TRANS_Y="0" UNIT="100" USE_INTRINSIC_CENTER="0"/>
             <ALIGNMENT_GRID FIX="0" GRID3D_RESOLUTION="100" GRID3D_TRANS_X="0" GRID3D_TRANS_Y="0" GRID3D_TRANS_Z="0" GRID_DIMENSION="0" ROTATE="0" SCALE="100" SHOW="0" TRANS_X="0" TRANS_Y="0"/>
         </CALIBRATION>
@@ -77,8 +77,8 @@
         <PARAM CLOSE_RADIUS="5" CLOSE_USED="1" INVERS_HUE="0" MAX_AREA="5000" MAX_RATIO="2" MIN_AREA="1000" OPEN_RADIUS="5" OPEN_USED="1"/>
     </COLOR_MARKER>
     <CODE_MARKER>
-        <DICTIONARY ID="16"/>
-        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="23" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
+        <DICTIONARY ID="0"/>
+        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="27" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
     </CODE_MARKER>
     <MULTI_COLOR_MARKER>
         <BLACK_DOT IGNORE_WITHOUT="1" RESTRICT_POSITION="0" SIZE="5" USE="0" USE_COLOR="0"/>
diff --git a/demo/03_tracking/05_tracking.pet b/demo/03_tracking/05_tracking.pet
index eb52fabef78a028d9e0ffd7ba777409f9c5557c5..ad4163b41d6f062710bb06ac43e1e37ff851b624 100644
--- a/demo/03_tracking/05_tracking.pet
+++ b/demo/03_tracking/05_tracking.pet
@@ -10,7 +10,7 @@
             <SWAP ENABLED="0" HORIZONTALLY="0" VERTICALLY="0"/>
             <BG_SUB DELETE="1" DELETE_NUMBER="3" ENABLED="0" FILE="" SHOW="0" UPDATE="0"/>
             <PATTERN BOARD_SIZE_X="6" BOARD_SIZE_Y="8" SQUARE_SIZE="4.5999999"/>
-            <INTRINSIC_PARAMETERS CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7399009999999999" K5="0.39905000000000002" K6="-0.013337" QUAD_ASPECT_RATIO="0" R2="1.3589500000000001" R4="0.123464" R6="-0.0091120000000000003" ReprError="nan" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.1e-05" TX="0.000184" TY="-0.000388"/>
+            <INTRINSIC_PARAMETERS CALIB_FILES="" CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7398640000000001" K5="0.399007" K6="-0.013342" QUAD_ASPECT_RATIO="0" R2="1.358914" R4="0.123435" R6="-0.0091129999999999996" ReprError="0.52066329210560447" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.0000000000000002e-05" TX="0.000184" TY="-0.000388"/>
             <EXTRINSIC_PARAMETERS ALTITUDE="535" COORD3D_AXIS_LEN="200" COORD3D_SWAP_X="0" COORD3D_SWAP_Y="0" COORD3D_SWAP_Z="0" COORD3D_TRANS_X="0" COORD3D_TRANS_Y="0" COORD3D_TRANS_Z="0" COORD_DIMENSION="0" EXTERNAL_CALIB_FILE="" EXTR_ROT_1="-2.1949999999999998" EXTR_ROT_2="-2.1869999999999998" EXTR_ROT_3="0.029999999999999999" EXTR_TRANS_1="-1047.981" EXTR_TRANS_2="15.172000000000001" EXTR_TRANS_3="-634.48599999999999" FIX="0" ROTATE="0" SCALE="100" SHOW="0" SHOW_CALIB_POINTS="0" TRANS_X="0" TRANS_Y="0" UNIT="100" USE_INTRINSIC_CENTER="0"/>
             <ALIGNMENT_GRID FIX="0" GRID3D_RESOLUTION="100" GRID3D_TRANS_X="0" GRID3D_TRANS_Y="0" GRID3D_TRANS_Z="0" GRID_DIMENSION="0" ROTATE="0" SCALE="100" SHOW="0" TRANS_X="0" TRANS_Y="0"/>
         </CALIBRATION>
@@ -77,8 +77,8 @@
         <PARAM CLOSE_RADIUS="5" CLOSE_USED="1" INVERS_HUE="0" MAX_AREA="5000" MAX_RATIO="2" MIN_AREA="1000" OPEN_RADIUS="5" OPEN_USED="1"/>
     </COLOR_MARKER>
     <CODE_MARKER>
-        <DICTIONARY ID="16"/>
-        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="23" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
+        <DICTIONARY ID="0"/>
+        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="27" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
     </CODE_MARKER>
     <MULTI_COLOR_MARKER>
         <BLACK_DOT IGNORE_WITHOUT="1" RESTRICT_POSITION="0" SIZE="5" USE="0" USE_COLOR="0"/>
diff --git a/demo/03_tracking/06_tracking_with_trajectories.pet b/demo/03_tracking/06_tracking_with_trajectories.pet
index 4658b2373a61d291d13ad3453bb68030f72d0f75..d6e5bbb6d10e56a49d35985406cdf84288e94c9e 100644
--- a/demo/03_tracking/06_tracking_with_trajectories.pet
+++ b/demo/03_tracking/06_tracking_with_trajectories.pet
@@ -10,7 +10,7 @@
             <SWAP ENABLED="0" HORIZONTALLY="0" VERTICALLY="0"/>
             <BG_SUB DELETE="1" DELETE_NUMBER="3" ENABLED="0" FILE="" SHOW="0" UPDATE="0"/>
             <PATTERN BOARD_SIZE_X="6" BOARD_SIZE_Y="8" SQUARE_SIZE="4.5999999"/>
-            <INTRINSIC_PARAMETERS CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7399009999999999" K5="0.39905000000000002" K6="-0.013337" QUAD_ASPECT_RATIO="0" R2="1.3589500000000001" R4="0.123464" R6="-0.0091120000000000003" ReprError="nan" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.1e-05" TX="0.000184" TY="-0.000388"/>
+            <INTRINSIC_PARAMETERS CALIB_FILES="" CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7398640000000001" K5="0.399007" K6="-0.013342" QUAD_ASPECT_RATIO="0" R2="1.358914" R4="0.123435" R6="-0.0091129999999999996" ReprError="0.52066329210560447" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.0000000000000002e-05" TX="0.000184" TY="-0.000388"/>
             <EXTRINSIC_PARAMETERS ALTITUDE="535" COORD3D_AXIS_LEN="200" COORD3D_SWAP_X="0" COORD3D_SWAP_Y="0" COORD3D_SWAP_Z="0" COORD3D_TRANS_X="0" COORD3D_TRANS_Y="0" COORD3D_TRANS_Z="0" COORD_DIMENSION="0" EXTERNAL_CALIB_FILE="" EXTR_ROT_1="-2.1949999999999998" EXTR_ROT_2="-2.1869999999999998" EXTR_ROT_3="0.029999999999999999" EXTR_TRANS_1="-1047.981" EXTR_TRANS_2="15.172000000000001" EXTR_TRANS_3="-634.48599999999999" FIX="0" ROTATE="0" SCALE="100" SHOW="0" SHOW_CALIB_POINTS="0" TRANS_X="0" TRANS_Y="0" UNIT="100" USE_INTRINSIC_CENTER="0"/>
             <ALIGNMENT_GRID FIX="0" GRID3D_RESOLUTION="100" GRID3D_TRANS_X="0" GRID3D_TRANS_Y="0" GRID3D_TRANS_Z="0" GRID_DIMENSION="0" ROTATE="0" SCALE="100" SHOW="0" TRANS_X="0" TRANS_Y="0"/>
         </CALIBRATION>
@@ -77,8 +77,8 @@
         <PARAM CLOSE_RADIUS="5" CLOSE_USED="1" INVERS_HUE="0" MAX_AREA="5000" MAX_RATIO="2" MIN_AREA="1000" OPEN_RADIUS="5" OPEN_USED="1"/>
     </COLOR_MARKER>
     <CODE_MARKER>
-        <DICTIONARY ID="16"/>
-        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="23" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
+        <DICTIONARY ID="0"/>
+        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="27" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
     </CODE_MARKER>
     <MULTI_COLOR_MARKER>
         <BLACK_DOT IGNORE_WITHOUT="1" RESTRICT_POSITION="0" SIZE="5" USE="0" USE_COLOR="0"/>
diff --git a/demo/04_correcting/07_corrected.pet b/demo/04_correcting/07_corrected.pet
index e63130942553db841f6cc35339a44d16e0e4d709..48ec3dcd591725fd8dabc06d55d24fa3003b9280 100644
--- a/demo/04_correcting/07_corrected.pet
+++ b/demo/04_correcting/07_corrected.pet
@@ -10,7 +10,7 @@
             <SWAP ENABLED="0" HORIZONTALLY="0" VERTICALLY="0"/>
             <BG_SUB DELETE="1" DELETE_NUMBER="3" ENABLED="0" FILE="" SHOW="0" UPDATE="0"/>
             <PATTERN BOARD_SIZE_X="6" BOARD_SIZE_Y="8" SQUARE_SIZE="4.5999999"/>
-            <INTRINSIC_PARAMETERS CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7399009999999999" K5="0.39905000000000002" K6="-0.013337" QUAD_ASPECT_RATIO="0" R2="1.3589500000000001" R4="0.123464" R6="-0.0091120000000000003" ReprError="nan" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.1e-05" TX="0.000184" TY="-0.000388"/>
+            <INTRINSIC_PARAMETERS CALIB_FILES="" CX="947.47000000000003" CY="698.44000000000005" ENABLED="1" EXT_MODEL_ENABLED="1" FIX_CENTER="0" FX="857.12" FY="857.50999999999999" K4="1.7398640000000001" K5="0.399007" K6="-0.013342" QUAD_ASPECT_RATIO="0" R2="1.358914" R4="0.123435" R6="-0.0091129999999999996" ReprError="0.52066329210560447" S1="0.001026" S2="-6.6000000000000005e-05" S3="-0.00019000000000000001" S4="-9.7999999999999997e-05" TANG_DIST="1" TAUX="-3.0000000000000001e-05" TAUY="-5.0000000000000002e-05" TX="0.000184" TY="-0.000388"/>
             <EXTRINSIC_PARAMETERS ALTITUDE="535" COORD3D_AXIS_LEN="200" COORD3D_SWAP_X="0" COORD3D_SWAP_Y="0" COORD3D_SWAP_Z="0" COORD3D_TRANS_X="0" COORD3D_TRANS_Y="0" COORD3D_TRANS_Z="0" COORD_DIMENSION="0" EXTERNAL_CALIB_FILE="" EXTR_ROT_1="-2.1949999999999998" EXTR_ROT_2="-2.1869999999999998" EXTR_ROT_3="0.029999999999999999" EXTR_TRANS_1="-1047.981" EXTR_TRANS_2="15.172000000000001" EXTR_TRANS_3="-634.48599999999999" FIX="0" ROTATE="0" SCALE="100" SHOW="0" SHOW_CALIB_POINTS="0" TRANS_X="0" TRANS_Y="0" UNIT="100" USE_INTRINSIC_CENTER="0"/>
             <ALIGNMENT_GRID FIX="0" GRID3D_RESOLUTION="100" GRID3D_TRANS_X="0" GRID3D_TRANS_Y="0" GRID3D_TRANS_Z="0" GRID_DIMENSION="0" ROTATE="0" SCALE="100" SHOW="0" TRANS_X="0" TRANS_Y="0"/>
         </CALIBRATION>
@@ -77,8 +77,8 @@
         <PARAM CLOSE_RADIUS="5" CLOSE_USED="1" INVERS_HUE="0" MAX_AREA="5000" MAX_RATIO="2" MIN_AREA="1000" OPEN_RADIUS="5" OPEN_USED="1"/>
     </COLOR_MARKER>
     <CODE_MARKER>
-        <DICTIONARY ID="16"/>
-        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="23" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
+        <DICTIONARY ID="0"/>
+        <PARAM ADAPTIVE_THRESH_CONSTANT="7" ADAPTIVE_THRESH_WIN_SIZE_MAX="27" ADAPTIVE_THRESH_WIN_SIZE_MIN="3" ADAPTIVE_THRESH_WIN_SIZE_STEP="10" CORNER_REFINEMENT="0" CORNER_REFINEMENT_MAX_ITERATIONS="30" CORNER_REFINEMENT_MIN_ACCURACY="0.10000000000000001" CORNER_REFINEMENT_WIN_SIZE="5" ERROR_CORRECTION_RATE="0.59999999999999998" MARKER_BORDER_BITS="1" MAX_ERRONEOUS_BITS_IN_BORDER_RATE="0.34999999999999998" MAX_MARKER_PERIMETER="15" MAX_RATIO_ERROR="0.029999999999999999" MIN_CORNER_DISTANCE="0.050000000000000003" MIN_DISTANCE_TO_BORDER="3" MIN_MARKER_DISTANCE="0.050000000000000003" MIN_MARKER_PERIMETER="5" MIN_OTSU_STD_DEV="5" PERSPECTIVE_REMOVE_IGNORED_MARGIN_PER_CELL="0.13" PERSPECTIVE_REMOVE_PIXEL_PER_CELL="4" SHOW_DETECTED_CANDIDATES="0"/>
     </CODE_MARKER>
     <MULTI_COLOR_MARKER>
         <BLACK_DOT IGNORE_WITHOUT="1" RESTRICT_POSITION="0" SIZE="5" USE="0" USE_COLOR="0"/>
diff --git a/src/intrinsicBox.cpp b/src/intrinsicBox.cpp
index bd10502e25f2f95049cdccce9158d04cfeb0a2c3..b7c523bffd4a9eb27b07ccc0f2c14afa1a073a4c 100644
--- a/src/intrinsicBox.cpp
+++ b/src/intrinsicBox.cpp
@@ -161,103 +161,110 @@ bool IntrinsicBox::getXml(QDomElement &subSubElem)
     }
     else if(subSubElem.tagName() == "INTRINSIC_PARAMETERS")
     {
+        IntrinsicCameraParams params;
         if(subSubElem.hasAttribute("ENABLED"))
         {
             mUi->apply->setCheckState(subSubElem.attribute("ENABLED").toInt() ? Qt::Checked : Qt::Unchecked);
         }
         if(subSubElem.hasAttribute("FX"))
         {
-            mUi->fx->setValue(subSubElem.attribute("FX").toDouble());
+            params.setFx(subSubElem.attribute("FX").toDouble());
         }
         if(subSubElem.hasAttribute("FY"))
         {
-            mUi->fy->setValue(subSubElem.attribute("FY").toDouble());
+            params.setFy(subSubElem.attribute("FY").toDouble());
         }
         if(subSubElem.hasAttribute("CX"))
         {
-            double cx_val = subSubElem.attribute("CX").toDouble();
-            if(cx_val < mUi->cx->minimum())
+            double cxVal = subSubElem.attribute("CX").toDouble();
+            if(cxVal < mUi->cx->minimum())
             {
-                mUi->cx->setMinimum(cx_val - 50);
+                mUi->cx->setMinimum(cxVal - 50);
             }
-            if(cx_val > mUi->cx->maximum())
+            if(cxVal > mUi->cx->maximum())
             {
-                mUi->cx->setMaximum(cx_val + 50);
+                mUi->cx->setMaximum(cxVal + 50);
             }
-            mUi->cx->setValue(cx_val);
+            params.setCx(cxVal);
         }
         if(subSubElem.hasAttribute("CY"))
         {
-            double cy_val = subSubElem.attribute("CY").toDouble();
-            if(cy_val < mUi->cy->minimum())
+            double cyVal = subSubElem.attribute("CY").toDouble();
+            if(cyVal < mUi->cy->minimum())
             {
-                mUi->cy->setMinimum(cy_val - 50);
+                mUi->cy->setMinimum(cyVal - 50);
             }
-            if(cy_val > mUi->cy->maximum())
+            if(cyVal > mUi->cy->maximum())
             {
-                mUi->cy->setMaximum(cy_val + 50);
+                mUi->cy->setMaximum(cyVal + 50);
             }
-            mUi->cy->setValue(cy_val);
+            params.setCy(cyVal);
         }
         if(subSubElem.hasAttribute("R2"))
         {
-            mUi->r2->setValue(subSubElem.attribute("R2").toDouble());
+            params.distortionCoeffs.at<float>(0) = subSubElem.attribute("R2").toDouble();
         }
         if(subSubElem.hasAttribute("R4"))
         {
-            mUi->r4->setValue(subSubElem.attribute("R4").toDouble());
+            params.distortionCoeffs.at<float>(1) = subSubElem.attribute("R4").toDouble();
         }
         if(subSubElem.hasAttribute("R6"))
         {
-            mUi->r6->setValue(subSubElem.attribute("R6").toDouble());
+            params.distortionCoeffs.at<float>(4) = subSubElem.attribute("R6").toDouble();
         }
         if(subSubElem.hasAttribute("TX"))
         {
-            mUi->tx->setValue(subSubElem.attribute("TX").toDouble());
+            params.distortionCoeffs.at<float>(2) = subSubElem.attribute("TX").toDouble();
         }
         if(subSubElem.hasAttribute("TY"))
         {
-            mUi->ty->setValue(subSubElem.attribute("TY").toDouble());
+            params.distortionCoeffs.at<float>(3) = subSubElem.attribute("TY").toDouble();
         }
         if(subSubElem.hasAttribute("K4"))
         {
-            mUi->k4->setValue(subSubElem.attribute("K4").toDouble());
+            params.distortionCoeffs.at<float>(5) = subSubElem.attribute("K4").toDouble();
         }
         if(subSubElem.hasAttribute("K5"))
         {
-            mUi->k5->setValue(subSubElem.attribute("K5").toDouble());
+            params.distortionCoeffs.at<float>(6) = subSubElem.attribute("K5").toDouble();
         }
         if(subSubElem.hasAttribute("K6"))
         {
-            mUi->k6->setValue(subSubElem.attribute("K6").toDouble());
+            params.distortionCoeffs.at<float>(7) = subSubElem.attribute("K6").toDouble();
         }
         if(subSubElem.hasAttribute("S1"))
         {
-            mUi->s1->setValue(subSubElem.attribute("S1").toDouble());
+            params.distortionCoeffs.at<float>(8) = subSubElem.attribute("S1").toDouble();
         }
         if(subSubElem.hasAttribute("S2"))
         {
-            mUi->s2->setValue(subSubElem.attribute("S2").toDouble());
+            params.distortionCoeffs.at<float>(9) = subSubElem.attribute("S2").toDouble();
         }
         if(subSubElem.hasAttribute("S3"))
         {
-            mUi->s3->setValue(subSubElem.attribute("S3").toDouble());
+            params.distortionCoeffs.at<float>(10) = subSubElem.attribute("S3").toDouble();
         }
         if(subSubElem.hasAttribute("S4"))
         {
-            mUi->s4->setValue(subSubElem.attribute("S4").toDouble());
+            params.distortionCoeffs.at<float>(11) = subSubElem.attribute("S4").toDouble();
         }
         if(subSubElem.hasAttribute("TAUX"))
         {
-            mUi->taux->setValue(subSubElem.attribute("TAUX").toDouble());
+            params.distortionCoeffs.at<float>(12) = subSubElem.attribute("TAUX").toDouble();
         }
         if(subSubElem.hasAttribute("TAUY"))
         {
-            mUi->tauy->setValue(subSubElem.attribute("TAUY").toDouble());
+            params.distortionCoeffs.at<float>(13) = subSubElem.attribute("TAUY").toDouble();
         }
         if(subSubElem.hasAttribute("ReprError"))
         {
-            mUi->intrError->setText(QString("%1").arg(subSubElem.attribute("ReprError").toDouble()));
+            bool conversionSuccessful;
+            params.reprojectionError = subSubElem.attribute("ReprError").toDouble(&conversionSuccessful);
+            if(!conversionSuccessful)
+            {
+                // Qt sets to inf instead of nan
+                params.reprojectionError = std::numeric_limits<double>::quiet_NaN();
+            }
         }
         if(subSubElem.hasAttribute("QUAD_ASPECT_RATIO"))
         {
@@ -303,7 +310,8 @@ bool IntrinsicBox::getXml(QDomElement &subSubElem)
                 mUi->autoCalib->setEnabled(true);
             }
         }
-        QDomElement root = subSubElem.ownerDocument().firstChildElement("PETRACK");
+
+        const QDomElement root = subSubElem.ownerDocument().firstChildElement("PETRACK");
 
         if(newerThanVersion(QString("0.9.0"), root.attribute("VERSION")))
         {
@@ -326,6 +334,8 @@ bool IntrinsicBox::getXml(QDomElement &subSubElem)
                 mUi->extModelCheckBox->setChecked(true);
             }
         }
+
+        setIntrinsicCameraParams(params);
     }
     else
     {
diff --git a/tests/regression_test/data/01_intrinsic.pet b/tests/regression_test/data/01_intrinsic.pet
index aed0363810bf22fbff2d742ded189b7d685fcea2..89c25ffb87f6bc1d765fe8dd2413fc3dd0c78252 100644
--- a/tests/regression_test/data/01_intrinsic.pet
+++ b/tests/regression_test/data/01_intrinsic.pet
@@ -10,7 +10,7 @@
             <SWAP ENABLED="0" HORIZONTALLY="0" VERTICALLY="0"/>
             <BG_SUB DELETE="1" DELETE_NUMBER="3" ENABLED="0" FILE="" SHOW="0" UPDATE="0"/>
             <PATTERN BOARD_SIZE_X="6" BOARD_SIZE_Y="8" SQUARE_SIZE="4.5999999"/>
-            <INTRINSIC_PARAMETERS CALIB_FILES="" CX="952.03999999999996" CY="698.72000000000003" ENABLED="0" EXT_MODEL_ENABLED="0" FIX_CENTER="0" FX="842.57000000000005" FY="842.69000000000005" K4="0" K5="0" K6="0" QUAD_ASPECT_RATIO="0" R2="-0.27662599999999998" R4="0.093287999999999996" R6="-0.01423" ReprError="nan" S1="0" S2="0" S3="0" S4="0" TANG_DIST="1" TAUX="0" TAUY="0" TX="-0.00024699999999999999" TY="5.5000000000000002e-05"/>
+            <INTRINSIC_PARAMETERS CALIB_FILES="" CX="952.03999999999996" CY="698.72000000000003" ENABLED="0" EXT_MODEL_ENABLED="0" FIX_CENTER="0" FX="842.57000000000005" FY="842.69000000000005" K4="0" K5="0" K6="0" QUAD_ASPECT_RATIO="0" R2="-0.27662599999999998" R4="0.093287999999999996" R6="-0.01423" ReprError="1.1930544727952612" S1="0" S2="0" S3="0" S4="0" TANG_DIST="1" TAUX="0" TAUY="0" TX="-0.00024699999999999999" TY="5.5000000000000002e-05"/>
             <EXTRINSIC_PARAMETERS ALTITUDE="535" COORD3D_AXIS_LEN="200" COORD3D_SWAP_X="0" COORD3D_SWAP_Y="0" COORD3D_SWAP_Z="0" COORD3D_TRANS_X="0" COORD3D_TRANS_Y="0" COORD3D_TRANS_Z="0" COORD_DIMENSION="0" EXTERNAL_CALIB_FILE="" EXTR_ROT_1="0" EXTR_ROT_2="0" EXTR_ROT_3="0" EXTR_TRANS_1="0" EXTR_TRANS_2="0" EXTR_TRANS_3="-500" FIX="0" ROTATE="0" SCALE="100" SHOW="0" SHOW_CALIB_POINTS="0" TRANS_X="0" TRANS_Y="0" UNIT="100" USE_INTRINSIC_CENTER="0"/>
             <ALIGNMENT_GRID FIX="0" GRID3D_RESOLUTION="100" GRID3D_TRANS_X="0" GRID3D_TRANS_Y="0" GRID3D_TRANS_Z="0" GRID_DIMENSION="0" ROTATE="0" SCALE="100" SHOW="0" TRANS_X="0" TRANS_Y="0"/>
         </CALIBRATION>
diff --git a/tests/regression_test/tests/test_calib.py b/tests/regression_test/tests/test_calib.py
index 358ba8350bdc1e253db1803b6e204f00f0d2542f..3d65f85f2ba23b0914006ca4fcf87c90799c7093 100644
--- a/tests/regression_test/tests/test_calib.py
+++ b/tests/regression_test/tests/test_calib.py
@@ -25,6 +25,8 @@ import numpy as np
 
 
 def read_intrinsics(tree: ET.ElementTree) -> np.ndarray:
+    # NOTE: needs non-nan reprojection error
+
     node = tree.find("./CONTROL/CALIBRATION/INTRINSIC_PARAMETERS")
     if node is None:
         raise RuntimeError("Invalid pet-File! No Calibration node")
@@ -49,8 +51,7 @@ def read_intrinsics(tree: ET.ElementTree) -> np.ndarray:
     tx = float(node.get("TX", "nan"))
     ty = float(node.get("TY", "nan"))
 
-    # currently not used
-    # error leads to nan-value (Issue #364) being saved in demo
+    # comparison will fail, if this is NaN
     reprojection_error = float(node.get("ReprError", "nan"))
     return np.array(
         [
@@ -73,7 +74,7 @@ def read_intrinsics(tree: ET.ElementTree) -> np.ndarray:
             tauy,
             tx,
             ty,
-            #reprojection_error,
+            reprojection_error,
         ]
     )
 
diff --git a/tests/unit_test/tst_intrinsicBox.cpp b/tests/unit_test/tst_intrinsicBox.cpp
index c191450cc8c056e9631415bf95538796460340a7..611fcd5dbd5d9f9c35ed53b27deb9d736215888d 100644
--- a/tests/unit_test/tst_intrinsicBox.cpp
+++ b/tests/unit_test/tst_intrinsicBox.cpp
@@ -240,8 +240,7 @@ TEST_CASE("IntrinsicBox: reading/writing xml")
                     cv::norm(oldParams.distortionCoeffs - newParams.distortionCoeffs) ==
                     Approx(0).margin(SERIALIZATION_MARGIN));
 
-                // NOTE: bug already in master, will fix after this is merged
-                // CHECK(oldparams.reprojectionError == Approx(newparams.reprojectionError));
+                CHECK(oldParams.reprojectionError == Approx(newParams.reprojectionError));
             }
         }
     }