|
| 1 | +// 0=Kinect; 1=PrimeSense; 2=KinectOne; 3=BinaryDumpReader; 4=NetworkSensor; 5=IntelSensor; 6=RealSense; 7=StructureSensor; 8=SensorDataReader |
| 2 | +s_sensorIdx = 8; |
| 3 | + |
| 4 | +s_numSolveFramesBeforeExit = 60; //#frames to run after scan is done before saving ply and exiting; -1 to keep running |
| 5 | +s_overwriteOrigSensTrajectory = true; |
| 6 | + |
| 7 | +s_generateVideo = false; |
| 8 | +s_generateVideoDir = "output/"; |
| 9 | +s_printTimingsDirectory = ""; |
| 10 | +s_printConvergenceFile = ""; |
| 11 | +s_topVideoTransformWorld = 1.0f 0.0f 0.0f 0.0f 0.0f 1.0f 0.0f 0.0f 0.0f 0.0f 1.0f 0.0f 0.0f 0.0f 0.0f 1.0f; |
| 12 | +s_topVideoCameraPose = 0.0f 0.0f 0.0f 0.0f; //rotation (deg around z axis), translation (m) |
| 13 | +s_topVideoMinMax = 0.0f 0.0f; |
| 14 | + |
| 15 | +s_windowWidth = 640;//render window width |
| 16 | +s_windowHeight = 480;//render window height |
| 17 | +//s_windowWidth = 1600;//render window width |
| 18 | +//s_windowHeight = 1200;//render window height |
| 19 | + |
| 20 | +s_integrationWidth = 320;//input depth gets re-sampled to this width (decrease to improve perf.) |
| 21 | +s_integrationHeight = 240;//input depth gets re-sampled to this height (decrease to improve perf.) |
| 22 | +s_rayCastWidth = 320;//should be same as integration except if rendering video |
| 23 | +s_rayCastHeight = 240; |
| 24 | + |
| 25 | +//trajectory manager/reintegration |
| 26 | +s_maxFrameFixes = 30;//max number of frames reintegrated per frame |
| 27 | +s_topNActive = 30;//max number of active elements to be reintegrated (sorted list) |
| 28 | +s_minPoseDistSqrt = 0.0f;//reintegrate everything above that pose distance (squared dist) |
| 29 | + |
| 30 | +//////////////////////////////////// |
| 31 | +// **** DEPTH SENSING BELOW ***** // |
| 32 | +//////////////////////////////////// |
| 33 | + |
| 34 | +s_sensorDepthMax = 6.0f;//maximum sensor depth in meter |
| 35 | +s_sensorDepthMin = 0.1f;//minimum sensor depth in meter |
| 36 | +s_renderDepthMax = 6.0f;//maximum render depth in meter |
| 37 | +s_renderDepthMin = 0.1f;//minimum render depth in meter |
| 38 | + |
| 39 | +// cropping options for PrimeSense & Asus Xtion Pro |
| 40 | +s_enableColorCropping = false; |
| 41 | +s_colorCropX = 320; |
| 42 | +s_colorCropY = 272; |
| 43 | +s_colorCropWidth = 640; |
| 44 | +s_colorCropHeight = 480; |
| 45 | + |
| 46 | +// sdf and hash settings |
| 47 | +s_SDFVoxelSize = 0.010f;//voxel size in meter (IMPORTANT: reduces to improve perf.) |
| 48 | +s_SDFMarchingCubeThreshFactor = 10.0f;//marching cube thresh: s_SDFMarchingCubeThresh = s_SDFMarchingCubeThreshFactor*s_SDFVoxelSize |
| 49 | +s_SDFTruncation = 0.06f;//truncation in meter |
| 50 | +s_SDFTruncationScale = 0.02f;//truncation scale in meter per meter |
| 51 | +s_SDFMaxIntegrationDistance = 4.0f;//maximum integration in meter |
| 52 | +s_SDFIntegrationWeightSample = 1;//weight for an integrated depth value |
| 53 | +s_SDFIntegrationWeightMax = 99999999;//maximum integration weight for a voxel |
| 54 | +// s_SDFBlockSize is pound defined (SDF_BLOCK_SIZE) |
| 55 | +// s_hashBucketSize is pound defined (HASH_BUCKET_SIZE) |
| 56 | +s_hashNumBuckets = 800000;//smaller voxels require more space |
| 57 | +s_hashNumSDFBlocks = 600000;//100000;//smaller voxels require more space |
| 58 | +s_hashMaxCollisionLinkedListSize = 7; |
| 59 | + |
| 60 | +// raycast |
| 61 | +s_SDFRayIncrementFactor = 0.8f;//(don't touch) s_SDFRayIncrement = s_SDFRayIncrementFactor*s_SDFTrunaction; |
| 62 | +s_SDFRayThresSampleDistFactor = 50.5f;//(don't touch) s_SDFRayThresSampleDist = s_SDFRayThresSampleDistFactor*s_rayIncrement; |
| 63 | +s_SDFRayThresDistFactor = 50.0f;//(don't touch) s_SDFRayThresDist = s_SDFRayThresSampleDistFactor*s_rayIncrement; |
| 64 | +s_SDFUseGradients = false;//analytic gradients for rendering |
| 65 | + |
| 66 | + |
| 67 | +s_binaryDumpSensorFile = ""; |
| 68 | +s_binaryDumpSensorUseTrajectory = false; |
| 69 | + |
| 70 | +// filtering (unused in FriedLiver) |
| 71 | +s_depthSigmaD = 2.0f;//bilateral filter sigma domain |
| 72 | +s_depthSigmaR = 0.1f;//bilateral filter sigma range |
| 73 | +s_depthFilter = false;//bilateral filter enabled depth |
| 74 | + |
| 75 | +s_colorSigmaD = 2.0f;//bilateral filter sigma domain |
| 76 | +s_colorSigmaR = 0.1f;//bilateral filter sigma range |
| 77 | +s_colorFilter = false;//bilateral filter enabled depth |
| 78 | + |
| 79 | +s_integrationEnabled= true; |
| 80 | +s_trackingEnabled= true; |
| 81 | +s_timingsDetailledEnabled = true;//enable timing output |
| 82 | +s_timingsTotalEnabled= false;//enable timing output |
| 83 | +s_garbageCollectionEnabled= true; |
| 84 | +s_garbageCollectionStarve= 0;//decrement the voxel weight every n'th frame |
| 85 | + |
| 86 | +// rendering |
| 87 | +s_materialShininess = 16.0f; |
| 88 | +s_materialAmbient = 0.75f 0.65f 0.5f 1.0f; |
| 89 | +s_materialDiffuse = 1.0f 0.9f 0.7f 1.0f; |
| 90 | +s_materialSpecular = 1.0f 1.0f 1.0f 1.0f; |
| 91 | +s_lightAmbient = 0.4f 0.4f 0.4f 1.0f; |
| 92 | +s_lightDiffuse = 0.6f 0.52944f 0.4566f 0.6f; |
| 93 | +s_lightSpecular = 0.3f 0.3f 0.3f 1.0f; |
| 94 | +s_lightDirection = 0.0f -1.0f 2.0f; |
| 95 | + |
| 96 | +s_RenderMode = 1; |
| 97 | +s_playData = true; |
| 98 | + |
| 99 | +s_renderingDepthDiscontinuityThresOffset = 0.012f; // discontinuity offset in meter |
| 100 | +s_renderingDepthDiscontinuityThresLin = 0.001f; // additional discontinuity threshold per meter |
| 101 | +s_remappingDepthDiscontinuityThresOffset = 0.012f; // discontinuity offset in meter |
| 102 | +s_remappingDepthDiscontinuityThresLin = 0.01f; |
| 103 | + |
| 104 | +s_bUseCameraCalibration = false; |
| 105 | + |
| 106 | +s_marchingCubesMaxNumTriangles = 5000000; // max buffer size for marching cube |
| 107 | + |
| 108 | +//streaming parameters |
| 109 | +s_streamingEnabled = false; |
| 110 | +s_streamingVoxelExtents = 1.0f 1.0f 1.0f; |
| 111 | +s_streamingGridDimensions = 257 257 257; // dimensions have to be odd (number of samples) |
| 112 | +s_streamingMinGridPos = -128 -128 -128; |
| 113 | +s_streamingInitialChunkListSize = 2000; |
| 114 | +s_streamingRadius = 5.0f; // Depends on DepthMin and DepthMax |
| 115 | +s_streamingPos = 0.0f 0.0f 3.0f 1.0f; // Depends on DepthMin and DepthMax |
| 116 | +s_streamingOutParts = 80;// number of frames required to sweep through the entire hash |
| 117 | + |
| 118 | +//recording of the input data |
| 119 | +s_recordData = false;// master flag for data recording: enables or disables data recording |
| 120 | +s_recordCompression = true;//if recoding is enabled; then compression is used (.sens instead of .sensor) |
| 121 | +s_recordDataWidth = 640;//only applies to the non compressed version (see RGBDSensor.cpp) |
| 122 | +s_recordDataHeight = 480;//only applies to the non compressed version (see RGBDSensor.cpp) |
| 123 | +s_recordDataFile = "dump/recording.sens"; |
| 124 | +s_reconstructionEnabled = true; |
| 125 | + |
| 126 | + |