-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathzParametersDefault.txt
193 lines (151 loc) · 7.25 KB
/
zParametersDefault.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
// 0=Kinect; 1=PrimeSense; 2=KinectOne; 3=BinaryDumpReader;4=NetworkSensor;5=IntelSensor; 6=RealSense; 7=StructureSensor;8=SensorDataReader;9=Data;
s_sensorIdx = 9;
s_sceneName = "fountain";
s_binaryDumpSensorFile[0] = "data/fountain_all";
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// parameters for our implementation
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Optimization index
// 0 = Our optimization
// 1 = Rigid warp
// 2 = None
s_optimizationIdx = 0;
s_geometryOptimization = true;
//exposure
s_gain = 1;
s_exposure = 50;
s_autoExposureEnabled = true;
s_autoWhiteBalanceEnabled = false;
s_renderToFile = false; //for making paper videos: renders all input/raycasts etc. to images
s_renderToFileDir = "./output/";
// Enable voxel rendering or not
s_voxelRenderingEnabled = false;
// update texture per keyframe
s_texKeyFrames = 2;
// used when we use record files
s_nVideoFrame = 500;
s_startFrame = 0;
// Texture width - donot change
s_texPoolPatchWidth = 4;
// The number of preallocated tiles in GPU
s_texPoolNumPatches = 8000000;
s_numTextureTileWidth = 1024;
// About blending weights
s_texIntegrationWeightMax = 255;
s_texIntegrationWeightSample = 30;
// parameters for mask
s_erodeSigmaStretch = 2.f;
s_erodeIterStretchBox = 0;
s_erodeIterStretchGauss = 0;
s_erodeIterOccDepth = 4;
// Mask parameters
s_texAngleThreshold_depth = 0.05f;
s_texAngleThreshold_update = 0.05f;
s_screenBoundaryWidth = 20;
// weight for blending
s_sigmaAngle = 0.5;
s_sigmaDepth = 0.5;
s_sigmaArea = 1.0;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Screen parameters
s_windowWidth = 640; //render window width
s_windowHeight = 480; //render window height
s_adapterWidth = 640; //input depth gets re-sampled to this width
s_adapterHeight = 480; //input depth gets re-sampled to this height
s_sensorDepthMax = 3.0f; //maximum sensor depth in meter
//s_sensorDepthMax = 2.5f; //maximum sensor depth in meter
//s_sensorDepthMax = 1.2f; //maximum sensor depth in meter
s_sensorDepthMin = 0.4f; //minimum sensor depth in meter
// cropping options for PrimeSense & Asus Xtion Pro
s_enableColorCropping = false;
s_colorCropX = 320;
s_colorCropY = 272;
s_colorCropWidth = 640;
s_colorCropHeight = 480;
s_SDFVoxelSize = 0.004; //voxel size in meter
s_SDFMarchingCubeThreshFactor = 10.0f; //marching cube thresh: s_SDFMarchingCubeThresh = s_SDFMarchingCubeThreshFactor*s_SDFVoxelSize
s_SDFTruncation = 0.02f; //truncation in meter (5.0f*s_SDFVoxelSize )
s_SDFTruncationScale = 0.01f; //truncation scale in meter per meter (2.5f*s_SDFVoxelSize )
s_SDFMaxIntegrationDistance = 3.0f; //maximum integration in meter
s_SDFIntegrationWeightSample = 3; //weight for an integrated depth value
s_SDFIntegrationWeightMax = 255; //maximum integration weight for a voxel
// s_SDFBlockSize is pound defined (SDF_BLOCK_SIZE)
// s_hashBucketSize is pound defined (HASH_BUCKET_SIZE)
s_hashNumBuckets = 200000; //smaller voxels require more space
s_hashNumSDFBlocks = 200000; //smaller voxels require more space
s_hashMaxCollisionLinkedListSize = 5;
// raycast
s_SDFRayIncrementFactor = 0.8f; //(don't touch) s_SDFRayIncrement = s_SDFRayIncrementFactor*s_SDFTrunaction;
s_SDFRayThresSampleDistFactor = 50.5f; //(don't touch) s_SDFRayThresSampleDist = s_SDFRayThresSampleDistFactor*s_rayIncrement;
s_SDFRayThresDistFactor = 50.0f; //(don't touch) s_SDFRayThresDist = s_SDFRayThresSampleDistFactor*s_rayIncrement;
s_SDFUseGradients = false; //analytic gradients for rendering
s_binaryDumpSensorUseTrajectory = false;
s_binaryDumpSensorUseTrajectoryOnlyInit = false; //only valid if prev is true; precomputed traj for ICP, which is run
// filtering
s_depthSigmaD = 2.0f; //bilateral filter sigma domain
s_depthSigmaR = 0.1f; //bilateral filter sigma range
s_depthFilter = true; //bilateral filter enabled depth
s_colorSigmaD = 1.0f; //bilateral filter sigma domain
s_colorSigmaR = 0.08f; //bilateral filter sigma range
s_colorFilter = false; //bilateral filter enabled depth
s_integrationEnabled = true;
s_trackingEnabled = true;
s_timingsDetailledEnabled = false; //enable timing output
s_timingsDetailledEnabledOurs = false; //enable timing output (for our implementation)
s_timingsTotalEnabled = false; //enable timing output
s_garbageCollectionEnabled = false;
s_garbageCollectionStarve = 15; //decrement the voxel weight every n'th frame
// rendering
s_materialShininess = 16.0f;
s_materialAmbient = 0.6f 0.4f 0.25f 1.0f;
s_materialDiffuse = 0.8f 0.65f 0.5f 1.0f;
s_materialSpecular = 1.0f 1.0f 1.0f 1.0f;
s_lightAmbient = 0.4f 0.4f 0.4f 1.0f;
s_lightDiffuse = 0.6f 0.52944f 0.4566f 0.6f;
s_lightSpecular = 0.3f 0.3f 0.3f 1.0f;
s_lightDirection = -0.5f 1.5f 2.0f;
s_RenderMode = 1;
s_useColorForRendering = false;
s_playData = true;
s_renderingDepthDiscontinuityThresOffset = 0.012f; // discontinuity offset in meter
s_renderingDepthDiscontinuityThresLin = 0.001f; // additional discontinuity threshold per meter
s_remappingDepthDiscontinuityThresOffset = 0.012f; // discontinuity offset in meter
s_remappingDepthDiscontinuityThresLin = 0.016f; // additional discontinuity threshold per meter
s_bUseCameraCalibration = false;
s_marchingCubesMaxNumTriangles = 14000000; // max buffer size for marching cube
//streaming parameters
s_streamingEnabled = false;
s_streamingVoxelExtents = 1.0f 1.0f 1.0f;
s_streamingGridDimensions = 513 513 513; // dimensions have to be odd (number of samples)
s_streamingMinGridPos = -256 -256 -256;
s_streamingInitialChunkListSize = 2000;
s_streamingRadius = 4.0f; // Depends on DepthMin and DepthMax WARNING: PARAMETER NOT USED; ARE COMPUTED AUTOMATICALLY
s_streamingPos = 0.0f 0.0f 3.0f; // Depends on DepthMin and DepthMax WARNING: PARAMETER NOT USED; ARE COMPUTED AUTOMATICALLY
s_streamingOutParts = 80; // number of frames required to sweep through the entire hash
//recording of the input data
s_recordData = false; // master flag for data recording: enables or disables data recording
s_recordCompression = true; //if recoding is enabled; then compression is used (.sens instead of .sensor)
s_recordDataFile = "Dump/test.sens";
s_reconstructionEnabled = true;
s_offlineProcessing = true; //slower, but makes sure that all voxels are alllocated and streaming all blocks is enforced
s_numLightCoefficients = 9; // WARNING; OUR OPTIMIZATION BASED ON THE 9 COEFFICIENTS. DO NOT CHANGE.
s_blurnessRejectionEnable = true; // Enable blurness rejection
s_numKeyScoreCounter = 5; // number of key frame window for store blurness score
s_numPassScoreCounter = 3; // reject when blurness ranking below than the s_numPassScoreCounter
//Other data
//s_sceneName = "tomb";
//s_binaryDumpSensorFile[0] = "/intrinsic3D_dataset/tomb-statuary-rgbd";
//s_nVideoFrame = 520;
//s_texKeyFrames = 2;
//s_sceneName = "bricks-rgbd";
//s_binaryDumpSensorFile[0] = "/intrinsic3D_dataset/bricks-rgbd";
//s_nVideoFrame = 770;
//s_texKeyFrames = 1;
//s_sceneName = "lion";
//s_binaryDumpSensorFile[0] = "/intrinsic3D_dataset/lion-rgbd";
//s_nVideoFrame = 510;
//s_texKeyFrames = 2;
// For the texture fusion
//s_voxelRenderingEnabled = false;
//s_optimizationIdx = 0;
//s_geometryOptimization = false;