Tango: Added Settings/Optimized Mesh/Sketchfab Upload

This commit is contained in:
matlabbe
2017-01-26 16:46:24 -05:00
parent 66ee792e8c
commit 3a73414972
27 changed files with 4441 additions and 2029 deletions

View File

@@ -22,13 +22,13 @@
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="top" />
<LinearLayout
android:id="@+id/debug_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:orientation="vertical"
android:paddingLeft="5dp" >
@@ -203,6 +203,7 @@
android:id="@+id/inliers"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
@@ -237,7 +238,20 @@
</LinearLayout>
<Button
<ToggleButton
android:id="@+id/light_button"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_above="@+id/first_person_button"
android:layout_alignLeft="@+id/first_person_button"
android:layout_alignParentRight="true"
android:layout_marginBottom="15dp"
android:layout_marginRight="5dp"
android:paddingRight="5dp"
android:textOff="@string/light_off"
android:textOn="@string/light_on" />
<ToggleButton
android:id="@+id/first_person_button"
android:layout_width="100dp"
android:layout_height="wrap_content"
@@ -247,19 +261,10 @@
android:layout_marginBottom="5dp"
android:layout_marginRight="5dp"
android:paddingRight="5dp"
android:text="@string/first_person" />
<Button
android:id="@+id/top_down_button"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:paddingRight="5dp"
android:text="@string/top_down" />
<Button
android:textOff="@string/first_person"
android:textOn="@string/first_person" />
<ToggleButton
android:id="@+id/third_person_button"
android:layout_width="100dp"
android:layout_height="wrap_content"
@@ -268,6 +273,29 @@
android:layout_marginBottom="5dp"
android:layout_marginRight="5dp"
android:paddingRight="5dp"
android:text="@string/third_person" />
android:textOff="@string/third_person"
android:textOn="@string/third_person" />
<ToggleButton
android:id="@+id/top_down_button"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:paddingRight="5dp"
android:textOff="@string/top_down"
android:textOn="@string/top_down" />
<ToggleButton
android:id="@+id/pause_button"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/first_person_button"
android:layout_alignParentTop="true"
android:layout_marginTop="61dp"
android:paddingRight="5dp"
android:textOff="@string/pause"
android:textOn="@string/resume" />
</RelativeLayout>

View File

@@ -0,0 +1,195 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="@string/pref_title_rendering">
<ListPreference
android:key="@string/pref_key_decimation"
android:title="@string/pref_title_decimation"
android:summary="@string/pref_summary_decimation"
android:entries="@array/pref_decimation_keys"
android:entryValues="@array/pref_decimation_values"
android:defaultValue="@string/pref_default_decimation"/>
<ListPreference
android:key="@string/pref_key_depth"
android:title="@string/pref_title_depth"
android:summary="@string/pref_summary_depth"
android:entries="@array/pref_depth_keys"
android:entryValues="@array/pref_depth_values"
android:defaultValue="@string/pref_default_depth"/>
<ListPreference
android:key="@string/pref_key_point_size"
android:title="@string/pref_title_point_size"
android:summary="@string/pref_summary_point_size"
android:entries="@array/pref_point_size_values"
android:entryValues="@array/pref_point_size_values"
android:defaultValue="@string/pref_default_point_size"/>
<ListPreference
android:key="@string/pref_key_angle"
android:title="@string/pref_title_angle"
android:summary="@string/pref_summary_angle"
android:entries="@array/pref_angle_keys"
android:entryValues="@array/pref_angle_values"
android:defaultValue="@string/pref_default_angle"/>
<ListPreference
android:key="@string/pref_key_triangle"
android:title="@string/pref_title_triangle"
android:summary="@string/pref_summary_triangle"
android:entries="@array/pref_triangle_keys"
android:entryValues="@array/pref_triangle_values"
android:defaultValue="@string/pref_default_triangle"/>
<SwitchPreference
android:key="@string/pref_key_nodes_filtering"
android:title="@string/pref_title_nodes_filtering"
android:summary="@string/pref_summary_nodes_filtering"
android:defaultValue="@string/pref_default_nodes_filtering"/>
</PreferenceCategory>
<PreferenceCategory
android:title="@string/pref_title_mapping">
<PreferenceScreen
android:key="pref_button_mapping"
android:title="@string/pref_title_mapping"
android:summary="@string/pref_summary_mapping"
android:persistent="false">
<SwitchPreference
android:key="@string/pref_key_append"
android:title="@string/pref_title_append"
android:summary="@string/pref_summary_append"
android:defaultValue="@string/pref_default_append"/>
<SwitchPreference
android:key="@string/pref_key_drift_correction"
android:title="@string/pref_title_drift_correction"
android:summary="@string/pref_summary_drift_correction"
android:defaultValue="@string/pref_default_drift_correction"/>
<SwitchPreference
android:key="@string/pref_key_auto_exposure"
android:title="@string/pref_title_auto_exposure"
android:summary="@string/pref_summary_auto_exposure"
android:defaultValue="@string/pref_default_auto_exposure"/>
<SwitchPreference
android:key="@string/pref_key_resolution"
android:title="@string/pref_title_resolution"
android:summary="@string/pref_summary_resolution"
android:defaultValue="@string/pref_default_resolution"/>
<ListPreference
android:key="@string/pref_key_update_rate"
android:title="@string/pref_title_update_rate"
android:summary="@string/pref_summary_update_rate"
android:entries="@array/pref_update_rate_keys"
android:entryValues="@array/pref_update_rate_values"
android:defaultValue="@string/pref_default_update_rate"/>
<ListPreference
android:key="@string/pref_key_time_thr"
android:title="@string/pref_title_time_thr"
android:summary="@string/pref_summary_time_thr"
android:entries="@array/pref_time_thr_keys"
android:entryValues="@array/pref_time_thr_values"
android:defaultValue="@string/pref_default_time_thr"/>
<ListPreference
android:key="@string/pref_key_loop_thr"
android:title="@string/pref_title_loop_thr"
android:summary="@string/pref_summary_loop_thr"
android:entries="@array/pref_loop_thr_keys"
android:entryValues="@array/pref_loop_thr_values"
android:defaultValue="@string/pref_default_loop_thr"/>
<ListPreference
android:key="@string/pref_key_opt_error"
android:title="@string/pref_title_opt_error"
android:summary="@string/pref_summary_opt_error"
android:entries="@array/pref_opt_error_keys"
android:entryValues="@array/pref_opt_error_values"
android:defaultValue="@string/pref_default_opt_error"/>
<ListPreference
android:key="@string/pref_key_features"
android:title="@string/pref_title_features"
android:summary="@string/pref_summary_features"
android:entries="@array/pref_features_keys"
android:entryValues="@array/pref_features_values"
android:defaultValue="@string/pref_default_features"/>
</PreferenceScreen>
</PreferenceCategory>
<PreferenceCategory
android:title="@string/pref_title_export">
<PreferenceScreen
android:key="pref_button_export"
android:title="@string/pref_title_export"
android:summary="@string/pref_summary_export"
android:persistent="false">
<ListPreference
android:key="@string/pref_key_cloud_voxel"
android:title="@string/pref_title_cloud_voxel"
android:summary="@string/pref_summary_cloud_voxel"
android:entries="@array/pref_cloud_voxel_keys"
android:entryValues="@array/pref_cloud_voxel_values"
android:defaultValue="@string/pref_default_cloud_voxel"/>
<ListPreference
android:key="@string/pref_key_texture_size"
android:title="@string/pref_title_texture_size"
android:summary="@string/pref_summary_texture_size"
android:entries="@array/pref_texture_size_keys"
android:entryValues="@array/pref_texture_size_values"
android:defaultValue="@string/pref_default_texture_size"/>
<ListPreference
android:key="@string/pref_key_normal_k"
android:title="@string/pref_title_normal_k"
android:summary="@string/pref_summary_normal_k"
android:entries="@array/pref_normal_k_values"
android:entryValues="@array/pref_normal_k_values"
android:defaultValue="@string/pref_default_normal_k"/>
<SwitchPreference
android:key="@string/pref_key_block_render"
android:title="@string/pref_title_block_render"
android:summary="@string/pref_summary_block_render"
android:defaultValue="@string/pref_default_block_render"/>
<PreferenceCategory
android:title="@string/pref_title_optimized">
<ListPreference
android:key="@string/pref_key_opt_depth"
android:title="@string/pref_title_opt_depth"
android:summary="@string/pref_summary_opt_depth"
android:entries="@array/pref_opt_depth_values"
android:entryValues="@array/pref_opt_depth_values"
android:defaultValue="@string/pref_default_opt_depth"/>
<ListPreference
android:key="@string/pref_key_opt_decimation_factor"
android:title="@string/pref_title_opt_decimation_factor"
android:summary="@string/pref_summary_opt_decimation_factor"
android:entries="@array/pref_opt_decimation_factor_keys"
android:entryValues="@array/pref_opt_decimation_factor_values"
android:defaultValue="@string/pref_default_opt_decimation_factor"/>
<ListPreference
android:key="@string/pref_key_opt_color_radius"
android:title="@string/pref_title_opt_color_radius"
android:summary="@string/pref_summary_opt_color_radius"
android:entries="@array/pref_opt_color_radius_keys"
android:entryValues="@array/pref_opt_color_radius_values"
android:defaultValue="@string/pref_default_opt_color_radius"/>
<SwitchPreference
android:key="@string/pref_key_opt_clean_white"
android:title="@string/pref_title_opt_clean_white"
android:summary="@string/pref_summary_opt_clean_white"
android:defaultValue="@string/pref_default_opt_clean_white"/>
</PreferenceCategory>
</PreferenceScreen>
</PreferenceCategory>
<PreferenceCategory
android:title="@string/pref_title_general">
<Preference android:title="@string/pref_title_reset_button"
android:key="@string/pref_key_reset_button"/>
</PreferenceCategory>
</PreferenceScreen>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/webv"/>
</LinearLayout>

View File

@@ -1,12 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/group_pause" android:checkableBehavior="all">
<item android:id="@+id/pause" android:checked="false" android:title="Pause"/>
</group>
<group android:id="@+id/group_actions">
<item android:id="@+id/post_processing" android:title="Post-Processing...">
<group android:checkableBehavior="single">
<item android:id="@+id/point_cloud" android:title="Point Cloud" />
<item android:id="@+id/mesh" android:title="Mesh" />
<item android:id="@+id/texture_mesh" android:checked="true" android:title="Texture Mesh" />
</group>
<item android:id="@+id/save" android:title="Save" android:showAsAction="ifRoom"/>
<item android:id="@+id/post_processing" android:title="Optimize" android:showAsAction="ifRoom">
<menu>
<item android:id="@+id/post_processing_standard" android:title="Standard Optimization" />
<item android:id="@+id/post_processing_advanced" android:title="Advanced..." >
@@ -23,35 +25,30 @@
</item>
</menu>
</item>
<item android:id="@+id/open" android:title="Open"/>
<item android:id="@+id/export" android:title="Export...">
<item android:id="@+id/export" android:showAsAction="ifRoom" android:title="Export">
<menu>
<group android:id="@+id/group_export">
<item android:id="@+id/export_ply" android:title="Mesh (.ply)" />
<item android:id="@+id/export_obj" android:title="Mesh with texture (*.obj)" />
</group>
<item android:id="@+id/export_point_cloud" android:title="Point Cloud (*.ply)" />
<item android:id="@+id/export_mesh_menu" android:title="Raw Mesh..." >
<menu>
<item android:id="@+id/export_mesh" android:title="Colored Mesh (*.ply)" />
<item android:id="@+id/export_mesh_texture" android:title="Textured Mesh (*.obj)" />
</menu>
</item>
<item android:id="@+id/export_optimized_mesh_menu" android:title="Optimized Mesh..." >
<menu>
<item android:id="@+id/export_optimized_mesh" android:title="Colored Mesh (*.ply)" />
<item android:id="@+id/export_optimized_mesh_texture" android:title="Textured Mesh (*.obj)" />
</menu>
</item>
</menu>
</item>
<item android:id="@+id/save" android:title="Save"/>
<item android:id="@+id/reset" android:title="Reset"/>
<item android:id="@+id/menu_rendering_settings" android:title="Rendering Options...">
<item android:id="@+id/open" android:title="Open" android:showAsAction="ifRoom"/>
<item android:id="@+id/menu_rendering_settings" android:title="Visibility...">
<menu >
<group android:id="@+id/group_rendering_visibility" android:checkableBehavior="all">
<item android:id="@+id/debug" android:checked="false" android:title="Debug" />
<item android:id="@+id/menu_rendering" android:checkable="false" android:title="Mesh Rendering..." >
<menu>
<group android:checkableBehavior="single">
<item android:id="@+id/point_cloud" android:title="Point Cloud" />
<item android:id="@+id/mesh" android:title="Mesh" />
<item android:id="@+id/texture_mesh" android:checked="true" android:title="Texture Mesh" />
</group>
<item android:id="@+id/mesh_decimation" android:checkable="false" android:title="Mesh Decimation..." />
<item android:id="@+id/mesh_angle_tolerance" android:checkable="false" android:title="Mesh Angle Tolerance..." />
<item android:id="@+id/mesh_triangle_size" android:checkable="false" android:title="Mesh Triangle Size..." />
<item android:id="@+id/max_depth" android:checkable="false" android:title="Max Depth..." />
</menu>
</item>
<item android:id="@+id/map_shown" android:checked="true" android:title="Map Visible" />
<item android:id="@+id/odom_shown" android:checked="true" android:title="Odom Visible" />
<item android:id="@+id/graph_visible" android:checked="true" android:title="Graph Visible" />
@@ -60,30 +57,17 @@
</group>
</menu>
</item>
<item android:id="@+id/menu_mapping_settings" android:title="Mapping Options...">
<item android:id="@+id/modes" android:title="Modes...">
<menu >
<group android:id="@+id/group_mapping_visibility" android:checkableBehavior="all">
<item android:id="@+id/localization_mode" android:checked="false" android:title="Localization Mode" />
<item android:id="@+id/trajectory_mode" android:checked="false" android:title="Trajectory Mode" />
<item android:id="@+id/append" android:checked="true" android:title="Append Mode" />
<item android:id="@+id/nodes_filtering" android:checked="false" android:title="Nodes Filtering" />
<item android:id="@+id/drift_correction" android:checked="false" android:title="Drift Correction" />
<item android:id="@+id/auto_exposure" android:checked="true" android:title="Auto Exposure" />
<item android:id="@+id/resolution" android:checked="false" android:title="HD Mode" />
<item android:id="@+id/data_recorder" android:checked="false" android:title="Data Recorder Mode" />
<item android:id="@+id/menu_param_settings" android:checkable="false" android:title="Parameters...">
<menu >
<item android:id="@+id/update_rate" android:title="Map Update Rate..." />
<item android:id="@+id/time_threshold" android:title="Time Threshold..." />
<item android:id="@+id/loop_threshold" android:title="Loop Closure Threshold..." />
<item android:id="@+id/optimize_error" android:title="Max Optimization Error..." />
<item android:id="@+id/features" android:title="Max Features Extracted..." />
</menu>
</item>
</group>
</menu>
</item>
<item android:id="@+id/settings" android:title="Settings"/>
<item android:id="@+id/reset" android:title="Reset"/>
<item android:id="@+id/about" android:title="About"/>
</group>
</menu>

View File

@@ -3,11 +3,17 @@
<string name="app_name">RTAB-Map</string>
<string name="sys_name">RTAB-Map</string>
<string name="menu_name">Real-Time Appearance-Based Mapping</string>
<string name="settings">Settings</string>
<string name="dropbox">Dropbox</string>
<string name="status">"Status: "</string>
<string name="words">"Words: "</string>
<string name="first_person">First</string>
<string name="third_person">Third</string>
<string name="top_down">Top</string>
<string name="pause">Pause</string>
<string name="resume">Paused</string>
<string name="light_on">Lighting</string>
<string name="light_off">Lighting</string>
<string name="start">Start</string>
<string name="nodes">"Nodes (WM): "</string>
<string name="points">"Number of points: "</string>
@@ -21,5 +27,392 @@
<string name="memory">"Memory (MB): "</string>
<string name="hypothesis">"Hypothesis: "</string>
<string name="fps">"FPS (rendering): "</string>
<!-- Preference keys: BEGIN -->
<string name="pref_key_rendering">pref_key_rendering</string><string name="pref_default_rendering">2</string>
<string name="pref_key_reset_button">pref_key_reset_button</string>
<string name="pref_key_decimation">pref_key_decimation</string> <string name="pref_default_decimation">0</string>
<string name="pref_key_depth">pref_key_depth</string> <string name="pref_default_depth">0</string>
<string name="pref_key_point_size">pref_key_point_size</string> <string name="pref_default_point_size">5</string>
<string name="pref_key_angle">pref_key_angle</string> <string name="pref_default_angle">15</string>
<string name="pref_key_triangle">pref_key_triangle</string> <string name="pref_default_triangle">2</string>
<string name="pref_key_nodes_filtering">pref_key_nodes_filtering</string> <string name="pref_default_nodes_filtering">false</string>
<string name="pref_key_append">pref_key_append</string> <string name="pref_default_append">true</string>
<string name="pref_key_drift_correction">pref_key_drift_correction</string> <string name="pref_default_drift_correction">false</string>
<string name="pref_key_auto_exposure">pref_key_auto_exposure</string> <string name="pref_default_auto_exposure">true</string>
<string name="pref_key_resolution">pref_key_resolution</string> <string name="pref_default_resolution">false</string>
<string name="pref_key_update_rate">pref_key_update_rate</string> <string name="pref_default_update_rate">1</string>
<string name="pref_key_time_thr">pref_key_time_thr</string> <string name="pref_default_time_thr">800</string>
<string name="pref_key_loop_thr">pref_key_loop_thr</string> <string name="pref_default_loop_thr">0.11</string>
<string name="pref_key_opt_error">pref_key_opt_error</string> <string name="pref_default_opt_error">0.1</string>
<string name="pref_key_features">pref_key_features</string> <string name="pref_default_features">200</string>
<string name="pref_key_cloud_voxel">pref_key_cloud_voxel</string> <string name="pref_default_cloud_voxel">0</string>
<string name="pref_key_texture_size">pref_key_texture_size</string> <string name="pref_default_texture_size">4096</string>
<string name="pref_key_normal_k">pref_key_normal_k</string> <string name="pref_default_normal_k">6</string>
<string name="pref_key_block_render">pref_key_block_render</string> <string name="pref_default_block_render">false</string>
<string name="pref_key_opt_depth">pref_key_opt_depth</string> <string name="pref_default_opt_depth">8</string>
<string name="pref_key_opt_decimation_factor">pref_key_opt_decimation_factor</string><string name="pref_default_opt_decimation_factor">80</string>
<string name="pref_key_opt_color_radius">pref_key_opt_color_radius</string> <string name="pref_default_opt_color_radius">0.0</string>
<string name="pref_key_opt_clean_white">pref_key_opt_clean_white</string> <string name="pref_default_opt_clean_white">true</string>
<!-- Preference keys: END-->
<string name="pref_title_rendering">Rendering</string>
<string name="pref_title_decimation">Mesh Decimation</string>
<string name="pref_summary_decimation">Decimate the cloud size to reduce rendering time and memory.</string>
<string name="pref_title_angle">Mesh Angle Tolerance</string>
<string name="pref_summary_angle">Minimum polygon angle.</string>
<string name="pref_title_triangle">Mesh Triangle Size</string>
<string name="pref_summary_triangle">Size in pixels of the polygons created from the depth image.</string>
<string name="pref_title_depth">Max Depth</string>
<string name="pref_summary_depth">Points over the maximum depth are not rendered.</string>
<string name="pref_title_point_size">Point Size</string>
<string name="pref_summary_point_size">Size of the points when rendering only the point cloud.</string>
<string name="pref_title_nodes_filtering">Nodes Filtering</string>
<string name="pref_summary_nodes_filtering">Hide close point clouds from rendering.</string>
<string-array name="pref_decimation_keys">
<item>"High"</item>
<item>"Medium"</item>
<item>"Disabled"</item>
</string-array>
<string-array name="pref_decimation_values">
<item>"2"</item>
<item>"1"</item>
<item>"0"</item>
</string-array>
<string-array name="pref_depth_keys">
<item>"No Limit"</item>
<item>"5"</item>
<item>"4"</item>
<item>"3"</item>
<item>"2"</item>
<item>"1"</item>
</string-array>
<string-array name="pref_depth_values">
<item>"0"</item>
<item>"5"</item>
<item>"4"</item>
<item>"3"</item>
<item>"2"</item>
<item>"1"</item>
</string-array>
<string-array name="pref_point_size_values">
<item>"50"</item>
<item>"30"</item>
<item>"25"</item>
<item>"15"</item>
<item>"5"</item>
<item>"1"</item>
</string-array>
<string-array name="pref_angle_keys">
<item>"30 deg"</item>
<item>"25 deg"</item>
<item>"20 deg"</item>
<item>"15 deg"</item>
<item>"10 deg"</item>
<item>"5 deg"</item>
</string-array>
<string-array name="pref_angle_values">
<item>"30"</item>
<item>"25"</item>
<item>"20"</item>
<item>"15"</item>
<item>"10"</item>
<item>"5"</item>
</string-array>
<string-array name="pref_triangle_keys">
<item>"6 pix"</item>
<item>"5 pix"</item>
<item>"4 pix"</item>
<item>"3 pix"</item>
<item>"2 pix"</item>
</string-array>
<string-array name="pref_triangle_values">
<item>"6"</item>
<item>"5"</item>
<item>"4"</item>
<item>"3"</item>
<item>"2"</item>
</string-array>
<string name="pref_title_mapping">Mapping</string>
<string name="pref_summary_mapping">Advanced mapping parameters for fine tuning.</string>
<string name="pref_title_append">Append Mode</string>
<string name="pref_summary_append">When resuming mapping, wait for a relocalization on the current map before starting a new map.</string>
<string name="pref_title_drift_correction">Drift Correction</string>
<string name="pref_summary_drift_correction">Iterative-closest-point (ICP) is done to refine geometrically the links in the map. Use only when environment is highly geometric. Camera should move slowly.</string>
<string name="pref_title_auto_exposure">Auto Exposure</string>
<string name="pref_summary_auto_exposure">Adjust camera exposure depending on the lighting to get always maximum contrast. This may change texture color between scanned images. Color correction option in Post-Processing can help to uniformize colors. May not work on some devices.</string>
<string name="pref_title_resolution">HD Mode</string>
<string name="pref_summary_resolution">Save HD images if you want very detailed textures. More memory will be required.</string>
<string name="pref_title_update_rate">Update Rate</string>
<string name="pref_summary_update_rate">Rate at which a new node is added to map.</string>
<string name="pref_title_time_thr">Time Limit</string>
<string name="pref_summary_time_thr">Maximum time allowed for map updates. If time to add a new node is above this theshold, some old parts of the map are temporarly forgotten to reduce time of next updates.</string>
<string name="pref_title_loop_thr">Loop Closure Threshold</string>
<string name="pref_summary_loop_thr">Threshold at which loop closure hypotheses are accepted. Higher means more robust to false loop closures while rejecting more good loop closures.</string>
<string name="pref_title_opt_error">Max Optimization Error</string>
<string name="pref_summary_opt_error">Reject any loop closures causing error corrections in the map higher than this threshold.</string>
<string name="pref_title_features">Max Features Extracted</string>
<string name="pref_summary_features">Extracting more features per image would result in better loop closure detection but more processing time required.</string>
<string-array name="pref_update_rate_keys">
<item>"Max"</item>
<item>"5 Hz"</item>
<item>"4 Hz"</item>
<item>"3 Hz"</item>
<item>"2 Hz"</item>
<item>"1 Hz"</item>
<item>"0.5 Hz"</item>
</string-array>
<string-array name="pref_update_rate_values">
<item>"0"</item>
<item>"5"</item>
<item>"4"</item>
<item>"3"</item>
<item>"2"</item>
<item>"1"</item>
<item>"0.5"</item>
</string-array>
<string-array name="pref_time_thr_keys">
<item>"No Limit"</item>
<item>"1500 ms"</item>
<item>"1400 ms"</item>
<item>"1300 ms"</item>
<item>"1200 ms"</item>
<item>"1100 ms"</item>
<item>"1000 ms"</item>
<item>"900 ms"</item>
<item>"800 ms"</item>
<item>"700 ms"</item>
<item>"600 ms"</item>
<item>"500 ms"</item>
<item>"400"</item>
</string-array>
<string-array name="pref_time_thr_values">
<item>"0"</item>
<item>"1500"</item>
<item>"1400"</item>
<item>"1300"</item>
<item>"1200"</item>
<item>"1100"</item>
<item>"1000"</item>
<item>"900"</item>
<item>"800"</item>
<item>"700"</item>
<item>"600"</item>
<item>"500"</item>
<item>"400"</item>
</string-array>
<string-array name="pref_loop_thr_keys">
<item>"0.90"</item>
<item>"0.80"</item>
<item>"0.70"</item>
<item>"0.60"</item>
<item>"0.50"</item>
<item>"0.40"</item>
<item>"0.30"</item>
<item>"0.20"</item>
<item>"0.11"</item>
</string-array>
<string-array name="pref_loop_thr_values">
<item>"0.90"</item>
<item>"0.80"</item>
<item>"0.70"</item>
<item>"0.60"</item>
<item>"0.50"</item>
<item>"0.40"</item>
<item>"0.30"</item>
<item>"0.20"</item>
<item>"0.11"</item>
</string-array>
<string-array name="pref_opt_error_keys">
<item>"1.0 m"</item>
<item>"0.5 m"</item>
<item>"0.35 m"</item>
<item>"0.2 m"</item>
<item>"0.1 m"</item>
<item>"0.05 m"</item>
<item>"0.025 m"</item>
<item>"0.01 m"</item>
<item>"Disabled"</item>
</string-array>
<string-array name="pref_opt_error_values">
<item>"1.0"</item>
<item>"0.5"</item>
<item>"0.35"</item>
<item>"0.2"</item>
<item>"0.1"</item>
<item>"0.05"</item>
<item>"0.025"</item>
<item>"0.01"</item>
<item>"0"</item>
</string-array>
<string-array name="pref_features_keys">
<item>"No Limit"</item>
<item>"1000"</item>
<item>"900"</item>
<item>"800"</item>
<item>"700"</item>
<item>"600"</item>
<item>"500"</item>
<item>"400"</item>
<item>"300"</item>
<item>"200"</item>
<item>"100"</item>
<item>"Disabled"</item>
</string-array>
<string-array name="pref_features_values">
<item>"0"</item>
<item>"1000"</item>
<item>"900"</item>
<item>"800"</item>
<item>"700"</item>
<item>"600"</item>
<item>"500"</item>
<item>"400"</item>
<item>"300"</item>
<item>"200"</item>
<item>"100"</item>
<item>"-1"</item>
</string-array>
<string name="pref_title_export">Exporting</string>
<string name="pref_summary_export">Advanced parameters used when exporting the map.</string>
<string name="pref_title_cloud_voxel">Voxel Size</string>
<string name="pref_summary_cloud_voxel">If you don\'t need a very precise point cloud, you can set this to reduce the output point cloud size. This is also used for optimized mesh.</string>
<string name="pref_title_texture_size">Texture Size</string>
<string name="pref_summary_texture_size">If the map is large, you may want to increase this to maximize the texture resolution.</string>
<string name="pref_title_normal_k">Normal K</string>
<string name="pref_summary_normal_k">K-nearest neighbors used for normal computation when a mesh is created.</string>
<string name="pref_title_block_render">Block Rendering Thread While Exporting</string>
<string name="pref_summary_block_render">This decreases exporting time, but freezes rendering while exporting.</string>
<string-array name="pref_cloud_voxel_keys">
<item>"0.2 m"</item>
<item>"0.1 m"</item>
<item>"0.05 m"</item>
<item>"0.02 m"</item>
<item>"0.01 m"</item>
<item>"Disabled"</item>
</string-array>
<string-array name="pref_cloud_voxel_values">
<item>"0.2"</item>
<item>"0.1"</item>
<item>"0.05"</item>
<item>"0.02"</item>
<item>"0.01"</item>
<item>"0"</item>
</string-array>
<string-array name="pref_texture_size_keys">
<item>"16384x16384"</item>
<item>"8192x8192"</item>
<item>"4096x4096"</item>
<item>"2048x2048"</item>
<item>"1024x1024"</item>
</string-array>
<string-array name="pref_texture_size_values">
<item>"16384"</item>
<item>"8192"</item>
<item>"4096"</item>
<item>"2048"</item>
<item>"1024"</item>
</string-array>
<string-array name="pref_normal_k_values">
<item>"30"</item>
<item>"24"</item>
<item>"18"</item>
<item>"12"</item>
<item>"6"</item>
</string-array>
<string name="pref_title_optimized">Optimized</string>
<string name="pref_title_opt_voxel">Voxel Size</string>
<string name="pref_summary_opt_voxel">Increasing this can reduce reconstruction time at the cost of less geometry precision.</string>
<string name="pref_title_opt_depth">Reconstruction Depth</string>
<string name="pref_summary_opt_depth">Lowering this parameter decreases reconstruction time, but geometry precision is lower.</string>
<string name="pref_title_opt_decimation_factor">Mesh Decimation Factor</string>
<string name="pref_summary_opt_decimation_factor">Reduce the number of the output polygons on plane areas by this factor. This also reduces texture projection time.</string>
<string name="pref_title_opt_color_radius">Color Radius</string>
<string name="pref_summary_opt_color_radius">Radius used to transfer nearest color from the point cloud to reconstructed mesh.</string>
<string name="pref_title_opt_clean_white">Clean Mesh</string>
<string name="pref_summary_opt_clean_white">Clean mesh from textureless or colorless reconstructed polygons.</string>
<string-array name="pref_opt_depth_values">
<item>"12"</item>
<item>"11"</item>
<item>"10"</item>
<item>"9"</item>
<item>"8"</item>
<item>"7"</item>
<item>"6"</item>
</string-array>
<string-array name="pref_opt_decimation_factor_keys">
<item>"90%"</item>
<item>"80%"</item>
<item>"70%"</item>
<item>"60%"</item>
<item>"50%"</item>
<item>"40%"</item>
<item>"30%"</item>
<item>"20%"</item>
<item>"10%"</item>
<item>"Disabled"</item>
</string-array>
<string-array name="pref_opt_decimation_factor_values">
<item>"90"</item>
<item>"80"</item>
<item>"70"</item>
<item>"60"</item>
<item>"50"</item>
<item>"40"</item>
<item>"30"</item>
<item>"20"</item>
<item>"20"</item>
<item>"0"</item>
</string-array>
<string-array name="pref_opt_color_radius_keys">
<item>"Nearest"</item>
<item>"2 m"</item>
<item>"1 m"</item>
<item>"0.5 m"</item>
<item>"0.2 m"</item>
<item>"0.05 m"</item>
<item>"0.01 m"</item>
<item>"Disabled"</item>
</string-array>
<string-array name="pref_opt_color_radius_values">
<item>"0"</item>
<item>"2"</item>
<item>"1"</item>
<item>"0.5"</item>
<item>"0.2"</item>
<item>"0.05"</item>
<item>"0.01"</item>
<item>"-1"</item>
</string-array>
<string name="pref_title_general">General</string>
<string name="pref_title_reset_button">Restore All Default Settings</string>
</resources>